tóm tắt luận án 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 - Pdf 22

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 toàn thông tin, ngày nay
các kỹ thuật chính trong an toà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ó
nhiều nguy cơ không an toàn do thông tin có thể bị lộ hay bị sửa đổi.
Nói chung, để bảo vệ các thông tin khỏi sự truy cập trái phép cần
phải kiểm soát được những vấn đề như: thông tin được tạo ra, lưu trữ
và truy nhập như thế nào, ở đâu, bởi ai và vào thời điểm nào.
Để giải quyết các vấn đề trên, kỹ thuật mật mã hiện đại phải
đảm bảo các dịch vụ an toàn cơ bản: (1) bí mật (Confidential); (2)
xác thực (Authentication); (3) đảm bảo tính toà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
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á
mạnh trên thế giới, các nhóm nghiên cứu tập trung chủ yếu vào
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ổ biến bao gồm: (1) Matyas – Mayer – Oseas (M-M-O); (2) Davies
– 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ư
trên, điển hình là các hệ mật sau: DES, IDEA, RD.5, TDEA, AES,

Luận án thuộc phạm vi lý thuyết cơ sở, tập trung nghiên cứu
các thuật toá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 toá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
Phương pháp nghiên cứu của đề tài là phân tích và tổng hợp
dựa vào các công cụ toán học, đặc biệt là đại số đa thức, lý thuyết
thông tin và mã hóa, lý thuyết xác xuất cùng với sự hỗ trợ tính
toán của máy tính và các chương trình phần mềm mô phỏng để thử
nghiệm đánh giá.
Ý nghĩa khoa học và thực tiễn của luận án
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.
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.

Thay thế.

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

Phương pháp hỗn hợp (điển hình là chuẩn mã hóa dữ
liệu – DES của Mỹ)
+ Mật mã khóa công khai:
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 toán phân tích thừa số

Bài toán xếp ba lô

Bài toán mã sửa sai

Bài toán đường cong eliptic
+ 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: quá trình xử lý thông tin thực hiện trên từng
bit.
Decryption
C
M
K
Encryption
M
C
K

Đơ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
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 toàn để truyền khóa (Khó thiết lập và chi phí
tốn kém)

Việc tạo và giữ khóa bí mật phức tạp, khó làm việc trên
mạng do phải tạo khóa nhiều.

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
kênh mở có thể suy ra M.

Khó xây dựng các dịch vụ an toàn khác như: đảm bảo tính
toàn vẹn, xác thực, chữ ký số…
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.
1.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
- Khóa công khai của B (Lấy trên kênh mở)
- Khóa bí mật của B
Phép mã hóa là ánh xạ 1:1:
Giải mã:
Ư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

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.
2.3. XÂY DỰNG M-DÃY LỒNG GHÉP TRÊN VÀNH ĐA THỨC
CÓ HAI LỚP KỀ CYCLIC
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
2.4.1. Vấn đề mã hóa
Trong mục này luận án đề cập đến vấn đề lý thuyết về việc á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ụ
minh họa và mạch điện mã hóa và giải mã.
2.4.2. Xây dựng hệ mật dùng cấp số nhân cyclic
Trong sơ đồ xây dựng hệ mật, sơ đồ Feistel được sử dụng làm nền
cho hệ mật dùng các cấp số nhân cyclic trên vành đa thức.
Sơ đồ này (hình 2.5) sẽ mã hóa cho chuỗi bit có độ dài 128, các
hoán vị IP và hoán vị đảo IP
-1
được tác giả xây dựng và phát triển từ
các bảng IP của hệ mật DES, cho trong bảng 2.8 và bảng 2.9.
Hàm được xây dựng trên cơ sở hệ mật sử dụng các cấp số nhân
cyclic trên vành đa thức có hai lớp kề. Các khóa là các phần tử
trong một cấp số nhân được chọn như sau:
với là một đa thức có trọng số lẻ tùy ý sao cho:
là một phần tử nguyên thủy của nhóm nhân cyclic có cấp bằng

i
d
H
(C
1
,C
i
)
1
0123456789ABCDEF0123456789ABCDE
F
E9D8211132A6A374BC286082EFA45DA8 0
2 2123456789ABCDEF0123456789ABCDEF
3FEDC41619D4B600C059740D7A7D3DB
6
63
3 0023456789ABCDEF0123456789ABCDEF
BA63820AED3E453E46236D0BBCE621C
B
66
4 0133456789ABCDEF0123456789ABCDEF 64ED9A2B835B2A1A1887D0527791796F 66
5 0122456789ABCDEF0123456789ABCDEF 318B9AB229793B92F6D26B8F66F71FD4 66
6 0123656789ABCDEF0123456789ABCDEF F15FF724D7A18806A95C1CF3FB2BC871 63
7 0123446789ABCDEF0123456789ABCDEF
F60072AA91BD7CEC5A629A89E22D0EE
A
66
8 0123457789ABCDEF0123456789ABCDEF E029AC24899C12893546C42D5F74C59D 66
9 0123456389ABCDEF0123456789ABCDEF
ABA4425CDC28CF0BDEB34969C3907BE

66
16 0123456789ABCDFF0123456789ABCDEF C5EC075C3B572E410712D17F66CAF907 66
17
0123456789ABCDEB0123456789ABCDE
F
E2D5A84270DAC03952A60CFD8D3F744
3
66
18 0123456789ABCDEF4123456789ABCDEF 4668F1890782644268C688441882E43A 66
19 0123456789ABCDEF0523456789ABCDEF
13D32C9861E4DF17F1C6EEEE90C6C68
1
66
20 0123456789ABCDEF0103456789ABCDEF
F4C77D14D1C3D56C3BFE5567E88F2FB
D
63
21 0123456789ABCDEF0121456789ABCDEF 3829E4410CF0C4F5C44533DC9F167AF9 63
22 0123456789ABCDEF0123556789ABCDEF
72F1CA3D0680EE7D4DA55539D515A02
1
66
23 0123456789ABCDEF0123476789ABCDEF
BD09D0D46298F5133D500DD1B1D4EF8
F
63
24 0123456789ABCDEF0123452789ABCDEF 60B685BE82763B4198EF5656014C9B5F 66
25
0123456789ABCDEF0123456F89ABCDE
F

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 với , (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.
CHƯƠNG 3. HÀM BĂM XÂY DỰNG TRÊN
CẤP SỐ NHÂN CYCLIC
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
3.2.1. Sơ đồ khối mật mã trong hàm băm
Trong phần này tác giả đưa ra một phương pháp xây dựng hàm
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
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 hoán vị thay thế Feistel (Hình 2.6).

đế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.
0 là kết quả tính toá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 khởi tạo:
Phần tử sinh của khóa khởi tạo là đa thức:
;
Phần tử đầu 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à:
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à:
M
1
=0123456789ABCDEF0123456789ABCDEF
Các bản tin tiếp theo (từ 2 đến 10) được tạo một cách ngẫu nhiên.
Bảng 3.1. Khoảng cách Hamming khi các khối dữ liệu
khác khối ban đầu 1 bit
TT Bản rõ
Giá trị băm
1
0123456789ABCDEF
0123456789ABCDEF
4771249F4AB0E564
908F1456E0D3A239
0
2
2123456789ABCDEF

09B62BF471BA9644
A9C64A47762FF6BD
60
8
0123457789ABCDEF
0123456789ABCDEF
0CA4992082D77070
73C61EA33CE5D66D
68
9
0123456389ABCDEF
0123456789ABCDEF
1E25F66DC86E2888
44CCBDC4367DA463
64
10
0123456799ABCDEF
0123456789ABCDEF
1AD3061B585D4602
FBEBA645F50D0203
58
11
012345678DABCDEF
0123456789ABCDEF
E1589BF99823EF04
1210020DA32B4C50
64
12
01234567898BCDEF
0123456789ABCDEF

C6DBEA49E116BEDC
1FF11DF8F7A44A3F
68
18
0123456789ABCDEF
8123456789ABCDEF
BBE4AE6094334B90
49D253F55195427D
70
19
0123456789ABCDEF
0323456789ABCDEF
BA79EFB1AF077CB5
1988B7580AEA44C1
68
20
0123456789ABCDEF
0133456789ABCDEF
22C2135FCD25DB6C
BB0CE7ED5F43BEFE
66
21
0123456789ABCDEF
0121456789ABCDEF
ADFA46A0CEC37C5A
E0C53DAF31B45B8D
68
22
0123456789ABCDEF
0123056789ABCDEF

A69350AB67BBCC6F
0053037523D9343F
54
28
0123456789ABCDEF
01234567892BCDEF
36F0DCFCCF106D0F
76F938F7FBFBBE0C
56
29
0123456789ABCDEF
0123456789AACDEF
4D16387FD0FA8E8A
E12F2ED638A059FF
62
30
0123456789ABCDEF
0123456789AB4DEF
422DDC211E659AB0
C3D7A66C29F82331
62
31
0123456789ABCDEF
0123456789ABCCEF
8353E1BF4DB4264B
6D7007E1DFA73B51
64
32
0123456789ABCDEF
0123456789ABCDFF


2 bit.
TT Khóa K
i
Giá trị băm MD
i
1
123456789ABCDEF
1
53C51349140008F9AA66F954C307AD44 0
2
B23456789ABCDEF
1
537140BB7C26F26EDD57CFDDA9CE1B8
F
64
3 173456789ABCDEF1 2BA0259D1F16C021F3A22319AF753ED0 60
4 126456789ABCDEF1
A9FD04E4E1BAC7C06119B3FBD8FFD12
D
78
5
123E56789ABCDEF
1
773979064BE2FC31F0BE347B1EB2D776 72
6
1234F6789ABCDEF
1
CD24285FFA002E865E8AECFACEAB37A
5

123456789ABCDBF
1
F9787D06F99822CB41E264158FF93D0C 64
16
123456789ABCDEA
1
27395F8741475A8AA3845BB4FB6D0D0E 58
Khoảng cách Hamming trung bình của các giá trị băm với giá trị
băm ban đầu:
Để khảo sát thêm tính khuếch tán của hàm băm, ta thay đổi cả bản
tin rõ và khóa như sau: Giữa nguyên bản tin và lần lượt thay đổi từng
bit của khóa K
1
từ bit 1 đến bit 60, bit 61 dùng để kiểm tra chẵn lẻ.
Sau đó tính khoảng cách Hamming trung bình giữa các giá trị băm
với giá trị băm ban đầu theo công thức:
Thự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ứ
1 2 3 4 5
63,27 63,67 64,23 64,67 64,50
Bản tin thứ
6 7 8 9 10
62,30 63,87 65,37 64,33 63,97
Khoảng cách Hamming trung bình tính được:
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

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

Đề xuất phương pháp tạo khóa cho hệ mật từ các M-dãy theo các
cấp số nhân của vành đa thức có hai lớp kề cyclic, đây cũng là
vành đặc biệt và ít được dùng trong lý thuyết mã sửa sai. Các M-
dãy xây dựng theo phương pháp này có chu kỳ lớn và cũng đảm
bảo tính chất giả ngẫu nhiên của dãy. Trong luận án đã sử dụng
các M-dãy trên vành vào việc tạo các khóa con bên trong
hệ mật, cụ thể là 16 khóa con cho 16 vòng mã hóa theo sơ đồ
Feistel. Do số lượng khóa tạo được rất nhiều ( 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
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. Ngoài ra các M-dãy đề xuất trong luận án
hoàn toà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ã băm nhằm mục đích hạn chế phép tấn công ngày sinh nhật,
(3) hàm băm có độ khuếch tán (hay hỗn loạn) khá tốt (đây là một
tính chất quan trọng của hàm băm). Theo các kết quả mô phỏng
đánh giá tính khuếch tán của hệ mật mới và của các hàm băm đề
xuất cho thấy tính khuếch tán khá tốt. Với hệ mật thì độ khuếch
tán tương đương DES, với hàm băm độ khuếch tán đạt xấp xỉ
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


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status