tailieunhanh - thuật toán mã hóa và ứng dụng phần 4

Xác định khóa của chu kỳ Mã khóa của chu kỳ thứ i được xác định bao gồm các từ (8 byte) có chỉ số từ Nb * i đến Nb * (i + 1) − 1 của bảng mã khóa mở rộng. Như vậy, mã khóa của chu kỳ thứ i bao gồm các phần tử w[ Nb * i ] , w[ Nb * i + 1] , , w[ Nb * (i + 1) − 1] . | Chương 4 Xác định khóa của chu kỳ Mã khóa của chu kỳ thứ i được xác định bao gồm các từ 8 byte có chỉ số từ Nb i đến Nb i 1 -1 của bảng mã khóa mở rộng. Như vậy mã khóa của chu kỳ thứ ibao gồm các phần tử w Nb i w Nb i 1 . w Nb i 1 -1 . wo w1 w2 w3 w4 w5 w6 w7 w8 w9 W10 W11 W12 W13 W14 W15 W16 W17 . Ma khóa chu kỳ 0 Ma khóa chu kỳ 1 Ma khóa chu kỳ 2 . Hình . Bảng mã khóa mở rộng và cách xác định mã khóa của chu kỳ với Nb 6 và Nk 4 Quy trình giải mã Quy trình giải mã được thực hiện qua các giai đoạn sau 1. Thực hiện thao tác AddRoundKey đầu tiên trước khi thực hiện các chu kỳ giải mã. 2. Nr - 1 chu kỳ giải mã bình thường mỗi chu kỳ bao gồm bốn bước biến đổi liên tiếp nhau InvShiftRows InvSubBytes AddRoundKey InvMixColumns. 3. Thực hiện chu kỳ giải mã cuối cùng. Trong chu kỳ này thao tác InvMixColumns được bỏ qua. 88 Phương pháp Rijndael mở rộng InvCipher byte in 8 Nb byte out 8 Nb word w Nb Nr 1 begin byte state 8 Nb state in AddRoundKey state w Nr Nb Xem phần 0 for round Nr - 1 downto 1 InvShiftRows state Xem phần InvSubBytes state Xem phần 0 AddRoundKey state w round Nb InvMixColumns state Xem phần 0 end for InvShiftRows state InvSubBytes state AddRoundKey state w out state end Phép biến đổi InvShiftRows InvShiftRows là biến đổi ngược của biến đổi ShiftRows. Mỗi dòng của trạng thái được dịch chuyển xoay vòng theo chiều ngược với biến đổi ShiftRows với độ dời Nb-shift r Nb khác nhau. Các byte ở cuối dòng được đưa vòng lên đầu dòng trong khi các byte còn lại có khuynh hướng di chuyển về cuối dòng. s r c shift r Nb modNb Sr c với 0 r 8 và 0 c Nb 89 Chương 4 InvShiftRows byte state 8 Nb begin byte t Nb for r 1 to 7 for c 0 to Nb - 1 t c shift r Nb mod Nb state r c end for for c 0 to Nb - 1 state r c t c end for end for end Phép biến đổi InvSubBytes Phép biến đổi ngược của thao tác SubBytes ký hiệu là InvSubBytes sử dụng bảng thay thế nghịch đảo của S-box trên GF 28 được ký hiệu là S-box-1. Quá trình thay thế 1 byte y dựa .

TỪ KHÓA LIÊN QUAN