Các hệ mật dựa trên vành đa thức chẵn (LA tiến sĩ) Các hệ mật dựa trên vành đa thức chẵn (LA tiến sĩ) Các hệ mật dựa trên vành đa thức chẵn (LA tiến sĩ) Các hệ mật dựa trên vành đa thức chẵn (LA tiến sĩ) Các hệ mật dựa trên vành đa thức chẵn (LA tiến sĩ) Các hệ mật dựa trên vành đa thức chẵn (LA tiến sĩ) Các hệ mật dựa trên vành đa thức chẵn (LA tiến sĩ) Các hệ mật dựa trên vành đa thức chẵn (LA tiến sĩ) Các hệ mật dựa trên vành đa thức chẵn (LA tiến sĩ) Các hệ mật dựa trên vành đa thức chẵn (LA tiến sĩ) Các hệ mật dựa trên vành đa thức chẵn (LA tiến sĩ) Các hệ mật dựa trên vành đa thức chẵn (LA tiến sĩ) Các hệ mật dựa trên vành đa thức chẵn (LA tiến sĩ) Các hệ mật dựa trên vành đa thức chẵn (LA tiến sĩ) Các hệ mật dựa trên vành đa thức chẵn (LA tiến sĩ) Các hệ mật dựa trên vành đa thức chẵn (LA tiến sĩ) Các hệ mật dựa trên vành đa thức chẵn (LA tiến sĩ) Các hệ mật dựa trên vành đa thức chẵn (LA tiến sĩ) Các hệ mật dựa trên vành đa thức chẵn (LA tiến sĩ) Các hệ mật dựa trên vành đa thức chẵn (LA tiến sĩ) Các hệ mật dựa trên vành đa thức chẵn (LA tiến sĩ) Các hệ mật dựa trên vành đa thức chẵn (LA tiến sĩ)
Trang 1BỘ THÔNG TIN VÀ TRUYỀN THÔNG
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-
CAO MINH THẮNG
CÁC HỆ MẬT DỰA TRÊN VÀNH ĐA THỨC CHẴN
LUẬN ÁN TIẾN SỸ KỸ THUẬT
Hà Nội - 2017
Trang 2BỘ THÔNG TIN VÀ TRUYỀN THÔNG
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-
CAO MINH THẮNG
CÁC HỆ MẬT DỰA TRÊN VÀNH ĐA THỨC CHẴN
CHUYÊN NGÀNH: KỸ THUẬT ĐIỆN TỬ
MÃ SỐ: 62.52.02.03
LUẬN ÁN TIẾN SỸ KỸ THUẬT
NGƯỜI HƯỚNG DẪN KHOA HỌC: GS.TS.NGUYỄN BÌNH
Hà Nội – 2017
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu do tôi thực hiện Các số liệu và kết quả trình bày trong luận án là trung thực và chưa được công bố bởi bất kỳ tác giả nào hay ở bất kỳ công trình nào khác
Hà Nội, tháng 8 năm 2017
Tác giả luận án
Cao Minh Thắng
Trang 4đã tạo mọi điều kiện thuận lợi cho tôi trong suốt quá trình thực hiện luận án
Tôi xin chân thành cảm ơn GS.TSKH Nguyễn Ngọc San và PGS.TS.Lê Bá Long đã có những góp ý giúp tôi hoàn chỉnh cách trình bày và các chứng minh toán học trong luận án
Tôi cũng xin chân thành cảm ơn các đồng nghiệp thuộc Viện Khoa học Công nghệ mật mã - Ban Cơ yếu Chính phủ đã có nhiều ý kiến trao đổi có giá trị trong các buổi hội thảo giúp tôi hoàn thiện các công trình nghiên cứu trong luận án
Cuối cùng tôi xin gửi lời cảm ơn tới mẹ, vợ và gia đình đã động viên và chia
sẻ các khó khăn với tôi trong suốt quá trình thực hiện và hoàn thành luận án
Hà nội, tháng 8 năm 2017
Tác giả luận án
Cao Minh Thắng
Trang 5MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC CÁC TỪ VIẾT TẮT ix
DANH MỤC CÁC KÝ HIỆU xii
DANH MỤC CÁC BẢNG xiv
DANH MỤC CÁC HÌNH VẼ xv
MỞ ĐẦU 1
CHƯƠNG 1 TỔNG QUAN VỀ MẬT MÃ VÀ CÁC HỆ MẬT DỰA TRÊN VÀNH ĐA THỨC 10
1.1 MỞ ĐẦU CHƯƠNG 10
1.2 TỔNG QUAN VỀ MẬT MÃ 10
1.2.1 Mật mã khóa bí mật 10
1.2.2 Mật mã khóa công khai 12
1.2.3 Mật mã lai ghép 14
1.2.4 Độ an toàn của một hệ mật 15
1.2.5 Thí nghiệm đánh giá độ an toàn không thể phân biệt 18
1.2.6 Phương pháp đánh giá độ an toàn ngữ nghĩa của các hệ mật 20
1.2.7 Một số tham số khác được sử dụng để đánh giá các hệ mật 22
1.3 CÁC HỆ MẬT DỰA TRÊN VÀNH ĐA THỨC 23
1.3.1 Các hệ mật khoá bí mật dựa trên vành đa thức 23
1.3.2 Các hệ mật khoá công khai dựa trên vành đa thức 24
Trang 61.3.3 Các hệ mật lai ghép dựa trên vành đa thức 26
1.4 TIỀM NĂNG ỨNG DỤNG CỦA VÀNH ĐA THỨC CHẴN TRONG MẬT MÃ VÀ CÁC VẤN ĐỀ MỞ 26
1.4.1 Các vấn đề chung với các hệ mật dựa trên vành đa thức chẵn 26
1.4.2 Các tiềm năng ứng dụng của vành đa thức chẵn trong mật mã 27
1.5 KẾT LUẬN CHƯƠNG 28
CHƯƠNG 2 VÀNH ĐA THỨC CHẴN 30
2.1 MỞ ĐẦU CHƯƠNG 30
2.2 TỔNG QUAN VỀ VÀNH ĐA THỨC 30
2.2.1 Các định nghĩa và ký hiệu 30
2.2.2 Lũy đẳng trong vành đa thức R n 32
2.2.3 Các phần tử khả nghịch trong R n 34
2.2.4 Đa thức bù và nghịch đảo mở rộng trong các vành R n với n lẻ 36
2.3 VÀNH ĐA THỨC CHẴN, CÁC THẶNG DƯ BẬC HAI VÀ CÁC PHẦN TỬ LIÊN HỢP 37
2.3.1 Các định nghĩa 38
2.3.2 Tính chất của các thặng dư bậc hai 38
2.3.3 Tính chất của các CE của lũy đẳng e trên vành đa thức chẵn 411 1 2.4 VÀNH ĐA THỨC CHẴN TUYỆT ĐỐI R 412k 2.4.1 Tập các phần tử khả nghịch trong 2k R 41
2.4.2 Thuật toán tính phần tử nghịch đảo trong R 442k 2.5 VÀNH ĐA THỨC CHỈ CÓ HAI LỚP KỀ CYCLIC R 2C 45
2.5.1 Các định nghĩa 45
Trang 72.5.2 Tập các phần tử khả nghịch trên vành R 2C 45
2.5.3 So sánh vành R 2C với vành 2k R 46
2.6 KẾT LUẬN CHƯƠNG 47
CHƯƠNG 3 CÁC HỆ MẬT DỰA TRÊN VÀNH ĐA THỨC CHẴN 48
3.1 MỞ ĐẦU CHƯƠNG 48
3.2 HỆ MẬT KHÓA BÍ MẬT RISKE 48
3.2.1 Giới thiệu 48
3.2.2 Cấu trúc đại số nền tảng của RISKE 49
3.2.3 Thủ tục tạo khóa 50
3.2.4 Thủ tục mã hóa 50
3.2.5 Thủ tục giải mã 51
3.2.6 Ví dụ minh họa 51
3.2.7 Phân tích độ an toàn lý thuyết của RISKE 52
3.2.8 Phân tích hiệu năng lý thuyết của RISKE 55
3.2.9 Lựa chọn tham số 55
3.2.10 So sánh RISKE với OTP 56
3.2.11 Kết luận về hệ mật RISKE 57
3.3 HỆ MẬT LAI GHÉP QRHE 57
3.3.1 Giới thiệu 57
3.3.2 Sơ đồ hệ mật lai ghép QRHE 58
3.3.3 Cấu trúc đại số nền tảng của QRHE 59
3.3.4 Thủ tục tạo khóa 60
3.3.5 Thủ tục mã hóa 60
3.3.6 Thủ tục giải mã 60
Trang 83.3.7 Ví dụ minh họa 61
3.3.8 Phân tích độ an toàn lý thuyết của QRHE 62
3.3.9 Phân tích hiệu năng lý thuyết của QRHE 63
3.3.10 Lựa chọn tham số 63
3.3.11 Kết luận về QRHE 64
3.4 HỆ MẬT KHÓA CÔNG KHAI IPKE 64
3.4.1 Giới thiệu 64
3.4.2 Hàm cửa sập dựa trên các phần tử khả nghịch trong 2k R 65
3.4.3 Không gian các cửa sập trong 2k R 66
3.4.4 Cấu trúc đại số nền tảng của IPKE 67
3.4.5 Thủ tục tạo khóa 68
3.4.6 Thủ tục mã hóa 68
3.4.7 Thủ tục giải mã 68
3.4.8 Chứng minh thủ tục giải mã 69
3.4.9 Ví dụ minh họa 69
3.4.10 Phân tích độ an toàn lý thuyết của IPKE 72
3.4.11 Phân tích hiệu năng lý thuyết của IPKE 74
3.4.12 Lựa chọn tham số 75
3.4.13 Kết luận về IPKE 76
3.5 KẾT LUẬN CHƯƠNG 76
CHƯƠNG 4 CÁC HỆ MẬT MỞ RỘNG DỰA TRÊN VÀNH ĐA THỨC CHẴN KẾT HỢP VỚI CÁC VÀNH ĐA THỨC KHÁC 78
4.1 MỞ ĐẦU CHƯƠNG 78
4.2 HỆ MẬT KHÓA CÔNG KHAI DTRU 79
Trang 94.2.1 Giới thiệu 79
4.2.2 Hệ mật NTRU 79
4.2.3 Ý tưởng về hệ mật DTRU 84
4.2.4 Hệ mật DTRU 84
4.3 HỆ MẬT KHÓA BÍ MẬT E-RISKE 95
4.3.1 Giới thiệu 95
4.3.2 Cấu trúc đại số nền tảng của E-RISKE 96
4.3.3 Thủ tục tạo khóa 96
4.3.4 Thủ tục mã hóa 97
4.3.5 Thủ tục giải mã 97
4.3.6 Ví dụ minh họa 98
4.3.7 Phân tích độ an toàn lý thuyết của E-RISKE 99
4.3.8 Phân tích hiệu năng lý thuyết của E-RISKE 102
4.3.9 Lựa chọn tham số 102
4.3.10 Kết luận về E-RISKE 102
4.4 HỆ MẬT LAI GHÉP HpNE 103
4.4.1 Giới thiệu 103
4.4.2 Hệ mật pNE 103
4.4.3 Hệ mật lai ghép HpNE 105
4.4.4 Kết luận về HpNE 109
4.5 KẾT LUẬN CHƯƠNG 110
KẾT LUẬN 111
DANH MỤC CÔNG TRÌNH CÔNG BỐ CỦA TÁC GIẢ 114
TÀI LIỆU THAM KHẢO 116
Trang 10PHỤ LỤC 1: TẬP CÁC PHẦN TỬ n N2C, n 10000 126
Trang 11DANH MỤC CÁC TỪ VIẾT TẮT
AES Advanced Encryption
Standard
Chuẩn mã hóa tiên tiến
CE Conjugate Element Phần tử liên hợp (thực chất là các
căn bậc hai của một thặng dư bậc hai trong vành đa thức chẵn) COA Ciphertext Only Attack Tấn công chỉ bằng bản mã
CCA Chosen Ciphertext Attack Tấn công bằng bản mã chọn trước CBC Cipher Block Chaining Chế độ mật mã khối dạng móc
xích CPA Chosen Plaintext Attack Tấn công bằng bản rõ chọn trước DES Data Encryption Standard Chuẩn mã hóa dữ liệu
DHP Diffie – Hellman Problem Bài toán khó Diffie – Hellman DLP Discrete Logarithm Problem Bài toán logarit rời rạc
DSS Digital Signature Standard Chuẩn chữ ký số
DTRU Dual Truncated public-key
cryptosystem
Hệ mật khóa công khai DTRU dựa trên hai vành đa thức hệ số nhị phân bậc hữu hạn
EAV Eavesdropping Attack Tấn công kiểu nghe lén
ECB Electronic Codebook Chế độ hoạt động sổ điện tử mật
mã khối E-RISKE Extended Random Invertible
Secret-key Encryption scheme
Hệ mật khóa bí mật RISKE mở rộng trên vành R
Trang 12HpNE Hybrid pNE Hệ mật lai ghép HpNE dựa trên
hai hệ mật RISKE và pNE theo
mô hình KEM/DEM IEEE Institute of Electrical and
IND-CCA Indistinguishable under
Chosen Ciphertext Attack
Không thể phân biệt với các tấn công bằng bản mã chọn trước IND-CPA Indistinguishable under
Chosen Plaintext Attack
Không thể phân biệt với các tấn công bằng bản rõ chọn trước IND-EAV Indistinguishable under
Eavesdropping Attack
Không thể phân biệt với các tấn công nghe lén
IoT Internet of Things Intertnet của vạn vật
KEM/DEM Key Encapsulation
Mechanism/ Data Encapsulation Mechanism
Mô hình mật mã lai ghép mã hóa Khóa/Dữ liệu
KPA Known Plaintext Attack Tấn công bằng bản rõ đã biết LCC Local Cyclic Code Mã cyclic cục bộ
LWE Learning With Errors Học với lỗi – một bài toán khó
trong lĩnh vực học máy MITM Meet-In-The-Middle Tấn công gặp ở giữa
NIST National Institute of Standards
and Technology
Viện tiêu chuẩn và công nghệ quốc gia (Hoa Kỳ)
Trang 13NSA National Security Agency Cơ quan an ninh quốc gia (Hoa
Kỳ) NTRU N-th Truncated public-key
cryptosystem
Hệ mật khóa công khai dựa trên vành đa thức có bậc hữu hạn N OpenPGP Open Pretty Good Privacy Tên một chương trình mã hóa dữ
liệu trên máy tính
QRP Quadratic Residue Problem Bài toán thặng dư bậc hai
QRHE Hybrid Encryption scheme
based-on Quadratic Residue
Hệ mật lai ghép QRHE dựa trên các thặng dư bậc hai trên vành đa thức R 2n theo mô hình KEM/DEM RISKE Random Invertible Secret-key
Encryption scheme
Hệ mật khóa bí mật RISKE có khóa là các phần tử khả nghịch trên vành đa thức
Trang 14R Vành đa thức bậc hữu hạn hệ số nhị phân có hai lớp kề
cyclic, gọi ngắn gọn là vành có hai lớp kề
q Vành các số nguyên modulo q
Trang 15có giá trị lớn nhất trong các số mũ của các đơn thức có hệ số khác 0 trong biểu diễn của f
ord( )f Cấp của một đa thức f trong vành, là một số nguyên dương
Ký hiệu so sánh hai số nguyên a có nghĩa là a lớn b
hơn nhiều so với b
Trang 16DANH MỤC CÁC BẢNG
Bảng 3-1: Cấu trúc đại số nền tảng của hệ mật RISKE và OTP 50
Bảng 3-2: So sánh hiệu năng và độ an toàn của RISKE và OTP 56
Bảng 3-3: Cấu trúc đại số nền tảng của hệ mật QRHE 60
Bảng 3-4: Cấu trúc đại số nền tảng của hệ mật IPKE 67
Bảng 3-5: So sánh hiệu năng lý thuyết của IPKE với RSA và NTRU 75
Bảng 3-6: Các chế độ hoạt động của IPKE 75
Bảng 4-1: Cấu trúc đại số nền tảng của hệ mật DTRU 85
Bảng 4-2: Cấu trúc đại số nền tảng của NTRU và DTRU 92
Bảng 4-3: So sánh hiệu năng lý thuyết của DTRU so với NTRU 93
Bảng 4-4: So sánh trong chế độ an toàn trung bình của NTRU 94
Bảng 4-5: So sánh trong chế an toàn cao của NTRU 94
Bảng 4-6: So sánh trong chế độ an toàn cao nhất của NTRU 94
Bảng 4-7: Cấu trúc đại số nền tảng của hệ mật E-RISKE 96
Bảng 4-8: Cấu trúc đại số nền tảng của hệ mật HpNE 106
Bảng 4-9: So sánh các tham số của pNE và HpNE 109
Trang 17DANH MỤC CÁC HÌNH VẼ
Hình 1-1: Mô hình mật mã lai ghép KEM/DEM 15
Hình 3-1: Sơ đồ hệ mật QRHE 59
Hình 3-2: Sơ đồ hệ mật QRHE ở chế độ CBC 63
Hình 4-1: Sơ đồ hệ mật lai ghép HpNE theo mô hình KEM/DEM 106
Trang 18MỞ ĐẦU
Mật mã có lịch sử rất lâu đời và đóng vai trò hết sức quan trọng trong xã hội loài người, đặc biệt trong một số lĩnh vực chính trị, quân sự, tài chính ngân hàng hay truyền thông Mật mã được coi là công cụ để bảo vệ các bí mật và an ninh quốc gia [64] Cùng với sự phát triển bùng nổ của máy tính và Internet theo xu hướng IoT, mật
mã học ngày càng được quan tâm nghiên cứu
Mật mã học được phát triển dựa trên lý thuyết toán học và các hệ mật thường dựa được xây dựng dựa trên các phép tính toán cụ thể trong một cấu trúc đại số nền tảng nào đó [45] Trong lịch sử phát triển của mật mã, có nhiều cấu trúc đại số đã được ứng dụng để xây dựng các hệ mật tiêu biểu như:
- Vành số nguyên modulo q , q: Đây là cấu trúc đại số được sử dụng rộng rãi trong mật mã Các hệ mật khóa bí mật cổ điển điển hình như các hệ mật Caesar, Affine, Vigenère [89] sử dụng các phép dịch, hoán vị và thay thế trên bộ chữ cái Latin (tương đương với vành 26) làm nền tảng đại số Đối với mật mã khóa công khai, có nhiều bài toán khó trên vành số nguyên đã được ứng dụng để xây dựng các hệ mật Cụ thể là, hệ mật RSA [80] hay Rabin [78] dựa trên bài toán phân tích số nguyên (IFP), hệ mật Goldwasser-Micali [40] dựa trên bài toán thặng dư bậc hai (QRP) hay hệ mật Merkle-Hellman [65] dựa trên bài toán tổng tập con (SUBSET-SUM);
- Trường nhị phân (2): Do phép cộng trên trường nhị phân tương đương với phép tính XOR dễ thực hiện bằng phần cứng và có tốc độ tính toán nhanh nên (2) được ứng dụng khá phổ biến để xây dựng các hệ mật điển hình là hệ mật OTP [89] hay các hệ mật mã lặp như DES [30], IDEA [57];
- Trường hữu hạn (p n): Ứng dụng tiêu biểu của trường hữu hạn trong mật
mã khóa bí mật là hệ mật nổi tiếng AES [6] hoạt động trên trường (2 )8
Trang 19Trong mật mã khóa công khai, trường hữu hạn với bài toán Logarit rời rạc (DLP) là cơ sở của nhiều hệ mật khóa công khai điển hình là ElGamal [32];
- Các ma trận: Ứng dụng điển hình của các ma trận có các phần tử thuộc 26
là hệ mật khóa bí mật Hill [59] Một dạng ma trận đặc biệt, ma trận của các
đa thức gần đây đã được khai thác để xây dựng hệ mật khóa công khai MaTRU [25];
- Các đường cong elliptic trên trường hữu hạn: Ứng dụng của các đường cong Elliptic trong mật mã được khởi xướng bởi Miller [66] và Koblitz [55] vào năm 1985 Hướng nghiên cứu này sử dụng nhóm các điểm trên các đường cong elliptic thay vì các nhóm nhân trên trường hữu hạn để xây dựng các bài toán khó Logarit rời rạc (DLP) Với cải tiến này, các hệ mật xây dựng trên đường cong Elliptic thường có khóa nhỏ hơn, tốc độ thực thi nhanh hơn trong khi vẫn đảm bảo độ an toàn tương đương với các hệ mật dựa trên bài toán khó DLP trên trường hữu hạn;
- Các dàn (lattice): Là một cấu trúc đại số tuyến tính nên các phép tính trên dàn có độ phức tạp tính toán thấp (chỉ là O n ) Với các ưu điểm đó, dàn ( 2)được xem xét ứng dụng trong mật mã khóa công khai từ những năm 1990 với động lực chính là xây dựng các hệ mật khóa công khai có hiệu năng tính toán cao hơn so với các hệ mật dựa trên bài toán IFP và DLP [45] trên vành
số nguyên và các đường cong elliptic Các bài toán khó trên dàn như SVP (Shortest Vector Problem) và CVP (Closest Vector Problem) đã được ứng dụng trong một số hệ mật như [7], [39] hay [38] NTRU [44] cũng có thể coi là một hệ mật thuộc nhóm này nếu nhìn từ quan điểm bài toán khó cơ
sở
Bên cạnh các cấu trúc đại số nêu trên, vành đa thức R n q, , gọi đầy đủ là vành
đa thức có bậc hữu hạn n và các hệ số nằm trong vành q, là nền tảng ít được ứng dụng trong mật mã và mới chỉ được quan tâm từ năm 1998 khi hệ mật khóa công khai NTRU được đề xuất bởi Hoffstein, Pipher và Silverman [44] Mặc dù chưa có độ an
Trang 20toàn ngữ nghĩa (semantical security), hệ mật này đến nay vẫn được coi là an toàn với giả thiết về độ khó của một số bài toán trên dàn như SVP và đã được chuẩn hóa trong các tiêu chuẩn IEEE P.1363.1 [51] năm 2008 và ANSI X9.98 [8] năm 2011 NTRU
ra đời đã cho thấy có thể sử dụng các phần tử khả nghịch trên các vành đa thức để xây dựng các hệ mật có khóa nhỏ và tốc độ tính toán nhanh Tuy nhiên, nhược điểm của NTRU là hệ số mở rộng bản tin (tỉ lệ giữa độ dài của bản mã trên độ dài của bản rõ) khá lớn so với các hệ mật khóa công khai khác, khoảng 3 đến 5 lần NTRU có nhiều biến thể trên các cấu trúc đại số khác nhau (MaTRU [25], ETRU [53], OTRU [61],…) nhưng đáng chú ý là hệ mật pNE [88], được đề xuất bởi Stehle và Steinfeld năm 2011 pNE hoạt động trên một lớp con của vành đa thức R n q, với n2 ,k k Điểm cải tiến của pNE so với NTRU là có độ an toàn ngữ nghĩa IND-CPA dựa trên bài toán khó R-LWE [60] trên các vành đa thức Mặc dù vậy, nhược điểm của pNE
là hệ số mở rộng bản tin còn cao hơn NTRU
Trong các vành R n q, , một lớp con với q còn gọi là lớp vành đa thức có 2
bậc hữu hạn n và hệ số nhị phân ký hiệu bởi 2[ ] ( n 1)
Trang 21Các phân tích như trên cho thấy ứng dụng của các vành đa thức nói chung và đặc biệt là các vành đa thức chẵn R 2n nói riêng trong mật mã vẫn còn một số hạn chế như:
- Các vành đa thức R n vẫn chưa được ứng dụng rộng rãi trong việc xây dựng các hệ mật mà chủ yếu được ứng dụng trong xây dựng mã sửa sai;
- Các hệ mật đã được xây dựng trên vành đa thức hiện nay hầu hết chưa có
độ an toàn ngữ nghĩa;
- Các hệ mật dựa trên vành đa thức R n q, điển hình như NTRU [44] hay pNE [88] có tốc độ tính toán tốt nhưng hệ số mở rộng bản tin (tỉ lệ giữa độ dài bản mã trên độ dài bản rõ) vẫn khá lớn và không phù hợp với các thiết bị
có tài nguyên tính toán hạn chế rất phổ biến trong tương lai theo xu hướng IoT
Tuy nhiên, trong quá trình nghiên cứu ứng dụng R n trong mã sửa sai, lớp vành
- Trong R n và cụ thể hơn là trong R 2n luôn tồn tại các phần tử khả nghịch [4], bên cạnh những phần tử không khả nghịch Nếu xác định được các thuật toán mật mã phù hợp, các phần tử khả nghịch sẽ chính là khóa để giải mã thông tin trong khi các phần tử không khả nghịch sẽ là đối tượng
để che giấu thông tin, tương tự như trường hợp của hệ mật NTRU [44];
Trang 22- Trong các vành R n với n lẻ, gọi tắt là vành lẻ, tất cả mọi phần tử đều là
các thặng dư bậc hai Trong khi đó, vành R 2n chỉ có 2n phần tử là thặng
dư bậc hai trong tổng số 2
2 n đa thức thuộc vành [15] Điểm đáng chú ý mỗi thặng dư bậc hai đó lại có đến 2n căn bậc hai Điều này cho thấy là nếu biết một căn bậc hai sẽ dễ dàng suy ra thặng dư bậc hai tương ứng nhưng điều ngược lại là rất khó khăn vì có đến 2n phương án lựa chọn, đặc biệt khi n lớn Đặc tính “một chiều” này hoàn toàn có thể khai thác
để xây dựng các hệ mật
Vấn đề đặt ra ở đây là làm thế nào để hiện thực hóa các tiềm năng của vành đa thức chẵn R 2n để giải quyết các vấn đề còn tồn tại đối với các hệ mật dựa trên vành
đa thức và rộng hơn là các hệ mật dựa trên các cấu trúc đại số khác
Với cách đặt vấn đề như trên, mục đích nghiên cứu của luận án là xây dựng
được các hệ mật (mới hoặc là biến thể của các hệ mật hiện có) có độ phức tạp tính toán thấp, tiêu tốn ít tài nguyên và an toàn dựa trên các ưu điểm của cấu trúc đại số vành đa thức mà cụ thể là vành đa thức chẵn R 2n
Đối tượng nghiên cứu chính của luận án là các vành đa thức chẵn R 2n cùng một số loại vành đa thức có liên quan và các hệ mật dựa trên các vành đa thức này
Phạm vi nghiên cứu của luận án bao gồm:
1) Nghiên cứu tổng quan về mật mã (phân loại, kỹ thuật xây dựng các hệ mật, tham số đánh giá các hệ mật, các mô hình tấn công cơ bản, phương pháp đánh giá độ an toàn) qua đó đánh giá các hệ mật dựa trên vành đa thức hiện
có Các phân tích này chỉ ra các hạn chế của các kết quả nghiên cứu hiện có
và tiềm năng ứng dụng vành đa thức chẵn R 2n trong mật mã
2) Nghiên cứu các đặc tính của vành đa thức chẵn R 2n (các khái niệm, các phép tính toán, các phần tử đặc biệt) làm cơ sở toán học phục vụ xây dựng các hệ mật
Trang 233) Nghiên cứu đề xuất một cách tường minh (các không gian khóa, bản rõ, bản
mã cùng các thuật toán tạo khóa, mã hóa và giải mã) và đánh giá các hệ mật dựa trên vành đa thức chẵn R 2n
4) Nghiên cứu một số vành đa thức đặc biệt (vành đa thức có hai lớp kề cyclic
Phương pháp nghiên cứu chính được sử dụng trong luận án là lý thuyết toán
học (lý thuyết số, đại số trừu tượng, xác suất) và độ phức tạp tính toán Công cụ nghiên cứu chính của luận án là các công cụ toán học và mô phỏng
Ý nghĩa khoa học của luận án:
1) Về mặt toán học, luận án đóng góp một số kết quả nghiên cứu mới về cấu trúc đại số vành đa thức chẵn R nói riêng và vành đa thức 2n R nói chung n
- Đề xuất các công thức tính căn bậc hai chính của một thặng dư bậc hai trong vành R 2n và các phần tử liên hợp của chúng
Các kết quả này là nền tảng toán học rất quan trọng cho các ứng dụng của R 2n trong mật mã
Trang 242) Về các ứng dụng mật mã, luận án đã đề xuất được 6 hệ mật bao gồm:
i Ba hệ mật dựa trên vành đa thức chẵn:
- Hệ mật khóa bí mật RISKE có độ an toàn IND-CPA hoạt động dựa trên các phần tử khả nghịch trên vành đa thức chẵn tuyệt đối
2k
R ;
- Hệ mật khóa bí mật QRHE, dựa trên các thặng dư bậc hai và lớp các phần tử liên hợp trong vành đa thức chẵn R 2n, cùng một ví dụ lai ghép với hệ mật RSA;
- Hệ mật khóa công khai IPKE có độ an toàn IND-CPA dựa trên các phần tử khả nghịch trên vành đa thức chẵn tuyệt đối
2k
R
ii Ba hệ mật dựa trên sự kết hợp của vành đa thức chẵn và một số loại vành đa thức đặc biệt khác:
- Hệ mật khóa công khai DTRU, một biến thể với nhiều đặc tính tốt
so với hệ mật gốc NTRU, có độ an toàn IND-CPA và hoạt động dựa trên các phần tử khả nghịch đồng thời trên hai vành đa thức, một vành chẵn tuyệt đối
2k
R và một vành có hai lớp kề cyclic R 2C
- Hệ mật khóa bí mật E-RISKE, một biến thể mở rộng của hệ mật RISKE hoạt động dựa trên các phần tử khả nghịch mở rộng trong vành đa thức có hai lớp kề cyclic R 2C
- Hệ mật HpNE, có độ an toàn IND-CPA, là một hệ mật lai ghép giữa
hệ mật pNE và hệ mật RISKE theo mô hình KEM/DEM
Về ý nghĩa thực tiễn, các hệ mật được đề xuất trong luận án ngoài độ an toàn
ngữ nghĩa, còn có độ phức tạp tính toán thấp và đòi hỏi ít tài nguyên tính toán do đó
có thể được xem xét triển khai trong các thiết bị có tài nguyên tính toán hạn chế trong môi trường IoT
Nội dung của luận án được trình bày theo cấu trúc sau:
- “Chương 1: Tổng quan về mật mã và các hệ mật dựa trên vành đa thức”: Trình bày một bức tranh tổng quan về mật mã và các hệ mật dựa trên vành
đa thức chẵn Từ đó, nội dung của chương đi sâu phân tích các hạn chế của
Trang 25các hệ mật dựa trên vành đa thức hiện có và đánh giá các tiềm năng ứng dụng của vành đa thức chẵn R 2n trong mật mã cũng như xác định rõ các vấn đề cần nghiên cứu
- “Chương 2: Vành đa thức chẵn”: Chương này trình bày các nền tảng toán học về vành đa thức chẵn R 2n, đặc biệt là một số kết quả toán học mới của nghiên cứu sinh về cấu trúc đại số vành đa thức R n nói chung và vành đa thức chẵn R 2n nói riêng Bằng Định lý 2-3 và Định lý 2-4, nghiên cứu sinh chứng minh rằng hai lớp vành
2k
R và R có tỉ lệ các phần tử khả nghịch 2C
trên tổng số đa thức trong vành đạt cực đại và đề xuất thuật toán cụ thể (Thuật toán 2-1) để tính toán nghịch đảo của chúng Các phần tử khả nghịch này là cơ sở chính để xây dựng các hệ mật ở các chương 3, 4 Cũng trong chương này, bên cạnh các phần tử khả nghịch truyền thống, nghiên cứu sinh đã chứng minh rằng trong các vành R n với n lẻ còn tồn tại một lớp các phần tử khả nghịch mở rộng có tính chất gần tương tự với các phần tử khả nghịch truyền thống (Định lý 2-1) Các phần tử này cũng có thể sử dụng làm khóa trong các hệ mật tương tự như các phần tử khả nghịch (Định
lý 2-2) Kết quả này cho phép linh hoạt lựa chọn loại vành đa thức để xây dựng các hệ mật và được cụ thể hóa bằng hệ mật khóa bí mật E-RISKE (mục 4.3) hoạt động cả trên
2k
R và R , một cải tiến của hệ mật RISKE 2C
(mục 3.2) vốn chỉ hoạt động trên
2k
R Ngoài ra, với việc chứng minh hai
công thức tính căn bậc hai chính và phần tử liên hợp của một thặng dư bậc hai (Bổ đề 2-9 và Bổ đề 2-10), nghiên cứu sinh đã xây dựng một nền tảng
để đề xuất hệ mật lai ghép QRHE trong mục 3.3
- “Chương 3: Các hệ mật dựa trên vành đa thức chẵn”: Đề xuất 03 hệ mật QRHE, IPKE và RISKE) trực tiếp dựa trên lớp vành đa thức chẵn R 2n được công bố lần lượt trong các công trình [C2], [J1] và [J3] của nghiên cứu sinh Trong đó: Hệ mật RISKE [C2] là một biến thể của hệ mật OTP sử
Trang 26dụng các phần tử khả nghịch trong R làm khóa bí mật và có độ an toàn 2k
ngữ nghĩa IND-CPA (Định lý 3-2); Hệ mật lai ghép QRHE [J1], khai thác đặc tính của các thặng dư bậc hai trong R 2n để khắc phục nhược điểm sử dụng khóa phiên (session-key) của RISKE; Cuối cùng, hệ mật khóa công khai IPKE [J3] cũng hoạt động dựa trên các phần tử khả nghịch trong R 2k
và có độ an toàn ngữ nghĩa IND-CPA (Định lý 3-3)
- “Chương 4: Các hệ mật dựa trên vành đa thức chẵn kết hợp với các vành
đa thức khác”: Chương mở rộng này đề xuất 03 hệ mật hoạt động trên vành
đa thức chẵn kết hợp với một số loại vành đa thức khác được công bố lần lượt trong các công trình [J2], [C3] và [C1] của nghiên cứu sinh Trong đó:
Hệ mật DTRU [J2] là một biến thể có nhiều ưu điểm của hệ mật NTRU hoạt động dựa trên các phần tử khả nghịch đồng thời trên hai vành R và 2k
2C
R ; Hệ mật E-RISKE [C3] là một mở rộng của hệ mật RISKE sử dụng các phần tử khả nghịch mở rộng trong R 2C làm khóa bí mật; Cuối cùng, HpNE [C1] là một hệ mật lai ghép theo mô hình KEM/DEM giữa hệ mật RISKE với hệ mật pNE có độ an toàn ngữ nghĩa IND-CPA (Định lý 4-4)
và hệ số mở rộng bản tin linh hoạt
- “Kết luận”: Tổng hợp đánh giá các kết quả đạt được của luận án đồng thời
đề xuất các hướng nghiên cứu tiếp theo
Nhìn chung, luận án đã đưa ra những đề xuất mang tính khởi đầu cho việc ứng dụng các vành đa thức chẵn R 2n vào lý thuyết mật mã Các hệ mật này bước đầu đã được chứng minh là có những đặc tính tốt và có thể được xem xét ứng dụng cho các thiết bị có tài nguyên tính toán hạn chế trong môi trường IoT
Trang 27Mục 1.2 sẽ hệ thống hóa sự phát triển của mật mã và tập trung phân tích các tham số, phương pháp đánh giá đặc biệt là đánh giá về độ an toàn của các hệ mật Dựa trên đó, các hệ mật dựa trên vành đa thức chẵn nói riêng và vành đa thức nói chung sẽ được phân tích trong mục 1.3 Từ các phân tích đó, mục 1.4 sẽ đưa ra các vấn đề mở cần nghiên cứu để có thể ứng dụng thành công vành đa thức chẵn trong lý thuyết mật mã
1.2 TỔNG QUAN VỀ MẬT MÃ
1.2.1 Mật mã khóa bí mật
Mật mã khóa bí mật (hay còn gọi là mật mã khóa đối xứng) liên quan đến các phương thức mật mã hóa trong đó cả bên gửi và bên nhận chia sẻ một khóa chung (hoặc khóa khác nhau nhưng có quan hệ và dễ dàng suy ra từ nhau) Đây cũng là loại mật mã có lịch sử lâu đời và duy nhất được biết cho đến tháng 6 năm 1976, khi mật
mã khóa công khai ra đời [29]
Các kỹ thuật cơ bản thường được sử dụng để xây dựng mật mã khóa bí mật bao gồm [64]:
- Thay thế (Subtitution): Với kỹ thuật này, chuỗi m bit đầu vào sẽ được thay thế bởi một chuỗi n bit đầu ra (hai giá trị này không nhất thiết phải bằng
nhau) [14] Một hộp thay thế (S-box) m n được thực hiện bằng một bảng
Trang 28tra cứu có 2m từ có độ dài n bit Có rất nhiều hệ mật khóa bí mật sử dụng
kỹ thuật này từ cổ điển (Ceasar, Atbash,…) cho đến DES và AES [6]
- Hoán vị (Permutation): Với kỹ thuật này, mỗi hộp hoán vị (P-box) nhận chuỗi m bit đầu vào và thực hiện xáo trộn theo một quy luật nào đó để cho
ra một chuỗi m bit đầu ra
- Mạng Thay thế - Hoán vị (SPN): Là sự kết hợp của hai kỹ thuật thay thế và hoán vị, mạng này có nhiều tầng, mỗi tầng sử dụng một hay nhiều S-box hoặc P-box Mạng này là cơ sở của rất nhiều hệ mật khóa bí mật mà điển hình là AES [6]
- Mật mã tích: Ý tưởng của mật mã tích là kết hợp một số thuật toán mật mã riêng lẻ và đơn giản (dịch, thay thế, hoán vị, XOR, biến đổi tuyến tính, nhân modulo,…) để tạo nên một hệ mật phức tạp và có độ an toàn cao hơn các thuật toán thành phần
- Mật mã lặp: Các hệ mật loại này sử dụng một hàm mã hóa/giải mã nhiều lần, mỗi lần sử dụng một khóa khác nhau Mạng Feistel [73] hay sơ đồ Lai-Massey [57] cũng được xây dựng trên ý tưởng này
Dựa trên các kỹ thuật cơ bản trên, một kiến trúc đặc biệt đã được thiết kế và được sử dụng cho rất nhiều các hệ mật khóa bí mật, chính là mạng Feistel, được đề xuất bởi Horst Feistel và Don Coppersmith vào năm 1973 [73] Mạng Feistel là một
sơ đồ mật mã lặp [64] Cốt lõi của mạng Feistel là một hàm mã hóa giả ngẫu nhiên
Có rất nhiều mật mã khối hoạt động dựa trên sơ đồ Feistel, điển hình là mật mã khối GOST trong tiêu chuẩn GOST 28147-89 của Nga, mật mã Lucifer [33] của IBM và sau đó là DES
Ngoài Feistel, sơ đồ Lai-Massey [57] cũng là một mật mã lặp nhưng ngoài
hàm lặp F , sơ đồ này còn sử dụng thêm một hàm H không lặp để chống các tấn
công phân biệt tầm thường Sơ đồ này cũng có các đặc tính an toàn tương đương với mạng Feistel Hệ mật điển hình hoạt động trên sơ đồ này là IDEA [57], từng được coi
là ứng cử viên thay thế hệ mật DES
Trang 291.2.2 Mật mã khóa công khai
Một trong những nhược điểm của mật mã khóa bí mật là sử dụng chung một khóa cho việc mã hóa và giải mã một bản tin Khóa này được chia sẻ một cách an toàn giữa bên gửi và bên nhận [64] Các khóa này có thể dùng chung cho nhiều lần
mã hóa nhưng cũng có thể thay đổi theo từng bản tin Trong trường hợp lý tưởng, mỗi cặp thực thể trao đổi thông tin sử dụng một khóa thì số khóa cần thiết sẽ tăng bằng bình phương tổng số bên tham gia truyền tin, kéo theo sự phức tạp trong quản
lý khóa [64] Ngoài ra, sự khó khăn của việc trao đổi giữa hai bên khi không có kênh
an toàn lại là một thách thức thực tế với người sử dụng mật mã
Trong bài báo mang tính đột phá được công bố năm 1976 [29], Withfield Diffie và Martin Hellman đề xuất một khái niệm mới, mật mã khóa công khai hay còn được gọi là mật mã khóa bất đối xứng Trong đó, một hệ mật sẽ sử dụng hai loại khóa, một loại được công khai và loại kia phải giữ bí mật Một hệ mật khóa công khai được xây dựng sao cho không thể tính toán khóa bí mật từ khóa công khai dù cho hai khóa này có liên hệ với nhau Khóa công khai trong các hệ mật này được phân phối
tự do trong khi khóa bí mật tương ứng cần đảm bảo tuyệt mật Mặc dù ở thời điểm
đó Diffie và Hellman không đưa ra được một hệ mật khóa công khai cụ thể nhưng họ lại đề xuất được một giao thức rất nổi tiếng cho phép hai bên trao đổi khóa bí mật, giao thức trao đổi khóa Diffie-Hellman [29] Công bố này của Diffie và Hellman đã trở thành một động lực thúc đẩy sự ra đời của nhiều hệ mật khóa công khai mới mà tiêu biểu là hệ mật RSA do Ronal Rivest, Adi Shamir và Len Adleman đề xuất năm
1978 [80]
Đặc điểm của các hệ mật khóa công khai là đều có độ an toàn dựa trên hoặc
có liên quan đến độ phức tạp tính toán của một hoặc một số bài toán khó Các bài toán khó và các hệ mật tiêu biểu tính đến nay có thể kể đến bao gồm:
- Bài toán phân tích số nguyên thành các thừa số nguyên tố (IFP): Các hệ mật tiêu biểu dựa trên bài toán này là RSA (1978) [80] và Rabin (1979) [78]
- Bài toán thặng dư bậc hai trên vành số nguyên (QRP): Goldwasser-Micali [40] là một hệ mật xác suất có độ an toàn dựa trên độ khó của bài toán này
Trang 30- Bài toán logarit rời rạc (DLP): Đây là bài toán vẫn được coi là khó và hiện chưa có một giải thuật tính logarit rời rạc với thời gian chấp nhận được Hệ mật có độ an toàn liên quan đến bài toán này là ElGamal [32]
- Bài toán tổng tập con (SUBSET-SUM): Bài toán này là một trường hợp đặc biệt của bài toán xếp ba lô Các hệ mật dựa trên độ khó của bài toán này là Merkle-Hellman [65] và Chor-Rivest [23]
- Bài toán giải mã tuyến tính ngẫu nhiên (RLCP): Bài toán này được chứng minh là NP đầy đủ không có giải thuật được biết trong thời gian đa thức [12] Dựa trên bài toán này, hệ mật Mc.Eliece [63] đến nay vẫn được coi là
- Mật mã trên đường cong Eliptic: Được đề xuất độc lập bởi Neal Koblitz [55] và Victor S.Miller [66] vào năm 1985 Thực chất đây là biến thể của các hệ mật khác với cấu trúc đại số dựa trên đường cong Eliptic Ưu điểm của loại hệ mật này là có khóa công khai nhỏ hơn các hệ mật khác có độ an toàn tương đương
Nhìn chung, các bài toán có độ phức tạp tính toán cao luôn là cơ sở cần thiết
để xây dựng các hệ mật khóa công khai Tuy nhiên, trong lịch sử phát triển, có một
Trang 31số hệ mật khóa công khai lúc ban đầu được đưa ra hoàn toàn không liên quan đến bài toán khó nào cả nhưng trên thực tế lại chưa có tấn công nào tường minh nên vẫn được xem xét là an toàn NTRU [44] là một điển hình cho trường hợp này
1.2.3 Mật mã lai ghép
Các hệ mật khóa bí mật có hiệu quả tính toán cao (chủ yếu sử dụng các phép cộng, AND, OR,…) và có thể mã hóa một bản tin dài bằng một khóa bí mật ngắn Tuy nhiên, nhược điểm của loại hệ mật này là khóa bí mật cần phải được chia sẻ trước giữa hai bên gửi và nhận [64]
Ngược lại, ưu điểm của các hệ mật khoá công khai là hai bên gửi nhận không phải thoả thuận khoá bí mật Tuy nhiên, nhược điểm của các hệ mật này là hiệu quả
mã hoá thường không cao [64] vì hệ số mở rộng bản tin lớn (luôn lớn hơn 1) và độ phức tạp tính toán của các thuật toán cũng thường cao hơn so với các hệ mật khóa bí mật
Giải pháp để khắc phục các nhược điểm cũng như tận dụng các ưu điểm của hai loại hệ mật trên là sử dụng mô hình mật mã lai ghép (hybrid cryptography) Ý tưởng này được khởi xướng bởi Cramer và Shoup trong [28] và [86] với mô hình KEM/DEM như trên Hình 1-1 Mô hình KEM/DEM là một cách đơn giản để xây dựng các hệ mật khóa công khai hiệu quả và rất được chú ý nghiên cứu Vì đặc tính đơn giản và linh hoạt mô hình này được sử dụng trong một số tiêu chuẩn mã hóa mới [87]
Trang 32Hình 1-1: Mô hình mật mã lai ghép KEM/DEM
Với mô hình trên, ở phía mã hóa, khóa bí mật sk của một hệ mật khóa bí mật Sec
(phần DEM) sẽ được mã hóa bằng một hệ mật khóa công khai Pub (phần KEM) với khóa công khai pk thành bản mã c1 còn bản tin m sẽ được mã hóa bằng một hệ mật khóa bí mật Sec thành bản mã c2với khóa bí mật sk ở trên Bản mã gửi
từ bên mã hóa tới bên giải mã sẽ là ( , )c c1 2 Tại phía giải mã, đầu tiên thuật toán giải
mã của phần KEM sẽ được sử dụng để giải mã bản mã c1 lấy khóa sk sau đó dùng khóa sk và thuật toán giải mã của phần DEM để khôi phục bản tin m
Hệ mật lai ghép được sử dụng phổ biến nhất là OpenPGP (RFC 4880) và PKCS#7 (RFC 2315)
Độ an toàn của các hệ mật lai ghép phụ thuộc vào độ an toàn của các hệ mật thành phần Cụ thể là, nếu cả hai hệ mật thành phần đều có độ an toàn IND-CPA hay IND-CCA thì hệ mật lai ghép cũng thừa hưởng đặc tính đó [28] Tuy nhiên, vẫn có thể xây dựng được hệ mật lai ghép có đặc tính IND-CCA dù hệ mật khóa công khai thành phần có độ an toàn thấp hơn [48]
1.2.4 Độ an toàn của một hệ mật
Có hai quan niệm chính về độ an toàn của một hệ mật là độ an toàn không điều kiện (unconditional security) và độ an toàn tính toán (computational security) [89], [2]
a) Độ an toàn không điều kiện
Là độ an toàn của các hệ mật khi không có hạn chế nào được đặt ra về khối lượng tính toán mà kẻ tấn công được phép thực hiện, độ an toàn không điều kiện
là cơ sở để Shannon đã đề xuất khái niệm độ an toàn hoàn hảo (perfect secrecy) trong [82] Theo đó, một hệ mật có độ an toàn hoàn hảo nếu như kẻ tấn công dù có tài nguyên tính toán không hạn chế cũng không thể phát hiện bất kỳ một thông tin gì về bản rõ m từ bản mã c Tuy nhiên sự phát triển của mật mã học hiện đại lại không đi theo hướng xây dựng các hệ mật có độ an toàn không điều kiện Hầu hết các hệ mật
Trang 33hiện đại đều được đánh giá về độ an toàn theo khái niệm độ an toàn tính toán
(computational security)
b) Độ an toàn tính toán
Một hệ mật là an toàn tính toán nếu có một phương pháp tốt nhất phá được hệ mật mật này nhưng yêu cầu thời gian lớn đến mức không chấp nhận được Từ đó dẫn
đến khái niệm độ an toàn ngữ nghĩa (semantical security) hay độ an toàn chứng minh
được (provable security) để cụ thể hóa độ an toàn tính toán Khái niệm này do Goldwasser và Micali đưa ra trong [40] Cụ thể là, một hệ mật được gọi là an toàn ngữ nghĩa nếu với bản mã c cho trước của một bản rõ m nào đó chưa biết (trong
không gian bản rõ) cùng với độ dài l của bản rõ, xác suất để xác định được bất
kỳ một phần thông tin nào của m trong thời gian đa thức là không đáng kể (negligible) Nói cách khác, một hệ mật là an toàn ngữ nghĩa nếu không tìm được một thuật toán chạy trong thời gian đa thức để khôi phục thông tin về m từ c với một xác suất đủ lớn
Mặc dù có vẻ thực tế hơn độ an toàn hoàn hảo, khái niệm độ an toàn ngữ nghĩa lại không có công cụ tường minh để đánh giá Do vậy, trong [41], Goldwasser và Micali đã chứng minh độ an toàn ngữ nghĩa tương đương với một khái niệm an toàn khác có tên là độ an toàn không thể phân biệt (indistinguishability security) với một tấn công nào đó Từ đó, để đánh giá có tính chất định lượng độ an toàn ngữ nghĩa của một hệ mật đối với một loại tấn công nào đó, người ta sử dụng các thí nghiệm đánh giá độ an toàn không thể phân biệt (indistinguishability experiment)
c) Các loại tấn công cơ bản trong phân tích mã
Để đánh giá độ an toàn của các hệ mật, các mô hình tấn công cơ bản thường được sử dụng, sắp xếp theo mức độ thông tin mà kẻ tấn công có thể khai thác từ các hệ mật, bao gồm [64]:
1) Tấn công chỉ bằng bản mã (COA: Ciphertext Only Attack): Trong loại tấn công này, chỉ được truy cập tới các bản mã mà không thể truy cập đến các bản rõ Đây là loại tấn công mật mã yếu nhất và trên thực tế, loại tấn
Trang 34công này ít được xem xét vì không thể đảm bảo không có thông tin gì
để đánh giá tất cả các hệ mật khóa công khai được xây dựng trên vành đa thức chẵn
4) Tấn công nghe lén (EAV: Eaveasdropping Attack): Đối với các hệ mật khóa bí mật, tấn công này yếu hơn và thật ra là một loại tấn công CPA dạng thụ động Cụ thể là chỉ được chọn bản rõ để mã hóa một lần chứ không được truy cập không giới hạn đến bộ mã hóa như trong tấn công CPA Tuy nhiên, đối với các hệ mật khóa công khai, do biết khóa công khai và có thể thực hiện thuật toán mã hóa không giới hạn nên tấn công này tương đương với tấn công CPA
5) Tấn công bằng bản mã chọn trước (CCA: Chosen-ciphertext attack CCA): Trong loại tấn công này, có thể lựa chọn tùy ý các bản mã và được truy cập tới bản rõ là kết quả giải mã Trên thực tế, điều kiện này đòi hỏi phải có quyền truy cập kênh truyền thông và phía nhận Đây cũng là loại tấn công mạnh nhất và có nhiều hệ mật trên thực tế không an toàn trước các tấn công này
Trang 351.2.5 Thí nghiệm đánh giá độ an toàn không thể phân biệt
a) Mô tả chung
Thí nghiệm đánh giá độ an toàn không thể phân biệt (Indistinguishability
experiment) [54] của một hệ mật dưới một mô hình tấn công (ví dụ EAV, CPA, CCA,…) là một thủ tục trong đó kẻ tấn công chọn trước hai mẫu (có thể là hai bản rõ hoặc hai bản mã) và sử dụng mô hình tấn công đó để lấy kết quả trả về và tìm cách đoán xem kết quả đó là ứng với mẫu nào trong hai mẫu được chọn
Dưới đây là một số thí nghiệm tấn công phân biệt thường gặp đối với các hệ mật khóa bí mật và công khai
b) Thí nghiệm đánh giá độ an toàn không thể phân biệt với các tấn công EAV và CPA của một hệ mật khóa bí mật
Do tấn công CPA mạnh hơn EAV như đã phân tích, nếu có thể chứng minh một hệ mật là an toàn ngữ nghĩa với tấn công CPA thì hiển nhiên hệ mật đó cũng an toàn ngữ nghĩa với tấn công EAV
Tuy nhiên, đối với các hệ mật khóa bí mật thì tấn công EAV vẫn cần được xem xét vì chỉ cần an toàn với tấn công EAV thì các hệ mật đó đã có thể được sử dụng để xây dựng các hệ mật lai ghép an toàn ngữ nghĩa với các tấn công CPA (theo định lý 10.13 [54])
Định nghĩa 1-1 [54]: Thí nghiệm đánh giá độ an toàn không thể phân biệt với tấn
,
SecKeav( )n công EAV của một hệ mật khóa bí mật, ký hiệu là , được mô tả như sau:
1) Kẻ tấn công chọn một cặp bản rõ m m0, 1 có cùng độ dài (có thể khác n)
và đưa vào thủ tục mã hóa
2) Một khóa bí mật k , có kích thước n bit, ngẫu nhiên trong và một bit ngẫu nhiên b {0,1} được chọn để mã hóa m b và trả lại cho bản mã ( )
k b
c m Trong đó c được gọi là bản mã thách thức
3) Sau khi nhận được c , để đoán bit b , thực hiện một thuật toán nào đó
và đưa ra giá trị 'b
Trang 364) Kết quả của thí nghiệm là 1 nếu 'b và 0 trong trường hợp ngược lại b
Trong thí nghiệm này, chỉ nhận được một bản mã cduy nhất Giới hạn này đưa ra để mô tả lại tình huống thực tế là “nghe lén” được rằng c là bản mã của một trong hai bản rõ m0 hoặc m1 nhưng không thể tương tác trực tiếp với bên gửi hay bên nhận để kiểm chứng điều này
Định nghĩa 1-2 [54]: Thí nghiệm đánh giá độ an toàn không thể phân biệt với tấn
,
SecKcpa( )n công CPA của một hệ mật khóa bí mật, ký hiệu là , được mô tả như sau:
1) Kẻ tấn công chọn một cặp bản rõ m m0, 1 có cùng độ dài (có thể khác n)
và đưa vào thủ tục mã hóa
2) Một khóa bí mật k , có kích thước n bit, ngẫu nhiên trong và một bit ngẫu nhiên b {0,1} được chọn để mã hóa m b và trả lại cho bản mã ( )
k b
c m Trong đó c được gọi là bản mã thách thức
3) vẫn tiếp tục được truy cập không giới hạn tới thủ tục mã hóa
4) Sau khi nhận được c , để đoán bit b , thực hiện một thuật toán nào đó
và đưa ra giá trị 'b
5) Kết quả của thí nghiệm là 1 nếu 'b và 0 trong trường hợp ngược lại b
Có thể thấy so với SecKeav,( )n , trong thí nghiệm SecKcpa,( )n , mạnh hơn
vì không phải “nghe lén” mà có quyền truy cập không giới hạn tới bộ mã hóa của hệ mật
c) Thí nghiệm đánh giá độ an toàn không thể phân biệt với tấn công CPA của một
hệ mật khóa công khai
Đối với các hệ mật khóa công khai, với khóa công khai có thể thực hiện không giới hạn thủ tục mã hóa c k(m b) vì thuật toán này cũng công khai Do đặc điểm này, không cần phải nghe lén như khi tấn công các hệ mật khóa bí mật Hệ quả là, các tấn công EAV và CPA là đồng nhất và chỉ cần xem xét một thí nghiệm
đánh giá độ an toàn không thể phân biệt với tấn công CPA của hệ mật này
Trang 37Định nghĩa 1-3 [54]: Thí nghiệm đánh giá độ an toàn không thể phân biệt với tấn
,
PubKcpa( )n công CPA của một hệ mật khóa công khai, ký hiệu là , được mô tả như sau:
1) Kẻ tấn công được cung cấp khóa công khai pk có kích thước n bit;
2) chọn một cặp bản rõ m m0, 1 có cùng độ dài (có thể khác n) và đưa vào thủ tục mã hóa
3) Một bit ngẫu nhiên b {0,1} được chọn để mã hóa m b và trả lại cho bản mã c k(m b) Trong đó c được gọi là bản mã thách thức
4) vẫn tiếp tục được truy cập không giới hạn tới thủ tục mã hóa
5) Sau khi nhận được c , để đoán bit b , thực hiện một thuật toán nào đó
và đưa ra giá trị 'b
6) Kết quả của thí nghiệm bằng 1 nếu 'b và 0 trong trường hợp ngược lại b
1.2.6 Phương pháp đánh giá độ an toàn ngữ nghĩa của các hệ mật
Để chứng minh một hệ mật có kích thước khóa n bit có độ an toàn ngữ nghĩa với một tấn công nào đó, cần chỉ ra rằng xác suất để thí nghiệm đánh giá độ an toàn không thể phân biệt với tấn công đó có kết quả bằng 1 là một hàm không đáng kể (negligible function) f n nào đó [54] ( )
Định nghĩa 1-4 [54 ]: Một hàm f n( ) được gọi là không đáng kể theo biến n nếu
đáng kể (giá trị 1 2 là xác suất đoán đúng một cách ngẫu nhiên) của biến số giá trị độ dài khóa n được sử dụng
Trang 38Bổ đề 1-1 [54]: Nếu f n và ( ) g n là các hàm không đáng kể của n thì ( )
h n f n g n cũng là một hàm không đáng kể của n
Bổ đề 1-2 [54 ]: Nếu f n( ) là một hàm không đáng kể của thì n f n p n( ) ( ) cũng là
một hàm không đáng kể của với là một đa thức với biến
Định nghĩa 1-5 ([54]): Một thuật toán A được gọi là chạy trong thời gian đa thức
toán kết thúc sau nhiều nhất là bước
Định nghĩa 1-6 [54 ]: Một hệ mật khóa bí mật có kích thước khóa bit được gọi là n
có độ an toàn không thể phân biệt bằng tấn công nghe lén (IND-EAV) nếu với mọi thuật toán trong thời gian đa thức, xác suất để kẻ tấn công thực hiện thành công
với là một hàm không đáng kể của
Định nghĩa 1-7 [54]: Một hệ mật khóa bí mật có kích thước khóa n bit được gọi là
có độ an toàn không thể phân biệt bằng tấn công với bản rõ chọn trước (IND-CPA) nếu với mọi thuật toán trong thời gian đa thức, xác suất để SecKcpa, ( )
n
có kết quả bằng 1 là
với là một hàm không đáng kể của
Định nghĩa 1-8 [54]: Một hệ mật khóa công khai có kích thước khóa công khai n
bit được gọi là có độ an toàn không thể phân biệt bằng tấn công với bản rõ chọn trước (IND-CPA) nếu với mọi thuật toán trong thời gian đa thức, xác suất để
PubKcpa( )n có kết quả bằng 1 là
Trang 39với là một hàm không đáng kể của
1.2.7 Một số tham số khác được sử dụng để đánh giá các hệ mật
Ngoài độ an toàn, một số tham số khác được sử dụng để đánh giá các hệ mật bao gồm [64]:
1) Kích thước khoá và độ an toàn khoá: Được tính theo đơn vị bit, kích thước
khóa ảnh hưởng trực tiếp đến hiệu năng tính toán của các thủ tục mã hóa
và giải mã Bên cạnh đó, kích thước khóa còn ảnh hưởng đến số khóa khả dụng hay còn gọi là độ an toàn khóa vì số khóa khả dụng càng cao thì khả năng chống tấn công vét cạn khóa càng lớn Về nguyên tắc, kích thước khóa càng nhỏ thì hiệu năng tính toán càng cao nhưng lại làm giảm độ an toàn khóa Do vậy, khi thiết kế các hệ mật thì giá trị kích thước khóa cần được lựa chọn đủ lớn để đảm bảo độ an toàn khóa nhưng cũng không được quá lớn làm ảnh hưởng đến hiệu năng tính toán của hệ mật
2) Kích thước bản rõ và độ an toàn bản rõ: Tương tự như kích thước khóa và
độ an toàn khóa Về nguyên tắc, kích thước bản rõ càng lớn thì độ an toàn bản rõ với các tấn công vét cạn bản rõ càng cao Trên thực tế, khi thiết kế các hệ mật, để tránh kẻ tấn công ưu tiên vét cạn khóa hay bản rõ, người ta thường lựa chọn các tham số để độ an toàn khóa và độ an toàn bản rõ tương đương với nhau [44]
3) Độ phức tạp tính toán của thủ tục mã hoá và giải mã, thường được tính và
so sánh với nhau theo bậc O
4) Hệ số mở rộng bản tin: Là tỉ lệ giữa kích thước bản mã đầu ra trên kích
thước bản rõ đầu vào, giá trị này thể hiện hiệu quả mã hóa của hệ mật Thông thường giá trị này luôn lớn hơn bằng 1 và càng nhỏ thì hiệu quả mã hóa càng cao
Trang 40Trong luận án, các tham số trên sẽ được áp dụng đồng bộ để đánh giá các hệ mật xây dựng được
1.3 CÁC HỆ MẬT DỰA TRÊN VÀNH ĐA THỨC
1.3.1 Các hệ mật khoá bí mật dựa trên vành đa thức
Trên thế giới, trong các kỹ thuật mật mã khóa bí mật, các phép toán được sử dụng hầu hết đều được thực hiện dựa trên các kỹ thuật thay thế và hoán vị trên các trường nhị phân (2) với các hệ mật tiêu biểu như DES [30] hay OTP [89] Điều này là do các phép mã hóa và giải mã trong (2) đều dựa trên phép tính XOR đơn giản và dễ thực thi bằng cả phần cứng lẫn phần mềm
Tại Việt Nam, việc ứng dụng các vành đa thức trong mật mã khóa bí mật lại
có nguồn gốc từ các nghiên cứu về xây dựng mã sửa sai, cụ thể là mã cyclic cục bộ [14], [15], [17], [18] Điều này phát sinh từ một số phân tích đặc tính toán học của một số lớp vành đa thức R n Hai lớp con quan trọng của R n bao gồm lớp vành đa thức chẵn R 2n và lớp vành đa thức chỉ có hai lớp kề cyclic R 2C [18] Các vành đa thức chẵn R 2n không được sử dụng trong xây dựng mã cyclic truyền thống vì tất cả các mã cyclic truyền thống trên vành này đều được suy ra từ vành lẻ tương ứng [18]
Tuy nhiên, năm 2002, một lớp con của R n, lớp các vành chẵn tuyệt đối
sẽ là các ma trận luân hoàn (circulant matrix), ma trận mà trong đó mỗi hàng được