CHƢƠNG III : CÁC HỆ MÃ KHÓA BÍ MẬT
2. Các hệ mã khối
2.4. Triple DES (3DES)
Nhƣ đã trình bày ở các phần trên , hệ mã DES (hay chuẩn mã hóa dƣ̃ liệu ) với khơng gian khóa vẻn vẹn có 254 khóa nên thƣ̣c tế hiện nay có thể bị thám mã trong
khoảng thời gian vài giờ đờng hờ . Vì vậy việc tìm kiếm các hệ mã khác thay thế cho DES là một điều cần thiết . Một trong nhƣ̃ng cách thƣ́c đƣợc xem xét đầu tiên là tận dụng DES nhƣng sƣ̉ dụng mã hóa nhiều lần . Cách thứ nhất là sử dụng hai khóa để mã hóa hai lần nhƣ sau:
C = EK2(EK1(P))
Cách này gọi là double DES hay 2DES, khóa của hệ mã theo mơ hình này là 112 bit, có vẻ an toàn hơn so với DES , ít nhất là trên nguyên tắc . Tuy nhiên các chƣ́ng minh về mặt lý thuyết (không nằm trong phạm vi của tài liệu này ) đã cho thấy rằng hệ mã này không hề an toàn hơn DES (thuật toán thám mã theo kiểu vét cạn brute-force yêu cầu số phép tính gấp đôi để thám mã 2DES so với DES).
Cách thức thứ hai và hiện nay đang đƣợc sử dụng rợng rãi là mã hóa DES ba lần , cách này gọi là Triple DES (TDES) hay 3DES, hoặc một cách chuẩn mƣ̣c hơ n là TDEA (Triple Data Encryption Algorithm). Mô hình sƣ̉ dụng đơn giản nhất của Triple DES là mã hóa 3 lần sƣ̉ dụng 3 khóa K1, K2, K3 nhƣ hình minh họa sau:
Hình 3.7: Triple DES
Bản mã C = DESK3(DESK2(DESK1(M)), mô hình này gọi là EEE vì cả ba bƣớc sƣ̉ dụng ba khóa ở đây đều sử dụng tḥt toán mã hóa ch̉n của DES , mợt biến thể khác của mơ hình này gọi là EDE với bƣớc ở giữa sử dụng thuật toán giải mã của DES:
C = DESK3(DESK12(DESK1(M)).
Việc lƣ̣a chọn mã hóa hay giải mã ở bƣớc thƣ́ hai không làm thay đởi tính an toàn của Triple DES. Khóa của Triple DES là 168 bit, một số biến thể của Triple DES sƣ̉ dụng khóa có đợ dài 112 bit (K1=K3) nhƣng khác với double DES, khi đó phƣơng pháp này có tên gọi là Two key Triple DES . Các chứng minh về mặt lý thuyết và các tấn công đối với Triple DES cho thấy hệ mã này vẫn sẽ còn đƣợc sƣ̉ dụng trong một tƣơng lai d ài nữa