Tổng quan
DES là thuật toán mật mã khối (block cipher) nhận plaintext khối 64-bit, biến đổi thành ciphertext dùng khóa 48-bit. Là thuật toán khóa đối xứng (cùng khóa mã hóa/giải mã).
Quá trình tiêu chuẩn hóa
- 1973: NIST mời đề xuất hệ thống mật mã khóa đối xứng quốc gia.
- Đề xuất của IBM (sửa đổi từ dự án Lucifer) được chấp thuận làm DES.
- Tháng 3/1975: Công bố trên Federal Register như kế hoạch Federal Information Processing Standard (FIPS).
- Bị chỉ trích gay gắt 2 lý do: (1) độ dài khóa nhỏ (56-bit) → dễ tấn công brute-force; (2) lo ngại "cửa sau" bí mật trong thiết kế nội bộ (đặc biệt S-boxes) cho phép NSA giải mã không cần khóa.
- IBM sau đó giải thích thiết kế nội bộ nhằm chống phân tích vi phân (differential cryptanalysis).
- Tháng 1/1977: DES chính thức công bố như FIPS 46. NIST quy định tiêu chuẩn cho phần mềm phi mật.
Cấu trúc kỹ thuật
DES là triển khai Feistel Block Cipher (LUCIFER). Cấu trúc Feistel 16 vòng, khóa khác mỗi vòng. Dựa trên LUCIFER (người tiền nhiệm trực tiếp của DES).
Horst Feistel (IBM) thiết kế. Hỗ trợ bảo mật lớn bằng khối khóa 128-bit và khối 128-bit (lưu ý: DES gốc 56-bit khóa, 64-bit khối; có thể nhầm lẫn với biến thể sau này). DES dùng 16 vòng Feistel, khóa duy nhất mỗi vòng. Cuối 1976: được phê duyệt tiêu chuẩn mã hóa liên bang.
Thay thế bằng AES và Triple DES
- 2002: AES thay thế DES làm tiêu chuẩn chính thức.
- 1995: Triple DES (3DES/TDES) ra mắt - gọi chính thức Triple Data Encryption Algorithm (TDEA/3DEA).
- TDEA: mật mã khối khóa đối xứng, áp dụng DES cipher 3 lần mỗi khối dữ liệu. Khối 64-bit, khóa 168/112/56-bit cho khóa 1,2,3. 48 vòng (16 vòng/khóa).