Hệ mã dòng có xác thực ChaCha20 - Poly1305

09:00 | 02/02/2022 | MẬT MÃ DÂN SỰ
CHACHA20-POLY1305 là hệ mã dòng có kiến trúc mã hóa với dữ liệu liên kết (Authenticated Encryption with Additional Data - AEAD) cung cấp tính bí mật và xác thực nguồn gốc dữ liệu truyền nhận trên kênh liên lạc. Đến nay thì ChaCha20-Poly1305 đã được đưa vào trong thiết kế các giao thức bảo mật mạng phiên bản mới như TLS 1.3, Wireguard, S/MIMEv4. Bài viết này sẽ trình bày tổng quan về kiến trúc, cách thức hoạt động, đưa ra nhận xét chung về độ an toàn, hiệu năng và ứng dụng của ChaCha20-Poly1305.

THUẬT TOÁN MÃ DÒNG CHACHA20

ChaCha20-Poly1305 có kiến trúc bao gồm hai thành phần chính là thuật toán mã dòng ChaCha20 và cơ chế xác thực Poly1305 của cùng tác giả là D.J. Berstein. Thuật toán mã dòng ChaCha20, quá trình mã hóa của nó được mô tả như trong Hình 1 [1].

Đầu vào của ChaCha20 bao gồm các thông số sau: 128 bit hằng số, 256 bit khóa, 32 bit bộ đếm khởi tạo có thể thiết lập bằng bất cứ giá trị nào nhưng thường là 0 hoặc 1, 96 bit nonce, bản rõ có chiều dài tùy ý. Đầu ra của ChaCha20 là bản mã có độ dài bằng độ dài bản rõ.

Thuật toán ChaCha20 sử dụng các hàm khối ChaCha20 để tạo dòng khóa mã hóa. Đầu vào của hàm khối ChaCha20 là ma trận 4x4 word được mô tả như trong Hình 2a bao gồm các thông số: 128 bit hằng số C (4-word), 256 bit khóa K (8-word), 32 bit tham số bộ đếm Ctr (1 word), 96 bit nonce N (3 word). Thực hiện 20 vòng lặp luân phiên thực thi các biến đổi dịch vòng cột (column round) theo Hình 2b và dịch vòng chéo (diagonal round) theo Hình 2c. Hai phép biến đổi dịch vòng này được thực thi chỉ nhờ một phép biến đổi QUARTERROUND (dịch vòng chéo hay cột dựa trên chỉ số đầu vào cho hàm QUARTERROUND) theo Hình 3. Trong 20 vòng lặp, mỗi vòng thực hiện 8 phép QUARTERROUND và thứ tự thực hiện như sau: QUARTERROUND từ 1 đến 4 thực hiện dịch vòng cột, còn QUARTERROUND từ 5 đến 8 thực hiện dịch vòng chéo. Đầu ra khối 20 vòng là 16 word, tiến hành cộng với 16 word đầu vào theo modulo 232 để sinh 16 word khóa. 16 word khóa cộng XOR với 16 word bản rõ để thu được 16 word bản mã.

Xem toàn bộ bài báo tại đây

Nguyễn Văn Nghị, Lê Thị Bích Hằng, Vũ Bá Linh

Tin cùng chuyên mục

Tin mới