0
Tải bản đầy đủ (.docx) (96 trang)

Các chức năng bên trong của mật mã Rijndael

Một phần của tài liệu NGHIÊN CỨU TÌM HIỂU ĐÁNH GIÁ CHẤT LƯỢNG MỘT SỐ LƯỢC ĐỒ KHÓA TRONG MÃ KHỐI (Trang 61 -63 )

Chương II I: CHUẨN MÃ HểA NÂNG CAO AES 3.1 Tổng quan về chuẩn mã hóa nâng cao và thuật toán Rịjndael

3.2.2. Các chức năng bên trong của mật mã Rijndael

Rijndael là một mã khối, mã và giải mã cả một khối bít một lúc. Độ dài của khối và độ dài của khoá khởi điểm có thể là 128, 192 hoặc 256 bit. Mật mã này cho phép ta chọn những số khác nhau cho độ dài của khối và của khoá. Chẳng hạn, ta có thể sử dụng Rijndael trên các khối rõ 128 bit và khoá 256 bit. Thiết kế cho phép thậm chí mềm dẻo hơn trong việc chọn những số này, nhưng ba giá trị liệt kê này là phần cần thiết của thiết kế AES

Kí hiệu: Nb là thương khi chia độ dài khối cho 32, Nk là thương khi chia độ dài khoá cho 32.

Trạng thái là bản rõ hay bản mã trung gian được biểu diễn bởi các mảng byte 2 chiều với 4 dòng và Nb cột.

Khóa cũng tương tự: được biểu diễn bởi mảng byte 2 chiều với 4 dòng và Nk

cột. Rõ ràng ( Nb,Nk) ∈{4,6,8}×{4,6,8}, vì vậy có 9 cặp tham số . Ví dụ Nb = 4, Nk = 6: a0,0 a0,1 a0,2 a0.3 a1,0 a1,1 a1,2 a1,3 a2,0 a2,1 a2,2 a2,3 a3,0 a3,1 a3,2 a3,3 k0,0 k0,1 k0,2 k0.3 k0,4 k0,5 k1,0 k1,1 k1,2 k1,3 k1,4 k1,5 k2,0 k2,1 k2,2 k2,3 k2,4 k3,5 k3,0 k3,1 k3,2 k3,3 k3,4 k3,5

Định nghĩa( Các khối vào và ra đối với Rijndael):

Các khối vào và ra đối với Rijndael là các mảng một chiều gồm các byte 8 bit, đánh số từ 0 đến 4*Nb-1.

Các byte của khối vào được ánh xạ lên trạng thái theo thứ tự a0,0,a1,0, a2,0, a3,0, a0,1, a1,1…. Như vậy ta làm đầy các cột trạng thái từ đỉnh tới đáy, làm đầy các cột từ trái sang phải. Khi đó byte có chỉ số vào 0 được đặt trong a0,0, chỉ số 9 được đặt trong a1,2

Khoá mã là mảng một chiều gồm các byte 8 bit, đánh số từ 0 đến 4*Nk-1. Mảng khoá 2 chiều cũng được làm đầy tương tự như vậy.

Vì Nb và Nk thuộc {4,6,8} nên phạm vi chỉ số của các mảng này tương ứng là: 0..15, 0..31, (4*Nb-1, 4*Nk-1 ).

Bỏ qua các chỉ số trong mảng khoá mở rộng, phép mã hóa gồm: .Bước khởi tạo, trong đó ta cộng khoá với trạng thái.

.Nr-1 vòng với khoá vòng, ExtendedKey[Nb*i] đối với vòng i được rút ra từ Cipherkey; và

.Vòng cuối cùng.

Như vậy Nr là tổng số vòng và là hàm của Nb và Nk.

Nr Nb = 4 Nb = 6 Nb = 8

Nk = 4 10 12 14

Nk = 6 12 12 14

Nk = 8 14 14 14

Mỗi vòng có trạng thái hiện thời và khoá vòng là tham số. Lời gọi Round(State, RoundKey) cập nhật trạng thái theo RoundKey được cung cấp. Ta thấy rằng, mỗi vòng, trừ vòng cuối cùng, áp dụng 4 phép biến đổi đến trạng thái. Chỉ có phép biến đổi cuối cùng động chạm đến RoundKey.

Một phần của tài liệu NGHIÊN CỨU TÌM HIỂU ĐÁNH GIÁ CHẤT LƯỢNG MỘT SỐ LƯỢC ĐỒ KHÓA TRONG MÃ KHỐI (Trang 61 -63 )

×