1. Trang chủ
  2. » Công Nghệ Thông Tin

Kiến trúc mã hóa khối và AES

14 388 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 14
Dung lượng 473,39 KB

Nội dung

Chương Kiến trúc mã hóa khối AES Tóm tắt chương: $ Nội dung chương trình bày vấn đề sau: % Giới thiệu phân tích trình phát triển kiến trúc thuật toán mã hóa khối, xuất phát từ ý tưởng C Shannon đến kiến trúc mạng Feistel [31], kiến trúc mạng thay - hoán vị (SPN [43]), chiến lược vết rộng (wide trail strategy [20]) Từ đó, đến kết luận XAES bước tiếp nối kiến trúc mã hóa khối với thuật toán mã hóa cụ thể % Trình bày phân tích thuật toán mã hóa khối tựa-Rijndael mở rộng đề xuất, từ rút kết luận hướng tiếp cận việc tạo thuật toán tựa-Rijndael phiên mở rộng % Trình bày thuật toán AES phân tích hướng tiếp cận việc tổng quát hóa thành phần AES để xây dựng XAES 1.1 Từ kiến trúc thuật toán mã hóa khối đến XAES 1.1.1 Kiến trúc thuật toán mã hóa khối Trong viết “Communication Theory of Secrecy Systems” xuất năm 1949, C Shannon đề xuất phương án tổng quát để xây dựng thuật toán mã hóa khối an toàn cách sử dụng kết hợp thao tác mã hóa tạo tính hỗn loạn tính khuếch tán thông tin [78] • Tính hỗn loạn giúp phá vỡ mối quan hệ rõ mã, tạo mối quan hệ phức tạp chặt chẽ khóa với mã • Sự khuếch tán giúp phá vỡ phân tán phần tử mẫu xuất rõ để phát mẫu mã Ý tưởng Shannon xem phương án tổng quát cho việc xây dựng thuật toán mã hóa khối đại Xuất phát từ ý tưởng Shannon, số kiến trúc mã hóa khối đề xuất Trong số đó, mạng Feistel [31] mạng thay - hoán vị (Substitution-permutation-network - SPN) [43] hai kiến trúc mã hóa khối sử dụng phổ biến việc tạo thuật toán mã hóa khối đại 1.1.2 “Chiến lược vết rộng” Chiến lược “Wide Trail Strategy”, tạm dịch “chiến lược vết rộng”, J Daemen đề xuất [19] phân tích chi tiết [20][21] “Chiến lược vết rộng” đề xuất để cụ thể hóa cách xây dựng lớp thuật toán mã hóa khối theo kiến trúc SPN Trong chiến lược vết rộng, tác giả đề xuất kiến trúc trừu tượng cho thuật toán mã hóa khối dựa kiến trúc SPN, đồng thời chứng minh cách xác định giới hạn để kiểm tra tính an toàn phương pháp công cho thuật toán xây dựng theo chiến lược vết rộng Thuật toán mã hóa tham số hóa XAES mà đề xuất xây dựng dựa chiến lược vết rộng Do đó, phần đây, trình bày tóm tắt thành phần chiến lược Trong chiến lược vết rộng, rõ chia thành khối liệu có kích thước cố định Mỗi khối mã hóa với khóa k cho trước tạo khối có kích thước Quá trình mã hóa gồm Nr chu kỳ biến đổi Trong chu kỳ r, (1 ≤ r ≤ Nr ), khóa chu kỳ, ký hiệu kr, phát sinh từ khóa k thông qua hàm sinh khóa KeySchedule Mỗi chu kỳ mã hóa r (1 ≤ r ≤ Nr ) gồm bước xử lý: • Biến đổi độc lập khóa (ký hiệu ρ r ): gồm số biến đổi bool độc lập khóa, • Cộng khóa (ký hiệu σ ): bit trạng thái khối liệu mã hóa XOr với bit tương ứng khóa kr chu kỳ r Trong chiến lược vết rộng, thuật toán mã hóa C sử dụng khóa k bắt đầu thao tác cộng khóa, Nr chu kỳ mã hóa C[k] = σ [k Nr ] ! ρ Nr ! σ [k Nr −1 ] ! ρ Nr −1 ! … ! σ [k1 ] ! ρ ! σ [k ] (1.1) Đặt ζ r [k r ] = σ [k r ] ! ρ r thủ tục mã hóa chu kỳ r, thuật toán mã hóa C với khóa k biểu diễn lại sau: C[k] = ζ [k Nr ] ! ζ [k Nr −1 ] ! … ! ζ [k1 ] ! σ [k ] 10 (1.2) Phép biến đổi độc lập khóa ρ r xây dựng cách kết hợp hai thao tác biến đổi khả nghịch sau: • ϕ: phép thay phi tuyến cục Tính chất cục ϕ hiểu bit đầu vào (và bit đầu ra) xử lý cục theo nhóm gồm m bit [20] • λ: phép biến đổi trộn tuyến tính có khả tạo tính khuếch tán cao sau số chu kỳ mã hóa Tính chất phân tích chi tiết phần 3.2 So với kiến trúc SPN, chiến lược vết rộng tiến thêm bước việc cụ thể hóa cách xây dựng thuật toán mã hóa khối Tuy nhiên, chiến lược vết rộng dừng lại mức trừu tượng Trong chiến lược chưa nêu cách cụ thể để xây dựng thành phần mã hóa, ví dụ hàm KeySchedule để phát sinh khóa cho chu kỳ từ khóa k cho trước, hàm biến đổi độc lập khóa (ϕ λ) Mỗi nhóm nghiên cứu mật mã tự đề xuất cách xây dựng cụ thể thành phần để gắn vào khung thuật toán tổng quát Giải thuật Rijndael thuật toán cụ thể thực hóa thành công chiến lược vết rộng Ngoài ra, có nhiều thuật toán mã hóa khối khác đề xuất sở cụ thể hóa chiến lược vết rộng Các thuật toán giới thiệu phân tích phần 1.2-Các thuật toán mã hóa khối tựa-Rijndael 1.1.3 Chiến lược vết rộng XAES Thuật toán XAES đề xuất theo hướng tiếp cận nhằm thực hóa chiến lược vết rộng Chúng định tổng quát hóa cách xây dựng thành phần mã hóa Rijndael để gắn vào khung tổng quát chiến lược vết rộng thành phần mã hóa thuật toán Rijndael chuyên gia mật mã nghiên cứu nhiều năm gần tính chất quan trọng thành phần khảo sát phân tích kỹ Tất thành phần mã hóa XAES không dừng lại mức trừu tượng chiến lược vết rộng mà đặc tả chi tiết cách xây dựng Tuy nhiên, mục tiêu việc đề xuất XAES xây dựng thuật toán mã hóa cụ thể theo chiến lược vết rộng thuật toán trình bày phần 1.2.1 mà nhằm đề xuất phương pháp cụ thể để tạo lớp thuật toán mã hóa khối theo chiến lược vết rộng Vì thế, đề xuất việc tham số hóa thành phần mã hóa XAES 11 So với chiến lược vết rộng, XAES tiến thêm bước việc cụ thể hóa cách xây dựng lớp thuật toán mã hóa khối Trong XAES, cách xây dựng xử lý thành phần mã hóa tham số hóa nên chứng minh công thức tổng quát cho độ an toàn XAES phương pháp phân tích mã Trong đó, với chiến lược vết rộng nói riêng kiến trúc thuật toán mã hóa nói chung, thành phần mã hóa đề xuất mức trừu tượng nên cần phải chứng minh tính an toàn thuật toán cụ thể So với thuật toán mã hóa cụ thể, XAES có mức độ trừu tượng cao Với thuật toán cụ thể, việc chứng minh tính an toàn phương pháp phân tích mã thực với giá trị cụ thể Đối với XAES, tính an toàn phương pháp phân tích mã chứng minh tổng quát, không phụ thuộc vào giá trị cụ thể tham số mà sử dụng tính chất, ràng buộc tham số Có thể xem XAES cầu nối chiến lược trừu tượng với giải thuật mã hóa cụ thể Tập hợp thể XAES tập (vô hạn) tập hợp thuật toán mã hóa khối xây dựng theo chiến lược vết rộng 1.2 Các thuật toán mã hóa khối tựa-Rijndael mở rộng 1.2.1 Các thuật toán mã hóa khối tựa-Rijndael Trong phần này, trình bày phân tích điểm tương đồng khác biệt Rijndael với số thuật toán mã hóa khối tựa-Rijndael, bao gồm GrandCru [8], Khazad [91], Anubis [3] Trong thuật toán này, tác giả tái sử dụng, phần hay toàn bộ, số thành phần mã hóa AES Các thành phần lại thay thành phần tương đương tính thỏa mãn số tiêu chí riêng Trong thuật toán GrandCru, kích thước khối kích thước khóa giữ nguyên 128 bit thuật toán Rijndael sử dụng lại hàm phát sinh khóa Rijndael Điểm khác biệt thuật toán GrandCru Rijndael việc thay thao tác không sử dụng khóa Rijndael thao tác sử dụng khóa 12 Đối với Anubis, mục tiêu giảm tối đa khác biệt quy trình mã hóa với quy trình giải mã để tái sử dụng thành phần module mã hóa việc giải mã, nhằm tiết kiệm chi phí cài đặt phần cứng Do đó, Anubis tái sử dụng toàn cấu trúc thuật toán Rijndael thay thành phần quy trình mã hóa thành phần tương đương có tính chất xoắn (biến đổi f miền D gọi có tính chất xoắn f (f (x )) = x, ∀x ∈ D ): • Biến đổi MixColumns Anubis tạo cách thay mã MDS [8,4,5] Rijndael mã MDS [8,4,5] khác cho biến đổi MixColumns có tính xoắn • Biến đổi ShiftRows Anubis thay phép chuyển vị ma trận vuông, đảm bảo tính chất phân tán tất byte cột khối liệu sang cột khác • S-box Anubis có tính xoắn xây dựng với cấu trúc đệ quy Mặc dù S-box tính chất mật mã tối ưu S-box Rijndael (được xây dựng dựa ánh xạ nghịch đảo GF(28)) kết hợp với thành phần mật mã khác Anubis đảm bảo độ an toàn phương pháp phân tích mã sai phân tuyến tính Thuật toán Khazad hỗ trợ kích thước khối 64 bit kích thước khóa 128 bit Tương tự Anubis, Khazad hướng đến việc giảm thiểu khác biệt quy trình mã hóa với quy trình giải mã Do đó, thuật toán Khazad sử dụng S-box xoắn xây dựng theo cấu trúc đệ quy để thay S-box Rijndael, đồng thời thay mã MDS [8, 4, 5] Rijndael mã MDS [16, 8, 9] Từ phân tích đây, rút số kết luận sau: • Có thể tạo thuật toán mã hóa khối đáp ứng số yêu cầu hay tiêu chí cách thay số thành phần mã hóa thành phần có tính tương đương thỏa mãn yêu cầu hay tiêu chí • Để đáp ứng yêu cầu hay tiêu chí mới, thành phần mã hóa chọn không phải đạt ngưỡng tối đa tính chất mật mã Ví dụ 13 để thỏa mãn tính xoắn, S-box Anubis Khazad không đạt giá trị tối đa mức đồng sai phân [69] S-box Rijndael Vấn đề thành phần mã hóa chọn, kết hợp với thành phần khác, qua nhiều chu kỳ mã hóa, đảm bảo tính an toàn cho hệ mã phương pháp phân tích mã • Có nhiều cách khác để tạo thành phần quy trình mã hóa/giải mã mà đảm bảo vai trò tính chất thành phần hệ mã Điều cho phép tạo biến thể thuật toán gốc mà đảm bảo tính an toàn thuật toán gốc Cùng với thuật toán tiền thân Rijndael, bao gồm Shark [90] Square [18], thuật toán tựa-Rijndael GrandCru, Khazad Anubis thành viên họ thuật toán mã hóa tựa-Rijndael Các thuật toán cụ thể tạo từ giải thuật XAES thành viên họ thuật toán Tập hợp thể XAES tập (vô hạn) họ thuật toán mã hóa tựa-Rijndael 1.2.2 Các mở rộng AES Cấu trúc AES chuyên gia lĩnh vực mật mã quan tâm số mở rộng AES đề xuất Tuy nhiên, hầu hết công trình xuất phát từ góc độ phân tích mã: phiên mở rộng đề xuất nhằm phục vụ việc tìm hiểu tính chất bên cấu trúc AES với hi vọng khai thác tính chất việc công AES: • Trong thuật toán BES [68] Murphy Robshow đề xuất, tất thao tác mã hóa thực GF(28) nhằm đơn giản hóa việc khảo sát hoạt động thuật toán (trong AES sử dụng kết hợp thao tác GF(28) với thao tác GF(2)8) • Các mở rộng với kích thước nhỏ AES đề xuất [13] nhằm khảo sát kiến trúc tương tự AES kích thước nhỏ, hướng đến khả thể dạng tham số tính chất AES với hi vọng áp dụng để công AES 14 • Monnerat Vaudenay đề xuất hai mở rộng CES Big-BES [66] nhằm phản bác việc đề xuất BES Theo Monnerat Vaudenay, kết khảo sát dựa BES có ảnh hưởng đến việc công AES Trong luận án này, tập trung nghiên cứu cấu trúc AES từ góc độ xây dựng họ thuật toán mã hóa khối tựa-Rijndael Các thể với kích thước nhỏ XAES dùng thiết bị ubiquitous hay thiết bị cảm ứng, đồng thời sử dụng việc khảo sát tính chất AES phục vụ phân tích mã Các thể với kích thước lớn dùng tương lai đòi hỏi độ dài khóa tăng 1.3 Từ AES đến XAES Trong phần đây, trình bày phân tích thuật toán AES để nêu lên hướng tiếp cận việc mở rộng AES thành XAES Đầu tiên, trình bày cấu trúc biến đổi AES Sau đó, phân tích đề xuất giải pháp dựa AES để tạo thuật toán tham số hóa XAES Phần đặc tả chi tiết thuật toán XAES trình bày chi tiết Chương 1.3.1 Biểu diễn khối khóa AES thuật toán xử lý byte, liệu xử lý theo nhóm gồm m =8 bit Mỗi byte xem phần tử trường Galois GF (28) xác định đa thức bất khả quy μ (x ) = x8 + x + x3 + x + Trường Galois xác định μ (x ) gọi trường Galois Rijndael [17] Khi thay μ (x ) đa thức bất khả quy khác tạo thuật toán đối ngẫu Rijndael [4] Hai thuật toán đối ngẫu hoàn toàn tương đương tính chất mật mã [4][92] Trong Rijndael, khối liệu có kích thước 128, 192, 256 bit; khóa có kích thước 128, 192 256 bit Trong AES, NIST giới hạn lại kích thước khối 128 bit Trong phạm vi luận án này, thuật ngữ AES Rijndael dùng để thuật toán, trường hợp cần nhấn mạnh khác biệt AES Rijndael, ghi rõ nội dung trình bày 15 Mỗi khối liệu biểu diễn ma trận × Nb byte với Nb = 4, hay Mỗi vector gồm byte xem từ, đó, khối xem vector gồm Nb từ Khóa biểu diễn ma trận × Nk byte vector gồm Nk từ với Nk =4, hay Để tham số hóa cấu trúc cho XAES, kế thừa ý tưởng sử dụng tham số m chiến lược vết rộng [19] để thể số lượng bit cho nhóm liệu xử lý, đồng thời, đề xuất thêm tham số Nw số nhóm (m bit) từ Như vậy, tương ứng với hai đơn vị liệu AES byte (nhóm bit) từ (vector gồm byte), sử dụng hai tham số cấu trúc cho XAES sau: • số lượng bit nhóm, ký hiệu m, • số lượng nhóm (m bit) từ, ký hiệu Nw Tham số m cho phép XAES tương thích với hệ thống không sử dụng đơn vị liệu byte, ví dụ thiết bị cảm ứng 4-bit Trong ứng dụng thực tế nên chọn giá trị m ≥ để thuật toán đạt độ an toàn công sai phân tuyến tính (xem phần 3.2) Tham số Nw cho phép định nghĩa thuật toán mã hóa với kích thước khối khóa lớn không giới hạn, đồng thời khai thác đặc điểm kiến trúc xử lý khác nhau, ví dụ xử lý 64 bit hỗ trợ Nw = (với m = 8) Chi tiết cấu trúc XAES trình bày phần 2.1 Trong phạm vi luận án này, sử dụng ký hiệu {xy} để biểu diễn giá trị dạng thập lục phân trường Galois GF(28) 1.3.2 Thuật toán mã hóa Trong AES, quy trình mã hóa gồm Nr = max{Nb, Nk} + chu kỳ mã hóa Các phép biến đổi chu kỳ mã hóa thực hóa phép biến đổi trừu tượng đề xuất “chiến lược vết rộng” (xem phần 1.1.2): • Biến đổi ϕ trở thành SubBytes (xem phần 1.3.3) • Biến đổi λ xây dựng cách kết hợp biến đổi tuyến tính: ShiftRows, ký hiệu π (xem phần 1.3.4), MixColumns, ký hiệu θ (xem phần 1.3.5) • Biến đổi σ trở thành AddRoundKey (xem phần 1.3.6) 16 Quy trình mã hóa AES gồm: • Thực thao tác cộng khóa σ [k ] • Thực Nr−1 chu kỳ mã hóa sử dụng thủ tục mã hóa, ký hiệu ζ Mỗi chu kỳ mã hóa gồm có thao tác biến đổi: SubBytes, ShiftRows, MixColumns AddRoundKey ζ [k r ] = σ [k r ] ! θ ! π ! ϕ với ≤ r < Nr (1.3) với kr khóa chu kỳ thứ r (1 ≤ r < Nr ) • Thực chu kỳ mã hóa cuối Trong chu kỳ bỏ qua thao tác MixColumns: ζ [k Nr ] = σ [k Nr ] ! π ! ϕ (1.4) Như vậy, thuật toán mã hóa AES với khóa k biểu diễn sau: AES[k] = σ [k Nr ] ! π ! ϕ ! ζ Nr −1[k Nr −1 ] ! … ! ζ 2[k ] ! ζ 1[k1 ] ! σ [k ] (1.5) 1.3.3 Biến đổi SubBytes AES Mỗi byte y thay sử dụng bảng thay (cố định) S-box xác định sau (xem Hình 2.3): • Lấy nghịch đảo z = y −1 ∈ GF (28 ) với quy ước 0–1 = • Cho (z0 , z1,… , z7 ) biểu diễn nhị phân z Thực ánh xạ affine trường GF (28 ) với biểu diễn nhị phân z Kết t = (t0 , t1,… , t7 ) xác định sau : ⎛ t0 ⎞ ⎛ 0 ⎜ ⎟ ⎜ ⎜ t1 ⎟ ⎜ 1 0 ⎜ t ⎟ ⎜1 1 ⎜ 2⎟ ⎜ ⎜ t3 ⎟ ⎜ 1 1 ⎜ t ⎟ = ⎜1 1 ⎜ 4⎟ ⎜ ⎜ t5 ⎟ ⎜ 1 ⎜ ⎟ ⎜ ⎜ t6 ⎟ ⎜ 0 1 ⎜t ⎟ ⎜0 0 ⎝ 7⎠ ⎝ 1 1 ⎞⎛ z0 ⎞ ⎛ ⎞ ⎟⎜ ⎟ ⎜ ⎟ 1 ⎟⎜ z1 ⎟ ⎜ ⎟ 0 1 ⎟⎜ z ⎟ ⎜ ⎟ ⎟⎜ ⎟ ⎜ ⎟ 0 ⎟⎜ z3 ⎟ ⎜ ⎟ + 0 ⎟⎜ z ⎟ ⎜ ⎟ ⎟⎜ ⎟ ⎜ ⎟ 1 0 ⎟⎜ z5 ⎟ ⎜ ⎟ ⎟⎜ ⎟ ⎜ ⎟ 1 ⎟⎜ z6 ⎟ ⎜ ⎟ 1 1 ⎟⎠⎜⎝ z7 ⎟⎠ ⎜⎝ ⎟⎠ 17 (1.6) Thành phần S-box AES ánh xạ nghịch đảo trường ( ) GF (2 ) K Nyberg đề xuất [69] Sử dụng ánh xạ nghịch đảo, hai tính GF m với m = Ý tưởng việc xây dựng S-box ánh xạ nghịch đảo m chất mật mã quan trọng S-box chặn tối thiểu tương quan đầu vào – đầu [20] chặn tối thiểu lan truyền sai phân [20] đạt giá trị ngưỡng tối ưu (về mặt lý thuyết) Điều giúp S-box đạt tính an toàn tối ưu phương pháp phân tích mã sai phân [6] phương pháp phân tích mã tuyến tính [62] Vì vậy, chọn ánh xạ nghịch đảo để xây dựng S-box cho giải thuật XAES (xem phần 2.2.1) Cần lưu ý XAES, ánh xạ nghịch đảo ( ) định nghĩa GF (2 m ) thay GF 28 trường hợp AES Trong AES, ánh xạ affine GF(2)8 sử dụng làm bước hậu xử lý nhằm loại bỏ điểm bất biến (0 → 0, → 1) ánh xạ nghịch đảo Trong XAES sử dụng m×m S-box (S-box với m bit đầu vào m bit đầu ra), thay ánh xạ affine AES ánh xạ affine GF(2)m Bên cạnh ưu điểm, S-box AES có tính chất không mong muốn ( ) tính đơn giản biểu diễn đại số trường GF 28 [90] Biểu diễn đại số Sbox AES gồm đơn thức khác điều có khả dẫn đến việc công đại số [14][27] hay công nội suy [41] Do đó, XAES, đề xuất kiến trúc xây dựng S-box cách bổ sung thêm ánh xạ affine trường GF(2)m làm bước tiền xử lý trước thực ánh xạ nghịch đảo nhằm nâng cao độ phức tạp đại số [28] phương pháp phân tích mã (xem phần 2.2.1Biến đổi SubBytes XAES) Chúng chứng minh phần 3.2.3 với cặp ánh xạ affine GF(2)m, S-box XAES bảo toàn tính chất mật mã tối ưu ánh xạ nghịch đảo, bao gồm chặn tối thiểu tương quan đầu vào – đầu [17] chặn tối thiểu lan truyền sai phân[17] Vì vậy, phần 2.2.1-Biến đổi SubBytes XAES, đề xuất việc tham số hóa hai ánh xạ affine cho biến đổi SubBytes XAES 18 1.3.4 Biến đổi ShiftRows AES Trong biến đổi ShiftRows (xem Hình 2.4), byte dòng i quay trái i vị trí với i =0,1,2,31 Tính chất thao tác tất byte cột phân tán đến nhiều cột khác tốt, cột kết nhận byte từ nhiều cột khác tốt Từ suy giá trị offset dòng phải phân biệt Để đảm bảo điều này, số cột khối liệu phải nhiều hay số dòng Chính vậy, đề nghị ràng buộc kích thước khối liệu XAES (xem phần 2.1.1-Biểu diễn khối khóa) Khi đó, danh sách giá trị offset cho dòng xem tham số biến đổi ShiftRows XAES giá trị offset cho dòng chọn ngẫu nhiên cho không trùng từ tập số cột (xem phần 2.2.2-Biến đổi ShiftRows XAES) 1.3.5 Biến đổi MixColumns AES Trước trình bày biến đổi MixColumns AES, cần số định nghĩa sau: Định nghĩa 1.1 [16]: Branch Number B biến đổi tuyến tính θ định nghĩa sau: B (θ ) = min#{wt(a ) + wt(θ (a ))} a≠0 (1.7) với wt trọng số Hamming vector (được xác định số lượng thành phần khác vector) Nhận xét [16]: θ định nghĩa không gian n chiều B(θ ) bị chặn n + Định nghĩa 1.2 [22]: Ma trận luân hoàn ma trận vuông, đó, dòng thứ i > xây dựng hoán vị vòng quanh phần tử dòng thứ i – sang phải vị trí Trong thuật toán Rijndael với Nb = 8, byte dòng dòng quay trái vị trí 19 Cho ma trận luân hoàn M (kích thước n × n) với Mi, j phần tử dòng i, cột j Ta có: Mi, j = M0,( j − i ) mod n , ≤ i < n,0 ≤ j < n (1.8) ⎛ 3⎞ ⎟ ⎜ & Ví dụ: ⎜ ⎟ ma trận luân hoàn ⎜2 1⎟ ⎠ ⎝ Biến đổi MixColumns AES sử dụng ánh xạ tuyến tính GF(28)4 tương ứng với ma trận luân hoàn – ma trận vuông dòng tạo cách xoay giá trị dòng liền sang phải vị trí Hình 2.5 minh họa biến đổi MixColumns Mỗi cột khối liệu trộn với biến đổi tuyến tính GF(28)4 Mỗi cột biểu diễn ma trận với hệ số trường GF(28) nhân (modulo x + ) với đa thức cố định: c (x ) = 3x3 + x + x + (1.9) Biến đổi MixColumns AES sử dụng ánh xạ tuyến tính GF(28)4 có Branch Number đạt giá trị chặn tối ưu (trên lý thuyết) Việc chứng minh tính an toàn AES [16][17] sử dụng tính chất đa thức c (x ) , độc lập với giá trị cụ thể hệ số c (x ) Vì vậy, đa thức tương ứng với branch number dùng để thay đa thức c (x ) chọn biến đổi MixColumns AES Điều dẫn đến khả tạo biến thể AES cách thay đa thức c (x ) đa thức khác tương ứng với branch number Đối với XAES, cột gồm Nw phần tử trường GF(2m) Tương tự AES, cột khối XAES biểu diễn dạng đa thức bậc Nw – có hệ số trường GF(2m) Đa thức nhân (module x m + ) với đa thức có bậc Nw–1 có hệ số trường GF(2m) Tuy nhiên, XAES, phần 3.2, chứng minh để đảm bảo tính an toàn XAES phương pháp phân tích sai phân tuyến tính, branch number ánh xạ tuyến tính dùng không cần phải đạt ngưỡng tối đa (trên lý thuyết) Nw + mà cần đạt giá trị Nw 20 Điều giúp mở rộng khả chọn lựa đa thức an toàn cho biến đổi MixColumns XAES Ngoài ra, cột khối biến đổi MixColumns xử lý riêng nên chọn sử dụng đa thức khác cho cột Chính vậy, đề nghị tham số hóa danh sách đa thức dùng để biến đổi cột MixColumns XAES (xem phần 2.2.3-Biến đổi MixColumns XAES) 1.3.6 Biến đổi AddRoundKey hàm sinh khóa KeySchedule AES Từ khóa k cho trước, thuật toán AES phát sinh dãy gồm Nr + khóa cho chu kỳ, khóa chu kỳ gồm Nb từ Trong cho kỳ thứ r, byte trạng thái hành XOr với byte tương ứng khóa kr chu kỳ Do đó, cần phát sinh mảng khóa mở rộng gồm (Nr+1)×Nb từ với chất liệu đầu vào Nk từ khóa k cho trước Từ khóa k, hàm sinh khóa KeySchedule AES phát sinh lưu lại vector H (i) gồm Nk từ vào mảng khóa mở rộng có đủ (Nr +1) × Nb từ Chúng tổng quát hóa hàm phát sinh khóa AES để xây dựng hàm phát sinh khóa XAES: phần tử XAES xử lý nhóm gồm m bit (thay byte gồm bit AES) từ gồm Nw phần tử m bit (thay từ gồm byte AES) Trong phần này, không trình bày chi tiết hàm sinh khóa AES Hàm sinh khóa AES hoàn toàn suy từ hàm sinh khóa XAES (trình bày phần 2.2.5-Hàm phát sinh khóa XAES) cách thay giá trị m =8 Nw =4 1.4 Kết luận Trong chương 2, phân tích mối liên hệ kiến trúc thuật toán mã hóa khối thuật toán mã hóa cụ thể, từ đề xuất ý tưởng việc xây dựng thuật toán mã hóa khối tham số hóa làm bước chuyển tiếp kiến trúc thuật toán mức trừu tượng với thuật toán mã hóa cụ thể Mỗi thuật toán mã hóa khối 21 tham số hóa xác định lớp thuật toán mã hóa khối có kiến trúc chiến lược xây dựng thành phần mã hóa Việc tham số hóa thuật toán Rijndael tác giả thuật toán đề xuất đặc tả thuật toán Rijndael [16] nhắc lại phần 6.2 tài liệu FIPS 197 [30] NIST công bố chuẩn AES, bao gồm tham số: Nk số từ khóa, Nb số từ khối Nr số chu kỳ mã hóa Tuy nhiên, việc tham số hóa xây dựng ngữ cảnh bị giới hạn: cần phải giữ cố định số lượng bit phần tử liệu xử lý số lượng phần tử từ Trong XAES, tiếp tục tham số hóa thuật toán việc đề xuất bổ sung tham số cấu trúc số bit đơn vị liệu xử lý (ký hiệu m) số phần tử từ (ký hiệu Nw) Hai tham số cho phép thay đổi hoàn toàn cách xây dựng thành phần mã hóa XAES cho phép mở rộng không giới hạn kích thước khối kích thước khóa Ngoài ra, đề xuất việc tham số hóa hệ số thành phần mã hóa để tạo lớp thuật toán mã hóa khối có kiến trúc chiến lược xây dựng thành phần mã hóa Trong chương tiếp theo, trình bày thuật toán XAES, thuật toán mã hóa tham số hóa xây dựng theo kiến trúc SPN Do thành phần mã hóa Rijndael nghiên cứu kỹ năm gần đây, tính chất mật mã quan trọng Rijndael khảo sát chi tiết, định chọn phương án tổng quát hóa thành phần Rijndael để xây dựng thành phần XAES Thông qua việc trình bày phân tích giải thuật AES, đề xuất tham số cấu trúc cho XAES, gồm số lượng bit nhóm liệu xử lý (ký hiệu m) số lượng nhóm (m bit) từ (ký hiệu Nw) Đồng thời, sở trình bày phân tích vai trò biến đổi AES, đề xuất tham số xử lý cho biến đổi XAES Chi tiết tham số xử lý trình bày Chương 22

Ngày đăng: 02/12/2016, 02:18

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w