Đề 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.
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
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:
- de_xuat_thuat_toan_trao_doi_khoa_hieu_qua_su_dung_mat_ma_kho.pdf