AddRoundkey 64 4 64 done Plaintext 64 64 64
Bảng 2.7: Giải thích các tín hiệu vào ra bộ giải mã
STT Tín hiệu I/O Số bit Tích
cực Mô tả
1 clk I 1 1 Xung đồng hồ của hệ thống
2 rst I 1 0 Tín hiệu đưa các giá trị về trạng thái ban đầu
3 start I 1 1 Tín hiệu bắt đầu quá trình giải mã 4 key I 64 Khóa sử dụng trong giải mã
5 Ciphertext I 64 Bản mã của khối dữ liệu cần giải mã 6 Plaintext O 64 Bản rõ khối dữ liệu sau khi giải mã 7 done O 1 1 Tín hiệu thông báo đã giải mã xong
Sau khi mã hóa xong để giải mã ta thực hiện đưa dữ liệu mã hóa 64 bit Ciphertext và Key 64bit vào để tiến hành việc giải mã. Quá trình giải mã được thực hiện ngược lại quá trình mã hóa, ngoại trừ khối AddConstants được sử dụng lại, các khối còn lại đều được thực hiện ngược lại so với quá trình mã hóa.
Khối MixColumns : Thực hiện trộn cột ngược lại so với quá trình mã hóa.
Khối ShiftRows : Thực hiện dịch cột ngược lại so với quá trình mã hóa.
Khối Subcell : Được thay thế bit ngược lại so với quá trình mã hóa.
AddConstants : Thực hiện cộng hằng số vòng ngược lại so với quá trình mã hóa. Do quá trình của các khối giải mã chỉ thực hiện ngược lại so với khối mã hóa nên ở đây không trình bày cụ thể các khối của bộ giải mã.
Trong một bước giải mã các khối trong một vòng được thực hiện theo trình tự sau: Khối MixColumns được thực hiện việc trộn cột rồi tiếp theo là khối ShiftRows thực hiện việc dịch hàng, khối Subcell thực hiện việc thay thế bit và khối AddContants được thực hiện cộng hằng số vòng, quá trình giải mã cũng được thực hiện 32 vòng giá trị cuối cùng của khối AddContants chính là giá trị đã được giải mã. Quá trình giải mã LED 64 được thực hiện như trong hình 2.16.
Sơ đồ quá trình giải mã