

Các nội dung chính TCVN 11367-4:2016
“Công nghệ thông tin - Các kỹ thuật an toàn - Thuật toán mật mã - Phần 4: Mã dòng”
ISO/IEC 18033-4 “Information technology – Security techniques – Encryption algorithms – Part 4: Stream ciphers”
Tiêu chuẩn này nằm trong bộ TCVN 11367 (ISO/IEC 18033) bao gồm các thuật toán mã dòng. Mã dòng là cơ chế mã hóa sử dụng khóa dòng để mã hóa bản rõ theo cách từng bit hoặc từng khối. Có hai loại mã dòng: mã dòng đồng bộ, trong đó khóa dòng chỉ được tạo ra từ khóa bí mật (và véc tơ khởi tạo) và mã dòng tự đồng bộ, trong đó khóa dòng được tạo ra từ khóa bí mật và một số bản mã trước (và véc tơ khởi tạo). Tiêu chuẩn này của bộ TCVN 11367 (ISO/IEC 18033) mô tả cả hai bộ tạo số giả ngẫu nhiên để sinh ra khóa dòng và hàm đầu ra kết hợp khóa dòng với bản rõ.
Tiêu chuẩn này bao gồm hai hàm đầu ra: hàm đầu ra cộng nhị phân và hàm đầu ra MULTI-S01; năm bộ tạo khóa dòng chuyên dụng: bộ tạo khóa dòng MUGI; bộ tạo khóa dòng SNOW 2.0; bộ tạo khóa dòng Rabbit; bộ tạo khóa dòng Decimv2; bộ tạo khóa dòng Kcipher-2(K2) và quy định hàm đầu ra để kết hợp một khóa dòng với bản rõ; bộ tạo khóa dòng để sinh khóa dòng, và định danh đối tượng được gán cho bộ tạo khóa dòng chuyên dụng phù hợp với tiêu chuẩn ISO/IEC 9834.
Mô hình tổng quát của mã dòng
Mã dòng được quy định trong tiêu chuẩn này và được xác định bởi hai đặc tả của hai quy trình: Bộ tạo khóa dòng đồng bộ hoặc bộ tạo khóa dòng tự đồng bộ. Mã dòng tự đồng bộ khác với mã dòng đồng bộ ở chỗ khóa dòng chỉ phụ thuộc vào bản mã trước, véc tơ khởi tạo và khóa.
Bộ tạo khóa dòng đồng bộ
Bộ tạo khóa dòng đồng bộ là máy trạng thái hữu hạn được định nghĩa như sau:
a) Một hàm khởi tạo,
b) Hàm chuyển trạng thái tiếp theo,
c) Hàm khóa dòng, Strm, nhận đầu vào là trạng thái của bộ tạo khóa dòng Si, và đưa ra khối khóa dòng Zi.
Khi bộ tạo khóa dòng đồng bộ lần đầu khởi tạo, nó sẽ nhập vào một trạng thái khởi tạo
Theo nhu cầu bộ tạo khóa dòng đồng bộ sẽ, với i = 0, 1,…
a) Đưa ra khối khóa dòng
b) Cập nhật trạng thái máy
Vì vậy, để xác định bộ tạo khóa dòng đồng bộ chỉ cần xác định hàm
Bộ tạo khóa dòng tự đồng bộ
Việc tạo ra khóa dòng cho mã dòng tự đồng bộ chỉ phụ thuộc vào bản mã trước, khóa và véc tơ khởi tạo. Mô hình tổng quát cho bộ tạo khóa dòng cho mã dòng tự đồng bộ được xác định:
a) Hàm khởi tạo,
b) Hàm khóa dòng, Strm, nhận đầu vào S và khối bản mã r
Để xác định bộ tạo khóa dòng tự đồng bộ chỉ cần thiết xác định số lượng các khối phản hồi r và hàm Init và hàm Strm.
Một số bộ tạo khóa dòng chuyên dụng:
- Bộ tạo khóa dòng MUGI: MUGI là bộ tạo khóa dòng sử dụng khóa bí mật K 128-bit, véc tơ khởi tạo IV 128-bit và biến trạng thái Si (
- Bộ tạo khóa dòng SNOW 2.0: SNOW 2.0, ký hiệu là SNOW, là bộ tạo khóa dòng sử dụng như là đầu vào khóa bí mật K có độ dài 128 hoặc 256-bit và một véc tơ khởi tạo IV có độ dài 128-bit. Chúng được sử dụng để khởi tạo biến trạng thái Si (
- Bộ tạo khóa dòng Rabbit: Rabbit là bộ tạo khóa dòng sử dụng khóa bí mật K có độ dài 128-bit, véc tơ khởi tạo
- Bộ tạo khóa dòng
- Bộ tạo khóa dòng KCipher-2 (K2): KCipher-2 (K2) là bộ tạo khóa dòng trong đó sử dụng đầu vào là khóa bí mật K độ dài 128-bit và véc tơ khởi tạo IV độ dài 128-bit. Khóa bí mật và Véc tơ khởi tạo được sử dụng để khởi tạo biến trạng thái
Các hàm đầu ra, cách tạo các bộ khóa dòng từ mã khối, các ví dụ cụ thể cho mã dòng, các thông tin an toàn và các phép toán trên trường hữu hạn GF(2n) có liên quan tới mã dòng được quy định chi tiết tại TCVN 11367-4:2016.