Tải bản đầy đủ (.pdf) (8 trang)

Phát triển thuật toán mã hóa – Xác thực thông tin từ OTP Cipher

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (163.24 KB, 8 trang )

Nghiên cứu khoa học cơng nghệ

PHÁT TRIỂN THUẬT TỐN MÃ HĨA – XÁC THỰC THƠNG TIN TỪ
OTP CIPHER
Lưu Hồng Dũng1, Nguyễn Ánh Việt2, Đồn Thị Bích Ngọc3
Tóm tắt:
Bài báo đề xuất thuật tốn mã hóa – xác thực thơng tin từ việc phát triển mật
mã sử dụng khóa một lần - OTP (One - Time Pad). Ưu điểm của thuật tốn mới đề
xuất là có tính an tồn và hiệu quả thực hiện cao tương tự OTP, đồng thời việc thiết
lập, quản lý - phân phối và sử dụng khóa hồn tồn giống như các hệ mã khóa đối
xứng đang được ứng dụng trong thực tế (DES, AES…).
Từ khóa: Symmetric-Key Cryptography,
Symmetric-Key Cryptographic Algorithm, Symmetric-Key
Cryptosystems, One - Time Pad Algorithm, OTP Cipher.

1. ĐẶT VẤN ĐỀ
Mật mã sử dụng khóa một lần OTP được Gilbert Vernam đề xuất vào năm 1917 và
Joseph Mauborgne tiếp tục hồn thiện sau đó. Ngun tắc căn bản của mật mã OTP là
sử dụng một khóa mật chia sẻ trước có độ dài bằng với độ dài của bản tin cần mã hóa
(bản rõ), các bit của bản mã nhận được từ việc cộng loại trừ (XOR) trực tiếp các bit
của bản rõ với các bit tương ứng của khóa mật.
Lý thuyết của Claude E. Shannon [6] đã chỉ ra OTP là một loại mã có độ mật hoàn
thiện (Perfect Secrecy). Hiện tại, mật mã OTP vẫn được xem là loại mã an tồn tuyệt
đối, khơng thể phá vỡ. Điều đặc biệt là ngay cả tấn công theo kiểu “vét cạn” (Brute
force attack) bằng máy tính lượng tử đối với loại mã này cũng trở nên vô nghĩa, nếu
có thể đáp ứng được các điều kiện về khóa sau:
- Khóa có tính chất ngẫu nhiên.
- Mỗi khóa chỉ dùng để mã hóa duy nhất một bản tin.
- Kích thước của khóa phải bằng hoặc lớn hơn kích thước của bản rõ.
- Khóa phải được giữ bí mật hồn tồn.
Tuy có độ an tồn và tốc độ mã hóa cao cũng như khả năng cài đặt dễ dàng trên


các thiết bị có năng lực tính tốn và tài nguyên hạn chế, nhưng với các yêu cầu về
khóa đã chỉ ra, thì loại mã này có rất ít khả năng ứng dụng trong thực tế. Nguyên nhân
đầu tiên là việc tạo khóa phải có tính thực sự ngẫu nhiên, nhằm loại trừ các nguy cơ
mất an toàn: a) từ một khóa đã biết, kẻ tấn cơng có thể tìm (suy ra) được các khóa đã
được sử dụng trước đó hay các khóa sẽ được sử dụng trong tương lai; b) chuỗi bit
khóa tồn tại chu kỳ lặp lại, từ đó tạo ra mối liên quan giữa bản rõ và bản mã, kẻ tấn
cơng có thể tận dụng mối liên quan này để phá mã tương tự như với mã hóa đa bảng
Vigenère [7]. Tuy nhiên, đây là một yêu cầu không dễ thực hiện về mặt kỹ thuật trong
các ứng dụng. Nhưng lý do chủ yếu làm cho mã OTP ít có ý nghĩa thực tế là vì mỗi
khóa chỉ được dùng một lần duy nhất và phải có kích thước khơng nhỏ hơn kích thước
bản tin cần mã hóa, song lại phải được giữ bí mật tuyệt đối như bản tin cần mã hóa.
Đã có một số nghiên cứu nhằm giải quyết các hạn chế của mật mã OTP được công
bố [1-5], song từ các kết quả được công bố cho thấy những nghiên cứu này chủ yếu
tập trung giải quyết vấn đề tạo chuỗi bit khóa OTP từ các chuỗi bit giả ngẫu nhiên có
kích thước hạn chế, cịn việc có thể sử dụng khóa nhiều lần tương tự như các hệ mã
khóa đối xứng khác vẫn là hạn chế căn bản của các nghiên cứu này.
Từ đó, bài báo đề xuất một biến thể của mật mã OTP với việc thiết lập, quản lý –
phân phối và sử dụng khóa được thực hiện hồn tồn như các hệ mã khóa đối xứng
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2020

1


Công nghệ thông tin

đang sử dụng trong thực tế (DES, AES,…). Ngồi ra, xác thực nguồn gốc và tính tồn
vẹn của bản tin được mã hóa cũng là một tính năng bổ sung quan trọng cho thuật tốn
này.
II. THUẬT TỐN MÃ HĨA – XÁC THỰC THƠNG TIN
1. Mơ tả thuật tốn

Bản rõ P được mã hóa dưới dạng n khối dữ liệu Pi có kích thước 128-bit:
P = {P1,P2,…,Pi,…,Pn}, |Pi| = 128 bit, i = 1..n
Khóa sử dụng một lần KOT cũng bao gồm n khóa con Ki có kích thước tương ứng
với kích thước của khối dữ liệu:
KOT = {K1,K2,…,Ki,…,Kn}, |Ki| = 128 bit,
i = 1..n
Do đó, bản mã C cũng bao gồm n khối dữ liệu Ci có kích thước 128-bit:
C = {C1,C2,…,Ci,…,Cn}, |Ci| = 128 bit,
i = 1..n
Thuật tốn mã hóa là phép XOR các bit của khối bản rõ Pi với các bit tương ứng
của khóa con Ki :
Ci = Pi ⊕ Ki , i = 1..n
Tương tự, thuật toán giải mã cũng là phép XOR các bit của khối bản mã Ci với các
bit tương ứng của khóa con Ki:
Pi = Ci ⊕ Ki , i = 1..n
Chú ý:
Trường hợp chia bản tin P thành n khối khơng chẵn thì bù thêm một số bit để khối
cuối cùng đủ 128-bit, việc bù thêm này được thực hiện tương tự như ở các hệ mã khối
khác (DES, AES,…) [8].
Khóa bí mật K để mã hóa và giải mã cho một bản tin P bao gồm khóa sử dụng một
lần KOT và khóa bí mật chia sẻ trước giữa 2 đối tượng gửi/mã hóa – nhận/giải mã là
KS. Trong đó, khóa sử dụng một lần KOT bao gồm các khóa con Ki: KOT =
{K1,K2,…,Ki,…,Kn} được dùng để mã hóa các khối dữ liệu của bản rõ ở bên gửi và
giải mã các khối bản mã ở phía bên nhận.
Khóa bí mật chia sẻ KS được bên gửi sử dụng để tạo ra ”mầm khóa” – C0 tương
ứng với mỗi bản tin cần mã hóa, nhờ hàm băm (Hash Function) MD5:
C0 =
MD5(P,KS). Thành phần C0 này được gửi như một khối của bản mã sang cho bên
nhận. Dễ thấy rằng, giá trị C0 là khác nhau với các bản tin cần mã hóa khác nhau và
có tính chất ngẫu nhiên – hệ quả của việc tạo ra từ hàm băm MD5 [9].

Tiếp đến, cả 2 bên gửi và nhận đều tạo khóa con đầu tiên K1 từ KS và C0 nhờ hàm
MD5 như sau:
K1 = MD5(C0,KS)
Phía gửi tin, các khóa Ki được sinh bởi cùng một thuật tốn từ khóa con đứng trước
Ki-1 và khối dữ liệu tương ứng Pi-1:
Ki = MD5(Pi-1,Ki-1), i = 2..n
Phía nhận tin, sau khi tạo khóa con K1: K1 = MD5(C0,KS) sẽ giải mã khối đầu tiên:
P1 = C1 ⊕ K1. Từ đây, các khóa con tiếp theo sẽ được tạo ra theo cùng một qui tắc với
phía bên gửi:
Ki = MD5(Pi-1,Ki-1), i = 2..n
và các khối mã tiếp theo sẽ được giải mã:
Pi = Ci ⊕ Ki , i = 2..n

2

L H. Dũng, N.A. Việt, Đ.T.B. Ngọc, “Thuật tốn mã hóa – xác thực … từ mật mã OTP”


Nghiên cứu khoa học công nghệ

Chú ý rằng, việc tạo các khóa con của KOT ở phía bên gửi có thể thực hiện trước
hay đồng thời với mã hóa các khối dữ liệu của bản tin, cịn phía nhận tin thì việc tạo
các khóa con của KOT và giải mã các khối bản mã cần phải được thực hiện một cách
đồng thời với nhau.
Như vậy, ở thuật toán mới đề xuất khóa bí mật K sẽ bao gồm 2 thành phần có chức
năng phân biệt:
K = {KS, KOT}
Trong đó: KS là khóa bí mật chia sẻ giữa các đối tượng tham gia trao đổi thơng tin
mật, khóa này được sử dụng để tạo ra khóa KOT tương ứng với mỗi bản tin. Cịn KOT
là khóa sử dụng một lần cho việc mã hóa và giải mã các khối dữ liệu.

Từ đây, thuật tốn sinh khóa và mã hóa được mơ tả như sau:
Input: P = {P1,P2,…,Pi,…,Pn}, KS.
Output: C = { C0,C1,C2,…,Ci,…,Cn}.
[1]. C0 = MD5(P||KS)
[2]. K1 = MD5(C0||KS)
[3]. C1 = P1 ⊕ K1
[4]. C[0] = C0, C[1] = C1
[5]. for i = 2 to n do
begin
Ki = MD5(Pi-1|| Ki-1|| Pi-1|| Ki-1)
Ci = Pi ⊕ Ki
C[i] = Ci
end
[6]. return C
Ghi chú:
- Phép toán ⊕ là phép cộng modulo 2 (XOR) hai chuỗi bit.
- Phép toán “||” là phép ghép nối tiếp 2 xâu bit.
Thuật tốn sinh khóa, giải mã và xác thực bao gồm các bước thực hiện như sau:
Input: C = {C0,C1,C2,…,Ci,…,Cn}, KS.
Output: M = {M1,M2,…,Mi,…,Mn}, true/false.
[1]. K1 = MD5(C0||KS)
[2]. M1 = C1 ⊕ K1
[3]. M[1] = M1
[4]. for i = 2 to n do:
begin
Ki = MD5(Pi-1|| Ki-1|| Pi-1|| Ki-1)
Mi = Ci ⊕ Ki
M[i] = Mi
end
[5]. M0 = MD5(M||KS)

[6]. if (M0 = C0) then return {M,true}
else return {M,false}
Ghi chú:
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2020

3


Công nghệ thông tin

- Nếu kết quả trả về là {M,true} thì bản tin được xác thực về nguồn gốc và tính
tồn vẹn. Ngược lại, kết quả trả về là {M,false} thì hoặc M là bản tin giả mạo hoặc C
đã bị thay đổi trong quá trình truyền tin.
- Nếu bản mã được truyền chính xác từ bên gửi sang bên nhận thì khối dữ liệu C0
của bên nhận cũng chính là C0 của bên gửi. Mặt khác, do bên nhận và bên gửi có cùng
thuật tốn sinh khóa với dữ liệu vào C0 và khóa bí mật chia sẻ KS như nhau nên khóa
mã hóa và khóa giải mã sử dụng một lần (KOT) sẽ hoàn toàn giống nhau. Vì thế bản
tin sau giải mã cũng chính là bản rõ trước khi mã hóa. Nên điều kiện M0 = C0 được
thỏa mãn hoàn toàn.
2. Một số đánh giá về độ an toàn và hiệu quả thực hiện của thuật tốn mới đề
xuất
2.1. Mức độ an tồn
Tương tự như mật mã OTP, khóa KOT ở đây chỉ sử dụng một lần, do vậy các dạng
tấn công như thám mã vi sai, thám mã tuyến tính,.. và nói chung là tất cả các dạng tấn
công đã được biết đến với các mã khối điển hình như DES, AES,... là khơng có tác
dụng với thuật toán mới đề xuất. Ở đây, mức độ an tồn của thuật tốn mới đề xuất có
thể đánh giá qua khả năng kháng lại một số dạng tấn cơng như sau:
- Tấn cơng khóa bí mật chia sẻ: Tấn cơng khóa bí mật chia sẻ có thể thực hiện dựa
vào cách tạo giá trị C0:
C0 = MD5(P||KS)

hoặc tính giá trị của khóa con K1:
K1 = MD5(C0||KS)
Với việc tạo C0 và K1 như trên thì kích thước LK của khóa bí mật chia sẻ hồn tồn
có thể chọn tùy biến trong khoảng: Lmin ≤ LK ≤ L - LP. Trong đó: Lmin là kích thước tối
thiểu đủ để bảo đảm ngưỡng an toàn (≥ 80 bit); LP là kích thước bản rõ và L là kích
thước lớn nhất của dữ liệu đầu vào hàm băm MD5. Khi đó, dữ liệu đầu vào hàm MD5
là sự ghép nối tiếp xâu bit của KS với P trong trường hợp tạo giá trị C0 hoặc là sự ghép
nối tiếp xâu bit của KS với C0 trong trường hợp cần tạo khóa con K1. Từ đây có thể
thấy rằng, khóa bí mật chia sẻ trước giữa các bên gửi – nhận ở đây hồn tồn có thể
được giữ bí mật khơng chỉ về giá trị mà cịn bí mật cả về kích thước khóa.
Dễ thấy rằng với đặc tính 1 chiều của hàm băm, hơn nữa với kích thước của KS
cũng là một tham số bí mật thì việc tìm được KS từ C0, P và K1 (K1 có thể biết khi P
đã được cơng khai) là hồn tồn bất khả thi.
- Tấn cơng “vét cạn” khi chỉ có bản mã: Nếu KOT là một chuỗi bit thực sự ngẫu
nhiên thì giữa bản rõ và bản mã được tạo ra sẽ không có bất kỳ mối quan hệ nào. Khi
đó, tấn cơng theo kiểu “vét cạn” có thể giải một bản mã thành bất kỳ bản tin có nghĩa
nào có cùng độ dài (với bản mã) và đối với kẻ tấn công thì tất cả các bản tin có nghĩa
sau giải mã đều có khả năng là bản tin được mã hóa (bản rõ). Nghĩa là, sẽ khơng có
bất kỳ thơng tin nào trong bản mã cho phép kẻ tấn công lựa chọn đúng bản rõ từ các
bản tin có nghĩa sau giải mã bằng phương pháp “vét cạn”. Ngoài ra, nếu KOT thực sự
ngẫu nhiên thì từ một khóa đã biết kẻ tấn cơng khơng thể tìm (suy) ra các khóa khác
đã được tạo ra trước hay sau đó.
Với thuật tốn đề xuất, khóa sử dụng một lần KOT là một tập các khóa con Ki được
tạo bởi hàm băm MD5 theo nguyên tắc: a) mỗi khóa con Ki được sinh ra từ khóa con
đứng trước Ki-1 và khối dữ liệu tương ứng Pi-1; b) riêng khóa con đầu tiên K1 được tạo

4

L H. Dũng, N.A. Việt, Đ.T.B. Ngọc, “Thuật toán mã hóa – xác thực … từ mật mã OTP”



Nghiên cứu khoa học cơng nghệ

ra bởi “mầm khóa” C0 và khóa bí mật chia sẻ KS. Như vậy, KOT thực chất là một
chuỗi bit được tạo ra bởi việc ghép nối tiếp n chuỗi (bit) con Ki, mà các chuỗi con Ki
này chính là đoạn 128-bit đầu tiên của n chuỗi bit cơ sở được tạo bởi MD5 – đóng vai
trị của hàm sinh số ngẫu nhiên với các giá trị khởi tạo hay các “mầm” (seed) khác
nhau. Nói cách khác, chuỗi bit KOT được tạo ra từ n chuỗi bit cơ sở khác nhau, bằng
cách lấy ra từ mỗi chuỗi bit cơ sở một chuỗi con (128-bit đầu tiên) rồi ghép nối tiếp n
chuỗi con này với nhau.
Với việc sử dụng MD5 để tạo các chuỗi bit cơ sở, thì trong các chuỗi con có kích
thước hạn chế Ki sẽ không tồn tại chu kỳ lặp lại và do đó các chuỗi con này thực sự có
tính ngẫu nhiên là điều hồn tồn có thể khẳng định. Mặt khác, các chuỗi bit cơ sở
được tạo bởi các giá trị khởi tạo khác nhau nên chúng độc lập với nhau, dẫn đến các
chuỗi con Ki (128-bit đầu tiên của chuỗi bit cơ sở) cũng độc lập với nhau. Như vậy,
KOT là sự ghép nối tiếp các chuỗi con 128-bit có tính ngẫu nhiên và độc lập nhau, nên
trong KOT sẽ không tồn tại chu kỳ lặp lại và do đó có tính ngẫu nhiên cũng là điều
hồn tồn có thể khẳng định được.
Tóm lại, KOT được tạo ra theo giải pháp đề xuất đã đáp ứng được yêu cầu về tính
ngẫu nhiên của khóa theo nghĩa: a) từ một khóa đã biết, kẻ tấn cơng khơng thể tìm
được các khóa đã được tạo ra trước hoặc sau đó; b) chuỗi bit khóa khơng tồn tại chu
kỳ lặp lại, nên sẽ không tạo ra mối liên quan giữa bản rõ và bản mã. Do đó, tấn cơng
theo dạng “vét cạn” là hồn tồn có thể kháng được đối với thuật tốn mới đề xuất.
- Tấn cơng giả mạo: Mật mã OTP khơng cung cấp tính năng xác thực cho bản tin
được mã hóa, vì vậy kẻ tấn cơng có thể chặn bản mã được gửi đi và gửi cho bên nhận
một bản tin giả mạo có cùng kích thước với bản tin thật. Trường hợp giải mã ra một
bản tin vơ nghĩa, người nhận có thể suy đốn về một sự giả mạo đã được thực hiện
hoặc do lỗi truyền tin gây ra. Tuy nhiên, nếu giải mã ra một bản tin có nghĩa thì chính
người nhận cũng khơng có cách nào xác định được bản tin này là thật hay giả mạo.
Ở thuật toán mới đề xuất, bằng việc tạo “mầm khóa” C0 từ khóa bí mật chia sẻ KS

C0 =
và bản tin được mã hóa nhờ hàm băm MD5 ở phía bên gửi:
MD5(P||KS), bên nhận hồn tồn có khả năng nhận thực chính xác nguồn gốc cũng
như tính toàn vẹn của bản tin sau giải mã qua việc tính:
M0 =
MD5(M||KS) và kiểm tra: M0 = C0. Đặc biệt là, chỉ có duy nhất bên nhận thực hiện
được việc xác thực này, chính điều đó là một yếu tố quan trọng tạo nên khả năng
kháng lại tấn công dạng “vét cạn” của thuật toán mới đề xuất.
2.2. Hiệu quả thực hiện
Có thể nâng cao hiệu quả thuật tốn đề xuất nếu khóa KOT được tạo ra trước các
khi các thủ tục mã hóa và giải mã được thực hiện. Khi đó, các thuật tốn sinh khóa,
mã hóa và giải mã được mơ tả như sau:
+ Thuật tốn sinh khóa:
Input: P = {P1,P2,…,Pi,…,Pn}, KS.
Output: KOT = {K1,K2,…,Ki,…,Kn},C0.
[1]. C0 = MD5(P||KS)
[2]. KOT[1] = MD5(C0||KS)
[3]. for i = 2 to n do
begin

Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2020

5


Cơng nghệ thơng tin

KOT[i] = MD5(KOT[i-1])
end
[4]. return {KOT,C0}

+Thuật tốn mã hóa:
Input: P = {P1,P2,…,Pi,…,Pn}, KOT = {K1,K2,…,Ki,…,Kn},C0.
Output: C = {C0,C1,C2,…,Ci,…,Cn}.
[1]. C[0] = C0
[2]. for i = 1 to n do
begin
C[i] = P[i] ⊕ KOT[i]
end
[3]. return C
+Thuật toán giải mã và xác thực:
Input: C = {C0,C1,C2,…,Ci,…,Cn}, KOT = {K1,K2,…,Ki,…,Kn},KS.
Output: M = {M1,M2,…,Mi,…,Mn}, true/false.
[1]. for i = 1 to n do
begin
M[i] = C[i] ⊕ KOT[i]
end
[2]. M0 = MD5(M||KS)
[3]. if (M0 = C0) then return {M,true}
else return {M,false}
Có thể thấy rằng, hiệu quả thực hiện của thuật tốn được đề xuất có thể đạt xấp xỉ
hiệu quả thực hiện của mật mã OTP nếu cả hai sử dụng cùng một thuật toán sinh số
ngẫu nhiên để tạo khóa. Trên thực tế, có thể nâng cao tốc độ thực hiện của thuật tốn
sinh khóa bằng cách sử dụng thuật toán sinh số ngẫu nhiên dạng thanh ghi dịch hồi
tiếp tuyến tính – LFSR (Linear Feedback Shift Registers) [9] kiểu Shrinking
Generator [11].

III. KẾT LUẬN
Bài báo đề xuất thuật tốn mã hóa – xác thực thơng tin từ việc phát triển mật mã sử
dụng khóa một lần OTP. Với giải pháp thiết kế khóa mật từ 2 phân khóa tách biệt,
thuật tốn được đề xuất ở đây có khả năng loại trừ tất cả các dạng tấn cơng đối với các

hệ mã khối/khóa đối xứng đã được biết đến, đây là một ưu điểm rất quan trọng được
kế thừa từ mật mã OTP. Ngoài ra, do có cơ chế xác thực nguồn gốc và tính tồn vẹn
của bản tin được mã hóa, thuật tốn này cịn có khả năng chống lại các dạng tấn cơng
giả mạo rất hiệu quả. Những ưu điểm khác của thuật toán này là có tốc độ và hiệu quả
thực hiện có thể so sánh với mật mã OTP, song khóa mật chia sẻ có thể sử dụng nhiều
lần như các hệ mật khóa đối xứng khác. Đây là những đặc tính rất quan trọng mang

6

L H. Dũng, N.A. Việt, Đ.T.B. Ngọc, “Thuật tốn mã hóa – xác thực … từ mật mã OTP”


Nghiên cứu khoa học công nghệ

lại khả năng ứng dụng cao cho thuật toán trong việc thiết kế - chế tạo các thiết bị bảo
mật thông tin.

TÀI LIỆU THAM KHẢO
[1]
SharadPatil , Ajay Kumar (2010). Effective Secure Encryption Scheme(One Time
Pad) using Complement Approach. International Journal of Computer Science &
Communication, Vol.1,No.1,January-June 2010, pp.229-233.
[2] Raman Kumar,Roma Jindal ,Abhinav Gupta , SagarBhalla, HarshitArora (2011). A
Secure Authentication System-Using Enhanced One Time Pad Technique. IJCSNS
International Journal of Computer Science and Network Security,VOL.11 No.2,February
2011.
[3] SharadPatil ,ManojDevare , Ajay Kumar (2007). Modified One Time Pad Data Security
Scheme: Random Key Generation Approach. International Journal of Computer Science and
Security (IJCSS) ,Volume (3): Issue(2).
[4] N.J.Croft and M.S.Olivier (2005). “Using an approximated One-Time Pad to Secure

ShortMessaging service(SMS)”. SATNAC 2005 Proceedings.
[5] Jeff Connelly (1978). A Practical Implementation of a One-time Pad Cryptosystem. CPE
456 , June 11, 2008.
[6] Shannon C.E. (1949). Communication Theory of Secrecy Systems. Bell System
Technical Journal, Vol.28-4, pp 656-715.
[7] William Stallings (2005). Cryptography and Network Security Principles and Practices.
Prentice Hall.
[8] FIPS PUB 197:
FEDERAL INFORMATION PROCESSING STANDARDS
PUBLICATION
197.
CATEGORY:
COMPUTER
SECURITY
STANDARD,
CRYPTOGRAPHY. November 2001.
[9] Menezes A., Van Oorschot P. and Vanstone S. (1996). Handbook of Applied
Cryptography. Boca Raton, Florida: CRC Press.
[10] D. Coppersmith, H. Krawczyk, and Y. Mansour, “The shrinking generator,” in
CRYPTO ’93: Proceedings of the 13th annual international cryptology conference on
Advances in cryptology, (New York, NY, USA), pp. 22–39, Springer-Verlag New York, Inc.,
1994.
ABSTRACT

AN ENCRYPTION AND AUTHENTICATION ALGORITHM DEVELOPED
BASED ON THE ONE – TIME PAD CIPHER
The paper proposes an encryption and authentication algorithm developed based on
the One – Time Pad (OTP) cipher. Advantages of the new algorithm is to have high
safety and efficient implementation as OTP cipher, but the establishment, management distribution and usage of keys are exactly the same as the Symmetric-key cryptosystems
in practice (DES,AES,…)

KEYWORDS - Symmetric-Key Cryptography,
Symmetric-Key Cryptographic
Algorithm, Symmetric-Key Cryptosystems, One - Time Pad Algorithm, OTP Cipher.

Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2020

7


Công nghệ thông tin

Nhận bài ngày 17 tháng 10 năm 2020
Hoàn thiện ngày 10 tháng 12 năm 2020
Chấp nhận đăng ngày 15 tháng 12 năm 2020
Địa chỉ:

1

Học viện KTQS.
Bộ Tư lệnh Tác chiến không gian mạng.
3
Trường Đại học CNTT & TT, Đại học Thái Nguyên.
*Email:
2

8

L H. Dũng, N.A. Việt, Đ.T.B. Ngọc, “Thuật tốn mã hóa – xác thực … từ mật mã OTP”




×