Đề xuất thuật toán trao đổi khóa hiệu quả sử dụng mật mã khóa đối xứng

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 toán chậm vì độ khó

của bài toá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 toá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 toán trao đổi khóa dựa trên mật mã đối

xứng. Thuật toán đơn giản dễ sử dụng, có độ an toàn cao và đặc biệt kích thước

khóa nhỏ, tốc độ tính toá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.

pdf 8 trang yennguyen 6840
Bạn đang xem tài liệu "Đề xuất thuật toán trao đổi khóa hiệu quả sử dụng mật mã khóa đối xứng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Đề xuất thuật toán trao đổi khóa hiệu quả sử dụng mật mã khóa đối xứng

Đề xuất thuật toán trao đổi khóa hiệu quả sử dụng mật mã khóa đối xứng
Công nghệ thông tin 
T. X. Ban, H. V. Canh, “Đề xuất thuật toán trao đổi khóa  mật mã khóa đối xứng.” 256 
ĐỀ XUẤT THUẬT TOÁ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 toán chậm vì độ khó 
của bài toá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 toá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 toán trao đổi khóa dựa trên mật mã đối 
xứng. Thuật toán đơn giản dễ sử dụng, có độ an toàn cao và đặc biệt kích thước 
khóa nhỏ, tốc độ tính toá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 toá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 toà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 toà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 toán thấp (lowpower), có bộ nhớ hạn chế và các thiết bị tính 
toá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,ngoà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 toá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 toá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. 
Thông tin khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017 257
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 toá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 = k
b
Bmod(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 toà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ì yê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 toà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 nguyên 
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 toá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 toá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 toá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 quát, trong thuật toá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 toán mã khối khóa đối xứng nào đó. Ký hiệu m là một 
Công nghệ thông tin 
T. X. Ban, H. V. Canh, “Đề xuất thuật toán trao đổi khóa  mật mã khóa đối xứng.” 258 
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 toá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 TOÁN ÁP DỤNG VÀ BÀN LUẬN 
3.1. Tính toá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: 
Thông tin khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017 259
Bảng 1. Giá trị ma trận kích thước m x d. 
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 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 toá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 quá 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 toán băm. Trong thuật 
toá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 toá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 toàn 
Công nghệ thông tin 
T. X. Ban, H. V. Canh, “Đề xuất thuật toán trao đổi khóa  mật mã khóa đối xứng.” 260 
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 toá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 toá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 toà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 toá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 (Diffie-
Hellman) 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 *pZ 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 modxg 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 modyg 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, modxg p , modyg p . 
Khóa bí mật chung là: KA,B= 
1
AK . 
Như vậy, thỏa thuận khóa bí mật Diffie-Hellman rất đơn giản. Để đảm bảo an 
toàn thì số nguyên tố p phải chọn là đủ lớ (cỡ 15510 ). Việc xác định số p lớn có là 
số nguyên tố không cũng là bài toá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 toán logarit rời rạc và phụ thuộc 
vào khả năng tính toá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. Quá 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à ( 1AK , 
2
AK ); 
Thông tin khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017 261
- B có cặp khóa bí mật và công khai là ( 1BK , 
2
BK ); 
- A muốn gửi 1 khóa bí mật K cho B cần thực hiện: 
+ A sử dụng khóa công khai của B ( 2BK ) và tính: 
2
modnBK By K , với 
*qB B Bn p , Bp , Bq 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
modnBK BK y . Nếu cần khẳng định lại K có phải là khóa do A gửi không thì B 
lấy khóa công khai của A ( 2AK ) và tính: 
2
' modnAK Ay K , với *qA A An p , Ap , 
Aq 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 toán ra khóa mới theo các thông tin B gửi và so sánh với 
khóa K trước đó: 
1
' ' modnAK AK y . 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 toàn cho K thì An và Bn 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 toàn không phù hợp cho các thiết bị trong mạng IoT. Thuật toán mà 
nhóm đã đề xuất không yêu cầu thiết bị tính toá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 toá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ứ hoàn toàn không truyền qua một kênh nào nên đảm bảo sự an toà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 toá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 toán thấp, yêu cầu 
việc xác thực phải nhanh chóng. Thuật toá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 toá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. 
Công nghệ thông tin 
T. X. Ban, H. V. Canh, “Đề xuất thuật toán trao đổi khóa  mật mã khóa đối xứng.” 262 
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 toàn trong mạng có tài nguyên 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 toà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 toá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 toà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. 
Thông tin khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017 263
[16]. Phil Zimmermann, "Protect Your Privacy", 2013. 
[17]. R. Blom, "Non-public key distribution". Advances in Cryptology- 
Proceedings ò 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); 
 2 Cục A70 (Bộ Công an). 
 * Email: tranban050179@gmail.com. 

File đính kèm:

  • pdfde_xuat_thuat_toan_trao_doi_khoa_hieu_qua_su_dung_mat_ma_kho.pdf