Giải pháp để xây dựng thuật toán mật mã ở đây sẽ dựa trên các toán tử biến đổi điều khiển được - là một trong các giải pháp mới để xây dựng các loại mã thỏa mãn tốt hơn các yêu cầu th
Trang 1MỤC LỤC
MỤC LỤC 1
LỜI NÓI ĐẦU 2
Chưong 1 GIỚI THIỆU TỔNG QUAN VỀ MÃ HÓA CÁC HỆ VÀ CÁC PHƯƠNG PHÁP MÃ HÓA 4
1.1 Giới thiệu tổng quan 4
1.2 Các hệ mã và các phương pháp mã hóa 5
1.2.1 Hệ mã cổ điển và mã hóa công khai 5
1.2.2 Mã hóa DES 10
Chương 2 CƠ SỞ LÝ THUYẾT VÀ CÁC KHÁI NIỆM LIÊN QUAN TỚI XÂY DỰNG CRYPT(D) 64 15
2.1 Đặt vấn đề 15
2.2 Mạng chuyển vị - thay thế cố định 15
2.3 Mạng chuyển vị - thay thế điều khiển được 19
2.3.1 Phần tử cơ sở của mạng chuyển vị - thay thế điều khiển được 19
2.3.2 Thiết kế các mạng hoán vị 31
2.3.3 Các cấu trúc mạng đối xứng 39
2.3.4 Các thuộc tính của CSPN trên cơ sở các phần tử F2/1 45
2.3.5 Cập nhật các DDP trên cơ sở mã hoá đã biết 53
2.3.6 Các đặc trưng vi sai 55
Chương 3 THUẬT TOÁN CRYPT(D) 64 63
3.1 Cấu trúc của thuật toán 63
3.2 Xây dựng các hoán vị cố định 67
3.3 Thời gian biểu sử dụng khóa 68
Chương 4 ĐÁNH GIÁ CÁC ĐẶC TRƯNG THỐNG KÊ THUẬT TOÁN MÃ HOÁ CRYPT(D) 64………71
4.1 Đặt vấn đề 71
4.2 Khoảng cách Hamming 71
4.3 Các tiêu chuẩn đánh giá 72
4.4 Kết quả đánh giá 75
KẾT LUẬN 80
TÀI LIỆU THAM KHẢO 82
Trang 2LỜI NÓI ĐẦU
Cùng với sự phát triển của phần cứng máy tính và cơ sở hạ tầng vềmạng máy tính đã tạo thuận lợi cho chúng ta trao đổi thông tin qua mạngmột cách nhanh chóng và chính xác, thông tin trao đổi ở đây có thể trên rấtnhiều lĩnh vực, ví dụ như thương mại điện tử, tin tức thời sự, hay là thưđiện tử giữa hai người hay nhóm người với nhau, Các dạng thông tin traođổi có thể là công khai, ví dụ như các thông tin quảng cáo, tin tức thời sự nhưng cũng có những vấn đề cần có sự bảo mật không thể cho đối tượngthứ ba biết, ví dụ như các thông tin về bí mật quốc gia, bí mật quân sự, haynhững bí mật của cá nhân, Vấn đề đặt ra là chúng ta phải xây dựng cácphương pháp và các thuật toán mã hoá phục vụ cho bảo mật thông tin
Vấn đề mã hoá và bảo mật thông tin đã được nhiều quốc gia, các tổchức, và công ty có liên quan tới ngành công nghệ thông tin nghiên cứu.Đặc biệt và đi đầu là Hoa Kỳ, họ đã bắt tay nghiên cứu và xây dựng cácthuật toán mã hoá rất sớm Năm 1972, Viện tiêu chuẩn và công nghệ quốcgia Hoa Kỳ (National Institute of Standar and Technology - NIST) đã đặt rayêu cầu xây dựng thuật toán mã hoá bảo mật thông tin với yêu cầu là dễthực hiện, sử dụng rộng rãi trong nhiều lĩnh vực và mức độ bảo mật cao
Năm 1974, IBM giới thiệu thuật toán mã hoá Lucifer, thuật toán này
đã đáp ứng hầu hết các yêu cầu của Viện tiêu chuẩn và công nghệ quốc giaHoa Kỳ (NIST) Sau đó vào năm 1976, Lucifer được NIST công nhận làchuẩn quốc Hoa Kỳ và được đổi tên thành Data Encryption Standard(DES) DES là thuật toán mã hoá bảo mật được sử dụng rộng rãi nhất trênthế giới, ở thời điểm DES ra đời người ta đã tính toán rằng việc phá được
mã DES là rất khó khăn, đòi hỏi chi phí hàng triệu USD và khoảng thời giarất nhiều năm
Trang 3Cùng với sự phát triển của các loại máy tính, và mạng máy tính cótốc độ tính toán rất cao, khoá mã DES có thể bị phá trong một khoảng thờigian ngày càng ngắn và chi phí ngày càng thấp Dù vậy việc này vẫn vượt
xa khả năng của các hacker thông thường Tuy nhiên đã có rất nhiều nghiêncứu nhằm cải thiện và kế thừa khoá mã DES, trong phần đồ án của mình
em xin trình bày một thuật toán mã hoá mới đó là thuật toán CRYPT(D) 64
Thuật toán mới được thiết kế dựa trên các tiêu chuẩn sau: Kiểu thuậttoán mã hóa: Mã khối, độ dài của khối dữ liệu được mã hóa: 64 bít, độ dàicủa khóa bí mật: 128, 256 bít Giải pháp để xây dựng thuật toán mật mã ở
đây sẽ dựa trên các toán tử biến đổi điều khiển được - là một trong các giải
pháp mới để xây dựng các loại mã thỏa mãn tốt hơn các yêu cầu thực tiễn
Với giải pháp này, thuật toán sẽ được xây dựng trên cơ sở kết hợp mạng
chuyển vị - thay thế điều khiển được với mạng chuyển vị - thay thế cố định,
các mạng chuyển vị - thay thế điều khiển được sẽ được xây dựng dựa trên các toán tử điều khiển được có kích thước tối thiểu để phù hợp cho việc cài
đặt trên các VLSI như ASIC/FPGA
Thuật toán mới được xây dựng lựa chọn phương án sử dụng các toán
tử phụ thuộc vào cả khoá và dữ liệu được biến đổi
Trong phần triển khai cài đặt ứng dụng em sẽ tập trung vào phầnđánh giá các đặc trưng thống kê của thuật toán
Quá trình thực hiện nghiên cứu các đặc trưng thống kê của thuậttoán mã hoá CRYPT(D) 64 em xin chân thành cảm ơn thầy giáo hướng dẫn
đã hướng dẫn, chỉ bảo tận tình giúp em hoàn thành đồ án
Trang 4Chưong 1 GIỚI THIỆU TỔNG QUAN VỀ MÃ HÓA
CÁC HỆ VÀ CÁC PHƯƠNG PHÁP MÃ HÓA
1.1 Giới thiệu tổng quan.
Mật mã là môn khoa học nhiên cứu về các vấn đề truyền thông tinliên lạc và độ mật của nó Đối tượng cơ bản của mật mã là tạo ra một khảnăng liên lạc trên một kênh thông tin mật cho hai người sử dụng A(Alice)
và B(Bob) sao cho đối phương O(Oscar) không thể hiểu được thông tintruyền đi Kênh liên lạc này có thể là một đường dây điện thoại hoặc làmạng máy tính hoặc mạng internet Thông tin A muốn gửi cho B gọi là bản
rõ có thể là một văn bản, hình ảnh, chương trình,… A sẽ mã hóa bản rõbằng một khóa và phương pháp đã được thống nhất trước khi gửi bản mã đitrên kênh O có thể thu được bản mã trên kênh truyền nhưng không thể xácđịnh được nội dung bản mã đó nhưng B(người biết khóa ) có thể giải mã vàthu được bản rõ
Các phương pháp mã hóa và giải mã tương ứng có từ rất lâu trong lịch
sử Người Hy Lạp cổ đã biết sử dụng phương pháp Skytale để mã hóa và giải
mã Phương pháp mã hóa Vigenere đã có từ bốn thế kỷ nay Rất lâu trước khi
có sự trợ giúp của máy tính chúng ta cũng đã biết sử dụng công cụ máy móc để
hỗ trợ cho việc mã hóa và giải mã(chẳng hạn như sử dụng phương pháp TuringGrill do Carcado phát minh) Công việc mã hóa và giải mã đối với các phươngpháp cổ điển là tương đối dễ dàng khi có khóa Nhưng trên vai trò người ăntrộm thông tin (thám mã) không có khóa, đó là một công việc rất khó Nó đòihỏi người thám mã phải có kiến thức về xác suất, có các số liệu thống kê và đặcbiệt phải có kinh nghiệm trong công việc Tuy vậy ngày nay với sự hỗ trợ củamáy tính công việc thám mã trở nên nhẹ nhàng hơn đối với các hệ mật cổ điển.Tuy nhiên các phương pháp cổ điển vẫn được nghiên cứu(mã háo, giải mã, vàthám mã) bởi lịch sử lâu đời của các phương pháp này một số người vẫn sử
Trang 5dụng chúng Nhưng có thể nói hiện nay các phương pháp cổ điển rất ít người sửdụng, mà người ta đã đưa ra nhiều phương pháp mã hóa mới ví dụ như hệ mãcông khai, mã hóa DES, Dưới đây là mô hình chung của mật mã.
Hình 1.1 Mô hình chung của mật mã
1.2 Các hệ mã và các phương pháp mã hóa
1.2.1 Hệ mã cổ điển và mã hóa công khai
Tổng quát hóa theo toán học chúng ta có Một hệ mật là một bộ năm
(P,C,K,E,D) thỏa mãn các điều kiện sau:
1 P là một tập hưữ hạn các bản rõ cụ thể.
2 C là một tập hữu hạn các bản rõ có thể.
3 K(không gian khóa) là tập hữu hạn các khóa có thể.
4 Đối với mỗi k K có một quy tắc mã e k : P C và một quy tắc giải
Trong đó Z 26 là 26 chữ cái trong bảng chữ cái tiếng anh Và x,y Z 26
Trang 6 Mã thay thế
Cho P=C=Z 26 K chứa mọi hoán vị có thể của 26 ký hiệu 0,1,…,25
với mỗi phép hoán vị K, ta có: e (x)= (x)
d (y)= 1(y)Trong đó 1
là hoán vị ngược của
Mật mã Affine
Cho P=C=Z 26 và giả sử P={(a,b)Z 26 x Z 26: UCLN(a,26)=1}
Với k = (a,b)K, ta có: ek(x)=(ax +b) mod 26
dk(x)=a-1(y-b) mod 26Trong đó (x,y) Z 26
Mật mã Hill
Cho m là một số nguyên dương cố định Cho P=C=(Z 26 )m và cho
K={ma trận khả nghịch cấp mxm trên Z26} Với một khóa k K ta có:
ek(x)=xkdk(y)=yk-1Tất cả các phép toán đều thực hiện trong Z26
Trang 7 Mã hoán vị
Cho m là một số nguyên xác định nào đó P=C=(Z 26 )m và cho K gồm tất
cả các hoán vị của {1,2,…,m} Đối một khóa (tức là một hoán vị) ta xác định
e(x1, , xm ) = (x(1), , x(m)) d(x1, , xm ) = (y -1 (1), , y -1 (m))
3 K là tập hữu hạn các khóa có thể(không gian khóa).
4 L là tập hữu hạn các bộ chữ của dòng khóa
5 F=(f 1 f 2 …) là bộ tạo dòng khóa Với i1 f i : KP i-1 L
6 Với mỗi z L có một quy tắc mã e z E và một quy tắc giải mã tương ứng d zD e z : P C và d z : C P là các hàm thỏa mãn
d z (e z (x))=x với mọi bản rõ xP.
Mật mã khóa tự sinh Cho P=C=K=L=Z 26, z1=k và zi=xi-1 (i2) với 0z
25 ta xác định ez(x) = x + z mod 26
dz(y) = y - z mod 26 (x,y Z26 )
Mã hóa công khai
Mật mã hóa khóa công khai là một dạng mật mã hóa cho phép người
sử dụng trao đổi các thông tin mật mà không cần phải trao đổi các khóachung bí mật trước đó Điều này được thực hiện bằng cách sử dụng một cặp
khóa có quan hệ toán học với nhau là khóa công khai và khóa cá nhân (hay
khóa bí mật)
Trang 8Thuật ngữ mật mã hóa khóa bất đối xứng thường được dùng đồngnghĩa với mật mã hóa khóa công khai mặc dù hai khái niệm không hoàntoàn tương đương Có những thuật toán mật mã khóa bất đối xứng không
có tính chất khóa công khai và bí mật như đề cập ở trên mà cả hai khóa(cho mã hóa và giải mã) đều cần phải giữ bí mật
Trong mật mã hóa khóa công khai, khóa cá nhân phải được giữ bímật trong khi khóa công khai được phổ biến công khai Trong 2 khóa, mộtdùng để mã hóa và khóa còn lại dùng để giải mã Điều quan trọng đối với
hệ thống là không thể tìm ra khóa bí mật nếu chỉ biết khóa công khai
Phương pháp mã hoá công khai (Public Key Cryptography) đã giải quyếtđược vấn đề của phương pháp mã hoá khoá bí mật là sử dụng hai khoá publickey
và privatekey Phương pháp này còn được gọi là mã hoá bất đối xứng(Asymmetric Cryptography) vì trong hệ sử dụng khoá mã hoá Ek và khoá giải
mã Dk khác nhau (Ek # Dk) Trong đó , Ek được sử dụng để mã hoá nên có thểđược công bố, nhưng khoá giải mã Dk phải được giữ bí mật Nó sử dụng haikhoá khác nhau để mã hoá và giải mã dữ liệu Phương pháp này sử dụng thuậttoán mã hoá RSA (tên ba nhà phát minh ra nó: Ron Rivest, Adi Shamir vàLeonard Adleman) và thuật toán Diffie Hellman Ngoài ra còn có một số thuậttoán khác như hệ thống mật mã Paillier, Mã hóa đường cong elliptic, ElGamal
Hệ thống mật mã hóa khóa công khai có thể sử dụng với các mục đích:
mã được
được tạo với một khóa bí mật nào đó hay không
mật giữa 2 bên
Trang 9Các phương pháp mã hóa này khai thác những ánh xạ f mà việc thực hiện ánh xạ ngược f –1 rất khó so với việc thực hiện ánh xạ f Chỉ khi biết được khóa riêng K thì mới có thể thực hiện được ánh xạ ngược f –1
Thông thường, các kỹ thuật mật mã hóa khóa công khai đòi hỏi khốilượng tính toán nhiều hơn các kỹ thuật mã hóa khóa đối xứng nhưng những lợiđiểm mà chúng mang lại khiến cho chúng được áp dụng trong nhiều ứng dụng
Trên thực tế vào năm 1972 Viện tiêu chuẩn và công nghệ quốc giaHoa kỳ (National Institute of Standards and Technology-NIST) đặt ra yêucầu xây dựng một thuật toán mã hoá bảo mật thông tin với yêu cầu là dễthực hiện, sử dụng được rộng rãi trong nhiều lĩnh vực và mức độ bảo mậtcao Năm 1974, IBM giới thiệu thuật toán Lucifer, thuật toán này đáp ứnghầu hết các yêu cầu của NIST Sau một số sửa đổi, năm 1976, Luciferđược NIST công nhận là chuẩn quốc gia Hoa kỳ và được đổi tên thành DataEncryption Standard (DES)
DES là thuật toán mã hoá bảo mật được sử dụng rộng rãi nhất trên thếgiới, thậm chí, đối với nhiều ngưòi DES và mã hoá bảo mật là đồng nghĩa vớinhau ở thời điểm DES ra đời người ta đã tính toán rằng việc phá được khoá
mã DES là rất khó khăn, nó đòi hỏi chi phí hàng chục triệu USD và tiêu tốnkhoảng thời gian rất nhiều năm Cùng với sự phát triển của các loại máy tính
và mạng máy tính có tốc độ tính toán rất cao, khoá mã DES có thể bị phátrong khoảng thời gian ngày càng ngắn với chi phí ngày càng thấp Dù vậyviệc này vẫn vượt xa khả năng của các hacker thông thường và mã hoá DESvẫn tiếp tục tồn tại trong nhiều lĩnh vực như ngân hàng, thương mại, thôngtin nhiều năm nữa đặc biệt với sự ra đời của thế hệ DES mới-"Triple DES"
Yêu cầu đặt ra nếu muốn bảo mật tốt hơn là phải tìm được một thuật toánsao cho việc thực hiện không quá phức tạp nhưng xác suất tìm ra chìa khoá bằngcách thử tất cả các trường hợp (brute-force) là rất nhỏ (số lần thử phải rất lớn)
Trang 10Trong phần tiếp theo em xin giới thiệu tổng quát nhất về phươngpháp mã hóa DES.
1.2.2 Mã hóa DES
Về mặt khái niệm, thông thường thuật toán mã hoá DES là thuật toán
mở, nghĩa là mọi người đều biết thuật toán này DES là thuật toán mã hóakhối: nó xử lý từng khối thông tin của bản rõ có độ dài xác định và biến đổitheo những quá trình phức tạp để trở thành khối thông tin của bản mã có độdài không thay đổi Trong trường hợp của DES, độ dài mỗi khối là 64 bit.DES cũng sử dụng khóa để cá biệt hóa quá trình chuyển đổi Nhờ vậy, chỉkhi biết khóa mới có thể giải mã được văn bản mã Khóa dùng trong DES cóđộ dài toàn bộ là 64 bit Tuy nhiên chỉ có 56 bit thực sự được sử dụng; 8 bitcòn lại chỉ dùng cho việc kiểm tra Vì thế, độ dài thực tế của khóa chỉ là 56bit, nghĩa là số lần thử tối đa để tìm được chìa khoá lên đến 2^56, trung bình
là 2^55 = 36.028.797.018.963.968 lần, một con số rất lớn!
Tổng thể
Cấu trúc tổng thể của thuật toán được thể hiện ở hình 1.2: có 16 chutrình giống nhau trong quá trình xử lý Ngoài ra còn có hai lần hoán vị đầu
và cuối (Initial and final permutation - IP & EP) Hai quá trình này có tính
chất đối nhau (Trong quá trình mã hóa thì IP trước EP, khi giải mã thì ngượclại) IP và EP không có vai trò xét về mật mã học và việc sử dụng chúng chỉ
có ý nghĩa đáp ứng cho quá trình đưa thông tin vào và lấy thông tin ra từ cáckhối phần cứng có từ thập niên 1970 Trước khi đi vào 16 chu trình chính,khối thông tin 64 bit được tách làm hai phần 32 bit và mỗi phần sẽ được xử
lý tuần tự (quá trình này còn được gọi là mạng Feistel)
Trang 11Hình 1 2 Cấu trúc thuật toán Feistel dùng trong DES
Cấu trúc của thuật toán (mạng Feistel) đảm bảo rằng quá trình mãhóa và giải mã diễn ra tương tự Điểm khác nhau chỉ ở chỗ các khóa conđược sử dụng theo trình tự ngược nhau Điều này giúp cho việc thực hiệnthuật toán trở nên đơn giản, đặc biệt là khi thực hiện bằng phần cứng
Ký hiệu sau: thể hiện phép toán XOR Hàm F làm biến đổimột nửa của khối đang xử lý với một khóa con Đầu ra sau hàm Fđược kết hợp với nửa còn lại của khối và hai phần được tráo đổi để
xử lý trong chu trình kế tiếp Sau chu trình cuối cùng thì 2 nửa không
bị tráo đổi; đây là đặc điểm của cấu trúc Feistel khiến cho quá trình
mã hóa và giải mã trở nên giống nhau
Trang 12Hàm Feistel (F -function)
Hình 1 3 a- Hàm F dùng trong DES b- Quá trình tạo khóa con trong DES
Hàm F, như được miêu tả ở hình 1.3a, hoạt động trên khối 32 bit và baogồm bốn giai đoạn:
1 Mở rộng: 32 bit đầu vào được mở rộng thành 48 bit sử dụng thuật toán hoán vị mở rộng (expansion permutation) với việc nhân đôi một
số bit Giai đoạn này được ký hiệu là E trong sơ đồ
2 Trộn khóa: 48 bit thu được sau quá trình mở rộng được XOR với
khóa con Mười sáu khóa con 48 bit được tạo ra từ khóa chính 56 bit
theo một chu trình tạo khóa con (key schedule) miêu tả ở phần sau.
3 Thay thế: 48 bit sau khi trộn được chia làm 8 khối con 6 bit và được xử
lý qua hộp thay thế S-box Đầu ra của mỗi khối 6 bit là một khối 4 bittheo một chuyển đổi phi tuyến được thực hiện bẳng một bảng tra KhốiS-box đảm bảo phần quan trọng cho độ an toàn của DES Nếu không
có S-box thì quá trình sẽ là tuyến tính và việc thám mã sẽ rất đơn giản
4 Hoán vị: Cuối cùng, 32 bit thu được sau S-box sẽ được sắp xếp lại
theo một thứ tự cho trước (còn gọi là P-box)
Trang 13Quá trình luân phiên sử dụng S-box và sự hoán vị các bít cũng nhưquá trình mở rộng đã thực hiện được tính chất gọi là sự xáo trộn và
khuyếch tán (confusion and diffusion).
Quá trình tạo khóa con
Hình 1.3b mô tả thuật toán tạo khóa con cho các chu trình Đầu tiên,
từ 64 bit ban đầu của khóa, 56 bit được chọn (Permuted Choice 1, hay
PC-1); 8 bit còn lại bị loại bỏ 56 bit thu được được chia làm hai phần bằngnhau, mỗi phần được xử lý độc lập Sau mỗi chu trình, mỗi phần được dịch
đi 1 hoặc 2 bit (tùy thuộc từng chu trình) Các khóa con 48 bit được tạo
thành bởi thuật toán lựa chọn 2 (Permuted Choice 2, hay PC-2) gồm 24 bit
từ mỗi phần Quá trình dịch bit (được ký hiệu là "<<<" trong sơ đồ) khiếncho các khóa con sử dụng các bit khác nhau của khóa chính; mỗi bit được
sử dụng trung bình khoảng 14 lần trong tổng số 16 khóa con
Quá trình tạo khóa con khi thực hiện giải mã cũng diễn ra tương tựnhưng các khóa con được tạo theo thứ tự ngược lại Ngoài ra sau mỗi chutrình, khóa sẽ được dịch phải thay vì dịch trái như khi mã hóa
Các chế độ của DES:
Thuật toán DES mã hoá đoạn tin 64 bit thành đoạn tin mã hoá 64 bit.Nếu mỗi khối 64 bit được mã hoá một cách độc lập thì ta có chế độ mã hoáECB (Electronic Code Book) Có hai chế độ khác của mã hoá DES là CBC(Chain Block Coding) và CFB (Cipher Feedback), nó làm cho mỗi đoạn tin
mã hoá 64 bit phụ thuộc vào các đoạn tin trước đó thông qua phép toán XOR
Triple DES:
Triple-DES chính là DES với hai chìa khoá 56 bit Cho một bản tincần mã hoá, chìa khoá đầu tiên được dùng để mã hoá DES bản tin đó, kết
Trang 14quả thu được lại được cho qua quá trình giải mã DES nhưng với chìa khoá
là chìa khoá thứ hai, bản tin sau qua đã được biến đổi bằng thuật toán DEShai lần như vậy lại được mã hoá DES với một lần nữa với chìa khoá đầutiên để ra được bản tin mã hoá cuối cùng Quá trình mã hoá DES ba bướcnày được gọi là Triple-DES
Ứng dụng của DES
DES thường được dùng để mã hoá bảo mật các thông tin trong quátrình truyền tin cũng như lưu trữ thông tin Một ứng dụng quan trọng kháccủa DES là kiểm tra tính xác thực của mật khẩu truy nhập vào một hệ thống(hệ thống quản lý bán hàng, quản lý thiết bị viễn thông…), hay tạo và kiểmtính hợp lệ của một mã số bí mật (thẻ internet, thẻ điện thoại di động trảtrước), hoặc của một thẻ thông minh (thẻ tín dụng, thẻ payphone…)
Phá khóa DES
Năm 1998, một nhóm nghiên cứu đã chi phí 220.000USD để chế tạomột thiết bị có thể thử toàn bộ số chìa khoá DES 56 bit trong trung bình 4,5ngày Tháng 7 năm 1998 họ thông báo đã phá chìa khoá DES trong 56 giờ.Thiết bị này gọi là Deep Crack gồm 27 board mạch, mỗi board chứa 64chip và có khả năng thử 90 tỷ chìa khoá trong một giây
Tuy nhiên, việc phá khóa Triple DES là điều rất khó khăn, một chuyêngia về bảo mật đã cho rằng " Không có đủ silic trong giải ngân hà (để chế tạochip-TG) cũng như không đủ thời gian trước khi mặt trời bị phá huỷ để phákhoá Triple DES"
Kể từ khi DES ra đời, nhiều thuật toán mã hoá bảo mật khác cũngđược phát triển tương tự DES hoặc dựa trên DES Trong phần tiếp theo vàcũng là phần chính của đồ án em sẽ tập trung vào trình bày cơ sở lý thuyết,
Trang 15phương pháp xây dựng và phương pháp đánh giá các đặc trưng thống kê củathuật toán mã hóa Crypt(D) 64.
Chương 2 CƠ SỞ LÝ THUYẾT VÀ CÁC KHÁI NIỆM LIÊN QUAN TỚI XÂY DỰNG CRYPT(D) 64 2.1 Đặt vấn đề
Thuật toán mới CRYPT(D)-64 được thiết kế cho việc mã hoá các
khối dữ liệu có độ dài 64-bit, sử dụng khoá mật 128-bit và 256-bit, thuật
toán được xây dựng trên cơ sở kết hợp mạng chuyển vị - thay thế điều
khiển được CSPN (Controlled Substitution-Permutation Network) với mạng chuyển vị - thay thế cố định SPN (Substitution-Permutation
Network) Để thuật toán có tốc độ thực hiện cao và tích hợp hiệu quả trên
VLSI như ASIC/FPGA, việc xây dựng CSPN sẽ được thực hiện trên phần
tử điều khiển được - CE (Controlled Element) có kích thước tối thiểu F2/1.
Vậy thế nào là mạng chuyển vị - thay thế điều khiển được CSPN, các phần
tử điều khiển CE là gì, và thế nào là mạng chuyển vị cố định SPN?
2.2 Mạng chuyển vị - thay thế cố định
Trong kỹ thuật mã hóa mạng chuyển vị cố định
(substitution-permutation network SPN) là một dãy các liên kết toán học sử dụng trong
các thuật toán mã hóa khối giống như AES(Rijndael) Các mạng sẽ đưa mộtkhối của các bản gốc và khóa là yếu tố đầu vào, và áp dụng liên tục các
"vòng" hoặc "lớp" của hộp thay thế (hộp-S) và hộp hoán vị (hộp-P) để tạo
ra các bản mã khối Hộp S và hộp P biến đổi các khối con của các bít đầuvào thành các bit đầu ra Đó là các hoạt động của các lệnh chuyển đổi đượcthực hiện từ phần cứng giống như các phép XOR hay các phép xoay giữacác bít Khóa được đưa vào trong mỗi vòng thường nhận trong mỗi vòngkhóa của lớp Trong một vài thiết kế thì các S-box phụ thuộc vào các khóa
Trang 16Mối hộp thay thế S là một khối nhỏ gồm một số bit nhất định các đầuvào của hộp S là đầu ra của hộp S khác Số bit của đầu ra có thể bằng số bitcủa đầu vào (ta có giống như hình 2.1 có hộp S với 4 đầu vào và đầu ra 4bit), nhưng cũng có thể số bít đầu vào và đầu ra của hộp S là khác nhau ví
dụ như trong mã hóa DES các hộp S có 6 bít đầu vào nhưng chỉ có 4 bítđầu ra (có thể thấy trong hình 1.3) Một hộp S được thiết kế tốt thì khi thayđổi một bít đầu vào có thể làm thay đổi một nửa số luợng bít đầu ra và cácbít ở đầu ra phụ thuộc các bít ở đầu vào
Hình 2.1 Một ví dụ cụ thể về SPN
Một hộp P là một hoán vị của tất cả các bít, nó nhận tất cả các bít đầu
ra của các hộp S sao đó hoán vị chúng và chuyển thành các bít đầu vào củacác hộp S ở vòng tiếp theo Một hộp P tốt phải có thuộc tính các bít đầu ra
Trang 17của hộp S có khả năng được phân bố ở một số bít đầu vào của các hộp Svòng tiếp theo.
Tại mỗi vòng thì khóa vòng(nhận được từ khóa với một số hoạt độngđơn giản ví dụ như dùng hộp S và hộp P)được kết hợp với một số phép toánđặc trưng như XOR
Một hộp S hay một hộp P đơn thuần không có hiệu quả mã hóa: mộthộp S có thể thông qua như một sự thay thế các khối trong khi hộp P có thểcoi như là một sự hoán vị của các khối Tuy nhiên để thiết kế một mạng hoán
vị thay thế tốt(SPN) các vòng lặp các S-box và các P-box phải thỏa mản sựxáo trộn và khuyếch tán
Lý do của sự khuyếch tán: nếu như thay đổi một bít của bản rõ sau
đó đưa vào một hộp S sẽ làm thay đổi một vài bít đầu ra, sau khi thay đổiđược phân phối bởi hộp P giữa một vài hộp S, kể từ đấy tất cả các đầu racủa hộp S lại được thay đổi một vài bit thực hiện liên tiếp các vòng mỗibit sẽ thay đổi, sau khi kết thúc các vòng thực hiện thì bản rõ được thay đổihoàn toàn
Lý do của sự xáo trộn cũng giống với sự khuyếch tán sự thay đổi bitcủa các khóa vòng, mỗi sự thay đổi sẽ lan truyền qua tất cả các bít mã dẫn sựthay đổi bản mã rất phức tạp Ngược lại nếu thay đổi một bit trong bản mã sẽthay đổi khóa hoàn toàn
Hộp S là một hệ thống phi tuyến của hệ mật và là một yếu tố quantrọng quyết định độ mật của hệ Cho đến nay vẩn chưa có các tiêu chuẩnchung đầy đủ để thiết kế hôp S Trong thuật toán CRYPT(D) 64 đượcnghiên cứu việc sử dụng các hộp S theo một cấu trúc có sẵn
Cấu trúc của các hộp S thông dụng được sử dụng trong các ứng dụngtrong dòng mã hóa CRYPT(D)(xét trong chương 3) thông thường bao
Trang 18gồm các hộp S0, , S7 được cụ thể trong bảng 2.1 và các hộp nghịchđảo gồm S-1
0, , S-1
7 được cụ thể trong bảng 2.2 Tám hộp 4x4 củacủa dòng mã CRYPT(D) được chọn như các hộp S0, , S7 Trong ứngdụng của các loại mã hóa CRYPT(D) thì chúng ta sẽ sử dụng cả hailoại hộp S thuận và nghịch sẽ được xét cụ thể trong chương 3
Bảng 2.1 Đặc tả của hộp thay thế 4x4 S 0 , ,S 7
Bảng 2.2 Đặc tả của hộp thay thế 4x4 S 0 -1 , ,S 7 -1
Trong các ứng dụng của các thuật toán mã hóa mới CRYPT(D) thì cáchoán vị có thể được ký hiệu là I, tùy vào ứng dụng của các thuật toán mã hóa
Trang 19ta có thể có nhiều hoán vị I khác nhau Mục đích sử dụng các hoán vị I này
để ngăn cản cặp đầu ra của hộp S 4x4 trực tiếp tới đầu vào của các phần tửđiều khiển được CE(controlled element) của hộp Pn/m(sẽ đề cập ở phần tiếptheo), hoặc từ cặp đầu ra của các phần tử điều khiển được CE của cac hộp Pn/
m trực tiếp tới đầu vào của hộp S, hoặc trực tiếp từ cặp đầu ra của các phần tử
CE hộp Pn/m vào các phần tử CE thẳng hàng của hộp P’n/m Chúng ta sẽ xét cụthể trong phần xây dựng thuật toán CRYPT(D) 64
Các thuộc tính của hộp S Các nguyên tắc thiết kế của tám hộp S được đưa vào lớp ‘Classified information(Tin tức bí mật)’ ở Mỹ
NSA đã tiết lộ 3 thuộc tính của các hộp S, những thuộc tính này bảođảm tính xáo chộn và khuyếch tán của thuật toán
1 Các bít vào (input bit) luôn phụ thuộc không tuyến tính vào các bít
ra (output bit)
2 Sửa đổi ở một bit vào làm thay đổi ít nhất là hai bit ra
3 Khi một bit vào được giữ cố định và 5 bit con lại cho thay đổi thì cáchộp S thể hiện một tính chất được gọi là phân bố đồng nhất: so sánh số lượngbit số 0 và 1 ở các đầu ra luôn ở mức cân bằng
2.3 Mạng chuyển vị - thay thế điều khiển được
2.3.1 Phần tử cơ sở của mạng chuyển vị - thay thế điều khiển được
Mạng chuyển vị - thay thế điều khiển được có thể mô tả là các hộphoán vị điều khiển được PC(Controlled permutation) Pn/m Với n là số bitđầu vào, n là bit đầu ra, m là số bit điều khiển Hộp Pn/m được xây dựng nhờ
sử dụng các phần tử điều khiển được cơ sở P2/1, hoặc P2/2 Nhưng trongphạm vi ngiên cứu đánh gia các đặc trưng thống kê của thuật toán Crypt(D)
64 thì sẽ đi sâu vào nghiên cứu các hộp Pn/m được xây dựng từ các phần tử
Trang 20điều khiển được cơ sở P2/1, hay có thể gọi P2/1 là các hộp bộ phận cấu thànhcủa hộp điều khiển Pn/m (trong nhiều tài liệu P2/1 được thay bởi F2/1 chính là
CE controlled Element) Chúng ta có thể giải thích sơ lược về mỗi phần tửđiều khiển được cơ sở P2/1 là phần tử nhận hai bit làm đầu vào, cho đầu ra làhai bit, và sử dụng một bít làm điều khiển giá trị của các bit đầu ra Trênphương diện toán học thì đầu ra được biểu diễn là các hàm ba biến phụthuộc vào giá trị đầu vào và giá trị của các bít điều khiển và phép toán sửdụng ở đây chính là phép XOR và sẽ được trình bày cụ thể hơn trong cácphần tiếp theo Còn việc tích hợp trên phần cứng tương ứng là sử dụng cácmạch XOR Như đã đề cập ở trên thì hộp Pn/m được xây dựng từ các hộp P2/1
ta có cấu trúc như hình 2.2
Hình 2.2 Cấu trúc của hộp chuyển vị điều khiển được
Trang 21 Các thay thế điều chỉnh được cơ sở P 2/1 (F 2/1 )
Ý tưởng chính việc xây dựng khối trong các hộp chuyển vị điềuchỉnh được (CP) ở mỗi phân tầng là phần tử chuyển mạch cơ sở P2/1 thựchiện điều chỉnh hoán đổi vị trí của hai bit đầu vào Việc biến đổi được điềuchỉnh cơ sở được thực hiện với P2/1 được mô tả bởi các hàm Boolean phituyến cụ thể (BF Boolean Function) theo ba biến như ta có thể có như sau:
sử dụng khi thực thi cài đặt các hộp F 2/1 trong phần cứng Các phần
tử điều chỉnh được F 2/1 có thể lựa chọn như bởi hai sự thay thếtuyến tính khác nhau S1 (nếu v =0) và S2 (nếu v =1) với kích thước
2x2 (hình 2.3c) Mối quan hệ giữa các lựa chọn của các phần tửđiều chỉnh được (CE) với các đầu ra được biểu diễn bằng các côngthức trong (hình 2.3d)
Trang 22Hình 2.3 Hộp cơ sở F 2/1 : (a) Trường hợp tổng quát; (b) Chi tiết; (c) Đại diện bởi cặp của hai thay thế 2x2; (d) Biểu thức mô tả mối quan hệ giữa đại diện b và c; (e) Hàm logic thay thế hộp P 2/1 ; (f) Sự khác nhau tương ứng với vi sai đặc trưng của phần tử F 2/1
Các đầu ra của hộp S1 có thể được mô tả bằng cặp các hàm logic (BFBoolean Function) theo 2 biến:
Các đầu ra của hộp S2 có thể được mô tả tương ứng như sau:
Các hàm f1(1), f2(1), f1(2), f2(2) xác định cặp các hàm Boolean theo babiến, và chúng đã mô tả đầy đủ về các trường hợp của phần tử điều chỉnhđược cơ sở
Nếu v =0 thì phần tử điều chỉnh được cơ sở (CE) thực hiện sự thay thế hộp S1
Nếu v =1 thì phần tử điều chỉnh được cơ sở (CE) thực hiện sự thay thế hộp S2
Nói cách khác bít điều khiển xác định việc lựa chọn của phép thaythế cơ sở hiện tại (Sự thay đổi của F2/1 là F2/1 (0) hoặc F2/1(1)) Các công thứcđược chỉ ra trong hình 2.3d mô tả việc lựa chọn sự thay thế trong trường
Trang 23hợp tổng quát với một phương án cụ thể Các công thức có thể được viết lạinhư sau:
Sử dụng một số cấu trúc mạng đã cho của hộp Pn/m và việc thay thếcác khối P2/1 bởi các phần tử của các kiểu khác nhau F2/1, chúng ta có thểthu được các thay đổi khác nhau của các hộp điều chỉnh Fn/m khi thực hiệncác biến đổi với các kiểu khác nhau, có nghĩa là trong các trường hợp tổngquát không bảo toàn trọng lượng của các vectơ nhị phân được biến đổi Mộthộp Fn/m không đồng nhất có thể được bao gồm việc sử dụng các hộp F2/1 cơ
sở với một vài kiểu khác nhau ví dụ mỗi tầng hoạt động có thể là một loạiF2/1 duy nhất Thông thường chúng ta xét các hộp Fn/m với cấu trúc khôngđổi được xây dựng lên nhờ sử dụng hộp F2/1 cơ sở với một kiểu duy nhất, vàcấu trúc hộp thay đổi sẽ được xây dựng nhờ sử dụng hai dạng của các phần
tử điều chỉnh được biểu diễn mối quan hệ nghịch đảo của F2/1 và F2/1 -1 Cáchộp Fn/m biểu diễn các dạng khác nhau của mạng chuyển vị - thay thế điềukhiển được(CSPN), được xây dựng nên sử dụng các phần tử điều chỉnhđược kích thước tối thiểu F2/1
Trong nhiều trường hợp, sử dụng phép toán Fn/m trong đó việc mã hoáhàm ý sử dụng hàm nghịch đảo của nó Fn/m-1 Hiển nhiên là bất kỳ phép toán hộpFn/m là nghịch đảo nếu phần tử F2/1 là nghịch đảo Biến đổi ngược có thể đượcxây dựng bởi việc hoán đổi đầu ra và đầu vào của hộp Fn/m đã cho và thay thếmỗi phần tử F2/1 bởi nghịch đảo của nó (Bằng việc thay thế các phần tử P2/1 bởi
F-1 2/1 trong cấu trúc mạng hộp P -1 n/m, chúng ta thu được hộp F -1 n/m ) Để xác địnhcấu trúc của quan hệ các phép toán đảo ngược được dễ dàng, có thể sử dụngphần tử điều khiển được cơ sở F2/1 bằng ánh xạ đối hợp điều chỉnh được cơ sở(cả hai biến đổi của F2/1(0) và F2/1(1) của các phần tử là các ánh xạ đối hợp) Hộp
Trang 24P2/1 là một trường hợp cụ thể của đối hợp điều chỉnh được cơ sở Trong phầntiếp theo, chúng ta chỉ ra rằng có 40 điều chỉnh được cơ sở đối hợp và 24 trong
số chúng được quan tâm nhiều hơn nó là cơ sở để mã hóa các bản dữ liệu gốcphù hợp với hơn với hộp P2/1
Phân loại các hộp F 2/1 (P 2/1 )
Để thực hiện phân loại các phần tử F2/1 và chọn chúng phù hợp hơncho các ứng dụng mã hoá, chúng ta cần chọn một số tiêu chuẩn chọn Sửdụng các khái niệm phi tuyến (NL nonlinear) theo hướng khoảng cách từtập của các hàm logic trong cùng số biến, các tiêu chuẩn sau đây được chọn
để chọn các phần tử phi tuyến thích hợp F2/1 cho việc thiết kế các hộp Fn/mcho các ứng dụng mã hóa:
1 Mỗi cặp đầu ra của các CE tồn tại một hàm logic phi tuyến cho phép tối đaphi tuyến thay chocác hàm logic cân bằng theo ba biến
2 Mỗi sự thay đổi của các phần tử điều khiển được là một biến đổi songánh (x1,x2) (y1,y2)
3 Tổ hợp tuyến tính của các cặp đầu ra của các phần tử điều chỉnh được,tức là f=y1y2, có thể thực hiện tối đa phi tuyến thay cho các hàm logiccân bằng theo ba biến
4 Mỗi sự thay đổi của các các phần tử điều chỉnh là một ánh xạ đối hợp
Việc chọn hai hàm logic cân bằng theo ba biến f1 và f2 với cácdạng khác nhau, chúng ta có thể có các biến đổi khác nhau của hộp các hộpđiều chỉnh được cơ sở F2/1 (hình 2.3b) Thực tế chỉ ra rằng chỉ có duy nhất
70 hàm logíc bằng nhau theo 3 biến (Mỗi một hàm logic được chứa trongmột bảng chân lý chúng biểu diễn bằng số của bit không và khác khôngđây là một cân bằng ổn định) Chúng ta quan tâm đến hàm logic cân bằngđược liên kết với việc đơn giản tìm kiếm vét cạn của tất cả các phần tử điều
Trang 25khiển được F2/1 có thể thực hiện nghịch đảo, mà có thể được sử dụng trongthiết kế của các hoán vị phụ thuộc dữ liệu (DDP Data DependentPermutation) có tính khả nghịch giống như biến đổi Như đã biết phép toánbiến đổi là song ánh nếu mỗi bít đầu ra của nó được mô tả bởi hàm logiccân bằng và tất cả các tổ hợp tuyến tính của các bit đầu ra cũng là các hàmlogic cân bằng Vì vậy, chúng ta cần xem xét tất các cặp hàm logic cânbằng khác nhau Số các cặp như vậy là 70x69=4830.
Ở đây chỉ có 24 kiểu hộp S khác nhau với kích thước 2x2 Vì vậy,
để thực hiện một tìm kiếm vét cạn, chúng ta cần xét 24x23=552 cặp khácnhau Phương pháp cuối cùng thích hợp nhất là việc xét tất cả các cặp hàmlogic cân bằng Để biểu diễn một số phần tử điều khiển được có thể mô tảchúng bằng cặp (S1,S2) bởi các biến đổi đơn giản nhất thể hiện bằng việclựa chọn để thay thế 2x2 sẽ tương ứng với chọn S1 khi v=0 và S2 khi v=1.trong thực tế nghiên cứu và ứng dụng cho thấy tồn tại 24 dạng khác nhaucủa các hộp S mà được quan tâm nhiều nhất được chỉ ra trong hình 2.4 Ví
dụ, phần tử chuyển mạch P2/1 có thể biểu diễn như phần tử (a,e)
Hình 2.4 Cách nhìn nhận cụ thể của tất cả các kiểu thực hiện của hộp S 2x2.
Trang 26Có 288 CE thoả mãn tiêu chuẩn 1 và 2 Tiêu chuẩn từ 1 đến 3 xác định
192 biến đổi khác nhau của các CE phi tuyến F2/1 96 phần tử khác bao gồm cácphần tử P2/1 là các tổ hợp tuyến tính ban đầu của các đầu ra f=y1y2 là mộthàm logic tuyến tính Tiêu chuẩn 1, 2 và 4 xác định 40 biến đổi khác nhau củacác phần tử điều chỉnh F2/1, 24 trong số đó thỏa mãn tiêu chuẩn 3 Có 40 dạngcủa phần tử điều chỉnh được mô tả các ánh xạ đối hợp điều chỉnh được cơ sở
Các đặc điểm vi sai (DC Differential characteristics sẽ xét cụ thểtrong phần 2.3.6) của các hộp Fm/n được định nghĩa bởi cấu trúc mạng củachúng và các đặc điểm vi sai của các hộp điều chỉnh cơ sở được sử dụngnhư các khối xây dựng chính trong khi xây dựng các hộp Fm/n Như mộttrường hợp tổng quát, vi sai thông qua các phần tử F2/1 được chỉ ra tronghình 2.3f Các đặc điểm vi sai của phần tử điều khiển được có thể được chiathành 6 nhóm (bảng 2.3) Đáng chú ý nhất chúng ta có hai kiểu của phần tửđiều khiển được phi tuyến, được biểu diễn bằng các phần tử Q2/1 và R2/1.Các phần tử điều khiển được tuyến tính (Z2/1) được chia vào trong 4 nhóm:Z2/1’, Z2/1’’, Z2/1*, Z2/1o Có thể thấy rằng các phần tử điều khiển được phituyến là khó dự đoán trước hơn các phần tử điều khiển được tuyến tính.Nếu một phần tử điều khiển được thuộc tập của các phần tử Q2/1(R2/1) thìnghịch đảo của chúng cũng thuộc tập đó Điều này chỉ ra rằng quan hệnghịch đảo của các phần tử điều khiển được với kiểu Q2/1 và R2/1 tương ứngvới quan hệ nghịch đảo Fm/n và Fm/n-1 của hộp cơ bản trên cơ sở các thuộctính tương tự như các bản mã hoá gốc Phần tử chuyển mạch cơ sở P2/1 làmột phần tử của tập con Z2/10, có nghĩa là P2/1 thuộc {Z2/10} Vì vậy đưa ra sựcác định nghĩa phân loại các thuộc tính như sau:
Nếu F2/1 {Q2/1} thì F2/11 {Q2/1}
Nếu F2/1 {R2/1} thì 1 { 2/1}
1 /
Trang 27Nếu F2/1{Z*2 / 1}{Z02 / 1} thì F12 / 1{Z*2 / 1}{Z02 / 1}
Nếu F2/1{Z'2 / 1}{Z''2 / 1} thì F12 / 1{Z2/1}{Q2/1}{R2/1}
Tất cả các phép ánh xạ đối hợp của điều chỉnh cơ sở F2/1 được biểudiễn trong phần trên bên trái của bảng 2.4 mô tả sự phân loại của các phần
tử điều khiển được tương ứng với tiêu chuẩn lựa chọn được sử dụng Trong
40 ánh xạ đối hợp F2/1, chúng ta có tám ánh xạ đối hợp Q2/1, 16 ánh xạ đốihợp của R2/1, 16 của Z2/1 Tập con cuối cùng biểu diễn tuyến tính các điềuchỉnh được cơ sở của ánh xạ đối hợp, trong đó chúng ta có hai biến đổi thựchiện các phần tử chuyển mạch P2/1 và P2/1 ’, được biểu diễn lần lượt giốngnhư là cặp (a,e) và (e,a) Ánh xạ đối hợp điều chỉnh được phi tuyến F2/1được mô tả trong bảng 2.5
Trang 28Bảng 2.4 các phần tử điều khiển hiện tại thoả mãn các tiêu chuẩn lựa chọn
e
Trang 29Bảng 2.5 Toàn bộ tập hợp của điều khiển đối hợp phi tuyến cơ bản
Trang 30 Tập con của các hộp U2/1 với một đầu ra tuyến tính
Việc xem xét các hộp F2/1-1 nó là nghịch đảo của các CE phi tuyếnR2/1, Q2/1 và Z2/1{Z*2 / 1}{Z02 / 1}, chúng ta đã chứng minh rằng các phần tửF2/1-1 có quan hệ cùng kiểu như F2/1 Một ngoại lệ làm chúng ta quan tâmtương ứng với tập con {Z'2 / 1}{Z''2 / 1} Nghịch đảo F'-1 2/1 của phần tử F
}{
Tính chất riêng của các phần tử Z2/1‘ là các bit hoạt động của vi saitại đầu vào điều khiển ảnh hưởng tiền định đến sự khác nhau đầu ra Khôngphần tử nào trong số các phần tử F”2/1{Q2/1}{Z”2/1}{
1 / 2
Z } có thể cóthuộc tính như vậy (các phần tử Z2/1* có thuộc tính như vậy nhưng chúng ítđược sự quan tâm vì các DC thuần túy của chúng) Vì vậy, với một số xácsuất, CSPN trên cơ sở các phần tử F2/1” giữ lại đầu ra vi sai của chúng trongkhi một vi sai khác không được nạp vào đầu vào điều khiển Việc xem xétphân tích các thuật toán Cobra – H64 và DDP – 64, chúng ta xem trongthực tế có thể được sử dụng để tìm các DC với xác xuất cao Vì vậy, một sốthiết kế của các mã khối có thể có hiệu quả hơn khi vi sai khác không đượcnạp vào đầu vào điều khiển Trong các cấu trúc khác của mã khối lặp lại,
Trang 31các hộp nghịch đảo được sử dụng thể hiện quan hệ qua lại giữa Fm/n và 1
/
m
n
F vì vậy trong các thiết kế, sử dụng CSPN cơ bản trên cơ sở các phần
tử Z2/1’, chúng ta cũng sử dụng CSPN trên cơ sở các phần tử U2/1 Bên cạnh
đó, việc xây dựng các hộp đối xứng trên cơ sở các phần tử Z2/1’ cũng yêucầu sử dụng thêm các phần tử U2/1 Vì vậy các phần tử U2/1 cũng được quantâm như bản mã hoá gốc Tập con {U2/1} và các DC chính của các phần tử U2/1được trình bày trong bảng 2.6
Trong phần sau, chúng ta sẽ xem xét các thuộc tính thống kê củacác hộp Fm/n trên cơ sở các kiểu khác nhau của các CE Các kết quả chỉ rarằng loạt tốt nhất được gây ra bởi việc thay đổi các bit đầu vào tương ứngvới trường hợp của các CSPN trên cơ sở các phần tử U2/1 và Q2/1 Vì vậy,các phần tử U2/1 là đủ hữu ích như bản gốc cho việc xây dựng các biến thểkhác nhau của các DDO
2.3.2 Thiết kế các mạng hoán vị
Trong phần này chúng ta sẽ xét đến ứng dụng mật mã của cácPN(Permutation Network), chúng ta có thể gọi chúng là các hộp điều khiểnhoán vị(CPB controlled permutation boxes) CBP được sử dụng trong thựchiện các điều khiển hoán vị CP(controlled permutation) trên các vector nhị
phân Cho Pn/m biểu diễn một CPB với n bit đầu vào và m bit điều khiển
CPB có cấu trúc thông thường là sử dụng các phần tử chuyển đổi cơ sở P2/1
Trang 32tương tự như xây dựng các khối cơ sở Với mỗi hộp P2/1 được điều khiển
bằng một bít v , và có thể v =0 hoặc chuyển về v =1 với cặp bit đầu vào
1
x và x2 Trong các tài liệu khác, định dạng phần tử chuyển đổi cơ sở ởthông qua cặp giá tri bít đầu ra ( y1,y2 ), ở đây y1=x1v và y2= x2v Mỗi hộp là một tầng mạng và có thể miêu tả trong (Hình 2.5) tương tự nhưnguyên lý xếp chồng
) ( 1 2
) 2 ( 1 ) 1 ( ) (
s V
V V
1 , , , s
là các hoán vị cố định V (V1,V2,…V s) là vector điều
khiển của hộp Pn/m Thực hiện hoán vị điều chỉnh được với hộp Pn/m có thể
sử dụng mô tả một tập hợp sắp xếp của các biến đổi { 0 , 1 , 2m1}, ởđây mỗi biến đổi i, i = 0,1,2,…, 2m-1, là các hoán vị cố định của một sốtập hợp của n bit Hoán vị i (hoặc Pi) sẽ được gọi là biến đổi CP
Hình 2.5 Chú giải của P 2/1 (a) và hộp P n/m (b), cấu trúc của một tầng hoạt động (c), và cấu trúc tổng quát của một phân tầng các hộp CP.
Cài đặt với phép toán CP ( ) ( )
V m n
P gồm có thực hiện hoán vị V trênX:Y= ( )
Trang 33Định nghĩa 2.1 Giả sử một P n/m là CPB đã cho Mỗi 1
/
m n
P được gọi là
nghịch đảo của hộp P n/m nếu cho tất cả V, tương ứng với các biến đổi hoán
vị điều khiển P V và 1
V
P là nghịch đảo của nhau.
Định nghĩa 2.2 Giã sử rằng cho bất kỳ h n bit đâu vào {x1 ,x2 , ,xh}và bất kỳ h bit đầu ra {y1,y2, ,yh}, Ở đây chúng là những giá trị tối thiểu
của vevtor điều khiển V, mà theo lý thuyết mỗi hộp CP hoán vị, P V di chuyển
từ xi tới yi cho tất cả i= 1,2,…, h Khi đó hộp P n/m được gọi là một hộp CP
có bậc h.
Mỗi tầng hoạt động có thể được xem như là một tầng đơn của hộp
CP, Ln có n bit đầu vào và được miêu tả sự nối tầng của n/2 phần tử chuyển đổi cơ sở Nó là hiển nhiên P2/1= 1
1 / 2
P làphép biểu diễn của biến đổi ngược tương ứng với biến đổi trực tiếp Pn / m.Theo đó hộp CP nghịch đảo sẽ có cấu trúc:
) 1 ( 1 1
1 2 ) 1 ( 1 1 ) ( )
(
s
Vs n s
Vs n
V m
P : V (V1,V2,…V s) Cho phần tử chuyển đổi trong
hộp Pn/m (hoặc 1
/
m n
P ) được đánh số liên tục từ trái qua phải và từ trên xuống
dưới(hoặc từ dưới lên trên) Khi đó bít thứ i của vector điều khiển của V ,
hộp thứ i là cơ sở trong các hộp Pn/m và 1
/
m n
Trang 34Hình 2.6 Cấu trúc đệ quy của dạng thứ nhất(a) và dạng thứ hai
(b): cấu trúc của hộp P 2n/2m+n (a) và 1
2 / 2
n m n
Việc lựa chọn các biến đổi khác nhau của hoán vị cố định, chúng ta
có thể định nghĩa các dạng khác nhau của hộp CP đã cho với các giá trị n
và m (m=ns/2) Bắt buộc chúng ta phải xét tới n=2k trường hợp, ở đây k là một
số tự nhiên Hình 2.6a biểu diễn một biến đổi của cấu trúc đệ quy thuộc một sốlớp của hộp CP với cấu trúc của một phân tầng Cấu trúc này gọi là cấu trúc đệ
quy của dạng thứ nhất Nó cho phép tạo ra hộp P2n/2m+n thuộc bậc nhất từ hai
hộp Pn / m thuộc 1 h n và thêm vào một tầng với n hộp P2/1 Bắt đầu với n=2
và m=1 chúng ta có liên tiếp cấu trúc hộp CP kế tiếp thuộc bậc nhất P4/4 , P8/12,
P16/32, P32/80, P64/192 và nhiều hơn nữa Trong các phương pháp tương tự, sử dụngcấu trúc hồi quy thuộc kiểu thứ hai (thấy trong hình 2.6b), chúng ta có thể cóhộp CP 1
2 /
2
n m n
P từ hai hộp 1
/
m n
P và n hộp P2 / 1 Nó thật dễ dàng thấy rằng vớin=2k số nhỏ nhất của các tầng trong một phân tầng các hộp CP của bậc nhất làs=log2n
Một ví dụ khác của cấu trúc đệ quy được biểu diễn trong hình 2.7a.Trong trường hợp này nó được biểu diễn thông qua một hộp CP có bậc là
2h được xây dựng từ hai hộp Pn/m có bậc h và cộng thêm hai tầng Pn/m.
Trang 35Hình 2.7b tương ứng với cấu trúc đệ quy của hộp P4n/(4m+8n) có bậc 4h sử dụng hộp Pn/m có bậc h Theo đó cấu trúc đệ quy được định nghĩa bởi cấu
tạo biểu diễn ở (hình 2.7a) cho phép nhân đôi bậc ở bên trong các hộp Pn/m
Statement Mỗi bước của cặp cấu trúc đệ quy dạng thứ ba có bậc
nhỏ nhất là min{ h , h'} thuộc bên trong hai hộp P n/m và '
một nửa còn lại tới đầu vào của hộp '
thuộc hộp P2n/(2m+n) Ở đây là đơn giản, nhưng không phải là chính thức.
Do vậy hệ quả hộp P2n/(2m+2n) có bậc h" =2min{h , h'} Bắt đầuvới n=2 và m=1 và sử dụng cơ cấu đệ quy của dạng thứ ba, biểu diễn tronghình 2.7, do vậy sẽ có có cấu trúc liên tục dãy các hộp CP kế tiếp có bậclớn nhất (h n) P4/6 , P8/20, P16/56, P32/144, P64/352 và nhiều hơn nữa Chú ýtrong cấu trúc đệ quy dạng thứ ba chúng ta thêm hai tầng hoạt động vớikích thước phù hợp ở mỗi bước Ở đây có thứ i bước, hai tầng L2i 1(mộttrên và một dưới) là hai tầng được thêm vào Số của tầng đó là cần tìm thỏamãn cấu trúc bậc lớn nhất hộp CP là s=log2n – 1 Nó là một ghi nhận quan
Trang 36trọng mà ở đây bậc lớn nhất của hộp có cấu trúc mạng đối xứng gương.Cấu trúc đối xứng tồn tại thường được sử dụng trong thiết kế hoán vị DDPcủa mã khối lặp Trong trường hợp tổng quát bậc của hộp h n là khôngđối xứng, nhưng thay cho các giá trị đặc biệt của n và h (h n) nó có thể
theo hướng cấu trúc các hộp Pn/m có cấu trúc đối xứng gương.
Chúng ta có thể thấy ở đó có thể tồn tại cấu trúc các hộp CP gồm cóbậc h=1,2,…,n/4 sử dụng số tầng hoạt động s= log2nh Thật vậy trong một
số hộp có bậc lớn nhất, Pn/m bắt buộc phải là mạng đệ quy thứ ba, chúng ta
có thể bỏ hết các tầng thấp, L 4 tương ứng với bước thứ nhất của cấu trúc đệ
quy Ở đây cho hộp CP Pn/m’ gồm có bậc h=n/4 Bỏ tất cả các tầng thấp L8
tương ứng với bước thứ hai của cấu trúc đệ quy, chúng ta có được một hộp
CP, Pn/m” gồm có bậc h=n/8 Tương tự chúng ta có được các hộp CP với n
bit đầu ra trong đó bậc h=n/8,n/16,…,1 Ở đây bước cuối cùng, chúng ta có
được cấu trúc liên kết tương ứng với dạng đệ quy thứ nhất Chú ý rằng đốivới một giá trị đã cho của n bit trong hộp CP gồm có bậc h 1 n/ 4 và h 2 n,
số tầng hoạt động sẽ là s1 và s2 s1 1 Như vậy cấu trúc của các hộp CP
giồng như mật mã hoán vị, bậc của chúng có thể là h=1,2,…,n/4,n.
Sử dụng cấu trúc đệ quy của ba dạng chung ta xét trước đây, chúng
ta có được cấu trúc mạng với đối xứng gương duy nhất cho các CPB có bậclớn nhất Trường hợp mạng đối xứng được đặc biệt quan tâm, bởi vì trongtrường hợp này các hộp CP nghịch đảo lẫn nhau giữa Pn / m và 1
/
m n
P phânbiệt duy nhất trong phân chia của các bít điều khiển, tức là hộp Pn / m thựchiện hai hoán vị nghịch đảo của nhau cho cặp giá trị tiếp theo của vectorđiều khiển V (V1,V2,…V s) và V (V s,V s1,…V1) tức là đổi chỗvector nhị phân V si 1 và V i cho i=1,2,…,[s/2], chúng ta có được CPB
nghịch đảo 1
/
m n
P từ hộp Pn / m Với giá trị đặc biệt của n và h<n, ngoài ra nó
có thể hướng tới cấu trúc Pn / m CPB với mạng đối xứng Cho ví dụ, nó rất
Trang 37dễ để thiết kế các mạng đối xứng đại diện là: (1) bốn tầng CPB P16/32 của bậc 1; (2) sáu tầng CPB P32/96 của bậc hai; (3) sáu tầng CPB P64/192.
Hình 2.7 Cấu trúc đệ quy của dạng thứ ba: cấu trúc của các hộp
P 2n/(2m+2n) (a) và hộp P 4n/(4m+8n)
Trong một số trường hợp ta cần hướng tới thực hiện các phép toánDDP cho tất cả hoán vị điều chỉnh bởi các ánh xạ đối nghịch Các phéptoán có thể được thực hiện với các hộp CP với từng dãy (1) hoặc (2) hoặccấu trúc song song Cấu trúc thứ nhất được biểu diễn trong hình 2.8a Nó
mô tả xếp chồng 1
/ /
m n m
P được điều khiển với vector
điều khiển tương ứng Với giá trị V cố định bất kỳ, CPB thực hiện In / m
với hoán vị cố định V có các cấu trúc vòng tương ứng tương
tự như hoán vị cố định Theo tổng quát với các giá trị khác nhau V của
các biến đổi khác nhau, V là công cụ trọn vẹn chúng ta có cấu trúc các
Trang 38vòng tương ứng Nếu là một hoán vị đối hợp, khi đó tất cả các biến đổi
m n m
P
/ /
m n m
P
/ /
m n m
P
/ /
m n m
m n m
m n m
n P
= O
Ở đây O là một hoán vị đồng nhất; tức là xem xét sự xếp chồng
biểu diễn một điều khiển hoán vị đối hợp Nếu là một vòng hoán vị cốđịnh, khi đó tất cả các biến đổi V là một vòng hoán vị cố định, và theotổng quát V là khác hoàn toàn với V Bởi vì nó là dãy cấu trúc, dạng này
của điều khiển đối hợp chỉ rõ gấp đôi của thời gian giữ chậm của hộp điều
khiển In/m trong so sánh với hộp Pn / m Từ đó có giá trị thời gian giữ chậm
là nhỏ nhất, cấu trúc song song của điều khiển đối hợp được sử dụng,chúng được biểu diễn trong hình 2.8b Trong cấu trúc thứ hai, cặp quan hệnghich đảo của các hộp CP là Pn / m và 1
/
m n
P nối ghép thành một tầng, bộlặp Pn / m || 1
/
m n
P bởi các phép toán biến đổi T Như vậy chúng ta có liên tiếp hoán vị điều khiển đối hợp: I2n/m=( Pn / m || 1
/
m n
kỳ giá tri V cố định chúng ta có:
P )T) (( Pn / m || 1
/
m n
P )) ((Pn / m|| 1
/
m n
P ) (Pn / m || 1
/
m n
Thiết kế mạng song song của điều khiển đối hợp sẽ sử dụng về sautrong khi tạo ra các dạng khác nhau của mật mã hoán vị
Trang 39Hình 2.8 Two design variants of the controlled permutational
involutions: serial (a) and parallel (b) structures.
2.3.3 Các cấu trúc mạng đối xứng
Cấu trúc thông thường của CSPN trên cơ sở các phần tử F2/1 có thểđược biểu diễn như sự chồng của một số tầng hoạt động và các chuyển vị
cố định, như trong trường hợp của các hộp CP Vì vậy, bằng việc giới hạntầng hoạt động, chúng ta hiểu một tầng của các phần tử F2/1 được thực hiệnsong song trên các bit dữ liệu Thông thường, các tầng hoạt động bao gồm
n=2 z các phần tử được điều chỉnh, trong đó z là một số tự nhiên Chúngđược biểu diễn như L, Ln,L(z) Cấu trúc chung của một số hộp Fm/n và cácnghịch đảo của nó có thể nhận được dễ dàng từ cấu trúc chung của các hộpPm/n và Pm/n-1 Định nghĩa về thứ tự các hộp DDO có thể được mở rộng theocách sau:
các khối xây dựng chuẩn được gọi là một thứ tự h nếu nó có cùng cấu trúc mạng của các kết nối giữa các tầng hoạt động như một số hộp CP của thứ tự h.
Trang 40Do vậy việc xây dựng ba cấu trúc đệ quy chúng ta có thể thấy ởhình 2.6a, 2.6b và hình 2.7 và các cấu trúc mạng khác của các hộp CP cóthể được sử dụng để xây dựng các hộp Fm/n của các thứ bậc khác nhau Cáccấu trúc mạng có biểu diễn đối xứng gương được quan tâm đáng kểt choviệc thiết kế các mã khối lặp lại Trong khi xem xét các hộp Fm/n, chúng tađưa vào các phép tính thực tế, các phần tử F2/1 là không đối hợp Vì vậy,trong các cấu trúc mạng đối xứng chúng ta nên sử dụng ít nhất hai biến đổikhác nhau của các phần tử F2/1 (trong một số trường hợp, các CE này có thểtương ứng với các kiểu khác nhau) nếu chúng không là các ánh xạ đối hợp.Chúng ta định nghĩa các hộp đối xứng Fm/n như sau:
với tất cả j=1,…,s-1 có các mối quan hệ sau: L j =(L s-j+1 ) -1 (hoặc L j =L s-j+1
đối xứng nếu với tất cả j=1,…,s-1 có các mối quan hệ sau: V j =V s-j+1 trong
đó j biểu diễn số tuần tự của các tầng hoạt động trong hộp F m/n s tầng.
Nếu số các tầng hoạt động là lẻ thì trong một hộp đối xứng tầngLs/2+1 là một ánh xạ đối hợp, nghĩa là các CE được tạo ra là các các ánh xạđối hợp Nếu hộp Fm/n có cấu trúc đối xứng bao gồm các phần tử F2/1 không
là ánh xạ đối hợp thì nó cũng bao gồm ít nhất một phần tử F2/1-1 Nếu trongcác hộp Fm/n chúng ta có số tầng hoạt động lẻ thì nó bao gồm ít nhất ba biếnđổi khác nhau của các CE: F2/1 và F2/1-1 và các ánh xạ đối hợp được điềuchỉnh cơ sở Trong ứng dụng của mã hóa Cobra – H64 và DDP – 64 cũng
đã sử dụng hộp P32/96 là cấu trúc đối xứng Việc thay thế trong các hộp nàytất cả các phần tử chuyển mạch bởi các ánh xạ đối hợp điều chỉnh đượcR2/1, Q2/1, Z2/1 hoặc U2/1 cùng loại, chúng ta có các kiểu khác nhau của các