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ã.
Nguyễn Văn Nghị, Lê Thị Bích Hằng, Vũ Bá Linh
14:34 | 03/01/2010
15:34 | 04/07/2007
17:00 | 17/12/2021
08:00 | 04/04/2024
Có một số phương pháp để xác định mức độ an toàn của các hệ mật sử dụng độ dài khóa mã (key length) tham chiếu làm thông số để đo độ mật trong cả hệ mật đối xứng và bất đối xứng. Trong bài báo này, nhóm tác giả tổng hợp một số phương pháp xác định độ an toàn của hệ mật khóa công khai RSA, dựa trên cơ sở các thuật toán thực thi phân tích thừa số của số nguyên modulo N liên quan đến sức mạnh tính toán (mật độ tích hợp Transistor theo luật Moore và năng lực tính toán lượng tử) cần thiết để phá vỡ một bản mã (các số nguyên lớn) được mã hóa bởi khóa riêng có độ dài bit cho trước. Mối quan hệ này giúp ước lượng độ an toàn của hệ mật RSA theo độ dài khóa mã trước các viễn cảnh tấn công khác nhau.
09:00 | 08/06/2023
Tính toán nhiều bên an toàn MPC (Multi-Party Computation) là một giao thức mật mã cho phép thực hiện tính toán một giá trị chung bởi nhiều bên tham gia mà không phải chia sẻ bất kỳ thông tin cá nhân giữa các thành viên. MPC được phát triển như một giải pháp khả thi để giải quyết những thách thức nổi bật đối với bảo mật khóa cá nhân trong thời điểm hiện tại và có nhiều tiềm năng ứng dụng trong tương lai.
11:00 | 27/01/2023
Tháng 7/2020, Rainbow - một trong 3 thuật toán chữ ký số là ứng cử viên vào vòng 3 của quá trình tuyển chọn thuật toán hậu lượng tử của NIST. Tuy nhiên, vào tháng 2/2022, Ward Beullens đã phá được thuật toán này chỉ trong thời gian một dịp nghỉ cuối tuần trên một máy tinh xách tay. Vì thế, tháng 7/2022, trong danh sách các thuật toán chữ ký số hậu lượng tử sẽ được chuẩn hóa mà NIST công bố đã không có tên Rainbow.
15:00 | 28/07/2022
Đây là chủ đề của buổi Tọa đàm do Tạp chí An toàn thông tin tổ chức vào sáng ngày 27/7, với sự tham dự của Đại tá, TS. Hồ Văn Hương, Cục trưởng Cục Quản lý mật mã dân sự và Kiểm định sản phẩm mật mã, Ban Cơ yếu Chính phủ.