– Thay thế : nghĩa là thay 1 kí tự plaintext thành một kí tự ciphertext – Đảo vị trí : thay đổi thứ tự xuất hiện của các kí tự.. Tại sao DES tốt[r]
Trang 1Mã hóa
Trang 2Mục tiêu
• Từ điển trong mã hóa
• Lịch sử mã hóa
Trang 3Từ điển
• plaintext: nội dung cần được mã hóa
• ciphertext: đã mã hóa
• enciphering và encryption: quá trình mã hóa, chuyển từ plaintext sang
ciphertext
• secret key: khóa dùng để mã hóa Chú ý là khóa này cũng dùng để giải
mã Vì vậy được gọi là mã hóa đối xứng (symmetric key cryptography).
• deciphering hoặc decryption: giải mã
• cryptography: tất cả các lược đồ mã hóa và giải mã ngày nay
• block cipher: mã hóa một khối dữ liệu, cho ra một khối đã được mã hóa
• stream cipher: mã hóa liên tục dòng dữ liệu, thường là mỗi byte một lần
Trang 4Kĩ thuật mã hóa cổ điển
• Chia làm hai kĩ thuật chính: thay thế, đảo vị trí:
– Thay thế: nghĩa là thay 1 kí tự plaintext thành một kí tự ciphertext – Đảo vị trí: thay đổi thứ tự xuất hiện của các kí tự
Trang 5Caesar Cipher
• Được xem là kĩ thuật mã hóa đầu tiên sử dụng phương pháp thay thế
• Ví dụ:
plaintext: are you ready ciphertext: DUH BRX UHDGB
• Nếu khóa bí mật là k thì mã hóa kí tự ’p’ sẽ là
C = E( k, p ) = (p + k) mod 26
• Giải mã
p = D( k, C ) = (C - k) mod 26 E: encryption (mã hóa)
D: decryption (giải mã)
Trang 6Tại sao DES tốt
• Bước thay thế tạo diffusion mạnh Nếu thay đổi 1 bit trong phần dữ liệu input thì sẽ tạo thay đổi khoảng 34 bit trong phần ciphertext
• Việc tạo roundkey giúp cho confusion mạnh Nếu thay đổi 1 bit trong khóa thì sẽ thay đổi khoảng 35 bit trong ciphertext
• Khóa 56 bit nghĩa là không gian khóa 256 ~ 7.2x1026
• Nếu muốn thử sai ½ số khóa, giả thiết 1 khóa tốn 1ms thì cần 1142 năm mới tìm ra được khóa
• Tuy nhiên nếu xử lý song song 1 triệu khóa mỗi lần thì chỉ cần tốn 10h (EFF tốn 3 ngày để phá khóa)
Trang 7Ôn tập
• DES, bước hoán vị và mở rông từ 32bit lên 48 bit có cải tiến được tính diffusion không?
• DES bị phá khóa 1999 Bạn nghĩ vì sao?
• DES bị phá khóa Vậy nó có còn quan trọng không?