Một hệ mật xây dựng trên sơ đồFeistel không cân bằng và khả năng ứng dụng trên hàm băng (LV thạc sĩ)Một hệ mật xây dựng trên sơ đồFeistel không cân bằng và khả năng ứng dụng trên hàm băng (LV thạc sĩ)Một hệ mật xây dựng trên sơ đồFeistel không cân bằng và khả năng ứng dụng trên hàm băng (LV thạc sĩ)Một hệ mật xây dựng trên sơ đồFeistel không cân bằng và khả năng ứng dụng trên hàm băng (LV thạc sĩ)Một hệ mật xây dựng trên sơ đồFeistel không cân bằng và khả năng ứng dụng trên hàm băng (LV thạc sĩ)Một hệ mật xây dựng trên sơ đồFeistel không cân bằng và khả năng ứng dụng trên hàm băng (LV thạc sĩ)Một hệ mật xây dựng trên sơ đồFeistel không cân bằng và khả năng ứng dụng trên hàm băng (LV thạc sĩ)Một hệ mật xây dựng trên sơ đồFeistel không cân bằng và khả năng ứng dụng trên hàm băng (LV thạc sĩ)Một hệ mật xây dựng trên sơ đồFeistel không cân bằng và khả năng ứng dụng trên hàm băng (LV thạc sĩ)Một hệ mật xây dựng trên sơ đồFeistel không cân bằng và khả năng ứng dụng trên hàm băng (LV thạc sĩ)
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Trang 2HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Trang 3LỜI CẢM ƠN
Luận văn Thạc sỹ kỹ thuật này được thực hiện tại Học viện Công nghệ Bưu chính Viễn thông Học viên xin tỏ lòng biết ơn đến thầy giáo TS Ngô Đức Thiện
đã trực tiếp định hướng, tạo mọi điều kiện trong suốt quá trình nghiên cứu
Học viên xin chân thành cảm ơn Lãnh đạo Học viện Công nghệ Bưu chính Viễn thông đã tạo những điều kiện thuận lợi để hoàn thành và bảo vệ luận án trong thời gian nghiên cứu Học viên xin cảm ơn khoa Quốc tế và Đào tạo sau đại học, cũng như các đồng nghiệp đã tạo điều kiện và giúp đỡ tôi hoàn thành được đề tài nghiên cứu của mình
Cuối cùng là sự biết ơn tới gia đình, bạn bè đã thông cảm, động viên giúp đỡ cho học viên có đủ nghị lực để hoàn thành luận án
Hà Nội, tháng 12 năm 2016
Trang 4MỤC LỤC
LỜI CẢM ƠN i
MỤC LỤC ii
DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT iv
DANH MỤC CÁC BẢNG v
DANH MỤC CÁC HÌNH VẼ vi
PHẦN MỞ ĐẦU 1
1 MỞ ĐẦU 1
2 TÌNH HÌNH NGHIÊN CỨU 1
3 MỤC TIÊU NGHIÊN CỨU 2
4 ĐỐI TƯỢNG, PHẠM VI NGHIÊN CỨU 2
5 PHƯƠNG PHÁP NGHIÊN CỨU 3
6 Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN CỦA ĐỀ TÀI 3
CHƯƠNG 1 TỔNG QUAN VỀ MẬT MÃ HỌC 4
1.1 CÁC KHÁI NIỆM CƠ BẢN 4
1.2 CÁC HỆ MẬT MÃ KHÓA BÍ MẬT 6
1.2.1 Sơ đồ khối chức năng hệ mật mã khóa bí mật 6
1.2.2 Các hệ mật thay thế 6
1.2.3 Các hệ mật hoán vị (MHV) 9
1.2.4 Chuẩn mã dữ liệu DES 10
1.2.5 Ưu nhược điểm của mật mã khóa bí mật 13
1.3 HỆ MẬT KHÓA CÔNG KHAI 14
1.3.1 Sơ đồ chức năng 14
1.3.2 Một số bài toán xây dựng hệ mật khóa công khai 15
1.4 KẾT LUẬN CHƯƠNG 1 17
Trang 5BẰNG 18
2.1 NHÓM NHÂN CYCLIC TRÊN VÀNH ĐA THỨC 18
2.1.1 Định nghĩa nhóm nhân cyclic trên vành đa thức 18
2.1.2 Các loại nhóm nhân cyclic trên vành đa thức 20
2.2 CẤP SỐ NHÂN CYCLIC TRÊN VÀNH ĐA THỨC 21
2.2.1 Khái niệm về cấp số nhân cyclic trên vành đa thức 21
2.2.2 Phân hoạch vành đa thức 23
2.3 HỆ MẬT XÂY DỰNG TRÊN CÁC CẤP SỐ NHÂN CYCLIC 27
2.3.1 Mô tả hệ mật 27
2.3.2 Đánh giá tính khuếch tán của hệ mật 30
2.4 KẾT LUẬNCHƯƠNG 2 33
CHƯƠNG 3 ỨNG DỤNG HỆ MẬT VÀO HÀM BĂM MDC 34
3.1 CƠ BẢN VỀ HÀM BĂM 34
3.1.1 Mở đầu 34
3.1.2 Các định nghĩa và tính chất cơ bản 35
3.2 MỘT SỐ PHƯƠNG PHÁP XÂY DỰNG HÀM BĂM 37
3.2.1 Các hàm băm không có khoá (MDC) 37
3.2.2 Các hàm băm có khoá (MAC) 40
3.2.3 Một số hàm băm xây dựng theo thuật toán riêng biệt 41
3.3 CÁC LOẠI TẤN CÔNG HÀM BĂM CƠ BẢN 48
3.4 MỘT SỐ PHƯƠNG PHÁP TOÀN VẸN DỮ LIỆU VÀ XÁC THỰC THÔNG BÁO 50
3.5 ÁP DỤNG HỆ MẬT VÀO XÂY DỰNG HÀM BĂM KHÔNG KHÓA 51
3.6 KẾT LUẬNCHƯƠNG 3 56
KẾT LUẬN VÀ KIẾN NGHỊ 57
TÀI LIỆU THAM KHẢO 58
Trang 6AES AdvancedEncryption Standard Tiêu chuẩn mã hóa tiên tiến CGP CyclicGeometicProgressions Cấp số nhân cyclic
CMG CyclicMultiplicateGroup Nhóm nhân cyclic
CRC CyclicRedundancyCheck Mã kiểm soát lỗi
DEA DataEncryptionAlgorithm Mã hóa dữ liệu
DES DataEncryption Standard Chuẩn mã dữ liệu
SHA SecureHashAlgorithm Thuật giải hàm băm an toàn
Trang 7DANH MỤC CÁC BẢNG
Bảng 1.1 Bảng IP và IP-1 12
Bảng 2.1 Một vài khoảng cách Hamming giữa các bản mã và khi thay đổi một bit của 31
Bảng 2.2 Một vài khoảng cách Hamming của cặp bản mã khi thay đổi khóa 32
Bảng 3.1 Thông số của các hàm băm họ MD4 43
Bảng 3.2 Ký hiệu các thông số và các biến 44
Bảng 3.3: Các phiên bản của SHA 44
Bảng 3.4 Mộtvài khoảng cách Hamming ( ) khi thay đổi 1 bit của bản rõ đầu vào 53
Bảng 3.5 Một vài khoảng cách Hamming ( ) khi thay đổi khóa 55
Trang 8DANH MỤC CÁC HÌNH VẼ
Hình 1.1 Sơ đồ khối chức năng hệ mật khóa bí mật 6
Hình 1.2 Sơ đồ mã hóa DES 11
Hình 1.3 Mô tả hàm f trong DES 12
Hình 1.4 Các bước tạo khóa cho các vòng mã hóa của DES 13
Hình 1.5 Sơ đồ khối chức năng hệ mật khóa công khai 14
Hình 2.1 Sơ đồ mã hóa của hệ mật 27
Hình 2.2 Mạch mã hóa hàmf 29
Hình 2.3 Mạch mã hóa tương ứng k i = 1 + x 3 + x 31(0.3.31) 29
Hình 3.1 Phân loại hàm băm 36
Hình 3.2 Các sơ đồ hàm băm đơn a) Matyas-Mayer–Oseas; b) Davies-Mayer và c) Miyaguchi – Preneel 37
Hình 3.3 Thuật toán MDC-2 39
Hình 3.4 Thuật toán MDC-4 40
Hình 3.5 Sơ đồ Miyaguchi – Preneel 41
Hình 3.6 Tương tác giữa mở rộng thông báo và các thao tác bước 41
Hình 3.7 Quá trình nhồi thêm các bit vào thông điệp ban đầu của SHA-1 45
Hình 3.8 Cấu trúc khối dữ liệu trong giải thuật SHA-1 46
Hình 3.9 Hàm nén SHA-1 trên 1 bước 47
Hình 3.10: SHA 1 xử lý khối dữ liệu 512 bit 48
Hình 3.11.Toàn vẹn dữ liệu dùng MAC 51
Trang 9Hình 3.13.Toàn vẹn dữ liệu dùng MDC và kênh tin cậy 51 Hình 3.14 Sơ đồ hàm băm 52
Trang 10PHẦN MỞ ĐẦU
1 MỞ ĐẦU
Trong sự phát triển của xã hội loài người, kể từ khi có sự trao đổi thông tin, thì an toàn thông tin trở thành một nhu cầu gắn liền với nó, từ thủa sơ khai an toàn thông tin được hiểu đơn giản là giữ bí mật 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ần có các yêu cầu kỹ thuật đặc biệt trong việc đảm bảo an toàn thông tin, các
kỹ thuật đó 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)
Ngày nay, cùng với sự phát triển của mạng thông tin và truyền thông kéo theo sự gia tăng một số lượng tội phạm lợi dụng kẽ hở bảo mật của mạng để tấn công, ăn cắp, làm giả thông tin gây ra những thiệt hại to lớn Vì thế, nhu cầu về an toàn bảo mật thông tin ngày càng trở nên cấp thiết, hàng năm trên thế giới các nước
đã phải chi rất nhiều tiền cho công cuộc nghiên cứu chống lại các nguy cơ tấn công
từ kẽ hở bảo 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 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: bí mật (Confidential); đảm
bảo tính toàn vẹn (Integrity); và xác thực (Authentication)
Nhận thấy tính thiết thực của bài toán này và được sự gợi ý của giảng viên
hướng dẫn, tôi đã chọn đề tài: “Một hệ mật xây dựng trên sơ đồ Feistel không cân
bằng và khả năng ứng dụng trong hàm băm” để làm đề tài cho luận văn tốt nghiệp
của mình
2 TÌNH HÌNH NGHIÊN CỨU
Hệ thống khoá bí mật (hay mật mã cổ điển) là phương pháp mã hoá đơn giản nhất xuất hiện đầu tiên trong lịch sử ngành mã hoá Phương pháp này sử dụng các thuật toán đơn giản, dễ hiểu nhưng khó khăn trong việc quản lý lưu trữ và thiết lập phân phối khoá, với các hệ mật như: DES, AES, Từ năm 1976 mật mã hiện đại
Trang 11hay hệ thống mật mã công khai ra đời đã khắc phục đƣợc những nhƣợc điểm này, với việc sử dụng các bài toán một chiều khó, các nhà khoa học đã phát minh ra những hệ mật nổi tiếng nhƣ: RSA, ElGamal, Diffie-Hellman… Các hệ mật mã khóa công khai ra đời cho phép thực hiện các dịch vụ xác thực và chữ ký số, nhằm thỏa mãn các yêu cầu về trao đổi thông tin bí mật trên mạng cũng nhƣ ứng dụng trong giao dịch điện tử
Với mục đích nghiên cứu và đa dạng hóa cách xây dựng các hệ mật khóa bí mật, luận văn tập trung nghiên cứu một hệ mật mã khối với 128bit vào/ra Hệ mật này sử dụng các cấp số nhân cyclic làm hàm mã hóa, và sơ đồ mã hóa đƣợc xây dựng theo mạng Feistel không cân bằng với 4 nhánh Khóa bí mật cho hệ mật này cũng đƣợc xây dựng bởi cấp số nhân trên các vành đa thức với 2 lớp kề cyclic
Bằng việc sử dụng cấu trúc nhóm nhân và cấp số nhân cyclic trên vành đa thức để tạo khóa, ta có thể xây dựng một mật mã khối trên cơ sở mạng hoán vị Feistel với một số ƣu điểm nhất định.Việc sử dụng cấp số nhân trên vành đa thức để xây dựng hệ mật thể hiện một số ƣu điểm: cấu trúc đại số chặt chẽ, số lƣợng cấp số nhân trên vành đa thức nhiều (thuận lợi cho việc tạo khóa trong các hệ mật), mạch điện phần cứng thực hiện khá dễ dàng (thuận lợi cho việc áp dụng vào thực tế), tốc
độ tính toán nhanh
Với những ƣu điểm nhƣ đã đề cập, hệ mật này rất phù hợp áp dụng vào một hàm băm không khóa (MDC), và đây cũng là nội dung cuối sẽ đƣợc đề cập trong luận văn
3 MỤC TIÊU NGHIÊN CỨU
- Khảo sát đánh giá một số hệ mật khối
- Xây dựng hệ mật trên các cấp số nhân cyclic của vành đa thức
- Áp dụng hệ mật vào một sơ đồ hàm băm và đánh giá sơ bộ về hàm băm đó
4 ĐỐI TƢỢNG, PHẠM VI NGHIÊN CỨU
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ố
Trang 12nhâ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
5 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 suấ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á
6 Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN CỦA ĐỀ TÀI
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 văn đưa ra được một phương pháp xây dựng mật mã khối và một hàm băm trên cơ
sở là các cấp số nhân cyclic của vành đa thức chẵn
Trang 13CHƯƠNG 1 TỔNG QUAN VỀ MẬT MÃ HỌC
1.1 CÁC KHÁI NIỆM CƠ BẢN
Mật mã học là một bộ phận của khoa học mật mã (Cryptology), được chia thành 2 bộ phận chính:
- Mật mã học (Cryptography): chia thành 3 nội dung:
+ Mật mã khóa bí mật (Khóa đối xứng) + Mật mã khóa công khai (khóa bất đối xứng) + Hàm băm, xác thực và chữ ký số
- Phân tích mật mã (Cryptonalys): là khoa học nghiên cứu cách phá các hệ mật nhằm phục hồi bản rõ ban đầu từ bản mã:
+ Phương pháp tấn công tổng lực (tìm khóa vét cạn) + Phương pháp thống kê
+ Phương pháp phân tích cấu trúc…
Trong lý thuyết mã hóa nguồn và mã sửa sai khâu mã hóa (coding) thường chỉ có đầu vào là bản tin và đầu ra là bản mã (và ngược lại là khâu giải mã (decoding)) Tuy nhiên với mật mã học thì hai khâu này có một sự khác biệt đó là đầu vào của mã hóa (giải mã) ngoài bản tin ra còn có thêm khóa (K)
Trang 14- Mật mã khóa bí mật (khóa đối xứng):
Với hệ mật này, việc mã hóa và giải mã sử dụng chung một khóa, do đó hai bên liên lạc phải thống nhất và khóa mã trước khi truyền tin Các thuật toán mã hóa trong hệ mật khóa bí mật thường sử dụng các phương pháp sau:
+ Hoán vị
+ 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)
- Mật mã khóa công khai (khóa không đối xứng):
Thông thường mỗi bên liên lạc tự tạo cho mình một cặp khóa công khai và bí mật, khóa công khai dùng để mã hóa bản tin và khóa này được công khai trên mạng, còn khóa bí mật dùng để giải mã (chỉ có bên nhận tin lưu trữ) Các thuật toán mã hóa công khai cho đến nay được xây dựng theo một trong năm bài toán một chiều
cơ bản đó là:
+ Bài toán logarit 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 trên đường cong elliptic
-Mật mã khối: Trong các hệ mật mã khối quá trình xử lý thông tin được
thực hiện theo các khối bit có độ dài xác định
- Mật mã dòng: Trong các hệ mật mã dòng quá trình xử lý thông tin thực
hiện trên từng bit
Trang 151.2 CÁC HỆ MẬT MÃ KHÓA BÍ MẬT
1.2.1 Sơ đồ khối chức năng hệ mật mã khóa bí mật
Hình 1.1 Sơ đồ khối chức năng hệ mật khóa bí mật
Sơ đồ khối của một hệ mật khóa bí mật được mô tả trong hình 1.1
Một hệ mật là một bộ gồm 5 tham số thoả mãn các điều kiện sau:
P là một tập hữu hạn các bản rõ có thể
C là một tập hữu hạn các bản mã có thể
K là một tập hữu hạn các khoá có thể (không gian khoá)
Đối với mỗi có một quy tắc mã
và một quy tắc giải mã tương ứng
ek :
D
dk
PC
Bản rõ M Bản mã C
Bản mã C Bản rõ M
Trang 16+ Từ ví dụ trên ta thấy rằng, điều kiện cần để một hệ mật an toàn là phép tìm khoá vét cạn phải không thể thực hiện đƣợc Tuy nhiên, một không gian khoá lớn vẫn chƣa đủ để đảm bảm độ mật
Trang 17Điều kiện tồn tại: để có 1
a thì a n , 1Nhận xét: Do khoảng trống xuất hiện nhiều trong văn bản, nên khi mã hóa nên mã hóa cả khoảng trống để giảm số lần xuất hiện
1.2.2.2 Các hệ mật thay thế đa biểu
Hệ mật Vigenère
gắn cho mỗi khoá K một chuỗi ký tự có độ dài m, được gọi là từ khoá Mật mã
Vigenère sẽ mã hoá đồng thời m ký tự: mỗi phần tử của bản rõ tương đương với m
B0
Trang 18Chú ý: Để giải mã, ta có thể dùng cùng từ khoá nhưng thay cho cộng, ta trừ
nó theo modulo 26
Ta thấy rằng, số các từ khoá có thể với độ dài m trong mật mã Vigenère là Bởi vậy, thậm chí với m khá nhỏ, phương pháp tìm kiến vét cạn cũng yêu cầu thời gian khá lớn Ví dụ, với m = 6 thì không gian khoá cũng có kích thước lớn hơn khoá
dclasson
seca
πRIENATOTGHNE
RICARALSDSAC
EOANCS
Trang 19Khi sử dụng phép hoán vị ngược trên dãy bản mã (sau khi đã nhóm lại theo các nhóm 6 ký tự), ta sẽ nhận lại được bản rõ ban đầu
- Từ ví dụ trên, ta có thể định nghĩa MHV như sau:
Cho m là một số nguyên dương xác định nào đó
trong đó 1 là phép hoán vị ngược của
1.2.4 Chuẩn mã dữ liệu DES
Mô tả đầy đủ của DES được nêu trong Công bố số 46 về các chuẩn xử lý thông tin Liên bang (Mỹ) vào 15/1/1977 DES mã hoá một xâu bit x của bản rõ độ dài 64 bằng một khoá 54 bit Bản mã nhận được cũng là một xâu bit có độ dài 64 Trước hết ta mô tả ở mức cao về hệ thống
Thuật toán tiến hành theo 3 giai đoạn:
1)Với bản rõ cho trước x, một xâu bit x0sẽ được xây dựng bằng cách hoán vị
các bit của x theo phép hoán vị cố định ban đầu IP Ta viết:
trong đó kí hiệu phép cộng theo modulo 2 f là một hàm mà ta sẽ mô tả ở
sau, cònk k1, 2, ,k16là các xâu bit độ dài 48 được tính như hàm của khoá k (trên
1
π
Trang 20thực tế mỗi k i là một phép chọn hoán vị bit trong k) Các khóa con k k1, 2, ,k16 sẽ tạo thành bảng khoá
3) Áp dụng phép hoán vị ngƣợc 1
IP cho xâu bitR L16 16, ta thu đƣợc bản mã
y, tức là y IP1( R L16 16)
Sơ đồ mã hóa DES đƣợc xây dựng trên lƣợc đồ Feistel nhƣ trong hình 1.2
Hình 1.2 Sơ đồ mã hóa DES
Có 64! cách chọn các bảng hoán vị, DES chọn các bảng hoán vị IP và hoán
vị đảo IP-1 nhƣ trong bảng 1.1
Trang 22Hình 1.4 Các bước tạo khóa cho các vòng mã hóa của DES
1.2.5 Ưu nhược điểm của mật mã khóa bí mật
* Ưu điểm:
- Đơ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
Trang 231.3 HỆ MẬT KHÓA CÔNG KHAI
1.3.1 Sơ đồ chức năng
Hình 1.5 Sơ đồ khối chức năng hệ mật khóa công khai
Sơ đồ khối của hệ mật khóa công khai (khóa bất đối xứng) như mô tả trong hình 1.8, trong đó:
Ưu điểm của hệ mật khóa công khai:
+ Không sử dụng kênh an toàn (đây là nhược điểm của hệ mật khóa bí mật) + Dễ bảo vệ, lưu trữ và sinh khóa
Nhược điểm của hệ mật khóa công khai:
Trang 241.3.2 Một số bài toán xây dựng hệ mật khóa công khai
Với yêu cầu với hệ mật khóa công khai: Dễ mã hóa, khó giải mã (Hàm một chiều), các hướng nghiên cứu từ năm 1976 cho đến nay đã tìm được một số hàm một chiều, tương ứng với các bài toán
* Bài toán logarit rời rạc:
Bài toán này xây trên các hàm mũ của các phần tử trong trường hữu hạn Zp
với p là số nguyên tố lớn Bài toán ngược là phép logarit nhưng trên trường hữu hạn
và đây là bài toán khó giải khi p lớn
Các hệ mật liên quan bao gồm:
+ Thủ tục trao đổi và thỏa thuận khóa Diffie-Hellman
mãn p q )
Đây là bài toán phân tích số nguyên tố lớn khó (tìmnđơn giản khi biết ,p q ,
chon rất khó tìm được p q ) ,
- Hệ mật RSA (Rivest – Shamir – Adleman)
+ Tạo khóa: Mỗi bên liên lạc (A,B) tạo cho mình một cặp khóa công khai –
bí mật theo các bước sau:
Bước 1: Chọn hai số nguyên tố lớn p và q có độ lớn tương đương Bước 2: Tính n pq( )n (p1)(q1)
Trang 25Bước 3: Chọn e ngẫu nhiên thỏa mãn: ( , ( )) 1e n
+ Mã hóa: B cần gửi bản tin m cho A
Bước 1: B nhận khóa công khai của A: (n,e)
+ Thám mã phải thực hiện bài toán phân tích thừa số n pq
thì mới tính được ( )n (nếu biết d muốn tìm e phải thỏa mãn điều kiện:
1mod ( )
+ Hiệu quả truyền tin cao R 1
+ Hệ mật RSA được sử dụng rộng rãi hơn 30 năm qua
* Bài toán mã sửa sai và hệ mật Mc Eliece
Sử dụng mã sửa sai tuyến tínhC n k d , , ; d 2 t 1 (với t là số sai sửa
được) Ma trận sinh:G k n và ma trận kiểm tra H r n ;r n k; thỏa mãn:
Một trong những lớp mã này là mã Goppa, chúng được dùng làm cơ sở cho
hệ mật Mc Eliece
* Đường cong Elliptic và các hệ mật liên quan
Bài toán này được xây dựng trên các nhóm cộng của đường cong elliptic đường cong Elliptic trên trường số thực có dạng sau:
Trang 26Với x Z p, nếu x Z*p thì x phải là thặng dư bậc hai
Điều kiện: tồn tại 4 a3 27 mod b2 p 0
Các hệ mật liên quan:
Trao đổi khóa Diffie - Helfman trên đường cong Elliptic
Hệ mật Omura - Massey trên đường cong Elliptic
Hệ mật Elgamal trên đường cong Elliptic
1.4 KẾT LUẬN CHƯƠNG 1
Trong 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); 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ả có ích 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
Trang 27CHƯƠNG 2 HỆ MẬT MÃ KHỐI THEO SƠ ĐỒ FEISTEL
KHÔNG CÂN BẰNG
2.1 NHÓM NHÂN CYCLIC TRÊN VÀNH ĐA THỨC
2.1.1 Định nghĩa nhóm nhân cyclic trên vành đa thức
Các lũy đẳng e x( ) được xác định trên cơ sở phân tích chu trình C s
Trong mỗi vành đa thức 2[ ]/ x xn 1 đều tồn tại một lũy đẳng 1
lũy đẳng này được gọi là lũy đẳng “nuốt” (Swallowing Idempotent)
Trong một vành bất kỳ, với n lẻ luôn tồn tại một lớp kề chỉ chứa một lũy
đẳng “nuốt” e0( )x
* Tính chất của lũy đẳng “nuốt”
- Nếu đa thức a x ( ) 2[ ]/ x xn 1 và trọng số của a x (ký hiệu là ( ) W a x( ( )))
là số lẻ thì a x e( ) 0( )x e0( )x
- Nếu đa thức b x ( ) 2[ ]/ x xn 1 và W b x( ( ))là số chẵn thì b x e x( ) ( )0 0
* Các chu trình C s
Trang 28Các chu trình C s theo modulo n trên trường GF(2) được xác định như sau:
trình Ta c{0,1, 2,3, , } s
s
n C ó:
* Ý nghĩa của các chu trình:
+ Số các chu trình cho ta biết số các đa thức bất khả quy trong vành
Trong đó e x( ) là một lũy đẳng nào đó
Như vậy a x( ) sẽ tạo nên một nhóm cyclic cấp m của vành
Định lý 2.2: Nếu a x( ) là phần tử của nhóm nhân nào đó thì cấp cực đại của
Khi đó max ord( ( )) a x 2 (2s m 1), vớimmax degf x i( )
Bổ đề 2.1: Trong vành 2[ ] / x xn 1với n 2k (k nguyên dương), tập các đa thức có trọng số lẻ sẽ tạo nên một nhóm nhân G các đa thức theo modulo x n 1
[2],[3],[15]
Trang 29Bổ đề 2.2: Mọi phần tử trong nhóm nhân G có cấp là 2khoặc có cấp là ước của 2k[2],[3],[15],[16]
Bổ đề 2.3: Số các thặng dư bậc hai trong nhóm nhân G của vành được xác
2.1.2 Các loại nhóm nhân cyclic trên vành đa thức
* Nhóm nhân cyclic đơn vị
Định nghĩa 2.3: Nhóm nhân cyclic đơn vị là một nhóm nhân bao gồm mọi
đơn thức có trong vành và nó có cấp là n Ký hiệu là I { , , , x x2 xn1,1}[2],[3]
Hay nói cách khác nhóm nhân cyclic đơn vị là nhóm nhân cyclic có phần tử
sinh là x
{ ,( ) ,( ) ,( )n ,1}
I x x x x
* Nhóm nhân cyclic với phần tử sinh a x( )
Định nghĩa 2.4: Nhóm nhân cyclic với phần tử sinh là đa thức a x( ) bao gồm các phần tử là lũy thừa của phần tử sinh và có thể viết dưới dạng sau [2],[14]
( ( ), ( ), ( ), , m( )}
A a x a x a x a x (2.5)
Trang 30Trong đó: m là cấp của a x( )
* Đa thức đối xứng và các nhóm nhân cyclic đối xứng
Định nghĩa 2.5: Đa thức đối xứng [2],[14]
Đa thức a x( )được gọi là đa thức đối xứng với đa thứca x( ) nếu:
Tức là, nếu A là một nhóm nhân cyclic cấp k có phần tử sinh là a x ( ) thì A cũng
là nhóm nhân cyclic cấp với phần tử sinh là a x ( )[2],[14] Khi đó ta có:
Như vậy, với mỗi phần tử ( )a x của nhóm nhân cyclic A ta có tương ứng một
phần tử a x ( ) của nhóm nhân cyclic A Từ nhóm nhân cyclicA ta dễ dàng thiết
lập được nhóm nhân cyclicA Hai nhóm nhân A và A được gọi là hai nhóm nhân cyclic đối xứng trong vành đa thức
Từ việc khảo sát các nhóm nhân đối xứng trong vành đa thức ta thấy chỉ cần khảo sát các nhóm nhân trong một nửa vành là ta có thể suy ra kết quả khảo sát cho toàn bộ vành Khi coi mỗi nhóm nhân là một mã tương ứng mà ta có thể xây dựng được trên nó, ta sẽ khảo sát được các mã trên vành
2.2 CẤP SỐ NHÂN CYCLIC TRÊN VÀNH ĐA THỨC
2.2.1 Khái niệm về cấp số nhân cyclic trên vành đa thức
Trang 312 1 ( , )a q { ( ), ( ) ( ), ( ) ( ), , ( ) m ( )}
có cấu trúc khác nhau
- Các cấp số nhân cyclic cấp n
Nếu ta nhân các phần tử của một nhóm nhân cyclic cấp nvới một phần tử bất
kỳ trong nhóm nhóm nhân G của vành đa thức ta sẽ thu đƣợc một cấp số nhân có công bội là phần tử sinh của nhóm nhân và có số hạng ban đầu là đa thức đem nhân
Bổ đề 2.6: Số các cấp số nhân cyclic cấp n xây dựng đƣợc trong G trên vành
Trang 322.2.2 Phân hoạch vành đa thức
Quá trình phân hoạch vành đa thức thực chất là quá trình phân chia các phần
tử trong vành đa thức thành các tập (hay các lớp kề) không trùng nhau Các phầntử sinh của nhóm nhân sinh được gọi là các hạt nhân của phân hoạch Trong mỗi phân hoạch vành đa thức, các lớp kề của nó là các cấp số nhân cyclic với cùng một công bội
* Các bước phân hoạch vành đa thức
Để phân hoạch một vành đa thức ta thực hiện theo các bước sau đây [2]:
Bước 3: Lặp lại bước 2 cho đến khi S Z x x2[ ]/ n 1
Thông số m là cấp của a x( ) được xác định theo định lý 2.1 Giá trị m
chỉ có thể bằng max ord ( ) a x hoặc ước số của max ord ( ) a x
Do vành đa thức có cấu trúc đối xứng, một nửa vành gồm các phần tử có trọng số lẻ, một nửa vành gồm các phần tử có trọng số chẵn Vì vậy khi phân hoạch
ta chỉ cần tìm các phần tử có trọng số lẻ của vành rồi có thể dễ dàng suy ra các phần
tử chẵn
Để xây dựng được tất cả các nhóm nhân của vành ta thực hiện các bước sau: + Xác định tất cả các đa thức lũy đẳng trong vành, trên cơ sở phân tích các chu trình
Trang 33+ Chọn các đa thức lũy đẳng có trọng số lẻ để xây dựng các nhóm nhân chứa chúng
+ Xây dựng tất cả các nhóm nhân cyclic có thể có của vành Tùy theo từng lũy đẳng mà mỗi lũy đẳng có thể tham gia trong nhiều nhóm nhân
+ Lấy đối xứng tất cả các nhóm nhân có chứa các phần tử có trọng số lẻ sẽ tạo đƣợc tất cả các nhóm nhân có chứa các phần tử có trọng số chẵn
* Phân hoạch vành đa thức suy biến và không suy biến
Có nhiều dạng phân hoạch vành đa thức khác nhau, song dạng phân hoạch chung nhất là phân hoạch suy biến và phân hoạch không suy biến
Định nghĩa 2.7:
Phân hoạch vành đa thức đƣợc gọi là không suy biến nếu phân hoạch bao gồm tất cả các phần tử khác 0 trong vành đa thức Ngƣợc lại, phân hoạch là phân hoạch suy biến [2]
Bổ đề 2.7: Trong một phân hoạch không suy biến tùy ý, số lớp kề trong phân
hoạch xác định theo biểu thức sau [2]
( ( ), )
1( ( ))
* Điều kiện để phân hoạch không suy biến
Định lý 2.3: Điều kiện cần và đủ để phân hoạch vành không suy biến là
nhóm nhân sinh của phân hoạch có lũy đẳng bằng 1 [2]
Các loại phân hoạch
a) Phân hoạch chuẩn
Phân hoạch chuẩn hay phân hoạch theo I – nhóm nhân cyclic đơn vị
Trang 34Bổ đề 2.12: Trong phân hoạch cực đại thì số lớp kề của phân hoạch được xác
định theo công thức sau [2]:
c) Phân hoạch cực tiểu
Định nghĩa 2.9: Phân hoạch là cực tiểu (hay phân hoạch tầm thường) là phân
hoạch có phần tử sinh của nhóm nhân cyclic làa x( ) 1
Bổ đề 2.13: Trong phân hoạch cực tiểu với phần tử của nhóm nhân a x( ) 1,
số lớp kề trong phân hoạch được xác định:
(1, )n 2n 1
Trong phân hoạch cực tiểu, mỗi lớp kề chỉ gồm 1 phần tử, do vậy số lớp kề trong phân hoạch này đúng bằng số phần tử khác 0 có trong vành: 2n– 1
d) Phân hoạch vành thành các cấp số nhân có cùng trọng số
Trong trường hợp q x ( ) xi và ord( ) xi n thì cấp số nhân A( , )a q bao gồm các đa thức có cùng trọng số Vành đa thức được phân hoạch thành các cấp số nhân với các phần tử trong mỗi cấp số nhân sẽ có cùng trọng số