Cơng nghệ thơng tin
ĐỀ XUẤT THUẬT TỐN TRAO ĐỔI KHĨA HIỆU QUẢ
SỬ DỤNG MẬT MÃ KHÓA ĐỐI XỨNG
Trần Xuân Ban1,*, Hồ Văn Canh2
Tóm tắt: Có nhiều phương pháp trao đổi khóa: trao đổi khóa cơng khai và trao
đổi khóa bí mật. Sử dụng mật mã khóa cơng khai tốc độ tính tốn chậm vì độ khó
của bài tốn phụ thuộc vào việc chọn các số nguyên tố đủ lớn. Đối với các hệ thống
có năng lực tính tốn hạn chế như các thiết bị thông minh, các thiết bị trong mạng
internet of things thì cần thiết phải sử dụng những hệ thống mật mã nhẹ
(lightweight). Bài báo này đề xuất một thuật tốn trao đổi khóa dựa trên mật mã đối
xứng. Thuật tốn đơn giản dễ sử dụng, có độ an tồn cao và đặc biệt kích thước
khóa nhỏ, tốc độ tính tốn nhanh phù hợp với phát triển các phương pháp mã hóa
hạng nhẹ dựa theo phương pháp mã hóa khóa đối xứng có độ dài mầm khóa là 30 ký
tự La tinh, tương đương 240 bít được sử dụng để tạo khóa bí mật.
Từ khóa: Mã hóa bí mật, Mã hóa nhẹ, Trao đổi khóa.
1. ĐẶT VẤN ĐỀ
Mật mã khóa đối xứng (Symmetric Key Cryptography), bao gồm Hệ mật truyền
thống và Hệ mật mã hiện đại, có nhiều ưu điểm như: tốc độ mã hóa/giải mã nhanh
và độ mật đã được khẳng định. Hiện nay, đã có nhiều thuật tốn có tốc độ mã hóa
rất nhanh và độ an toàn cao. Loại mật mã này hiện nay đang được sử dụng rộng rãi
để bảo mật thông tin, đặc biệt là những thông tin liên quan đến thương mại. Tuy
nhiên các hệ mật khóa đối xứng có hạn chế về vấn đề trao đổi khóa mã và thực
hiện ký số. Hiện nay, có thể sử dụng Hệ mật mã khóa cơng khai (Asymmetric Key
Cryptography) để thực hiện trao đổi khóa và ký số để đảm bảo an tồn. Tuy nhiên,
việc trao đổi khóa bằng mật mã khóa cơng khai làm cho kích cỡ bản mã tăng lên
đáng kể (có thể tăng gấp đơi bản mã gốc) và rất có thể làm giảm độ an tồn cho
khóa mã. Trong thực hành việc giải mã với khóa cơng khai rất chậm so với mật mã
khóa đối xứng, chiếm nhiều dung lượng nhớ, khơng phù hợp với các hệ thống có
nguồn năng lượng tính tốn thấp (lowpower), có bộ nhớ hạn chế và các thiết bị tính
tốn khắp nơi như trong mạng internet of things (IoT). Mạng IoT là xu hướng của
tương lai và hiện được ứng dụng trong các lĩnh vực như y tế, vận tải, giao thơng,
chăm sóc sức khỏe,…ngồi ra, còn một vài nhược điểm khác nữa.
Để giải quyết vấn đề này, cần một hệ mã có kích thước nhỏ song vẫn đảm bảo
độ an toàn tối thiểu trong trao đổi khóa. Bài báo này trình bày thuật tốn về trao
đổi khóa dựa trên mật mã khóa đối xứng nhằm đảm bảo bảo tính nhẹ (lightweight)
khi xây dựng khóa nhưng vẫn đảm bảo độ an toàn. Bài báo gồm 4 phần: đầu tiên là
phần giới thiệu về vấn đề trao đổi khóa, tiếp theo là đề cập đến mật mã hóa đối
xứng và trao đổi khóa, phần 3 là thuật tốn do nhóm tác giả đề xuất, cuối cùng là
kết luận và hướng phát triển.
2. NỘI DUNG CẦN GIẢI QUYẾT
2.1. Hệ mã khóa đối xứng và trao đổi khóa
Trong Hệ mật mã khóa đối xứng, chúng tơi lấy Hệ mật mã khối làm mục tiêu
để nghiên cứu, trong đó Chuẩn mật mã dữ liệu (DES) được chọn làm đặc trưng
để tìm hiểu.
256
T. X. Ban, H. V. Canh, “Đề xuất thuật tốn trao đổi khóa … mật mã khóa đối xứng.”
Thông tin khoa học công nghệ
2.1.1. Hệ mật mã DES
DES (Data Encryption Standard) là một Hệ mật mã khối điển hình, khóa của nó
là một dãy bít giả ngẫu nhiên độ dài 64 bít. Ta ký hiệu khóa là k = k1,k2,..., k64, với
ki ϵ{0,1}, i= 1,2,...,64. Mỗi khi tiến hành mã hóa một bản rõ nào đó, thuật tốn
DES sẽ bỏ qua 8 bít ở các vị trí 8,16, 24, 32, 40, 48, 56 và 64. Như vậy, thực tế
khóa chỉ cịn 56 bít. Để đơn giản, trong nghiên cứu này chúng ta coi như khóa DES
có độ dài 56 bít. Việc truyền khóa k độ dài 56 bít thực hiện trên kênh cơng cộng
với mã hóa cơng khai (ví dụ như RSA).
Giả sử A muốn chuyển cho B một bản rõ X =x1, x2,..., xn, trong đó, xiϵ{a, b,
c,..., z}, dùng Hệ mật mã DES mã hóa bản rõ X bởi khóa k (56 bít ). Khi đó, bản
mã sẽ được ký hiệu là Y = y1, y2,..., yn. B cần có khóa mã k để giải bản mã Y thành
X. Để trao đổi khóa k giữa A và B sử dụng mật khóa cơng khai RSA với cặp khóa
cơng khai và khóa riêng lần lượt là (N, bB) và (N, aB) và thực hiện:
- A lấy khóa cơng khai (N, bB) và tính: Z = kbBmod(N), sau đó gửi cặp (Z, Y)
cho B trên kênh cơng cộng (>56 bit).
- B nhận được cặp (Z, Y) và sử dụng khóa riêng (N, aB) để khơi phục khóa k (k
= ZaB mod(N), thực hiện giải mã Y.
Vì cặp (Z, Y) lớn hơn bản mã Y nhiều, có thể gấp hai lần, nên làm tăng kích
thước bộ nhớ và dẫn đến tăng thời gian truyền và có thể gây mất an tồn (vì thời
gian truyền trên mạng lâu).
Như vậy, với hệ thống mạng có các thiết bị hạn chế năng lượng, hạn chế về bộ
nhớ thì phương pháp trao đổi khóa trên là khơng phù hợp. Vì u cầu cần giảm
kích thước dữ liệu khi truyền song vẫn đảm bảo tính an tồn, độ tin cậy, đặc biệt
như trong mạng IoT cần sự tương tác nhanh chóng giữa các thiết bị.
2.1.2. Hàm băm và ứng dụng xây dựng thuật toán trao đổi khóa
Hàm băm mật mã học (Cryptographic hash function) được sử dụng trong nhiều
ứng dụng bảo mật thông tin như chứng thực (authentication), kiểm tra tính ngun
vẹn của thơng tin (message integrity), tạo chữ ký số,… Đầu vào hàm băm (hash) là
một xâu có độ dài tùy ý, đầu ra là xâu có độ dài cố định. Hàm băm có các tính
chất: cho trước h việc tìm m sao cho h = hash (m) là rất khó; cho thơng điệp m1,
việc tìm một thơng điệp m2 (khác m1) sao cho hash(m1) = hash(m2) là rất khó; và
việc tìm 2 thông điệp khác nhau m1 và m2 sao cho hash(m1) = hash(m2) là rất
khó. Độ dài của đầu ra càng lớn thì độ khó trong phá hàm băm càng cao.
2.2. Đề xuất thuật tốn trao đổi khóa bí mật sử dụng phương pháp mật mã
đối xứng
Độ dài của một khóa bí mật phụ thuộc vào yêu cầu của từng thuật tốn mã hóa
cụ thể. Như độ dài của khóa mật mã khối DES là 56 bít tương ứng với 7 ký tự
Latinh; độ dài khóa của thuật tốn mã hóa IDEA (International Data Encryption
Algorithm) là 128 bit; tương ứng với 16 ký tự Latinh, v.v…
Trong phương pháp mật mã mà nhóm tác giả đề xuất có độ dài mầm khóa là 30
ký tự Latinh, tương đương 240 bít. Một cách tổng qt, trong thuật tốn sinh khóa
bí mật sau đây, ta ký hiệu d là độ dài tính theo chữ cái Latinh của mầm khóa (Key
Seed) bí mật của một thuật tốn mã khối khóa đối xứng nào đó. Ký hiệu m là một
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017
257
Công nghệ thông tin
số tự nhiên tùy ý nhưng cố định do hai thực thể thống nhất trước. Để đảm bảo an
toàn số m phải lớn hơn hay bằng 5 (m ≥ 5).
Thuật tốn sinh khóa bí mật:
Input: Cho x(n) là một dãy các ký tự Latinh có độ dài n tùy ý, một số nguyên
dương cho trước d cố định tùy ý và một số nguyên m ≥ 5 cho trước.
Output: một dãy gồm d chữ cái.
Các bước tiến hành của thuật toán như sau:
Bước 1. Nếu n < md thì viết liên tiếp và lặp lại dãy x(md) = x1,x2,...xn,x1, x2,
..., xmd.
Bước 2. Đổi dãy x(md) sang dãy số nguyên dương theo nguyên tắc:
- Chữ cái nào ở trong dãy x(md) có giá trị bé nhất được đánh số 1;
- Nếu trong dãy x(md) có m ký tự đều có giá trị bé nhất thì ưu tiên đánh số 1
cho ký tự xuất hiện đầu tiên, tiếp đó là số 2, v.v. cho đến ký tự thứ m và cuối cùng
là ký tự có giá trị lớn nhất được đánh số.
Như vậy, dãy y(md) sẽ có md số khác nhau. Tuy dãy các ký tự x(md) không độc
lập, chúng được phân bố theo qui luật Maxkov nhưng dãy số y(md) thì độc lập [2].
Bước 3. Lập bảng (ma trận) B = ( bij )mxd.
Bước 4. Điền các số của dãy y(md) vào bảng B theo thứ tự tự nhiên cho đến khi
bảng B được lấp đầy các ô của bảng.
Bước 5. Với j = 1,2, ..., d tính:
zj = (Ʃi=1,m bij ) mod 26
Bước 6. Khi được dãy (z1, z2,..., zd) thuật toán dừng và đổi dãy (z1, z2,..., zd)
sang ký tự trong bảng mã ASCIL được dãy các ký tự chính là mầm khóa mà hai
thực thể A và B cần có để liên lạc mật với nhau.
3. TÍNH TỐN ÁP DỤNG VÀ BÀN LUẬN
3.1. Tính tốn áp dụng
3.1.1. Mã hóa dãy ký tự
Input: Dãy ký tự x(37) = "coongj hoaf xax hooij chur nghiax vieetj nam", với
n=37. Lấy d = 10 và m = 5.
Output: Dãy gồm 10 chữ cái.
Bước 1: n=37< m*d = 5.10 = 50 nên thực hiện viết liên tiếp dãy x(37) cho đến
khi được dãy x(50). Dãy x(50) = "coongj hoaf xax hooij chur nghiax vieetj nam
coongj hoaf xax".
Bước 2: Thực hiện đổi dãy ký tự x(50) sang dãy số y(50) được:
7,34,35,30,14,25,17,36,1,12,46,2,47,18,37,38,22,26,8,19,44,42,31,15,20,23,3,4
8,45,24,10,11,43,27,32,4,29,9,39,40,33,16,28,21,41,5,13,49,6,50.
Bước 3+4: Lập bảng kích thước mxd=5x10 và điền các giá trị của dãy y(50) vào
bảng được kết quả như sau:
258
T. X. Ban, H. V. Canh, “Đề xuất thuật toán trao đổi khóa … mật mã khóa đối xứng.”
Thông tin khoa học công nghệ
Bảng 1. Giá trị ma trận kích thước m x d.
7
34 35 30 14 25 17 36 1
46 2
47 18 37 38 22 26 8
44 42 31 15 20 23 3
12
19
48 45 24
10 11 43 27 32 4
29 9
30 40
33 16 28 21 41 5
13 49 6
50
Bước 5: Tính các giá trị zj theo (1), với j = 1,2,...,10. Kết quả:
z1= (7+46+44+10+33)mod26 = 10 = K,
z2 = (34+2+42+11+16)mod26 = 1 = B,
z3= (35+47+31+43+28)mod26 = 2= C
z4= (30+18+15+27+21)mod26 = 7 = H
z5 = (14+37+20+32+41)mod26 = 14 = O
z6 =(25+38+23+4+5)mod26 = 17 = R
z7 = (17+22+3+29+13)mod26 = 6 = G
z8 = (36+26+48+9+49)mod26 = 12 = M
z9 = (1+8+45+39+6)mod26 = 21 = V
z10 = (12+19+24+40+50)mod26 = 15 = P .
Vậy mầm khóa là Z =(K, B, C, H, O, R,G, M, V, P)
3.1.2. Giấu tin mật trong ảnh số
Xét trường hợp tổng quát:
Input: Ảnh C.
Output: Dãy khóa k = k1, k2,..., kd, ki ϵ{ 0,1} với d là độ dài khóa mã.
Bước 1: Trích chọn tất cả hoặc một phần các MSB (Most Significant Bit) do hai
thực thể liên lạc mật với nhau qui định trước của ảnh C và tạo thành ảnh thứ cấp
C(1) = c1, c2,...,cN .
Bước 2: Lập bảng (ma trận) gồm m dòng , d cột với m ≥ 5: A (ai,j)mxd .
Bước 3: Viết các bít c1, c2,..., cN theo thứ tự tự nhiên vào bảng A.
Bước 4: For j = 1,2,...,d tính các bj = Ʃi=1,m aij (mod2).
Bước 5: Viết dãy b1, b2,..., bd . Đây là dãy giá trị của khóa bí mật cần giấu trong
ảnh mà hai bên muốn trao đổi.
3.2. Bàn luận
Thuật tốn khóa mã được trình bày trên là thuật toán tựa hàm băm (quasi-hash
function). Ở đây, bản rõ được ngẫu nhiên hóa thành q trình điểm với số gia độc
lập trước lúc chúng trở thành đầu vào (input) của thuật tốn băm. Trong thuật
tốn có 2 tham số bí mật rất quan trọng là độ sâu m và độ dài d của khóa. Số d có
thể bị lộ nhưng số m thì chỉ có người gửi và người nhận đích thực biết. Do đó, dù
thuật tốn bị lộ, nhưng số m và việc xử lý ban đầu được bí mật thì kẻ tấn cơng
khó có thể xác định được đầu ra (output) là khóa mã. Đó chính là mức độ an tồn
Tạp chí Nghiên cứu KH&CN qn sự, Số Đặc san CNTT, 12 - 2017
259
Cơng nghệ thơng tin
của việc trao đổi khóa. Bên cạnh đó cịn chưa tính đến đầu vào bản rõ là quy ước
giữa nơi gửi và nơi nhận đích thực nên kẻ tấn cơng khó biết được dãy ký tự đầu
vào. Như vậy, việc tấn công vét cạn (brute force attack) đối với thuật tốn này là
khơng khả thi.
Thấy rằng: Trong thuật toán, tại Bước 5 nếu biết trước giá trị zj để tìm ngược lại
các giá trị 26 và Ʃi=1,m bij là khó.
Phương pháp trao đổi khóa bí mật trên đây có thể được dùng cho mọi Hệ mật
mã khóa đối xứng và cùng lúc cho nhiều người khác nhau. Việc chọn một đoạn
văn bản rõ làm đầu vào cho thuật tốn là tùy ý, thậm chí có thể lấy một dãy số bất
kỳ hoặc một hỗn hợp cả chữ cái và chữ số, có thể một dãy các bản rõ được lặp lại,
chẳng hạn: "thi dua thi dua thi dua", vv... mà khơng sợ làm giảm độ an tồn cho
khóa k, vì dãy số tương ứng chỉ phụ thuộc vào vị trí của các ký tự trong dãy và độc
lập với bản thân ký tự đó. Lý thuyết Markov đã chứng minh được rằng: Đó là dãy
ngẫu nhiên độc lập. Do đó, để thuận lợi trong thực hành, hai người A và B muốn
liên lạc mật với nhau mà ở cách xa nhau thì họ có thể qui ước sử dụng ngày tháng
ở đầu bản thơng báo nào đó một cách công khai mà không sợ bị nghi ngờ. Riêng
thuật tốn đơn giản và dễ nhớ, dễ lập trình và có tính ứng dụng trong thực tế.
Hiện nay, có 2 phương pháp trao đổi khóa: sử dụng mã khóa bí mật (DiffieHellman) và sử dụng mã khóa cơng khai (RSA).
* Trong trao đổi khóa bí mật Diffie-Hellman:
A và B khi thỏa thuận khoa bí mật sẽ thực hiện như sau:
- A thống nhất với B một phần tử nguyên thủy g trong vành Z *p và số nguyên tố
p đủ lớn. Khi đó sơ đồ thỏa thuận khóa như sau:
- A sẽ chọn một giá trị x bí mật trong khoảng (0, p-2) và tính g x mod p rồi gửi
giá trị này cho bên B.
- B chọn một giá trị bí mật y trong khoảng (0, p-2) và tính g y mod p rồi gửi giá
trị này cho bên A.
- Hai bên A, B tính khóa bí mật dựa vào các giá trị x, y, g x mod p , g y mod p .
Khóa bí mật chung là: KA,B= K 1A .
Như vậy, thỏa thuận khóa bí mật Diffie-Hellman rất đơn giản. Để đảm bảo an
tồn thì số nguyên tố p phải chọn là đủ lớ (cỡ 10155 ). Việc xác định số p lớn có là
số ngun tố khơng cũng là bài tốn khó, tốn nhiều thời gian. Độ khó ở thỏa thuận
khóa bí mật Diffie-Hellman chính là giải quyết bài tốn logarit rời rạc và phụ thuộc
vào khả năng tính tốn của con người và thiết bị. Điều này không phù hợp với
những thiết bị hạn chế (tài nguyên, bộ nhớ,…).
* Trong trao đổi khóa cơng khai RSA:
Trao đổi khóa bí mật dựa trên Lược đồ RSA được áp dụng rộng rãi. Để sử dụng
lược đồ này thì cả hai bên A và B đều phải sử dụng hệ mật RSA. Q trình trao đổi
khóa diễn ra như sau:
- A có cặp khóa bí mật và công khai là ( K 1A , K A2 );
260
T. X. Ban, H. V. Canh, “Đề xuất thuật toán trao đổi khóa … mật mã khóa đối xứng.”
Thơng tin khoa học cơng nghệ
- B có cặp khóa bí mật và cơng khai là ( K B1 , K B2 );
- A muốn gửi 1 khóa bí mật K cho B cần thực hiện:
2
+ A sử dụng khóa cơng khai của B ( K B2 ) và tính: y K K B modn B , với
nB pB *q B , pB , qB là 2 số nguyên tố đủ lớn và khác nhau của hệ RSA của B. A
thực hiện gửi y cho B.
+ B thực hiện tính (sau khi nhận được y từ A) để xác định khóa K:
1
K y K B modn B . Nếu cần khẳng định lại K có phải là khóa do A gửi khơng thì B
2
lấy khóa cơng khai của A ( K A2 ) và tính: y ' K K A modn A , với nA p A *q A , p A ,
q A là 2 số nguyên tố đủ lớn và khác nhau của hệ RSA của A. B thực hiện gửi y’
cho A.
+ A thực hiện tính tốn ra khóa mới theo các thơng tin B gửi và so sánh với
1
khóa K trước đó: K ' y 'K A modn A . So sánh K và K’nếu giống nhau thì đúng khóa
A đã gửi cho B.
Ở đây ta thấy: để đảm bảo an tồn cho K thì nA và nB phải đủ lớn tránh việc tấn
cơng phân tích thành thừa số 2 số nguyên tố. Theo tiêu chuẩn X.509 thì mỗi số này
phải có độ dài tối thiểu là 1024 bit (cỡ 10310 số thập phân). Với kích thước lớn như
vậy các thiết bị hạn chế sẽ không thể thực hiện được (kích thước các thiết bị này
thường cỡ vài MB).
* Đối với mơ hình trao đổi khóa bí mật do nhóm tác giả đề xuất:
Không sử dụng 2 lược đồ trao đổi khóa trên (mã khóa bí mật và mã khóa công
khai). Trong 2 lược đồ này luôn yêu cầu bộ nhớ của các thiết bị phải đủ lớn, điều
này hoàn tồn khơng phù hợp cho các thiết bị trong mạng IoT. Thuật tốn mà
nhóm đã đề xuất khơng u cầu thiết bị tính tốn lớn, phù hợp với các thiết bị hạn
chế và phù hợp với các khóa mã bí mật trong mã hạng nhẹ (lightweight). Như đề
cập trên, đầu vào của thuật tốn là cơng khai, chỉ cần giữ bí mật: độ dài khóa, độ
sâu của hàm tựa hàm băm và thuật toán giữa 2 bên A và B. Những tham số này do
quy ước chứ hồn tồn khơng truyền qua một kênh nào nên đảm bảo sự an tồn.
Mơ hình trao đổi khóa đề xuất có khả năng ứng dụng thực tiễn trong cơng tác an
ninh, quốc phịng.
4. KẾT LUẬN
Trên cơ sở nghiên cứu một số hệ mật phổ biến, nhóm tác giả đã đề xuất một
thuật tốn sinh khóa đơn giản, hiệu quả và dễ triển khai trong thực tiễn để áp dụng
cho việc trao đổi khóa, xác thực thông tin giữa bên gửi và bên nhận.
Đặc tính của các thiết bị trong mạng IoT có năng lực tính tốn thấp, u cầu
việc xác thực phải nhanh chóng. Thuật tốn sinh khóa trên đơn giản, song vẫn đáp
ứng độ bảo mật sẽ phù hợp với yêu cầu thực tiễn.
Tuy nhiên đối với các hệ thống phức tạp và yêu cầu sự bảo mật cao trong xác
thực thì thuật tốn dễ bị tấn cơng. Đây là vấn đề cần được nghiên cứu, cải tiến
thêm. Nhóm tác giả sẽ tiến hành cài đặt thử nghiệm để đánh giá chính xác hiệu quả
trên thiết bị của mạng IoT.
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017
261
Công nghệ thông tin
TÀI LIỆU THAM KHẢO
[1]. Hồ Văn Canh, Nguyễn Viết Thế, "Nhập mơn phân tích thơng tin có bảo mật".
NXB Hà Nội T&T. 2010.
[2]. Nguyễn Đào Trường, Lê Mỹ Tú, “Cải tiến phương pháp phân phối khóa mật
mã an tồn trong mạng có tài ngun hạn chế”, Kỷ yếu Hội thảo Quốc gia
lần thứ X về Nghiên cứu cơ bản và ứng dụng Công nghệ thông tin (FAIR), Đà
Nẵng, 2017.
[3]. Đặng Minh Tuấn, Nguyễn Văn Căn, Nguyễn Ánh Việt, Nguyễn Tiến Xuân,
“Đề xuất chữ ký số ủy nhiệm và ứng dụng cho ủy nhiệm chi trong hệ thống
Bitcoin”, Kỷ yếu Hội thảo Quốc gia lần thứ X về Nghiên cứu cơ bản và ứng
dụng Công nghệ thông tin (FAIR), Đà Nẵng, 2017.
[4]. Lưu Hồng Dũng, Hồ Ngọc Duy, Tống Minh Đức, Bùi Thế Truyền, Đặng
Hùng Việt, “Giao thức trao đổi khoa an tồn cho các hệ mật khóa đối xứng”,
Kỷ yếu Hội thảo Quốc gia lần thứ X về Nghiên cứu cơ bản và ứng dụng Công
nghệ thông tin (FAIR), Đà Nẵng, 2017.
[5]. Nguyễn Đào Trường, Lê Mỹ Tú, Nguyễn Doãn Cường, “Một phương pháp
cải tiến mật mã khối áp dụng trong mạng đòi hỏi thời gian xử lý nhanh”, Kỷ
yếu Hội thảo Quốc gia lần thứ X về Nghiên cứu cơ bản và ứng dụng Công
nghệ thông tin (FAIR), Đà Nẵng, 2017.
[6]. Nguyễn Đức Toàn, Bùi Thế Hồng, Nguyễn Văn Tảo, “Về một thuật tốn mã
hóa khóa đối xứng cải tiến”, Kỷ yếu Hội thảo Quốc gia lần thứ X về Nghiên
cứu cơ bản và ứng dụng Công nghệ thông tin (FAIR), Đà Nẵng, 2017.
[7]. Trịnh Nhật Tiến, "Bảo mật thơng tin và an tồn dữ liệu". NXB ĐHQG Hà
Nội, 2009.
[8]. Peter Brockwell , Richard A. Davis, Time Series: Theory and Methods. Springer Series In Statistics, Spriger-Verlag: New York, Berlin Heidelberg,
London, Paris, Tokyo (1987).
[9]. Rafael Alvarez, Cándido Caballero-Gil, Juan Santonja and Antonio Zamora
1, “Algorithms for Lightweight Key Exchange”, 2016.
[10]. Daniel Dinu, Yann Le Corre, Dmitry Khovratovich, L´eo Perrin, Johann
Großschadl, Alex Biryukov, Triathlon of Lightweight Block Ciphers for the
Internet of Things, University of Luxembourg
[11]. Kai Fan, Jie Li and Hui Li, Xiaohui Liang, Xuemin (Sherman), Yintang
Yang, ESLRAS: A Lightweight RFID Authentication Scheme with High
Efficiency and Strong Security for Internet of Things, 2012 Fourth
International Conference on Intelligent Networking and Collaborative
Systems.
[12]. Doughlas R. Stison, "Cryptography: Theory and Practices". CRC Press
1999.
[13]. FIPS, "Key management using ANSI X9,17" Federal Information Proceeding.
Standards Publication 171. U.S. Department of Commerce /N.I.S.T.
[14]. M. Bellare and P. Rogaway, "Provably Secure Session Key Distribution".
Proceedings of The 27th Annal ACM Symposium.
[15]. Michael R.A. Huth, "Secure communicating Systems". Cambridge University
Press, 2001.
262
T. X. Ban, H. V. Canh, “Đề xuất thuật toán trao đổi khóa … mật mã khóa đối xứng.”
Thông tin khoa học công nghệ
[16]. Phil Zimmermann, "Protect Your Privacy", 2013.
[17]. R. Blom, "Non-public key distribution". Advances in CryptologyProceedings ò Crypto-o3.
[18]. W. F. Ehrsam, S.M. Matyas, C.H. Meyer, and W.L. Tuchman, "A
Cryptographic key manmagement scheme for implementing the Data
Encyption Standard". IBM Systems Journal.
ABSTRACT
PROPOSING AN EFFECTIVE KEY EXCHANGE ALGORITHM USING
SYMMETRIC KEY CRYPTOGRAPHY
There are several methods of key exchange: public key exchange and
secret key exchange. Using public key cryptography the calculation speed is
slow because the difficulty of the problem depends on the choice of prime
numbers large enough. For systems with limited computing power, such as
smart devices and devices in the internet of things, it is necessary to use
lightweight systems. This article proposes a symmetric encryption key
exchange algorithm. Simple algorithms for ease of use, high security and
especially small key sizes, fast computation speed are suitable for the
development of lightweight cryptographic methods based on symmetric-key
encryption method. The 30-character Latin alphabet, equivalent to 240 bits,
is used to generate the secret key.
Keywords: Secret encryption, Light encryption, Key exchange.
Nhận bài ngày 25 tháng 9 năm 2017
Hoàn thiện ngày 26 tháng 11 năm 2017
Chấp nhận đăng ngày 28 tháng 11 năm 2017
Địa chỉ:
1
Đại học Kỹ thuật – Hậu cần Công an nhân dân (Bộ Công an);
Cục A70 (Bộ Cơng an).
*
Email:
2
Tạp chí Nghiên cứu KH&CN qn sự, Số Đặc san CNTT, 12 - 2017
263