
4
CHƯƠNG 1: SƠ LƯỢC VỀ CHUẨN MẬT MÃ NÂNG CAO
1.1. Đặt vấn đề
Hiện nay với tốc độ và khả năng xử lý của các bộ vi xử lý ngày càng được
nâng cao, phương pháp mã hóa chuẩn DES, Tri DES đã trở nên không an toàn trong
bảo mật thông tin. Vì thế cần nghiên cứu chuẩn mật mã đáp ứng được nhu cầu bảo
mật thông tin, chuẩn mật mã nâng cao AES ra đời.
Sau khi thực hiện hai lần tuyển chọn công khai, có năm thuật toán được vào
vòng chung kết, gồm có: Mars, RC6, Serpent, Twofish và Rijndael. Các thuật toán
này đều đạt các yêu cầu của AES nên được gọi chung là các thuật toán ứng viên AES.
Các thuật toán ứng viên AES có độ an toàn cao, chi phí thực hiện thấp. Tuy nhiên với
thiết kế đẹp và đơn giản thuật toán Rijndael do hai nhà mật mã học người Bỉ thiết kế
đã được chọn là thuật toán của AES.
1.2. Cơ sở toán học của AES
AES sử dụng trường hữu hạn Galois (GF(28) để thực hiện các phép toán: phép
cộng, phép trừ, phép nhân, và phép chia. Các phần tử của trường GF(28) được xem
như là các đa thức.
1.3. Các thuật toán ứng viên AES
1.3.1. Thuật toán Marc
1.3.2. Thuật toán RC6
1.3.3. Thuật toán Rijndael
1.3.4. Thuật toán Serpent
1.3.5. Thuật toán TwoFish
1.3.6. Nhận xét các thuật toán ứng viên AES
Quy trình mã hóa gồm: khởi tạo, phân bố khóa và mã hóa.
Quy trình giải mã gồm: khởi tạo, phân bố khóa và giải mã.
Phân bố khóa được thực hiện dựa trên khóa người sử dụng cung cấp để phát sinh
bộ subkey phục vụ cho việc mã hóa và giải mã.
Dữ liệu vào và ra trong quy trình mã hóa, giải mã là khối dữ liệu 128 bit.
1.4. Mô tả AES theo Rijndael
1.4.1. Đầu vào và đầu ra của phép mã và giải mã
AES là một trường hợp riêng của Rijndael. AES có độ dài khối bằng 128 bit và
hỗ trợ các độ dài khóa bằng 128, 192, hay 256 bit. Đầu vào và đầu ra của Rijndael
được xem như là mảng một chiều của các byte 8bit. Đối với phép mã, đầu vào là khối
rõ và khóa, đầu ra là bản mã. Đối với phép giải mã, đầu vào là khối mã và khóa, đầu