Hệ mật hiện đại DES

Sự ra đời của DES

Năm 1972, NIST đề xuất việc xây dựng một tiêu chuẩn quốc gia về bảo mật dữ liệu lấy tên là Tiêu chuẩn mã hóa dữ liệu (quốc gia) DES

Năm 1974 NIST đã xây dựng DEA là thuật toán phát triển hệ mật DES.

Từ năm 1977 NIST phổ biến công khai tiêu chuẩn DES và được sử dụng rộng rãi

Giới thiệu về DES

DES (Data Encryption Standard), là một phương pháp mật mã hóa được FIPS chọn làm chuẩn chính thức năm 1976.

DES là một mã khối, mỗi khối gồm 64 bit trong đó dành 8 bit để kiểm tra lỗi (Parity checking) còn lại 56 bit khóa.

Mô tả thuật toán

Có 16 chu trình giống nhau trong quá trình xử lý. Ngoài ra còn có hai lần hoán vị đầu và cuối

Khối thông tin 64 bit được tách làm hai phần 32 bit và mỗi phần sẽ được xử lý tuần tự (còn được gọi là mạng Feistel).

Hàm F làm biến đổi một khối 32 bit đang xử lý với một khóa con. Đầu ra sau hàm F được kết hợp với khối 32 bit còn lại và hai phần được tráo đổi để xử lý trong chu trình kế tiếp

Hàm Feistel

Quy trình tạo khóa con

Từ 64 bit ban đầu của khóa, 56 bit được chọn; 8 bit còn lại bị loại bỏ. 56 bit thu được được chia làm hai phần bằng nhau, mỗi phần được xử lý độc lập

Các khóa con 48 bit được tạo thành bởi thuật toán lựa chọn 2 (Permuted Choice 2, hay PC-2) gồm 24 bit từ mỗi phần.

Quá trình tạo khóa con khi thực hiện giải mã cũng diễn ra tương tự nhưng các khóa con được tạo theo thứ tự ngược lại.

Mở rộng ( E ): 32 bit đầu vào được mở rộng thành 48 bit sử dụng thuật toán hoán vị mở rộng với việc nhân đôi số bit

Thay thế: 48 bit sau khi trộn được chia và được xử lý qua hộp thay thế S-box. Output của mỗi khối 6 bit là một khối 4 bit. Khối S-box đảm bảo cho độ an toàn của DES.

Trộn khóa: 48 bit sau khi được mở rộng sẽ XOR với khóa con. Mười sáu khóa con 48 bit được tạo ra từ 56 bit theo một chu trình tạo khóa con được mô tả ở phần sau.

Hoán vị: Cuối cùng, 32 bit thu được sau S-box sẽ được sắp xếp lại theo một thứ tự cho trước (còn gọi là P-box).