Cấu trúc DES
DES là mật mã khối. Quy trình mã hóa gồm 2 hoán vị (P-boxes): hoán vị ban đầu (initial permutation) và hoán vị cuối (final permutation), và 16 vòng Feistel. Mỗi vòng dùng khóa vòng 48-bit khác nhau sinh từ khóa cipher theo thuật toán định sẵn. Hàm DES dùng khóa 48-bit trên 32-bit phải (Rᵢ₋₁) tạo ra 32-bit đầu ra.
Hai đặc tính quan trọng
1. Hiệu ứng tuyết lở (Avalanche Effect)
- Thay đổi nhỏ plaintext (hoặc khóa) → thay đổi quan trọng ciphertext. Thay 1 bit plaintext → thay đổi nhiều bit ciphertext.
- DES chứng minh mạnh về tính chất này.
- Hiệu ứng tuyết lở = số bit ciphertext thay đổi theo bit plaintext/khóa.
- Lợi ích: bảo vệ phần mềm nhúng dùng DES/AES. Kẻ tấn công cố gắng đánh cắp dữ liệu CSDL.
- Nếu thay đổi nhỏ → giảm không gian plaintext/khóa cần tìm kiếm.
- Không nên có sự giống nhau giữa 2 ciphertext dùng 2 khóa liền kề mã hóa cùng plaintext → dẫn đến giảm lớn không gian khóa kiểm tra.
- Mã hóa tốt có hiệu ứng tuyết lở khi thay 1 bit đầu vào → thay đổi ngẫu nhiên ~nửa bit đầu ra.
- Đặc tính thiết yếu cho thuật toán mã hóa. Quan sát khi thay bit plaintext → xem hiệu ứng tuyết lở bit ciphertext.
2. Tính hoàn chỉnh (Completeness)
- Mỗi bit ciphertext phải phụ thuộc vào một số bit plaintext. Diffusion và confusion từ D-boxes và S-boxes trong DES tạo hiệu ứng hoàn chỉnh rất mạnh.
- Tính năng hoàn chỉnh siết chặt khái niệm tuyết lở hơn nữa.
- Yêu cầu thay đổi ciphertext phân bố đều cho mỗi bit thay đổi plaintext/khóa.
- Cụ thể: thay đổi bit đầu vào cho trước → tạo thay đổi bit đầu ra xác định tại một số điểm trong biến đổi.
- Hoàn chỉnh yêu cầu mối quan hệ này xuất hiện ít nhất 1 lần cho mỗi cặp bit đầu vào - đầu ra.
- Nói cách khác: hiệu ứng tuyết lở trải rộng qua tất cả nhóm bit plaintext và ciphertext gần như đều đặn.
- Hiệu ứng này do diffusion và confusion từ P-boxes và S-boxes tạo ra. DES thể hiện hiệu ứng hoàn chỉnh rất mạnh.