Gửi lúc: 11/06/2019 09:29:43
Bookmark and Share

7 thuật toán tham gia vòng chung kết cuộc thi Caesar



Cuộc thi CAESAR khởi động từ năm 2012, đến ngày 15/1/2013 cuộc thi được chính thức thông báo tại hội thảo Early Symmetric Crypto (Mondorf-les-Bains, Luxemburg), cũng như thông báo rộng rãi trên các phương tiện truyền thông. Thật thú vị, tên của cuộc thi trùng với tên hoàng đế La Mã Julius Caesar, người đã sáng chế ra mã pháp Caesar - một trong các phương pháp mã hóa đầu tiên của loài người.

CAESAR (Competition for Authenticated Encryption: Security, Applicability and Robustness) là cuộc thi lựa chọn một thuật toán mã hóa có xác thực đảm bảo ba yếu tố là tính bảo mật, khả năng ứng dụng và độ mạnh. Ngày 15/12/2017, Ban tổ chức đã chính thức công bố danh sách 7 ứng viên lọt vào vòng chung kết cuộc thi, các thuật toán này được chia thành ba nhóm gồm: Ứng dụng hạng nhẹ (môi trường hạn chế tài nguyên): Ascon, ACORN; Ứng dụng hiệu suất cao: AEGIS, OCB, MORUS; Độ an toàn cao: Deoxys-II, COLM.

1. Ascon: là một họ thuật toán mã hóa có xác thực có dạng ASCONa,b-k-r do các nhà mật mã học người Áo là Christoph Dobraunig, Maria Eichlseder, Florian Mendel, Martin Schlaffer đề xuất. Các thành viên trong họ thuật toán được tham số hóa bằng độ dài khóa k≤128 bit, tỷ lệ r và số lượng vòng bên trong ab. Mỗi thiết kế quy định một thuật toán mã hóa có xác thực Ɛa,b,k,r và một thuật toán giải mã Ɗa,b,k,r . Đề xuất sử dụng chính là ASCON-128 và đề xuất thứ hai là ASCON-128a.

2. ACORN: là thuật toán mã hóa có xác thực với dữ liệu liên kết hạng nhẹ. ACORN được giới thiệu bởi Hongjun Wu – nhà mật mã người Singapore. ACORN có cấu trúc mã dòng. Thuật toán sử dụng khóa, véc-tơ khởi tạo có kích thước 128 bit. Độ dài của bản rõ P là nhỏ hơn 264 bit. Đầu vào của thuật toán có thể bao gồm dữ liệu liên kết AD có kích thước adlen bit (0 ≤ adlen < 264). Dữ liệu liên kết này không yêu cầu phải đảm bảo tính bí mật, nên không được mã hóa. Tuy nhiên, cần đảm bảo tính toàn vẹn cho các dữ liệu này. Thuật toán ACORN được thiết kế để đảm bảo mức độ an toàn 128 bit trong cả tính bí mật và xác thực.

3. AEGIS: là thuật toán mã hóa có xác thực nhanh, do hai nhà mật mã học người Singapore là Hongjun Wu và Bart Preneel đề xuất. AEGIS-128L sử dụng tám vòng của mã khối AES để xử lý khối thông báo 32 byte. AEGIS-128 xử lý khối thông báo 16 byte với thuật toán AES 5 vòng và AEGIS-256 sử dụng thuật toán AES 6 vòng. Tốc độ tính toán của AEGIS rất nhanh, bằng khoảng một nửa so với AES.

4. OCB: là thuật toán của RFC 7253. Đây là một lược đồ mã hóa dựa trên mã khối với khóa được chia sẻ, cung cấp tính bí mật và xác thực cho các bản rõ và tính xác thực cho dữ liệu liên quan. Tính bí mật được xác định thông qua “tính không thể phân biệt của các bit ngẫu nhiên”, nghĩa là kẻ tấn công không thể phân biệt đầu ra OCB từ một lượng bit ngẫu nhiên bằng nhau. Tính xác thực được xác định thông qua “tính xác thực của bản mã”, có nghĩa là kẻ tấn công không thể tạo ra bất kỳ cặp nonce-bản mã hợp lệ nào ngoại trừ các cặp đã được tạo ra. Khi sử dụng OCB với bộ xác thực τ- bit để mã hóa thông điệp với  byte kết hợp bản rõ và dữ liệu liên kết, kẻ tấn công không thể phá vỡ tính riêng tư với xác suất lớn hơn  và không thể phá vỡ tính xác thực với xác suất lớn hơn  + .

5. MORUS: là một hệ mật có xác thực chuyên dụng, có ba phiên bản, bao gồm MORUS-640-128, MORUS-1280-128, MORUS-1280-256. Kích thước trạng thái của MORUS là 640 bit hoặc 1280 bit. Kích thước khóa có thể là 128 bit hoặc 256 bit. MORUS sử dụng một nonce có độ dài 128 bit vậy nên nếu muốn sử dụng lại nonce thì phải thay đổi khóa. Một thẻ xác thực có độ dài 128 bit được sử dụng trong MORUS để xác thực. Thiết kế của MORUS chủ yếu dựa trên phương pháp thiết kế các hệ mã dòng. MORUS hiệu quả trong phần mềm.

6. Deoxys: là thuật toán mã hóa có xác thực do bốn nhà mật mã học Jeremy Jean, Ivica Nikolic, Thomas Peyrin và Yannick Seurin đề xuất. Deoxys có 4 phiên bản Deoxys v1; Deoxys v1.1; Deoxys v1.2; Deoxys v1.3 và Deoxys v1.41. Deoxys được thiết kế dựa trên mã khối có thể tinh chỉnh Deoxys-BC (tương tự AES), sử dụng hàm vòng AES (gọi là khung TWEAKEY) để tạo khối và dùng TWEAKEY khởi tạo cho hai chế độ Deoxys-I (giá trị nonce chỉ dùng 1 lần) và Deoxys-II (giá trị nonce sử dụng lặp lại).  Khung TWEAKEY cho phép người thiết kế có cái nhìn thống nhất về khóa và điều chỉnh đầu vào của hệ mã.

7. COLM: là một họ thuật toán mã hóa có xác thực với dữ liệu liên kết. Tác giả là một nhóm các nhà mật mã học Nhật Bản, Bỉ, Đan Mạch và Ấn Độ. COLM dựa trên cơ chế Mã hóa - Trộn tuyến tính - Mã hóa (ELmE). Thuật toán sử dụng bộ tham sốcủa AES-128; một hàm trộn tuyến tính khả nghịch và hàm mã hóa COLM. Bộ tham sốcủa AES-128: là số các khối sau khi tạo thẻ trung gian, và  khi không cần tạo thẻ trung gian;  là độ dài thẻ trung gian, . Trong đó, hai trường hợp đặc biệt  kí hiệu  được đề xuất.

Năm 2019, sẽ công bố thuật toán giành chiến thắng của cuộc thi CAESAR. Chúng ta hãy cùng chờ đợi xem thuật toán nào sẽ được vinh danh tại cuộc thi này.

Nguyễn Thị Tuyết Trinh, Phạm Thị Hiên (Học viện Kỹ thuật mật mã)