a/ Mó húa và giải mó
3DES chỉ đơn giản là một chế độ hoạt động khỏc của DES với ba khúa 64 bit cho một chiều dài khúa chung là 192 bit. Thủ tục mó húa giống nhƣ DES thụng thƣờng, nhƣng nú đƣợc lặp đi lặp lại ba lần, do đú nú cú tờn là 3DES – Triple DES. Dữ liệu đƣợc mó húa với chỡa khúa đầu tiờn, giải mó với chỡa khúa thứ hai và cuối dựng đƣợc mó húa lại với chỡa khúa thứ 3.
Mó húa 3DES Giải mó 3DES
Do đú, 3DES chạy chậm hơn gấp ba lần so với chuẩn DES, nhƣng an toàn hơn nếu đƣợc sử dụng đỳng cỏch. Thủ tục giải mó cũng giống nhƣ thủ tục mó húa, nhƣng đƣợc thực hiện ngƣợc lại. Cũng giống nhƣ DES, dữ liệu đƣợc mó húa và giải mó theo khối 64 bit. Một số khúa yếu cần phải đƣợc nhận ra, nhƣ nếu cả ba khúa đều giống nhau thỡ thủ tục mó húa về cơ bản là giống nhƣ chuẩn DES. Trong trƣờng hợp thƣờng đƣợc trỏnh vỡ nú giống nhƣ việc sử dụng một phiờn bản chậm hơn của DES thụng thƣờng.
Mặc dự khúa đầu vào của DES dài 64 bit nhƣng khúa thực sự đƣợc dựng cho DES chỉ dài 56 bit. Bit phải nhất trong mỗi byte là bit chẵn lẻ, cần đƣợc thiết lập để đảm bảo luụn cú một số lẻ cỏc bit 1 trong mỗi byte. Cỏc bit chẵn lẻ đú đƣợc bỏ qua, do đú chỉ cũn lại bảy bit quan trọng nhất của mỗi byte đƣợc sử dụng nờn độ dài khúa là 56 bit. Điều này ảnh hƣởng tới chiều dài khúa của 3DES chỉ cũn là 168 bit bởi vỡ mỗi một khúa trong ba khúa đều chứa 8 bit chẵn lẻ khụng đƣợc sử dụng trong quỏ trỡnh mó húa.
b/ Tạo khúa
Lựa chọn khúa: Cú ba cỏch để lựa chọn bộ khúa (K1, K2, K3)
- Cỏch 1: Khúa K1, K2 và K3 là cỏc khúa độc lập nhau, tức là K1 ≠ K2 ≠ K3 - Cỏch 2: K1 và K2 là cỏc khúa độc lập nhau (K1 ≠ K2) và K3 = K1
Yờu cầu về khúa:
Đối với tất cả cỏc chế độ hoạt động của 3DES, ba khúa K1, K2, K3 định nghĩa lờn 3DES. Cả bộ khúa và cỏc khúa riờng phải:
- Đƣợc bớ mật.
- Đƣợc tạo ra một cỏch ngẫu nhiờn hoặc giả ngẫu nhiờn. - Độc lập với bộ khúa khỏc.
- Đƣợc sử dụng theo thứ tự thớch hợp tựy theo quy định của cỏc chế độ cụ thể.
c/ Độ an toàn của hệ mó húa 3DES
Núi chung 3DES với 3 khúa độc lập (lựa chọn theo cỏch 1) cú chiều dài khúa là 168 bit, nhƣng do tấn cụng meet-in-the-middle nờn hiệu quả bảo mật của nú chỉ cũn 112 bit. Với cỏch lựa chọn thứ 2 kớch thƣớc khúa chỉ cũn lại 112 bit. Cỏc cuộc tấn cụng nổi tiếng nhất với cỏch lựa chọn khúa số 1 cần khoảng 232 bản rừ đƣợc biết, 2113
bƣớc, 290 lần mó húa DES và 288 bộ nhớ.
Tuy nhiờn, một vài khúa đƣợc xem là khúa yếu cho việc mó húa 3DES. Việc sử dụng khúa yếu cú thể làm giảm hiệu quả bảo mật của 3DES, do đú nờn trỏnh sử dụng chỳng. Cỏc khúa đƣợc xem là yếu (trong hệ thập lục phõn):
00000000 00000000 00000000 FFFFFFFF E0E0E0E0 F1F1F1F1 1F1F1F1F 0E0E0E0E
Một vài cặp khúa mó húa bản rừ thành bản mó. Dƣới đõy là một vài khúa yếu một phần (trong hệ thập lục phõn): 011F011F010E010E và 1F011F010E010E01 01E001E001F101F1 và E001E001F101F101 01FE01FE01FE01FE và FE01FE01FE01FE01 1FE01FE00EF10EF1 và E01FE01FF10EF10E 1FFE1FFE0EFE0EFE và FE1FFE1FFE0EFE0E E0FEE0FEF1FEF1FE và FEE0FEE0FEF1FEF1
d/ Vớ dụ
Vớ dụ sử dụng ba khúa độc lập theo cỏch chọn khúa số 1:
Key1 = 0123456789ABCDEF
Key2 = 23456789ABCDEF01
Key3 = 456789ABCDEF0123
Bản rừ đƣợc lựa chọn theo mó ASCII cho cõu “The quick brown fox jumped over the lazy dog’s back”. Vớ dụ sẽ lấy 24 kớ tự đầu của cõu: “The quick brown fox jump”.
Mó ASCII cho cõu trờn:
“The quic” 5468652071756663
“k brown” 6B2062726F776E20
“fox jump” 666F78206A756D70
Cỏc bƣớc mó húa 3DES đƣợc thực hiện nhƣ sau: - Với P1 = “The quick” = 5468652071756663
Input Output
Mó húa 3DES bằng Key1 5468652071756663 A28E91724C4BBA31
Giải mó 3DES bằng Key2 A28E91724C4BBA31 5A2EA7F983A2F53F
Mó húa 3DES bằng Key3 5A2EA7F983A2F53F A826FD8CE53B855F
Bản mó C1 = A826FD8CE53B855F
- Với P2 = “k brown” = 6B2062726F776E20
Input Output
Mó húa 3DES bằng Key1 6B2062726F776E20 167E47EC24F71D63
Giải mó 3DES bằng Key2 167E47EC24F71D63 EA141A7DD69701F0
Mó húa 3DES bằng Key3 EA141A7DD69701F0 CCE21C8112256FE6
Bản mó C2 = CCE21C8112256FE6
- Với P3 = “fox jump” = 666F78206A756D70
Input Output
Mó húa 3DES bằng Key1 666F78206A756D70 2C1A917234425365
Giải mó 3DES bằng Key2 2C1A917234425365 8059EE8212E22A79
Mó húa 3DES bằng Key3 8059EE8212E22A79 68D5C05DD9B6B900
Bản mó C3 = 68D5C05DD9B6B900
Bản mó thu đƣợc sau khi mó húa 3DES bằng cỏch ghộp cỏc bản mó thành phần C1, C2, C3 với nhau, ta đƣợc:
Chƣơng 4: THỬ NGHIỆM CHƢƠNG TRèNH