Về một thuật toán mã hóa xác thực hiệu năng cao
Tóm tắt: Trong thời đại công nghệ 4.0 đang phát triển mạnh mẽ, tội phạm mạng cũng
trở nên tinh vi hơn. Tin tặc có thể dễ dàng phá vỡ các biện pháp bảo mật và truy cập được
dữ liệu cá nhân nhạy cảm. Mặt khác, các cấu trúc mã hóa xác thực được sử dụng trong
nhiều năm qua dựa trên các thuật toán mã khối đối xứng ngày càng bộc lộ nhiều hạn chế
về hiệu năng, tốc độ xử lý do số lượng thông tin cần được xử lý và số lượng thông tin cần
xác thực ngày càng nhiều. Bài báo trình bày một thuật toán mã hóa xác thực hiệu năng
cao dựa trên thiết kế kiểu song công (duplex) với các tham số bảo mật thích hợp, sử dụng
phép hoán vị có thể sử dụng để bảo vệ thông tin với các độ mật và thông tin có các mức độ
nhạy cảm khác nhau.

Trang 1

Trang 2

Trang 3

Trang 4

Trang 5

Trang 6

Trang 7

Trang 8
Tóm tắt nội dung tài liệu: Về một thuật toán mã hóa xác thực hiệu năng cao
Công nghệ thông tin & Cơ sở toán học cho tin học
156 N. T. Nga, , N. H. Nam, “Về một thuật toán mã hóa xác thực hiệu năng cao.”
Các giá trị khác nhau của tốc độ bit và dung lượng mang lại sự cân bằng giữa tốc độ và bảo
mật. Tốc độ bit cao hơn cho phép mã hóa nhanh hơn nhưng kém an toàn hơn. Quan trọng là 𝑐 bit
cuối cùng của trạng thái (b bit) không bao giờ bị tác động trực tiếp bởi các khối đầu vào và trong
quá trình tạo ra đầu ra. Dung lượng 𝑐, tham số bảo mật quan trọng nhất, xác định mức độ bảo
mật có thể đạt được của các cấu trúc. Cấu trúc song công tạo nên một object nhận một chuỗi bit
đầu vào và tạo một chuỗi bit đầu ra phụ thuộc vào tất cả các đầu vào nhận được trước đó. Một
dạng của cấu trúc song công (duplex object) ký hiệu là D như sau:
Hình 2. Cấu trúc song công.
Cấu trúc song công D có b bit trạng thái. Khi khởi tạo, tất cả các bit trạng thái được đặt về
không (0). Khi đó, có thể gửi các kết nối D.duplexing(𝜎, ℓ), với 𝜎 là chuỗi bit đầu vào và ℓ xác
định số lượng bit đầu ra nhất định. Số bit tối đa ℓ mà người ta có thể yêu cầu là 𝑟 và chuỗi đầu
vào phải đủ ngắn để sau khi thực hiện có được một khối r-bit duy nhất đầu ra duy nhất.
Cấu trúc song công có thể sử dụng để:
• Mã hóa xác thực một lần
• Bảo vệ an toàn khóa mã
Các cuộc tấn công phân tích mã vào các cấu trúc song công có thể được chia thành hai nhóm:
• Nhóm 1 là các cuộc tấn công vào tính không ngẫu nhiên, điểm yếu của hoán vị bên trong
hoặc biến đổi ngẫu nhiên. Tấn công thám mã như vậy được xây dựng dựa trên các hàm (hoán vị
hoặc biến đổi).
• Nhóm 2 là các cuộc tấn công vào thuật toán mật mã dựa trên cấu trúc sponge hoặc cấu trúc
song công.
4. THUẬT TOÁN MÃ HÓA XÁC THỰC (AE) DỰA TRÊN CẤU TRÚC SONG CÔNG
Độ an toàn chứng minh được là một tính năng quan trọng của các thuật toán mật mã hiện đại.
Các cấu trúc song công được [3] trình bày với các tham số an toàn thích hợp, sử dụng phép hoán
vị tạo nên các thuật toán với độ an toàn chứng minh được.
Thuật toán mã hóa xác thực DuplexAE trình bày trong hình 3 sử dụng cấu trúc song công và
là thuật toán một lần. Sau khi khởi tạo, thuật toán tích hợp khóa bảo mật 𝐾. Từ thời điểm này, có
thể ứng dụng thuật toán mã hóa xác thực để bảo mật khóa mã hoặc để mở khóa. Chuỗi các khối
đã được tạo dùng để mã hóa và đánh dấu mã xác thực (𝑇) tùy thuộc vào khóa 𝐾 và dữ liệu được
tạo nên trước đó. Khóa sử dụng để mã hóa không tiết lộ bất kỳ thông tin nào liên quan đến mã
đánh dấu xác thực. Mã xác thực và mã thông báo xác thực không tiết lộ trình tự mã hóa, vì trình
tự mã hóa được thực hiện với các đối tượng song công (duplex) khác nhau.
Mã hóa xác thực là ví dụ về hàm song công được chuyển đổi thành hàm có khóa với khóa bí
mật ở đầu vào của thuật toán mã hóa xác thực (AE). Hàm song công hoạt động giống như một
Nghiên cứu khoa học công nghệ
Tạp chí Nghiên cứu KH&CN quân sự, Số 73, 06 - 2021 157
hàm ngẫu nhiên đối với bất kỳ ai không biết khóa bí mật nhưng có quyền truy cập vào hàm song
công. Độ an toàn của hàm song công với khóa bí mật được trình bày trong hình 3.
Hình 3. Thuật toán mã hóa xác thực dựa trên cấu trúc song công (Duplex AE).
Các biểu thức toán học sau đây dùng cho thuật toán bảo vệ khóa dựa trên cấu trúc song công [3].
𝑚𝑎𝑥 {(
𝑀2
2
+ 2𝑀. 𝑁) 2−𝑐 , 𝑁. 2−|𝐾|} (1)
Trong đó, tham số 𝑀 là độ phức tạp của dữ liệu được xử lý, tức là số lần gọi thuật toán khóa,
tham số 𝑁 là số lần biến đổi được thực hiện bởi phép biến đổi (hoặc phép hoán vị) và |𝐾| là độ
dài của khóa trong trường hợp điển hình, nếu 𝑀 ≪ 2𝑐/2 thì độ phức tạp tính toán bé hơn và bằng
𝑚𝑖𝑛 (
2𝑐−1
𝑀
, 2|𝐾|) (2)
Khóa bảo mật liên quan đến thông số dung lượng theo biểu thức sau:
|𝐾| + 1 + 𝑙𝑜𝑔2𝑀 ≤ 𝑐 (3)
Biểu thức trên cho thấy có thể giảm dung lượng 𝑐 (số hoán vị được sử dụng) với một mức bảo
mật nhất định hoặc để đạt được độ bảo mật cao hơn với một dung lượng cố định. Biểu thức cũng
cho thấy với các thuật toán trên cho phép sử dụng các thuật toán nhanh, đơn giản (nghĩa là xây
dựng thuật toán sử dụng các hoán vị với số lượng nhỏ hơn), đặc biệt ứng dụng cho các thiết bị
(phần cứng) có tài nguyên hạn chế.
Thuật toán mã hóa xác thực một lần dựa trên cấu trúc song công đáp ứng các yêu cầu bảo mật
để khôi phục khóa (xác suất khôi phục khóa 𝐾 trong 𝑁 lần thử nghiệm không lớn hơn(𝑁. 2−|𝐾|).
Sử dụng cấu trúc song công rất an toàn vì khả năng giả mạo mã thông báo xác thực(2−|𝑇|)và
khôi phục bản rõ (𝑁. 2−|𝐾|) rất bé.
Mã hóa xác thực dựa trên cấu trúc song công mang lại những ưu điểm sau:
• Thực hiện thuật toán một lần;
• Chỉ yêu cầu một hoán vị hoàn hảo với độ lớn xác định không đổi;
• Mã hóa xác thực cho văn bản-text (chuỗi bit) cần thiết và chỉ xác thực các văn bản yêu cầu
phải xác thực;
• Rất linh hoạt, vì có thể được lựa chọn độ dài của khối thông tin cần xử lý, miễn là tham số
dung lượng c lớn hơn giới hạn an toàn xác định;
• Độ dài mã thông báo xác thực được giới hạn ở 𝑐/2 bit, dài hơn đáng kể so với các thuật toán
mã hóa xác thực (AE) dựa trên mã khối.
Bảng 1 trình bày tổng hợp các thuộc tính của các lược đồ mã hóa xác thực được thực hiện dựa
trên mật mã khối và thuật toán mã hóa xác thực AE dựa trên cấu trúc song công (duplex). Trong
đó: độ an toàn của xác thực và độ bảo mật của thuật toán AE dựa trên thiết kế song công (duplex)
Công nghệ thông tin & Cơ sở toán học cho tin học
158 N. T. Nga, , N. H. Nam, “Về một thuật toán mã hóa xác thực hiệu năng cao.”
là lớn nhất. Dễ dàng lựa chọn các tham số cho thuật toán mã hóa xác thực dựa trên cấu trúc song
công. Thuật toán mã hóa xác thực dựa trên cấu trúc song công có thể được sử dụng để bảo mật
thông tin có độ mật cao, cũng như bảo mật thông tin với các mức độ nhạy cảm khác nhau.
Bảng 1. So sánh các lược đồ mã hóa xác thực chọn lọc [15].
Thuật toán AE OCB GCM INK DuplexAE
Phương thức
thực hiện
1. A+E 1. E
2. A
1.A
2.E
1. A + E
Độ an toàn
Xác thực cực đại
2128 2128 2128 2 c/2
(2160-2512)
Độ bí mật cực đại (2128-2255) (2128-2255) (2128-2255) 𝑚𝑖𝑛(2𝑐−60, 2|𝐾|)
(2160-2512)
Phương thức
biến đổi
AES AES AES Duplex
r = {1152,1088,832,576}
c = {448,512,768,1024}
5. BẢO MẬT KHÓA MẬT MÃ
Bảo mật của khóa mật mã (Eng: Key wrapping) là một ví dụ về việc sử dụng mã hóa xác
thực. Một thuật toán như vậy đảm bảo tính bí mật và toàn vẹn của dữ liệu, đặc biệt cho các khóa
mật mã hoặc các dữ liệu quan trọng. Thuật toán bảo mật khóa mã có độ dài bất kỳ nhờ sử dụng
một khóa cụ thể để mã hóa khóa (Eng: Key Encrypting Key - KEK). Các thuật toán này là thành
phần quan trọng của hệ thống quản lý khóa [8], đảm bảo tính bí mật và tính toàn vẹn của các
khóa mật mã trong suốt thời gian vận chuyển và lưu trữ. Các thuật toán bảo mật khóa được xây
dựng theo các chuẩn mật mã đã được phê duyệt.
Độ an toàn và độ an toàn chưa được chứng minh được trình bày trong ANSI X9.102, các thuật
toán bảo vệ khóa (ví dụ: TDKW, AESKW) dựa trên mật mã khối thúc đẩy sự phát triển của thuật
toán SIV (Eng. the Synthetic Initialization Vector mode), cũng dựa trên mật mã khối. Thuật toán
này đã được chuẩn hóa trong RFC 5297 như một phương thức hoạt động mới của thuật toán AES.
Thuật toán mã hóa xác thực dựa trên cấu trúc kiểu song công là một thuật toán bảo mật được
chứng minh an toàn, không có các mối đe dọa. Ví dụ về sử dụng thuật toán mã hóa xác thực
được trình bày trong hình 3 là thuật toán bảo mật khóa song công - DuplexKW được trình bày
trong hình 4.
Hình 4. Thuật toán đảm bảo an toàn gói khóa dựa trên cấu trúc kiểu duplex (DuplexKW).
Trong thuật toán này, khóa được bảo mật có độ dài tùy ý được mã hóa bằng cách sử dụng
khóa bảo vệ khóa (Eng. KEK). Nếu mỗi khóa cần bảo mật được liên kết với một số nhận dạng
duy nhất thì chỉ cần thêm số nhận dạng đó vào khóa được bảo mật và sau đó mỗi khóa sẽ được
mã hóa bằng một chuỗi mã khác, mặc dù sử dụng cùng một khóa bảo vệ khóa (KEK).
Nghiên cứu khoa học công nghệ
Tạp chí Nghiên cứu KH&CN quân sự, Số 73, 06 - 2021 159
Đầu vào cho thuật toán bảo vệ khóa, được thể hiện trong hình 4, là khóa bảo vệ các khóa -
𝐾𝐸𝐾, mã định danh duy nhất của khóa 𝐻 và bản rõ (khóa cần được bảo mật) có độ dài bất kỳ.
Thực hiện thuật toán DuplexKW, ta có khóa bảo mật và mã xác thực của nó 𝑇. Trong quá trình
giải mã khóa, đầu vào cho thuật toán DuplexKW là khóa dùng để bảo mật các khóa - KEK, mã
định danh duy nhất 𝐻 ở dạng mã hóa của khóa bảo mật trước đó và mã xác thực 𝑇. Trong quá
trình giải mã, khóa được bảo mật được giải mã và kiểm tra tính toàn vẹn. Nếu mã thông báo xác
thực nhận được và mã nhận dạng không khớp thì thông báo lỗi. Trường hợp ngược lại là khóa
được giải mã và số nhận dạng 𝐻.
Bảng 2 trình bày thuộc tính của một số lược đồ bảo mật khóa được chọn dựa trên mật mã
khối và thuật toán bảo mật khóa (hình 4) được thực hiện dựa trên phép biến đổi kiểu song công
(duplex). Dễ dàng nhận thấy rằng độ an toàn của xác thực chỉ dựa trên các thuật toán mã khối là
chưa đủ.
Bảng 2. So sánh một số thuật toán được lựa chọn đảm bảo an toàn khóa mã [15].
Thuật toán KW TDKW AESKW SIV duplexKW
Độ an toàn xác thực cực đại 248 263 2128 2c/2
(2160-2512)
Độ mật cực đại 2112 (2128-2255) (2128-2255) 𝑚𝑖𝑛(2𝑐−60, 2|𝐾|)
c = {448,512,768,1024}
Phương pháp biến đổi 3DES AES AES Duplex
r = {1152,1088,832,576},
c = {448,512,768,1024}
Thuật toán bảo mật khóa dựa trên cấu trúc kiểu song công có tính linh hoạt trong việc lựa
chọn các tham số. Có thể xác định mức độ an toàn có thể chứng minh được bằng cách chọn các
thông số thích hợp của cấu trúc song công. Thuật toán này có thể được sử dụng để bảo vệ thông
tin có độ mật cao, cũng như bảo vệ thông tin khác có mức độ nhạy cảm khác nhau.
6. KẾT LUẬN
Mã hóa xác thực thường được sử dụng trong các giao thức mật mã đảm bảo bí mật trong
thương mại điện tử và các giao thức để bảo mật mạng không dây. Tuy nhiên, khi triển khai thực
hiện các lược đồ mã hóa xác thực hiện có đòi hỏi có tốc độ thực hiện nhanh và lượng thông tin
được xử lý, công suất mã hóa xác thực ngày càng cao. Vì vậy, cần có một lược đồ mã hóa xác
thực mới, có thể trở thành một chuẩn, tương tự như các thuật toán AES hoặc SHA-3.
Cuộc thi CAESAR (Competition for Authenticated Encryption: Security, Applicability and
Robustness) cho lược đồ mã hóa xác thực đã được tổ chức bởi cộng đồng các nhà nghiên cứu
mật mã (đây không phải là một cuộc thi chính thức của NIST). Ban Giám khảo cuộc thi 22 thành
viên, gồm các nhà mật mã học nổi tiếng như Joan Daemen, Lars R. Knudsen, Kaisa Nyberg và
Vincent Rijmen. Cuộc thi nhằm chọn ra một hoặc nhóm các thuật toán mã hóa xác thực tốt nhất
và các thuật toán đủ điều kiện tham gia các giai đoạn tiếp theo của cuộc thi trên cơ sở kết quả
được xem xét công khai. Không chỉ ước tính độ an toàn của các thuật toán mã hóa xác thực
chống lại các cuộc tấn công thám mã mà còn phải chứng minh về độ an toàn của chúng.
Các thuật toán mã hóa xác thực dựa trên cấu trúc song công với các tham số phù hợp được
chứng minh là an toàn, hiệu quả. Cuộc thi CAESAR tạo nên một một sự thay thế việc xây dựng
mã hóa xác thực dựa trên các thuật toán khối đối xứng.
Bảo mật khóa mật mã là một ví dụ thực tế của việc sử dụng mã hóa xác thực. Các thuật toán
bảo mật được xây dựng bằng cách sử dụng cấu trúc song công với các lược đồ dựa trên mật mã
khối, có độ xác thực cao hơn và linh hoạt hơn trong lựa chọn các tham số biến đổi.
Lời cảm ơn: Bài báo này được hỗ trợ một phần bởi đề tài cơ sở (mã số CS20.10) Viện công nghệ
thông tin - Viện Hàn lâm Khoa học và Công nghệ Việt Nam.
Công nghệ thông tin & Cơ sở toán học cho tin học
160 N. T. Nga, , N. H. Nam, “Về một thuật toán mã hóa xác thực hiệu năng cao.”
TÀI LIỆU THAM KHẢO
[1]. D. Stinson, Cryptography, “Theory and Practice”. CRC Press, LLC, 1995.
[2]. M. Bellare, C. Namprempre, "Authenticated encryption: Relations among notions and analysis of
thegeneńc composition paradigm, Journal of Cryptology”, vol. 21, no. 4, 2008.
[3]. G. Bertoni, J. Deamen, M. Peeters, G. Van Assche, "Cryptographic sponge functions", January
2015,
[4]. M.Borowski, ''The sponge construction as a source of secure cryptographic primitives", Military
Cornmunication Conference, France, 2018.
[5]. M.Borowski, M. Leśniewicz, R. Wicik, MGrzonkowski, "Generation of random keys for
cryptographic systerns", Annales UMCS lnformatica, AIXII, 3 (2016).
[6]. I. Dinur, O. Dunkelman, A Shamir, "Self differential crypt analysis ofup to 5 rounds of SHA-
3",
[7]. M. Kutyłowski, WB. Strothmann, “Lý thuyết mật mã và thực hành đảm bảo an toàn các hệ thống
máy tính”, Nhà xuất bản Read Me, Warsawa 1998.
[8]. D. KKhovratovich, "Keywrappingwith fixedpermutation",
[9]. V. Gligor, P. Donescu, "Fast encryption and authentication: XCBC encryption and XECB
authentication modes", FSE 2012, LNCS 2355, Springer-V er lag, 2012.
[10]. M. Duan, X. Lai, "Improved zero-sum distinguisher for full round K.eccak-fpermutation",
2012, 2012/ 023.pdf.
[11]. NIST, "Special Publication 800-38D, Recornmendationfor Błock Cipher Modes of
Operation:Galois/Counter Mode (GCM) and GMAC", 2009.
[12]. Jovanovic P., Luykx A., Mennink B, “Beyond 2c/2 security in sponge-based authenticated
encryption modes”,
[13]. P. Rogaway, "Authenticated-encryption with associated-data", ACM Conference on Computer and
Cornmunications Security (CCS-9), ACM Press, 2005.
[14]. P. Rogaway, M. Bellare, J. Black, ''OCB: A block cipher mode of operation for efficient
authenticated encryption", ACM Transactions on lnformation and System Security, 2006.
[15]. R. Gliwa, “Uwierzytelnione szyfrowanie wspecjalnych sieciach telekomunikacyjnych",
Rozprawadoktorska, Wojskowa Akademia Techniczna, WydziałElektroniki, 2016.
ABSTRACT
ABOUT A HIGH PERFORMANCE AUTHENTICATED ENCRYPTION ALGORITHM
In the rapidly growing era of technology 4.0, cybercrime is also becoming more
sophisticated. Hackers can easily circumvent security measures and gain access to
sensitive personal data. On the other hand, the authentication cipher structures used over
the years based on symmetric block ciphers have increasingly revealed many limitations in
performance, processing speed due to the amount of information that needs to be
processed, and the amount of information be verified increasing. The paper presents a
high-performance authentication encryption algorithm based on a duplex design with
appropriate security parameters using permutations that can be used to protect information
with a degree of confidentiality and information that has varying degrees of sensitivity.
Keywords: Encryption algorithm; Authenticated Encryption AE; Decryption; Duplex construction.
Nhận bài ngày 04 tháng 02 năm 2021
Hoàn thiện ngày 10 tháng 3 năm 2021
Chấp nhận đăng ngày 10 tháng 6 năm 2021
Địa chỉ: Viện Công nghệ Thông tin, Viện Hàn lâm Khoa học và Công nghệ Việt Nam.
*Email: thungalnt@gmail.com.
File đính kèm:
ve_mot_thuat_toan_ma_hoa_xac_thuc_hieu_nang_cao.pdf

