Thuật tốn mã hóa được thể hiện trên hình 7.20.a. Mỗi thanh ghi A, B có độ dài bằng w bít. Khối tin trước hết được đưa vào 2 thanh ghi này. Để phân biệt phần trái và phần phải của đầu ra ở chu kỳ thứ i ta sử dụng ký hiệu LEi và REi.
Hình 7.20. Sơ đồ miêu tả q trình mã hóa và giải mã RC5 Thuật tốn LE0 = (A + S[0]) (mod 2w); RE0 = (B + S[1])(mod2w); For i=1 to r do begin
LEi = (((LEi-1 ⊕ REi-1) <<< REi-1) + S[2×i]) ]) (mod 2w); REi = (((REi-1 ⊕ LEi) <<< LEi) + S[2×i + 1]) ]) (mod 2w);
End Q trình giải mã
Từ thuật tốn mã hóa có thể dễ dàng suy ra thuật toán giải mã. Sơ đồ thuật toán giải mã được thể hiệnt trên hình 7.20.b). Đầu tiên, 2 từ của khối mã được gán cho 2 biến là LDr và RDr – kích thước mỗi biến là 1 từ (w bits). Phần trái và phần phải của của đầu vào ở chu kỳ thứ i ký hiệu là LDi và RDi, i=1..r.
Thuật tốn
For i=r downto r do begin
RDi-1 = ((RDi – S[2×i + 1] >>> LDi) ⊕ LDi) ]) (mod 2w); LDi-1 = ((LDi – S[2×i] >>> RDi-1) ⊕ RDi-1) ]) (mod 2w);
end
B=(RD0–S[1]) ]) (mod 2w); A = (LD0 – S[0]) ]) (mod 2w);
Ưu điểm của RC5
RC5 có 2 ưu điểm nổi bật là: 1. Thực toán đơn giản
2. Phép quay là phép biến đổi phi tuyến tính duy nhất trong RC5. Ron Rivest khẳng định rằng việc số bits trong các phép quay phụ thuộc vào giá trị của bản thân khối dữ liệu được xử lý sẽ gây khó khăn rất lớn cho việc thám RC5 bằng phương pháp thám tuyến tính, cũng như thám vi phân.
RC5 là hệ mật còn mới (được Ron Rivest xây dựng năm 1994). RSA Laboratories đã bỏ ra nhiều thời gian để khảo sát hệ mật này khi làm việc với khối 64 bits. Chỉ sau 5 chu kỳ RC5 đã cho kết quả thống kê “rất tốt”. Sau 8 chu kỳ mỗi bit của bản tin sẽ ảnh hưởng
ít đến nhất một phép quay. Để có thể thám RC5 với 5 chu kỳ bằng phương pháp thám vi phân (Differential Cryptanalysis) thì cần phải lựa chọn và thử 224 khối tin; con số này sẽ là 245 với 10 chu kỳ, 253 với 12 chu kỳ, 268 với 15 chu kỳ (trong khi đó, số bản tin tối đa là 264). Vì thế khơng thể dùng phương pháp thám vi phân để thám RC5 với 15 chu kỳ trở lên.
Kết quả nghiên cứu khả năng tấn công RC5 bằng thám tuyến tính (Linear Cryptanalysis) cho thấy RC5 tỏ ra an tồn khi số chu kỳ khơng nhỏ hơn 6. Rivest khuyến cáo sử dụng RC5 với số chu kỳ không nhỏ hơn 12, tốt nhất là 16.
7.11 Hệ mật mã khối IDEALịch sử ra đời Lịch sử ra đời
“Chuẩn mã hóa dữ liệu quốc tế” (IDEA – International Data Encryption Algorithm) là một hệ mật thuộc nhóm mã khối. Nó được xây dựng bởi hai thành viên của Viện công nghệ Thụy Điển là Xuejla Lai và James Massey. Phiên bản đầu tiên được công bố trong [LAI90] vào năm 1990 dưới cái tên PES (Proposed Encryption Standard). Ngay năm sau (1991), sau khi Biham và Shamir công bố phương pháp mã thám mới là “thám vi phân” thì các tác giả đã cải biên thuật tốn PES để chống lại phương pháp thám mã đó. Bản cải biên được đặt tên là IPES (Improved PES) và được đổi thành IDEA vào năm 1992. IDEA được mô tả chi tiết trong các ấn phẩm [LAI91] và [LAI92].
Miêu tả IDEA
IDEA mã hóa và giải mã theo từng khối 64 bits. Khóa có chiều dài 128 bít. Thực hiện trong 9 vòng.