Tải bản đầy đủ (.pdf) (14 trang)

Về một phương pháp xây dựng hàm băm cho việc xác thực trên cơ sở ứng dụng thuật toán mã hóa đối xứng (tt)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (8.43 MB, 14 trang )

-1-

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
********************************************

HỒ QUANG BỬU

VỀ MỘT PHƯƠNG PHÁP XÂY DỰNG HÀM
BĂM CHO VIỆC XÁC THỰC TRÊN CƠ SỞ
ỨNG DỤNG CÁC THUẬT TỐN MÃ HĨA ĐỐI
XỨNG

LUẬN ÁN TIẾN SĨ KỸ THUẬT

HÀ NỘI - 2014


-2-

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
*********************************************

HỒ QUANG BỬU

VỀ MỘT PHƯƠNG PHÁP XÂY DỰNG HÀM
BĂM CHO VIỆC XÁC THỰC TRÊN CƠ SỞ
ỨNG DỤNG CÁC THUẬT TỐN MÃ HĨA ĐỐI
XỨNG
Chun ngành: Kỹ thuật viễn thông
Mã ngành: 62 52 70 05


LUẬN ÁN TIẾN SĨ KỸ THUẬT

NGƯỜI HƯỚNG DẪN KHOA HỌC
1. GS.TSKH. NGUYỄN XUÂN QUỲNH
2. GS.TS. NGUYỄN BÌNH

HÀ NỘI - 2014


-26-

-3-

bản rõ đầu vào giống nhau và sử dụng cùng một khóa thì bản mã
đầu ra sẽ giống nhau. Ngồi ra các M-dãy đề xuất trong luận án
hồn tồn có thể sử dụng mật mã dòng.


Xây dựng một hàm băm mới có độ dài 128 bit với khối mật mã
được xây dựng trên các cấp số nhân cyclic. Đây là cơ sở để xây
dựng thêm các hàm băm mới với một số ưu điểm: (1) phương
pháp mã hóa đơn giản hơn, (2) có thể dễ dàng mở rộng độ dài

MỞ ĐẦU
Tính cấp thiết của đề tài

Với sự phát triển của khoa học kỹ thuật và công nghệ, cùng với
các nhu cầu đặc biệt có liên quan tới an tồn thơng tin, ngày nay các
kỹ thuật chính trong an tồn thơng tin bao gồm: Kỹ thuật mật mã
(Cryptography); kỹ thuật ngụy trang (Steganography); kỹ thuật tạo

bóng mờ (Watermarking – hay thủy vân).
Hiện nay việc trao đổi thông tin thương mại trên Internet có

mã băm nhằm mục đích hạn chế phép tấn cơng ngày sinh nhật,

nhiều nguy cơ khơng an tồn do thơng tin có thể bị lộ hay bị sửa đổi.

(3) hàm băm có độ khuếch tán (hay hỗn loạn) khá tốt (đây là một

Nói chung, để bảo vệ các thơng tin khỏi sự truy cập trái phép cần

tính chất quan trọng của hàm băm). Theo các kết quả mô phỏng

phải kiểm sốt được những vấn đề như: thơng tin được tạo ra, lưu trữ

đánh giá tính khuếch tán của hệ mật mới và của các hàm băm đề

và truy nhập như thế nào, ở đâu, bởi ai và vào thời điểm nào.

xuất cho thấy tính khuếch tán khá tốt. Với hệ mật thì độ khuếch

Để giải quyết các vấn đề trên, kỹ thuật mật mã hiện đại phải

tán tương đương DES, với hàm băm độ khuếch tán đạt xấp xỉ

đảm bảo các dịch vụ an tồn cơ bản: (1) bí mật (Confidential); (2)

một nửa độ dài mã băm.
Kiến nghị hướng phát triển
 Phát triển thêm các hệ mật mã mới trên cơ sở hàm mã hóa xây

dựng từ các cấp số nhân cyclic và kết hợp thêm các khâu phi
tuyến để tăng độ an toàn cho hệ mật.

xác thực (Authentication); (3) đảm bảo tính tồn vẹn (Integrity).
Tình hình nghiên cứu

Cho đến nay các nghiên cứu về hàm băm được chia thành hai
loại: hàm băm khơng khóa và hàm băm có khóa, và thơng thường các
hàm băm này dựa trên mật mã khối với hai phương pháp chính là Mã
phát hiện sửa đổi (MDC-Manipullation Detection Code) và Mã xác



Trên cơ sở hàm băm đề xuất trong luận án, xây dựng thêm các
hàm băm mới có độ dài lớn hơn.



thực thơng báo (MAC-Message Authentication Code).
Các hàm băm dựa trên mật mã khối đã được nghiên cứu khá

Tìm hiểu và thực hiện thêm các phương pháp đánh giá hàm băm

mạnh trên thế giới, các nhóm nghiên cứu tập trung chủ yếu vào

đề xuất để hoàn thiện nghiên cứu về hàm băm mới này.

hướng xây dựng các hệ mật mã khối và đưa chúng vào lược đồ xây
dựng hàm băm. Các lược đồ được sử dụng để xây dựng hàm băm phổ




Nghiên cứu, thiết kế và thử nghiệm mạch điện phần cứng cho hệ
mật đề xuất.

biến bao gồm: (1) Matyas – Mayer – Oseas (M-M-O); (2) Davies –


-4-

-25-

KẾT LUẬN VÀ KIẾN NGHỊ

Mayer (D-M); (3) Miyaguchi – Preneel (M-P); (4) MDC-2; (5)
MDC-4…
Hiện nay trên thế giới có khá nhiều hệ mật mã khối khóa bí mật
đã được nghiên cứu sử dụng cho các lược đồ xây dựng hàm băm như

Các kết quả nghiên cứu chính của luận án bao gồm các nội dung
sau đây:


Đề xuất phương pháp xây dựng hệ mật trên các cấp số nhân

trên, điển hình là các hệ mật sau: DES, IDEA, RD.5, TDEA, AES,

cyclic của vành đa thức. Hệ mật mới này được xây dựng theo

CAST,… Những nghiên cứu về các hệ mật này và phương pháp sử


lược đồ Feistel có sửa đổi với sơ đồ mật mã khối có độ dài đầu

dụng chúng cho lược đồ hàm băm đã xuất hiện trong rất nhiều công

ra 128 bit. Ưu điểm nổi bật của hệ mật này là (1) Mạch điện mã

trình từ rất nhiều năm qua, tuy nhiên chúng đã được tổng kết trong

hóa và giải mã cùng một cấu trúc và rất đơn giản chỉ gồm các

các cơng trình sau:

thanh ghi dịch và bộ cộng modul 2, tốc độ xử lý nhanh, (2)

 Knudsen, L.; Preneel, B; Construction of secure and fast hash

Phương pháp mã hóa hàm f được xây dựng trên cấu trúc của cấp

functions using nonbinary error-correcting codes, IEEE
Transactions on Information Theory, Volume 48, Issue 9,

số nhân cyclic trên vành đa thức Z2 [x ] / x n  1 với n  2k ,

Sept. 2002 Page(s): 2524 - 2539.

(Vành đa thức này là vành chẵn đặc biệt và không được xem xét

Ở Việt Nam việc nghiên cứu các hệ mật cũng đã rất phát triển từ


trong lý thuyết mã sửa sai), do đó dễ dàng mở rộng độ dài từ, (3)

nhiều năm qua, tuy nhiên việc sử dụng các hệ mật này cho các lược

Một số mô phỏng đánh giá cho thấy kết quả khuếch tán của hệ

đồ xây dựng hàm băm cịn khá mới mẻ. Cũng có một số cơng trình

mật khá tốt (tương đương DES).

nghiên cứu điển hình về vấn đề này trong thời gian qua là: "Nghiên
cứu xây dựng hạ tầng khóa cơng khai phục vụ thư tín điện tử và



Đề xuất phương pháp tạo khóa cho hệ mật từ các M-dãy theo các

thương mại điện tử, Báo các kết quả nghiên cứu đề tài Bộ Bưu chính

cấp số nhân của vành đa thức có hai lớp kề cyclic, đây cũng là

- Viễn thông, 6/2004, của GS.TS. Nguyễn Bình.

vành đặc biệt và ít được dùng trong lý thuyết mã sửa sai. Các M-

Mục tiêu nghiên cứu của luận án

dãy xây dựng theo phương pháp này có chu kỳ lớn và cũng đảm

 Khảo sát đánh giá hệ mật khối sử dụng cho lược đồ hàm băm.


bảo tính chất giả ngẫu nhiên của dãy. Trong luận án đã sử dụng

 Xây dựng hệ mật trên các cấp số nhân cyclic trên vành đa thức.

các M-dãy trên vành x 61  1 vào việc tạo các khóa con bên trong

 Xây dựng các hàm băm mới sử dụng hệ mật dựa trên các cấp

hệ mật, cụ thể là 16 khóa con cho 16 vịng mã hóa theo sơ đồ

số nhân cyclic trên vành đa thức.
 Viết các chương trình phần mềm mô phỏng, thử nghiệm và
đánh giá kết quả đã nghiên cứu.

Feistel. Do số lượng khóa tạo được rất nhiều ( 260  1 khóa) nên
mỗi lần mã hóa một khối thơng tin vào, có thể sử dụng các khóa
khác, điều này sẽ tránh được vấn đề của các mật mã khối là khi


-24160, 256, 320}, SHA-{0,1,224, 256, 384, 512}, đây là họ có nhiều
hàm băm đang được sử dụng rộng rãi.
Phần tiếp theo trong chương 3 là một đề xuất xây dựng hàm băm
mới 128 bit, với mục đích tăng độ dài hàm băm, nhằm hạn chế phép
tấn công ngày sinh nhật; các mô phỏng đánh giá độ khuếch tán của
hàm băm mới đề xuất này cho thấy kết quả rất khả quan.
Để có thêm kết luận về hàm băm đề xuất, phải thực hiện thêm các
đánh khác như: tính xung đột, tính kháng va chạm. Tuy nhiên, hai
tính chất này khơng dễ dàng đánh giá được, nhất là đối với các hàm
băm có độ dài mã băm lớn. Trong khn khổ luận án mới chỉ có thể


-5Phạm vi nghiên cứu của luận án

Luận án thuộc phạm vi lý thuyết cơ sở, tập trung nghiên cứu
các thuật tốn mã hóa và sử dụng chúng trong lược đồ xây dựng các
hàm băm. Các thuật tốn mã hóa và sơ đồ tạo khóa trong các sơ đồ
mã hóa được xây dựng trên cấu trúc cấp số nhân cyclic, đây là một
cấu trúc đại số được xây dựng trên cơ sở là nhóm nhân cyclic trên
vành đa thức.
Phương pháp nghiên cứu

đánh giá được tính khuếch tán của hàm băm đề xuất, tuy nhiên đây là

Phương pháp nghiên cứu của đề tài là phân tích và tổng hợp

một trong các tính chất quan trọng của hàm băm. Ngồi ra, việc mở

dựa vào các cơng cụ tốn học, đặc biệt là đại số đa thức, lý thuyết

rộng độ dài của hệ mật và hàm băm đề xuất rất đơn giản, từ đó có thể

thơng tin và mã hóa, lý thuyết xác xuất... cùng với sự hỗ trợ tính tốn

giảm được khả năng xung đột, kháng tiền ảnh và đặc biệt là hạn chế

của máy tính và các chương trình phần mềm mơ phỏng để thử

được phép tấn công "ngày sinh nhật". Các nghiên cứu về hệ mật và

nghiệm đánh giá.


hàm băm trong luận án là các đóng góp nhằm phát triển và đa dạng

Ý nghĩa khoa học và thực tiễn của luận án

hóa lý thuyết mật mã nói chung và hàm băm nói riêng, để có đánh giá
đầy đủ cần có thêm các nghiên cứu tiếp theo nữa.

Những kết quả trong luận án này là một đóng góp nhỏ bé vào việc
phát triển lý thuyết mật mã nói chung và các hàm băm nói riêng. Các
nghiên cứu trong luận án đưa ra được một phương pháp xây dựng
mật mã khối và một số hàm băm trên cơ sở là các cấp số nhân cyclic
của vành đa thức.
Bố cục của luận án

Luận án gồm phần mở đầu, 4 chương nội dung, phần kết luận,
chương trình mơ phỏng.
Chương 1. Luận văn tập trung tìm hiểu các vấn đề chung nhất về
mật mã khóa bí mật (hay cịn gọi là mật mã cổ điển) và mật mã khóa
cơng khai (hay mật mã hiện đại), từ đó phân tích các ưu và nhược
điểm của từng hệ mật.


-6Các nghiên cứu về cấu trúc nhóm nhân và cấp số nhân cyclic trên
vành đa thức cho các kết quả khá lý thú trong việc xây dựng các mã
sửa sai và mật mã. Để tăng chiều dài cho mật mã khối có thể sử dụng
cấu trúc các cấp số nhân cyclic trong các hàm mật mã, nội dung này
sẽ được trình bày trong chương 2.
Chương 2. Nội dung chương này đề cập đến cấu trúc cấp số nhân


-23Thực hiện lặp lại với 10 bản tin được tạo ngẫu nhiên khác nhau ta
có kết quả như 0.
Bảng 3.3. Khoảng cách Hamming trung bình khi thay đổi khóa K và thay đổi bản tin rõ.

Bản tin thứ i

d H tb 

Bản tin thứ i

cyclic này. Cụ thể là hệ mật mới này được xây dựng theo lược đồ

d H tb 

mật mã f và việc tạo khóa được xây dựng theo cấu trúc của cấp số
nhân cyclic trên vành đa thức chẵn. Một số mô phỏng đánh giá cho
thấy kết quả khuếch tán của hệ mật khá tốt (tương đương DES) và
đây là cơ sở để xây dựng các hàm băm mới, được trình bày trong
chương 3.
Chương 3. Nội dung chương này đề cập đến các phương pháp xây

2

3

4

5

63,27


63,67

64,23

64,67

64,50

6

7

8

9

10

62,30

63,87

65,37

64,33

63,97

i


của vành đa thức, xây dựng được một hệ mật trên các cấp số nhân
Feistel có sửa đổi (sơ đồ mật mã khối có độ dài đầu ra 128 bit), hàm

1

i

Khoảng cách Hamming trung bình tính được:
1 10
d H ( tb)   d H  tb  64,02
i
10 i 1
Qua các kết quả khảo sát khoảng cách Hamming ở trên ta thấy
tính khuếch tán của các hàm băm đề xuất là khá tốt.
Để tăng hiệu quả hàm băm ta có thể sử dụng các sơ đồ hàm băm

dựng hàm băm, xây dựng được hai hàm băm mới 128 bit và 384 bit,

kép với cách xây dựng tương tự như đã trình bày ở trên.

với mục đích tăng độ dài hàm băm, thỏa mãn yêu cầu càng cao của

3.2.2. Các đánh giá kết quả mô phỏng hàm băm mới

thực tế; các mô phỏng đánh giá các hàm băm mới đề xuất này cho

Theo kết quả mô phỏng đánh giá độ khuếch tán của hàm băm đề

thấy kết quả rất khả quan.

Phần kết luận nêu những đóng góp của luận án và hướng phát
triển tiếp theo.

xuất, khoảng cách Hamming của các mã băm đạt xấp xỉ một nửa độ
dài mã băm, tức là khi ta thay 1 bit trong bản tin đầu vào thì mã băm
đầu ra sẽ thay đổi một nửa chiều dài. Từ đây ta thấy độ khuếch tán là
rất tốt.
Để có thêm kết luận về hàm băm đề xuất, phải thực hiện thêm các
đánh khác như: tính xung đột, tính kháng va chạm…
KẾT LUẬN CHƯƠNG 3

Nội dung chương này đề cập đến cấu trúc của các hàm băm họ
MD4 đang sử dụng phổ biến như MD4, MD5, RIPEMD-{0, 128,


-22-

-7-

Bảng 3.2. Khoảng cách Hamming d H ( MD1, MDi ) giữa các cặp giá trị băm

CHƯƠNG 1
TỔNG QUAN VỀ MẬT MÃ HỌC

khi các khóa khác khóa K1 2 bit.
TT

Khóa Ki

Giá trị băm MDi


d H ( MD1, MDi )

1

123456789ABCDEF1

53C51349140008F9AA66F954C307AD44

0

2

B23456789ABCDEF1

537140BB7C26F26EDD57CFDDA9CE1B8F

64

3

173456789ABCDEF1

2BA0259D1F16C021F3A22319AF753ED0

60

4

126456789ABCDEF1


A9FD04E4E1BAC7C06119B3FBD8FFD12D

78

5

123E56789ABCDEF1

773979064BE2FC31F0BE347B1EB2D776

72

6

1234F6789ABCDEF1

CD24285FFA002E865E8AECFACEAB37A5

66

7

12345C789ABCDEF1

12F25C639775234298EFF42CB48F44A8

64

8


123456289ABCDEF1

764025970C5F0A26A623D1A24B6D1809

60

9

1234567D9ABCDEF1

530804E85FA92A29C9D3B064481D81F4

52

10

123456780ABCDEF1

36188474DCE9230F7BFE8799EC1221C4

68

11

123456789FBCDEF1

633497CBED502E08B33AB54809D2DBE2

58


12

123456789AECDEF1

6756EEEBC53E948FE408A13DFF72AA20

66

13

123456789AB6DEF1

8778B1FBDE80A5DA4BEF05156D968B48

58

14

123456789ABC7EF1

18DA5D34CA879807D99ECDBC169ED8AD

74

 Thay thế.

15

123456789ABCDBF1


F9787D06F99822CB41E264158FF93D0C

64

16

123456789ABCDEA1

27395F8741475A8AA3845BB4FB6D0D0E

58

 Xử lý bit (chú yếu trong các ngôn ngữ lập trình)

1. 1. CÁC KHÁI NIỆM CƠ BẢN

M

* Mã hóa (Encryption):

Encryption

C

K

Ta có: C  E K  M  hay C  E  M , K 
* Giải mã (Decryption)


C

Decryption

M

Ta có: M  EK1  C   DK  C   D  C , K 
K
Trong đó: M – bản rõ; C – bản mã; K – khóa
* Các phương pháp xử lý thơng tin số trong các hệ thống mật
mã bao gồm:
+ Mật mã khóa bí mật:
 Hốn vị.

 Phương pháp hỗn hợp (điển hình là chuẩn mã hóa dữ
Khoảng cách Hamming trung bình của các giá trị băm với giá trị
băm ban đầu:

liệu – DES của Mỹ)
+ Mật mã khóa cơng khai:

d H ( tb)

1 16
  d H (MD1 , MDi )  64,13
15 i  2

Để khảo sát thêm tính khuếch tán của hàm băm, ta thay đổi cả bản

Xây dựng trên 5 bài toán cơ bản:

 Bài toán logarith rời rạc
 Bài tốn phân tích thừa số

tin rõ và khóa như sau: Giữa nguyên bản tin và lần lượt thay đổi từng

 Bài tốn xếp ba lơ

bit của khóa K1 từ bit 1 đến bit 60, bit 61 dùng để kiểm tra chẵn lẻ.

 Bài tốn mã sửa sai

Sau đó tính khoảng cách Hamming trung bình giữa các giá trị băm

 Bài toán đường cong eliptic

với giá trị băm ban đầu theo công thức:

d H ( tb) 

1 60
 dH (MD1 , MDi )
60 i 2

+ Mật mã khối: quá trình xử lý thơng tin được thực hiện trong
các khối có độ dài xác định.
+ Mật mã dịng: q trình xử lý thông tin thực hiện trên từng
bit.


-8-


-21-

+ Độ phức tạp tính tốn:
- Độ phức tạp tính toán P (theo thời gian đa thức) các bài toán
này là khả thi và khá đơn giản.
- Độ phức tạp NP (khơng theo thời gian đa thức) các bài tốn

31
32
33

0123456789AB4DEF
0123456789ABCDEF
0123456789ABCCEF
0123456789ABCDEF
0123456789ABCDFF
0123456789ABCDEF
0123456789ABCDED

C3D7A66C29F82331
8353E1BF4DB4264B
6D7007E1DFA73B51
7945A131C04B6182
ED6E54D50BE28723
5DA15DE212D18181
4813623B0E06F874

64
62

68

này thường không khả thi và khá phức tạp.
1.2. CÁC HỆ MẬT KHĨA BÍ MẬT
1.2.1. Sơ đồ khối chức năng hệ mật khóa bí mật

Hình 1.1. Sơ đồ khối chức năng hệ mật khóa bí mật

1.2.2. Các hệ mật thay thế

Bao gồm các hệ mật thay thế đơn biểu và thay thế đa biểu. Các hệ
mật tiêu biểu gồm: Mật mã dịch vòng, hệ mật thay thế, hệ mật
Affine, Vigenère…
1.2.3. Các hệ mật hoán vị (MHV)

Khác với hệ mật thay thê, ý tưởng của MHV là giữ các ký tự
của bản rõ khơng thay đổi nhưng sẽ thay đổi vị trí của chúng bằng
cách sắp xếp lại các ký tự này. Ở đây khơng có một phép tốn đại số
nào cần thực hiện khi mã hoá và giải mã.
1.2.4. Hệ mật mã tích
1.2.5. Các hệ mật mã dịng và tạo dãy giả ngẫu nhiên
1.2.6. Chuẩn mã dữ liệu DES

Tiến hành thay đổi lần lượt từng bit từ bit 1 đến bit 128 của bản
tin đầu vào M 1 , tính khoảng cách Hamming d H ( MD1 , MDi ) của từng
lần thay đổi, cuối cùng tính được khoảng cách Hamming trung bình
giữa các giá trị băm với giá trị băm ban đầu là:
1 128
d H tb  
 d H  MD1 , MDi   63,97

128 i 1
Bảng 3.2 là kết quả tính tốn phân bố của bộ mã khi thay đổi khóa
khởi tạo K , mỗi khóa khác với khóa đầu tiên 2 bit. Sở dĩ ta phải thay
đổi 2 bit (tương ứng thay đổi 2 vị trí) là để đảm bảo đa thức sinh của
khóa có trọng số lẻ.
Bản tin đầu vào gồm 10 khối 128 bit được tạo ngẫu nhiên [2].
Chú ý, chiều dài của khóa là 61 bit, do đó khi mơ tả khóa bằng 16
ký tự hexa nhưng thực tế chỉ có 15 ký tự đầu là dạng hexa, còn ký tự
cuối cùng chỉ có 1 bit nên nó nhận giá trị “1” hoặc “0”.
Chọn phần tử đầu của cấp số nhân tạo khóa là: K a  1  x  x 2
Phần tử sinh khóa đầu tiên K1 như sau:
K1( Hex )  123456789ABCDEF.1 ( W ( K1 )  33 ).
Các khóa Ki chỉ thay đổi 2 bit trong một số hexa của khóa đầu
tiên K1 . Chú ý: vị trí các bit “1” trong các khóa Ki tương ứng là số
mũ của x trong đa thức sinh tạo khóa. Ví dụ:
K1  12...F.1Hex  1000.0100...1111.1 Bin
 1  x5  ...  x 56  x57  x 58  x 59  x 60


-20-

8
9
10
11
12
13
14
15
16

17
18
19
20
21
22
23
24
25
26
27
28
29
30

0123456789ABCDEF
0123457789ABCDEF
0123456789ABCDEF
0123456389ABCDEF
0123456789ABCDEF
0123456799ABCDEF
0123456789ABCDEF
012345678DABCDEF
0123456789ABCDEF
01234567898BCDEF
0123456789ABCDEF
0123456789AFCDEF
0123456789ABCDEF
0123456789AB8DEF
0123456789ABCDEF

0123456789ABC5EF
0123456789ABCDEF
0123456789ABCDFF
0123456789ABCDEF
0123456789ABCDEB
0123456789ABCDEF
0123456789ABCDEF
8123456789ABCDEF
0123456789ABCDEF
0323456789ABCDEF
0123456789ABCDEF
0133456789ABCDEF
0123456789ABCDEF
0121456789ABCDEF
0123456789ABCDEF
0123056789ABCDEF
0123456789ABCDEF
0123416789ABCDEF
0123456789ABCDEF
0123457789ABCDEF
0123456789ABCDEF
0123456589ABCDEF
0123456789ABCDEF
0123456799ABCDEF
0123456789ABCDEF
012345678DABCDEF
0123456789ABCDEF
01234567892BCDEF
0123456789ABCDEF
0123456789AACDEF

0123456789ABCDEF

A9C64A47762FF6BD
0CA4992082D77070
73C61EA33CE5D66D
1E25F66DC86E2888
44CCBDC4367DA463
1AD3061B585D4602
FBEBA645F50D0203
E1589BF99823EF04
1210020DA32B4C50
1EE7BE47AC923862
90929EA7F6E837C1
BEB0D922F4ECAE48
CF098E0B9CCDF9CE
AD5C0C8D0A61348B
B96861BE92EEBB16
7906EF1395B4DE95
522E47E70DD5C738
FD4109489863FD3B
4E79C434BF8355DC
C6DBEA49E116BEDC
1FF11DF8F7A44A3F
BBE4AE6094334B90
49D253F55195427D
BA79EFB1AF077CB5
1988B7580AEA44C1
22C2135FCD25DB6C
BB0CE7ED5F43BEFE
ADFA46A0CEC37C5A

E0C53DAF31B45B8D
A0A88D98F147A0D7
C4284C7EAF58BC1F
8DD5B3218D448641
313E52AD01747037
62F9919F4FF1A2AE
27C31BD6042FBB04
FF3D7A429626EF4E
C61B8CF1325300F4
48CBABA51460CEF1
4ABFA6A62B4C006B
A69350AB67BBCC6F
0053037523D9343F
36F0DCFCCF106D0F
76F938F7FBFBBE0C
4D16387FD0FA8E8A
E12F2ED638A059FF
422DDC211E659AB0

-9Mô tả đầy đủ của DES được nêu trong Công bố số 46 về các
68

chuẩn xử lý thông tin Liên bang (Mỹ) vào 15/1/1977. DES mã hoá

64

một xâu bit x của bản rõ độ dài 64 bằng một khoá 54 bit. Bản mã

58


nhận được cũng là một xâu bit có độ dài 64.
Thuật toán DES thường được thực hiện qua 16 vịng mã hóa

64

theo lược đồ Feistel, hàm mã hóa trong mỗi bước được thực hiện kết
60
78

hợp giữa các phép hoán vị và thay thế.
1.2.7 Ưu nhược điểm của mật mã khóa bí mật

64
Ưu điểm:
64
72

 Đơn giản (thời gian nhanh, yêu cầu phần cứng không phức tạp)
 Hiệu quả: (Tỷ lệ mã bằng 1) dễ sử dụng cho các ứng dụng

68
70
68

nhạy cảm với độ trễ và các ứng dụng di động.
Nhược điểm:

Phải dùng kênh an tồn để truyền khóa (Khó thiết lập và chi phí

66


tốn kém)

68



mạng do phải tạo khóa nhiều.

68


68

kênh mở có thể suy ra M.


56
62
62

Khó xây dựng các dịch vụ an tồn khác như: đảm bảo tính
tồn vẹn, xác thực, chữ ký số…

66
54

Các thuật toán là song ánh, vì vậy nếu biết M và K thì chắc
chắn biết C. Thám mã có thể suy luận ra K, kết hợp với C tại


54
60

Việc tạo và giữ khóa bí mật phức tạp, khó làm việc trên

Vì các nhược điểm này nên phải sử dụng cả các hệ mật khóa cơng
khai.


-101.3. HỆ MẬT KHĨA CƠNG KHAI
1.3.1. Sơ đồ chức năng

Hình 1.7. Sơ đồ khối chức năng hệ mật khóa cơng khai

K CB - Khóa cơng khai của B (Lấy trên kênh mở)
K RB - Khóa bí mật của B

-190 là kết quả tính tốn phân bố của 32 hàm băm khi thay đổi duy
nhất một bit dữ liệu trong 32 khối bản tin rõ so với bản tin ban đầu,
để thuận tiện cho việc quan sát chúng tôi chỉ thay đổi 1 bit trong
chuỗi bản tin đầu tiên của một khối.
Mỗi khối bản tin bao gồm 10 bản tin, mỗi bản tin có độ dài 128
bit. Các hàm băm sử dụng cùng một bộ khóa K khởi tạo:
Phần tử sinh của khóa khởi tạo là đa thức:
K i  1  x9  x18  x 27  x 36 ;
Phần tử đầu K a  1  x10  x 20 ; phần tử đầu của cấp số nhân (khóa
đầu tiên), cũng là khóa khởi tạo sẽ là:

Phép mã hóa là ánh xạ 1:1: C  E  M , KCB 
Giải mã: M  E


1

K IV  K1  Ki .K a  1  x9  x10  x18  x19  x 20  x 27

 C , K RB   D  C , K RB 

Ưu điểm của hệ mật khóa cơng khai:
 Khơng cần tạo 2 khóa bí mật

 x 28  x 29  x36  x37  x38  x 46  x 47  x 56

Khối bản tin đầu tiên được xây dựng như sau: Bản tin đầu tiên
gồm 32 ký tự dạng hexa (tương ứng 128 bit) được chọn là:

 Khơng cần kênh an tồn riêng
 Biết khóa mã hóa trên kênh mở nhưng rất khó giải mã.

M1=0123456789ABCDEF0123456789ABCDEF
Các bản tin tiếp theo (từ 2 đến 10) được tạo một cách ngẫu nhiên.

Yêu cầu: Dễ mã hóa, khó giải mã (Hàm một chiều)

Bảng 3.1. Khoảng cách Hamming d H ( MD1 , MDi ) khi các khối dữ liệu

Các hướng nghiên cứu từ năm 1976 cho đến nay đã tìm được 5
hàm một chiều, tương ứng với 5 bài toán là các bài toán:

- Bài toán logarith rời rạc: Với các hệ mật tiêu biểu như: Thủ tục


khác khối ban đầu 1 bit

TT

trao đổi khóa Diffie – Hellman, hệ mật Omura-Massey, hệ mật

1

Elgamal.

2

- Bài tốn phân tích thừa số và hệ mật RSA.
- Bài tốn xếp ba lơ với hệ mật Merkle – Hellman

3
4

- Bài toán mã sửa sai và hệ mật Mc.Eliece
- Hệ mật xây dựng trên đường cong Elliptic.

5
6
7

Bản rõ
0123456789ABCDEF
0123456789ABCDEF
2123456789ABCDEF
0123456789ABCDEF

0323456789ABCDEF
0123456789ABCDEF
0133456789ABCDEF
0123456789ABCDEF
012B456789ABCDEF
0123456789ABCDEF
0123056789ABCDEF
0123456789ABCDEF
0123476789ABCDEF

Giá trị băm
4771249F4AB0E564
908F1456E0D3A239
7B13337D3B31DC7B
91287CE5FCDFD274
995F0EF13134BFAF
D43A47B676DFA356
00EEA6CB284338F5
704DE9AFEC8A592C
0BC2CE7B57041014
0609BC377F579110
E1EDDCED0686C4F6
E1DACEE0AA906D52
09B62BF471BA9644

d H ( MD1 , MDi )

0
56
62

68
62
64
60


-18với K a là một đa thức có trọng số lẻ tùy ý sao cho: deg K a  61 ;
K 0 là một phần tử nguyên thủy của nhóm nhân cyclic có cấp bằng
2 60  1 và cũng là một đa thức có trọng số lẻ [3].
Giả sử ta chọn khóa: K 0  1  x  x 3
Phần tử đầu là K a  1  x  x 2 .
Phần tử đầu của cấp số nhân và cũng là khóa đầu tiên là:
K1  K 0 K a  1  x 4  x5   045  . (Chú ý giá trị  045  là dạng
biểu diễn số mũ của đa thức). Sơ đồ khối bộ mã hóa f với khóa K1
như trong hình 3.13.

-11KẾT LUẬN CHƯƠNG 1

Trong chương 1, luận án tập trung tìm hiểu các vấn đề chung nhất
về mật mã khóa bí mật (hay cịn gọi là mật mã cổ điển) và mật mã
khóa cơng khai (hay mật mã hiện đại), từ đó phân tích các ưu và
nhược điểm của từng hệ mật.
Các nghiên cứu về cấu trúc nhóm nhân và cấp số nhân cyclic trên
vành đa thức cho các kết quả khá lý thú trong việc xây dựng các mã
sửa sai và mật mã. Để tăng chiều dài cho mật mã khối có thể sử dụng
cấu trúc các cấp số nhân cyclic trong các hàm mật mã, nội dung này
sẽ được trình bày trong chương 2.

Sơ đồ khối mã hóa f với khóa K1  1  x 4  x5
Một khâu mã hóa được thực hiện theo quy tắc:

 Li  Ri 1  Ki

 Ri  Li 1  f  Ri 1 , Ki 
Khối g trong sơ đồ 3.12 thực hiện việc trích trọn các khóa cho các
vịng tiếp theo của q trình băm. Khối mật mã f trong sơ đồ sử dụng
các khóa có độ dài 61 bit. Trong 61 bit khóa ở bước thứ i do khối g
tạo ra thì 60 bit đầu tiên sẽ được trích trọn từ 128 bit của H i 1 còn bit
thứ 61 là bit kiểm tra chẵn lẻ. Việc trích trọn được lấy liên tục các bit
cách nhau 2 vị trí trong H i 1 (trong khoảng bit 1 đến bit 120). Dưới
đây là một vài kết quả đánh giá của hàm băm xây dựng trên các cấp
số nhân cyclic.


-12-

-17-

CHƯƠNG 2. HỆ MẬT XÂY DỰNG TRÊN
CÁC CẤP SỐ NHÂN CYCLIC

CHƯƠNG 3. HÀM BĂM XÂY DỰNG TRÊN
CẤP SỐ NHÂN CYCLIC

2.1. NHÓM NHÂN CYCLIC TRÊN VÀNH ĐA THỨC

Trong mục này luận án đề cập đến các vấn đề:
- Định nghĩa nhóm nhân cyclic trên vành đa thức.
- Phân loại nhóm nhân cyclic.
2.2. CẤP SỐ NHÂN CYCLIC TRÊN VÀNH ĐA THỨC


Bao gồm các nội dung:
- Khái niệm về cấp số nhân cyclic trên vành đa thức.
- Phân hoạch vành đa thức: khái niệm về phân hoạch, các bước
phân hoạch vành đa thức, các kiểu phân hoạch.

3.1. HÀM BĂM, XÁC THỰC VÀ CHỮ KÝ SỐ

Mục này đề cấp đến các nội dung:
- Hàm băm: Định nghĩa, các tính cất cơ bản, phân loại hàm băm,
các sơ đồ thực hiện hàm băm.
- Các sơ đồ xác thực dùng hàm băm
- Chữ kỹ số: Các sơ đồ chữ ký số dùng hàm băm và hệ mật khóa
cơng khai.
3.2. XÂY DỰNG HÀM BĂM MỚI TRÊN CÁC CẤP SỐ NHÂN
CYCLIC

2.3. XÂY DỰNG M-DÃY LỒNG GHÉP TRÊN VÀNH ĐA THỨC CÓ

3.2.1. Sơ đồ khối mật mã trong hàm băm

HAI LỚP KỀ CYCLIC

Trong phần này tác giả đưa ra một phương pháp xây dựng hàm

Trong mục này luận án đề cập đến các vấn đề:
- Vành đa thức có hai lớp kề.
- Các M-dãy xây dựng trên vành đa thức.
- Các M-dãy lồng ghép xây dựng từ các cấp số nhân của vành đa
thức.
2.4. HỆ MẬT XÂY DỰNG TRÊN CÁC CẤP SỐ NHÂN CYCLIC


băm 128 bit dựa trên các cấp số nhân cyclic của vành đa thức, với nền
tảng là sơ đồ hàm băm Matyas–Mayer–Oseas như hình 3.12, đầu ra

H i có độ dài 128 bit. Khối mật mã E trong sơ đồ này được xây dựng
theo mơ hình mạng hốn vị thay thế Feistel (Hình 2.6).
Hàm E được xây dựng trên cơ sở

2.4.1. Vấn đề mã hóa

hệ mật sử dụng các cấp số nhân

Trong mục này luận án đề cập đến vấn đề lý thuyết về việc áp

cyclic trên vành đa thức có hai lớp

dụng các cấp số nhân cyclic vào việc mã hóa cho hệ mật, có ví dụ

kề (đã được mơ tả trong mục 2.5.2).

minh họa và mạch điện mã hóa và giải mã.

Các khóa Ki là các phần tử trong

2.4.2. Xây dựng hệ mật dùng cấp số nhân cyclic

một cấp số nhân được chọn như sau

Trong sơ đồ xây dựng hệ mật, sơ đồ Feistel được sử dụng làm nền


[5]:

cho hệ mật dùng các cấp số nhân cyclic trên vành đa thức.



K i  K a K 0i mod x 61  1; i  1,16




-16-

-13-

20
21

0123456789ABCDEF0103456789ABCDEF
0123456789ABCDEF0121456789ABCDEF

F4C77D14D1C3D56C3BFE5567E88F2FBD
3829E4410CF0C4F5C44533DC9F167AF9

63
63

Sơ đồ này (hình 2.5) sẽ mã hóa cho chuỗi bit có độ dài 128, các

22

23

0123456789ABCDEF0123556789ABCDEF

72F1CA3D0680EE7D4DA55539D515A021
BD09D0D46298F5133D500DD1B1D4EF8F

66
63

hốn vị IP và hốn vị đảo IP-1 được tác giả xây dựng và phát triển từ

24

0123456789ABCDEF0123476789ABCDEF
0123456789ABCDEF0123452789ABCDEF

60B685BE82763B4198EF5656014C9B5F

66

25
26

0123456789ABCDEF0123456F89ABCDEF
0123456789ABCDEF0123456799ABCDEF

CE8966D625E75B2D212E8137A2DD9C62
96BABA38D98A9752F121910FDA1F6719


63
66

Hàm f được xây dựng trên cơ sở hệ mật sử dụng các cấp số nhân

27
28

0123456789ABCDEF0123456788ABCDEF
0123456789ABCDEF0123456789EBCDEF

1EFE98838C64E01668B87F5ABC1FFEB3
5825A87F960913A4241D4445D970B340

66
66

cyclic trên vành đa thức có hai lớp kề. Các khóa Ki là các phần tử

29
30

0123456789ABCDEF0123456789AACDEF
0123456789ABCDEF0123456789AB8DEF

2F2F07A8A0186137DEFCF09D37F7E60B
D369DC985C020CC46CB055A628928946

66
66


trong một cấp số nhân được chọn như sau:

31
32

0123456789ABCDEF0123456789ABC5EF
0123456789ABCDEF0123456789ABCDFF

B7A8933663E16463FDD0391FE945E8E5
07564D6E503D8A9F901C46CFE655D09D

63
66

33

0123456789ABCDEF0123456789ABCDEE

0730E7E6141F31CA7E6B02567FBB85FB

66

Khoảng cách Hamming trung bình giữa các bản mã là:
1 33
d H ( tb )   d H (C1 , Ci )  65,16
32 i 2
Tiến hành tính tốn độ khuếch tán của các từ mã khi thay đổi 1 bit
của khóa so với khóa ban đâu, ta được kết quả là:
1 16

d H ( tb )   d H (C1 , Ci )  64,93
15 i  2
2.5. KẾT LUẬN CHƯƠNG 2

Nội dung chương này đề cập đến cấu trúc cấp số nhân của vành đa
thức, xây dựng được một hệ mật trên các cấp số nhân cyclic này. Cụ
thể là hệ mật mới này được xây dựng theo lược đồ Feistel có sửa đổi
(sơ đồ mật mã khối có độ dài đầu ra 128 bit), hàm mật mã f và việc
tạo khóa được xây dựng theo cấu trúc của cấp số nhân cyclic trên
vành đa thức chẵn.
Một số ưu điểm nổi bật của hệ mật này là (1) Mạch điện mã hóa
và giải mã cùng một cấu trúc và rất đơn giản chỉ gồm các thanh ghi
dịch và bộ cộng modul 2, tốc độ xử lý nhanh, (2) Dễ dàng mở rộng
độ dài từ mã trên các vành đa thức x n  1 với n  2s , (3) Một số mô
phỏng đánh giá cho thấy kết quả khuếch tán của hệ mật khá tốt
(tương đương DES) và đây là cơ sở để xây dựng các hàm băm mới,
được trình bày trong chương 3.

các bảng IP của hệ mật DES, cho trong bảng 2.8 và bảng 2.9.

K i  K a K oi mod x61  1; (i  1,16)

với K a là một đa thức có trọng số lẻ tùy ý sao cho: deg K a  61

K0 là một phần tử nguyên thủy của nhóm nhân cyclic có cấp bằng
60

2  1 và cũng là một đa thức có trọng số lẻ. Cần chú ý rằng với

n  61 vành Z 2 [x ] / x 61  1 là một vành có hai lớp kề cyclic.

Giả sử ta chọn khóa:
K 0  1  x  x3  (013) ,

Phần tử đầu K a  1  x  x 2  (012); Phần tử đầu của cấp số
nhân và cũng là khóa đầu tiên là:
K1  K 0 .K a  1  x 4  x 5  (045). Sơ đồ khối bộ mã hóa f với
khóa K1 như trong hình 2.6.
Một khâu mã hóa được thực hiện theo quy tắc:
 Li  Ri 1  Ki

 Ri  Li 1  f  Ri 1 , Ki 
Trong sơ đồ mã hóa hình 2.5 tác giả có thay đổi so với sơ đồ
Feistel, đó là nửa trái ở bước thứ i bằng nửa phải ở bước thứ i  1
cộng với khóa Ki (chỉ cộng 61 bit đầu tiên với khóa). Sở dĩ phải làm
như vậy để tránh trường hợp khi các bit dữ liệu đầu vào toàn là bit
“0” thì dữ liệu mã hóa đầu ra cũng sẽ tồn là bit “0”, vì hàm f trong
sơ đồ của chúng tôi thực hiện cộng các bit dữ liệu chứ không cộng
với các bit của khóa.


-14-

-15-

Bảng 2.10 là kết quả tính tốn phân bố của bộ mã khi thay đổi 32
bản tin rõ [2], mỗi bản tin chỉ khác 1 bit, với cùng một bộ khóa K.
Với phần tử sinh của khóa K  1  x  x 3  x7  x9 , phần tử đầu

K a  1  x  x 2 ; phần tử đầu của cấp số nhân (khóa đầu tiên) là:
K1  K .K a  1  x 4  x5  x 7  x8  x10  x11

Bản tin rõ đầu tiên gồm 32 ký tự dạng hexa là:
M1 = 0123456789ABCDEF0123456789ABCDEF
Bảng 2.10. Khoảng cách Hamming
khác nhau 1 bit,

d H (C1 , Ci )

giữa các cặp bản mã khi các bản rõ

d H ( M 1 , M i )  1 , với cùng một khóa

TT

Bản rõ Mi

Bản mã Ci

dH(C1,Ci)

1
2

E9D8211132A6A374BC286082EFA45DA8
3FEDC41619D4B600C059740D7A7D3DB6

0
63

3


0123456789ABCDEF0123456789ABCDEF
2123456789ABCDEF0123456789ABCDEF
0023456789ABCDEF0123456789ABCDEF

BA63820AED3E453E46236D0BBCE621CB

66

4
5

0133456789ABCDEF0123456789ABCDEF
0122456789ABCDEF0123456789ABCDEF

64ED9A2B835B2A1A1887D0527791796F
318B9AB229793B92F6D26B8F66F71FD4

66
66

6

0123656789ABCDEF0123456789ABCDEF

F15FF724D7A18806A95C1CF3FB2BC871

63

7


0123446789ABCDEF0123456789ABCDEF

F60072AA91BD7CEC5A629A89E22D0EEA

66

8
9

0123457789ABCDEF0123456789ABCDEF
0123456389ABCDEF0123456789ABCDEF

E029AC24899C12893546C42D5F74C59D
ABA4425CDC28CF0BDEB34969C3907BE5

66
66

10
11

01234567C9ABCDEF0123456789ABCDEF
012345678DABCDEF0123456789ABCDEF

DCFCE627E6484BB24B0ED91051661ECA
BA9A5D727F482D18C34AFBAB0488698E

66
66


12
13

0123456789BBCDEF0123456789ABCDEF
0123456789A9CDEF0123456789ABCDEF

CF9528E0BF93184E0DD5E9EC4B0BED78
D78E46904ACBF02ACC9A47D3A8634AE9

66
63

14
15

0123456789ABEDEF0123456789ABCDEF
0123456789ABCCEF0123456789ABCDEF

EC3B44672A217541592F4BF0FAD021D9
AABAF5812D7EF0CF1F33BF1A09EEA7A3

63
66

16

0123456789ABCDFF0123456789ABCDEF

C5EC075C3B572E410712D17F66CAF907


66

17

E2D5A84270DAC03952A60CFD8D3F7443

66

18

0123456789ABCDEB0123456789ABCDEF
0123456789ABCDEF4123456789ABCDEF

4668F1890782644268C688441882E43A

66

19

0123456789ABCDEF0523456789ABCDEF

13D32C9861E4DF17F1C6EEEE90C6C681

66



×