Tải bản đầy đủ - 0 (trang)
5 Các mã thế cổ điển hoán vị

5 Các mã thế cổ điển hoán vị

Tải bản đầy đủ - 0trang

9

1.7. Mật mã dòng hiện đại

1.8. Mật mã khối



1.8.1. Giới thiệu AES [24]

1.8.2 Thuật tốn AES

1.9. Mã hóa khóa cơng khai

1.9.1 Lý do phải sử dụng mã hóa khố cơng khai

1.9.2 Các đặc trưng cần phải có của mã hóa khóa cơng khai

1.10. Cơ sở tốn học của luận án

1.10.1 Định nghĩa Modulo.

1.10.2 Các phép toán số học trên Modulo

1.10.3 Ước số chung lớn nhất.

10.1.4 Tìm số nghịch đảo

10.1.5 Tính

10.1.6 Các số nguyên tố

10.1.7 Phân tích ra thừa số nguyên tố

10.1.8 Các số nguyên tố cùng nhau và GCD

10.1.9 Định lý Ferma (Định lý Ferma nhỏ)

1.10.10 Hàm Ole

1.10.11 Kiểm tra tính nguyên tố

1.11. Kết luận chương 1

Trong chương này, NCS đã chỉ ra những hạn chế còn tồn tại

của một số lược đồ đã có trong và ngồi nước, xác định những bài

toán cụ thể ứng dụng trong thực tiễn đặt ra mà các lược đồ trước chưa

giải quyết được.

Tuy nhiên còn có những phần chưa đề cập tới đó là cách trao

đổi khóa bí mật, ứng dụng lược đồ vào các hệ mật khác nhau…



10

Chương 2 PHÁT TRIỂN MỘT SỐ LƯỢC ĐỒ MÃ HĨA

2.1. Một số mơ hình ứng dụng mã khối

2.1.1 Mơ hình Electronic Codebook – ECB

2.1.2 Mơ hình Cipher Block Chaining – CBC

2.1.3 Mơ hình Counter – CTR

2.1.4 Mơ hình Output Feedback – OFB

2.1.5 Mơ hình Cipher Feedback – CFB

2.2. Đề xuất lược đồ mã hóa và giải mã dựa trên thuật tốn mật

mã với khóa sử dụng một lần (OTP)

Lược đồ này bao gồm các qui trình sau:

Mã hóa: A chia bản rõ thành các khối có kích thước bằng 256 bit.

Nếu khơng chẵn thì phải chèn thêm cho đủ một khối (cách chèn thêm

giống như trong các hàm băm SHA). Băm bản rõ bằng hàm băm an

tồn SHA256 với giá trị băm có kích thước bằng 256 bit. Giá trị băm

này được chọn làm khóa OTP khởi đầu, gọi là . Khóa này sẽ được sử

dụng làm chữ ký số của người gửi đối với bản rõ. Sau đó, sẽ được

chọn làm khóa khởi đầu cho luồng khóa OTP. được XOR với khối

bản rõ thứ nhất để tạo ra khối bản mã thứ nhất . Các khóa OTP tiếp

theo, (i=2, 3, ..., n) sẽ được sinh ra bằng cách mã hóa khối bản rõ

bằng hệ mật AES256 với khóa . Các khóa mới được sinh ra lại được

XOR với khối bản rõ tương ứng để tạo ra các khối bản mã tiếp theo.

Ghép tất cả các khối bản mã để thu được bản mã.

Bản rõ:

Khóa OTP ban đầu:

Các khóa OTP tiếp theo:

Các khối bản mã:



11

Bản mã:

Ký bản rõ và truyền tin: A ký bản rõ bằng cách mã hóa khóa OTP K

(giá trị băm của ) bằng khóa bí mật . Sau đó lại mã hóa tiếp bằng

khóa cơng khai của B để đảm bảo chỉ B mới đọc được khóa . A gửi

cho B bản mã này và bản mã C:

; trong đó E là thuật tốn mã hóa khóa cơng khai RSA

Xác thực và giải mã: B nhận được chữ ký của A đã được mã hóa

bằng khóa cơng khai của B và bản mã C’. B sử dụng khóa bí mật của

mình và khóa cơng khai của A để giải mã ra một chuỗi bit tạm gọi là .

Sau đó, B băm bản mã C’và thu được một chuỗi tạm gọi là So sánh

với Nếu chúng trùng khớp nhau thì B khẳng định rằng A chính là

người gửi tin cho mình, trong đó là khóa OTP khởi đầu dùng để giải

mã bản mã . B chia bản mã C thành các khối có kích thước 256 bit

sau đó làm tương tự như q trình mã hóa của A để thu được bản rõ.



Nếu thì thực hiện



Các khối bản rõ:

Bản rõ:

2.3. Đề xuất lược đồ mã hóa khóa đối xứng dựa trên kỹ thuật

thiết kế mã hóa ARX

A, Ý tưởng

Thuật tốn mã hóa khóa đối xứng cải tiến này chỉ sử dụng

ba phép tốn cơ bản, đó là phép cộng modulo, phép dịch vòng bit và



12

phép cộng bit loại trừ XOR. Ngồi ra, độ dài của khóa bí mật và số

vòng lặp mã hóa có thể thay đổi tùy thuộc vào yêu cầu về độ mật của

người gửi. Hơn nữa, độ dài của bản mã dài gấp đôi độ dài của bản rõ

sẽ tăng thêm tính an tồn. Các phép dịch vòng phụ thuộc dữ liệu

được đề xuất cũng được sử dụng trong các quy trình mã hóa, giải mã

và sinh khóa để tăng thêm tính rối loạn và khuyếch tán của các bit dữ

liệu.

B, Thuật tốn cải tiến:

Quy trình sinh khóa

Khóa hốn đổi có độ dài thay đổi theo chiều dài của khối bản rõ và

được tính bằng cơng thức , trong đó là chiều dài của khối bản rõ.

Các khóa vòng lặp có độ dài bằng nhau. Mỗi vòng lặp dùng một

khóa, việc sinh các khóa vòng lặp được thực hiện bởi một quy trình

lặp. Mỗi vòng lặp sinh một khóa, số khóa con được sinh ra bằng đúng

số vòng lặp của quy trình mã hóa. Khóa chính là đầu vào cho vòng

lặp thứ nhất của chu trình sinh khóa và đầu ra của lần lặp trước là đầu

vào của vòng lặp sau.

Phép quay phụ thuộc dữ liệu dựa vào bit ít ý nghĩa nhất (các bit này

không xác định chiều quay) của kết quả biến đổi khóa chính và các

khóa con . Trong đó bit đầu tiên xác định chiều quay, các bit còn lại

xác định số bit cần quay.

Quy trình mã hóa

Quy trình mã hóa được đề xuất gồm 3 giai đoạn. Để tiện lợi cho q

trình mơ tả, chúng tôi sẽ giả thiết độ dài của khối bản rõ là 128 bit.

Đầu tiên khối bản rõ cần mã hóa sẽ được mở rộng lên gấp đơi, sau đó

thực hiện các vòng lặp và cuối cùng thực hiện một phép hốn đổi hai

pha.



13

Sau đây là mơ tả chi tiết 3 giai đoạn của Quy trình mã hóa.

Giai đoạn 1: Mở rộng khối bản rõ. Khối này được mở rộng gấp đôi

thành 256 bit và được chuyển làm đầu vào cho vòng lặp thứ nhất.

Giai đoạn 2: Phép quay phụ thuộc dữ liệu

Các hàm trong vòng lặp: Mỗi vòng lặp đều có đầu vào là khối dữ

liệu đang mã hóa và một khóa vòng lặp .

Kết thúc vòng lặp r ta thu được bản mã của khối bản rõ. Kích thước

của bản mã gấp đơi kích thước của khối bản rõ ban đầu.

Giai đoạn 3: Hàm hoán đổi 2 pha

Hàm này dùng để hốn vị các bit với khóa do người dùng nhập vào.

Hàm này có 2 pha:

-



Cứ bit lại hoán đổi bit thứ từ 0 thành 1 hoặc từ 1 thành 0.



Quy trình giải mã

Quy trình giải mã là quy trình ngược của quy trình mã hóa. Do đó độ

phức tạp của giải mã cũng tương tự như độ phức tạp của mã hóa. Độ

an tồn của quy trình mã hóa và giải mã đạt được ở mức độ cao vì

tính phi tuyến được tạo ra nhờ phép quay phụ thuộc dữ liệu và số

vòng lặp khơng cố định và các vòng lặp khơng bảo tồn chẵn, lẻ.

Tính phi tuyến ở trong quy trình này là khơng thỏa mãn nguyên tắc

xếp chồng - nghĩa là đầu ra không tỷ lệ thuận với đầu vào. Đây là

một dạng hỗn độn cổ điển tức là khơng thể đốn trước được chiều

quay và số vòng quay.

Thuật tốn mã hóa khóa đối xứng cải tiến được đề xuất có

thể thực hiện với kích thước bất kỳ kích thước dữ liệu của bản rõ.

Nhưng trong lược đồ đề xuất này thuật tốn được tính tốn trên khối

bản rõ 128 bit và kích thước khóa tích lũy 281 bit để tạo ra bản mã có



14

kích thước 256 bit. Thuật tốn mã hóa khóa đối xứng cải tiến này

bằng cách sử dụng các phép tính tốn như: cộng modulo, phép quay

vòng bit và phép cộng bit loại trừ XOR đã cung cấp một sự mềm dẻo

cho người dùng để lựa chọn kích thước khối khối bản rõ và số vòng

lặp cho q trình mã hóa. Phép quay phụ thuộc dữ liệu là tính năng

quan trọng nhất của thuật tốn mã khóa đối xứng cải tiến. Nó giúp

tạo ra sự khuếch tán mạnh mẽ trên khối bản rõ (tức là sự thay đổi 1

bit trong khối bản rõ dẫn tới sự thay đổi hoàn toàn trong khối bản mã

tạo ra). Thuật tốn đề xuất này có tốc độ mã hóa và giải mã nhanh

hơn so với các thuật tốn mã hóa khác vì chỉ phải thực hiện các phép

toán cơ bản và đơn giản.

2.4. Kết luận chương 2

Về sử dụng phương pháp mã hóa One_Time Pad, phương

pháp này có đặt tính là tồn tại rất nhiều khóa mà mỗi khóa khi đưa

vào giải mã đều cho ra bản tin có ý nghĩa. Do đó việc vét cạn khóa

khơng có ý nghĩa đối với mã hóa One_Time Pad.

Về sử dụng thuật tốn ARX thì tùy theo nhu cầu của mình

mà người sử dụng có thể tự xác định được mức độ an ninh và thời

gian thực hiện của thuật tốn.

Những phân tích về mức độ an tồn cho thấy khả năng ứng

dụng của lược đồ cải tiến là hoàn toàn ứng dụng được trong thực tế.

Chương 3 PHÁT TRIỂN MỘT SỐ LƯỢC ĐỒ CHỮ KÝ SỐ

3.1. Chữ ký số tập thể và hệ mật định danh

3.1.1. Khái niệm chữ ký số

3.1.2 Khái niệm chữ ký số tập thể ủy nhiệm



15

3.1.3 Khái niệm về hệ mật định danh.

3.2 Lược đồ chữ ký số dựa trên hệ mật định danh

3.2.1. Định nghĩa dạng tuyến tính

3.2.2. Lược đồ đề xuất

Lược đồ đề xuất chống lại được các kịch bản tấn công

Kịch bản tấn công 1:Để tấn công giả mạo được chữ ký số tập thể ủy

nhiệm thì người tấn cơng phải tìm được cửa sập của hàm 1 chiều của

bài tốn Logarit trên đường cong Elliptic tức là tìm được các khóa bí

mật của các thành viên trong tập thể.

Khi biết khóa cơng khai để tìm ra khóa bí mật, người tấn cơng bắt

buộc phải giải bài tốn Logarit trên đường cong Elliptic và đây là bài

tốn khó khơng giải được trong thời gian đa thức.

Kịch bản tấn công 2:Người tấn công giả mạo giá trị trong thành

phần chữ ký, xác suất thành cơng là , nếu đủ lớn thì xác suất này sẽ

là nhỏ không đáng kể.

Kịch bản tấn công 3:Người tấn công giả mạo chữ ký số bằng cách giả

mạo các giá trị và tuy nhiên để làm việc đó cần phải tìm được giá trị

và để tìm được giá trị này người tấn công buộc phải giải bài toán

Logarit rời rạc trên đường cong elliptic và đây là bài toán chưa giải

được cho đến thời điểm hiện nay.



16

3.3. Lược đồ chữ ký số ủy nhiệm dựa trên hệ mật định danh

3.3.1. Sinh khóa

3.3.2. Tách khóa

3.3.3. Người ủy nhiệm ký

3.3.4. Xác thực chữ ký người ủy nhiệm

3.3.5. Sinh khóa cho người được ủy nhiệm

3.3.6. Kiểm tra ủy nhiệm

3.3.7 Sinh khóa ủy nhiệm

3.3.8. Sinh chữ ký ủy nhiệm

3.3.9. Xác thực chữ ký ủy nhiệm

3.4. Lược đồ chữ ký số tập thể dựa trên cặp song tuyến tính

3.4.1. Hàm song tuyến tính

3.4.2. Lược đồ đề xuất

3.4.2.1. Sinh khóa cơng khai tập thể

3.4.2.2. Sinh chữ ký số tập thể

3.4.2.3. Xác thực chữ ký số tập thể

Thuật toán dựa trên cặp song tuyến tính

Thuật tốn ghép:

Thuật tốn ghép bằng cách mở rộng:

Thuật tốn ghép bằng cách loại bỏ mẫu số:

Thuật toán tạo cặp song tuyến tính:

Phân tích độ an tồn của lược đồ

Chứng minh qua thực nghiệm: Nhóm tác giả đã xây dựng phần mềm

bằng ngơn ngữ python 3.2, có khả năng chạy được trên các hệ điều

hành Windows, Linux, Mac OS. Khóa cơng khai của thành viên

chính là địa chỉ email làm định danh. Hàm được xây dựng bằng cách

tính theo cơng thức:



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

5 Các mã thế cổ điển hoán vị

Tải bản đầy đủ ngay(0 tr)

×