DES ba lần
Tốc độ tìm kiếm khóa triệt để đối với DES sau năm 1990 bắt đầu gây khó chịu cho những người sử dụng DES. Tuy nhiên, người dùng không muốn thay thế DES vì phải mất một lượng lớn thời gian và tiền bạc để thay đổi các thuật toán mã hóa được áp dụng rộng rãi và được nhúng trong các kiến trúc bảo mật lớn.
Cách tiếp cận thực dụng không phải là từ bỏ DES hoàn toàn, mà là thay đổi cách thức sử dụng DES. Điều này dẫn đến các sơ đồ sửa đổi của Triple DES (đôi khi được gọi là 3DES).
Ngẫu nhiên, có hai biến thể của Triple DES được gọi là Triple DES 3 khóa (3TDES) và Triple DES 2 khóa (2TDES).
3-KEY Triple DES
Trước khi sử dụng 3TDES, trước tiên người dùng tạo và phân phối khóa 3TDES K, bao gồm ba khóa DES khác nhau K 1 , K 2 và K 3 . Điều này có nghĩa là khóa 3TDES thực có độ dài 3 × 56 = 168 bit. Sơ đồ mã hóa được minh họa như sau:
Quá trình mã hóa-giải mã như sau:
Mã hóa các khối bản rõ bằng cách sử dụng DES đơn lẻ với khóa K 1 .
Bây giờ giải mã đầu ra của bước 1 bằng cách sử dụng DES đơn lẻ với khóa K 2 .
Cuối cùng, mã hóa đầu ra của bước 2 bằng cách sử dụng DES đơn lẻ với khóa K 3 .
Đầu ra của bước 3 là bản mã.
Việc giải mã một bản mã là một quá trình ngược lại. Đầu tiên người dùng giải mã bằng K 3, sau đó mã hóa bằng K 2 và cuối cùng là giải mã bằng K 1 .
Do thiết kế này của Triple DES như một quá trình mã hóa-giải mã-mã hóa, có thể sử dụng triển khai 3TDES (phần cứng) cho DES đơn lẻ bằng cách đặt K 1, K 2 và K 3 có cùng giá trị. Điều này cung cấp khả năng tương thích ngược với DES.
Biến thể thứ hai của Triple DES (2TDES) giống với 3TDES ngoại trừ K 3 được thay thế bằng K 1 . Nói cách khác, người dùng mã hóa khối văn bản rõ bằng khóa K 1, sau đó giải mã bằng khóa K 2, và cuối cùng mã hóa lại bằng khóa K 1 . Do đó, 2TDES có độ dài khóa là 112 bit.
Hệ thống Triple DES an toàn hơn đáng kể so với DES đơn lẻ, nhưng đây rõ ràng là một quá trình chậm hơn nhiều so với mã hóa sử dụng DES đơn lẻ.