Bài báo này đề xuất một phương pháp thỏa thuận khóa mã dựa trên hệ mật khóa đối xứng, thông qua trình bày một số thuật toán đơn giản, dễ thực hiện và có độ an toàn cao.. NỘI DUNG NG[r]
(1)PHƯƠNG PHÁP TRAO ĐỔI KHÓA MÃ ĐỐI XỨNG KHƠNG SỬ DỤNG MẬT MÃ KHĨA CƠNG KHAI
Lê Danh Cường1*, Hồ Văn Canh2
Tóm tắt: Mật mã công cụ hữu hiệu, sử dụng rộng rãi để bảo vệ bí mật thơng tin trình trao đổi việc phân phối khóa mã qua kênh an tồn cho mạng thông tin - thuộc lĩnh vực Ngoại giao, An ninh, Quốc phịng - vốn có nhiều đầu mối, phạm vi địa lý rộng vấn đề khó khăn hàng đầu Mật mã khóa cơng khai đời cuối năm 1970 với nhiều ưu điểm làm giảm bớt những khó khăn khâu phân phối khóa; Tuy nhiên, mặt khác, mật mã khóa công khai làm tăng dung lượng mã, đồng thời cần nhiều tài nguyên trình xử lý, gây khó khăn triển khai ứng dụng thiết bị hạn chế nhớ Bài báo trình bày nghiên cứu đề xuất phương pháp trao đổi khóa mã dựa hệ mật khóa đối xứng, khơng sử dụng hệ mật khóa cơng khai
Từ khóa: Mật mã; Thám mã; Mật mã khóa đối xứng; Mật mã khóa bất đối xứng; Khóa bí mật; Khóa cơng khai
1 ĐẶT VẤN ĐỀ
Ngoài ứng dụng hệ mật mã khóa bí mật, thuật tốn mã hóa khóa cơng khai (Asymmetric Key Cryptography) sử dụng rộng rãi để bảo mật thông tin, đặc biệt thông tin nhạy cảm, liên quan đến thương mại điện tử [8, 9, 10] Tuy nhiên, nhược điểm lớn chúng vấn đề trao đổi khóa mã Việc trao đổi khóa hệ mật khóa cơng khai có số nhược điểm làm tăng đáng kể kích cỡ mã (so với mã gốc) chậm so với sử dụng mơ hình mật mã khóa đối xứng (Symmetric Key Cryptography) [1] Do vậy, làm cho việc mã hóa/ giải mã thơng tin trở nên chậm chạp tốn nhiều nhớ, gây khó khăn việc ứng dụng thiết bị hạn chế loại tài nguyên Câu hỏi đặt có hay khơng phương pháp trao đổi, thỏa thuận khóa khơng cần sử dụng hệ mật khóa cơng khai? Câu trả lời có [11]
Vấn đề nhiều tổ chức, cá nhân tập trung nghiên cứu Bài báo đề xuất phương pháp thỏa thuận khóa mã dựa hệ mật khóa đối xứng, thơng qua trình bày số thuật tốn đơn giản, dễ thực có độ an tồn cao
2 NỘI DUNG NGHIÊN CỨU
Trong hệ mật mã khóa đối xứng, chúng tơi chọn mật mã khối làm mục tiêu để nghiên cứu, với Chuẩn mật mã liệu (DES - Data Encryption Standard) đặc trưng Sau nội dung cụ thể
2.1 Hệ mật mã DES
DES hệ mật mã khối điển hình số mật mã khối nói chung Khóa
nó dãy bít giả ngẫu nhiên độ dài 64 bít Ta ký hiệu khóa Kk1,k2, ,k64 với
0,1, 1,2, ,64
i
k Trong hoạt động mã hóa thực tế, thuật tốn DES bỏ qua bít
các vị trí 8,16,24,32,40,48,56,64[12] Như vậy, độ dài khóa DES cịn 56 bít,
để đơn giản phần nghiên cứu coi khóa DES có độ dài 64 bít.Mơ tả hoạt động hệ mật sau:
Giả sử nơi gửi (A) muốn chuyển bí mật cho nơi nhận (B) rõ X x1,x2, ,xn
(2)- A dùng Hệ mật DES với khóa mã Kđể mã hóa rõ X Khi mã ký
hiệu Y y1,y2, ,yn
- Khi nhận mã Y, B cần có khóa mã K để giải mã đọc nội
dung rõ X
- Việc trao đổi khóa Kgiữa A B có nhiều cách, phổ biến thuận tiện
hiện dùng mật mã khóa cơng khai, tốn ta giả sử sử dụng Hệ mật mã khóa cơng khai RSA Giả sử B sử dụng Hệ mật mã RSA với cặp khóa cơng khai khóa
riêng (N,bB) (N,aB)
- Để trao đổi khóa K cho B, người gửi A lấy khóa cơng khai (N,bB) tính:
) mod(N K
Z bB Sau gửi cặp
) ,
(Z Y cho B kênh công cộng tùy ý
- Khi nhận cặp (Z,Y), B sử dụng khóa riêng (N,aB)để khơi phục khóa K
bằng cách tính: KZaB mod(N) Vậy B có khóa để giải mã Y
Như vậy, rõ ràng cặp (Z,Y) truyền có kích cỡ lớn mã Y , điều
làm cho thời gian truyền, dung lượng nhớ sử dụng tăng đáng kể, đồng thời làm giảm độ an toàn hệ thống khơng thích hợp cho ứng dụng thiết bị smartphone Hơn nữa, cách làm phụ thuộc vào phổ biến, phát triển mật mã khóa cơng khai cách thức quản lý khóa cơng khai mạng lưới liên lạc Thực tế địi hỏi phải có phương pháp trao đổi khóa bí mật cách thuận tiện an toàn thực tế
2.2 Phương pháp thỏa thuận khóa đề xuất
Ta biết rằng, độ dài khóa bí mật phụ thuộc vào u cầu thuật tốn mã hóa, cụ thể độ dài khóa mã hóa DES 56 bit [5] - tương ứng với ký tự la tinh; Độ dài khóa thuật tốn mã hóa IDEA 128 bit [13] - tương ứng với 16 ký tự La tinhv.v Mật mã nhóm tác giả đề xuất có độ dài mầm khóa 240 bit (tương ứng với 30 ký tự La tinh)
Trong thuật toán sinh khóa bí mật, ta ký hiệu d độ dài tính theo ký tự La tinh
mầm khóa (Key Seed) bí mật Ký hiệu m5là số tự nhiên tùy ý, cố định hai thực
thể thống trước
2.2.1 Thuật toán
Input: Cho X(x)là dãy ký tự La tinh có độ dài n tùy ý, ví dụ:
) 37 (
X = coongj hoaf xax hooij chur nghiax Vieetj Nam
Output: Một dãy gồm d ký tự La tinh, với d số nguyên dương tùy ý, cố định trước
Các bước tiến hành thuật toán sau:
Bước 1: Lấy số nguyên dương m5 tùy ý,
Bước 2: Nếu nmdthì viết liên tiếp X(n)
md
n x x x
x x x md
X( ) 1, 2, , , 1, 2, ,
Bước 3: Đổi dãy X(md)sang dãy số nguyên dương theo nguyên tắc sau:
+ Chữ dãy X(md) có giá trị bé đánh số 1;
+ Nếu dãy X(md) có m ký tự có giá trị bé ưu tiên đánh số
(3)có giá trị lớn đánh số Như dãy Y(md) có md số khác nhau; tức
) (md
Y gồm X(md) chữ số khác
Bước 4: Lập bảng (ma trận) B(bij)md
Bước 5: Điền số dãy Y(md)vào bảng B theo thứ tự tự nhiên
bảng B lấp đầy chuyển sang bước
Bước 6: Với j1,2, ,d ; tính tổng mod26 m i ij j b Z
Bước 7: Return (Z1,Z2, ,Zd)
Thuật toán dừng dãy Z (Z1,Z2, ,Zd)là mầm khóa mà hai thực thể A B
cần có để liên lạc mật với
Mơ tả ví dụ
Giả sử từ khóa X(37)= ‘‘coongj hoaf xax hooij chur nghiax vieetj nam’’
Lấy d 10; m5; m.d 50 nên ta phải mở rộng X(37) thành X(50):
) 50 (
X =‘‘coongj hoaf xax hooij chur nghiax vieetj nam coongj hoaf xax’’
Bây ta đổi X(50) sang dãy số
) 50 (
Y =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,39,40,33,16,28,21,41,5,13,49,6,50
Tiếp theo điền dãy Y(50) vào bảng B, ta có:
7 34 35 30 14 25 17 36 12
46 47 18 37 38 22 26 19
44 42 31 15 20 23 48 45 24
10 11 43 27 32 29 30 40
33 16 28 21 41 13 49 50
Với j1, 2, ,10, ta có:
10 26 mod ) 33 + 10 + 44 + 46 + 7 (
1
Z : K
1 26 mod ) 16 + 11 + 42 + 2 + 34 (
2
Z : B
2 26 mod ) 28 + 43 + 31 + 47 + 35 (
3
Z : C
7 26 mod ) 21 + 27 + 15 + 18 + 30 (
4
Z : H
14 26 mod ) 41 + 32 + 20 + 37 + 14 (
5
Z : O
17 26 mod ) 5 + 4 + 23 + 38 + 25 (
6
Z : R
6 26 mod ) 13 + 29 + 3 + 22 + 17 (
7
Z : G
12 26 mod ) 49 + 9 + 48 + 26 + 36 (
8
Z : M
21 26 mod ) 6 + 39 + 45 + 8 + 1 (
9
Z : V
15 26 mod ) 50 + 40 + 24 + 19 + 12 (
10
Z : P
Vậy mầm khóa là: Z (Z1,Z2, ,Zd)= (K, B, C, H, O, R, G, M, V, P)
(4)Input: ảnh C
Output: Khóa mã Kk1,k2, ,kn; ki 0,1 nlà độ dài khóa mã
Step1: Trích chọn tất phần MSB ( Most Significant Bit ) hai thực thể liên lạc mật với qui định trước ảnh C tạo thành ảnh thứ cấp
N
c c c C(1) 1, 2, ,
Step 2: Lập bảng (ma trận) gồm mdịng, d cột (d có độ dài tùy ý khơng
bé n cịn m5, A(aij)md
Step 3: Viết bít c1,c2, ,cN theo thứ tự tự nhiên vào bảng A Step 4: For j1,2, ,d tính tổng
m
i ij
j a
b
1
) 2 mod( Step 5: Return (b1,b2, ,bd)
Đây khóa mã mà ta cần
Trong số trường hợp, ta áp dụng thuật tốn cách chọn từ khóa (theo quy ước) sử dụng thông tin số trường (họ tên, quê quá, địa chỉ… người nhận) sau viết lặp lại với số lần tùy ý chuyển sang số hóa theo quy tắc định
Ví dụ: lee danh cuwowngf d 30 m5 Ta làm sau: Trước hết viết leedanhcuwowngf leedanhcuwowngf leedanhcuwowngf…
(viết lặp lại 10 lần) Sau chuyển sang số hóa thực thuật tốn Từ
viết dãy số vào ma trận A theo thứ tự tự nhiên hết ô bảng dừng
Step và step 5 thực
2.2.3 Mầm khóa
Trong hai thuật tốn trên, mầm khóa sử dụng u cầu phải giữ bí mật tùy theo tính chất, cách bố trí tổ chức mạng liên lạc Mỗi phiên, mầm khóa đầu mối liên lạc thống lựa chọn ngẫu nhiên từ tập sở liệu đủ lớn, tập văn hay ma trận điểm ảnhv.v Khi đó, chủ thể liên lạc sử dụng mầm khóa bí mật làm đầu vào thuật toán để trao đổi, thỏa thuận khóa cho phiên liên lạc Từ kết hai thuật toán cho phép ta ứng dụng xây dựng hệ mật mã khóa bí mật an tồn trao đổi thơng tin
3 KẾT LUẬN
Phương pháp thỏa thuận khóa bí mật dùng cho hệ mật mã khóa đối xứng lúc cho nhiều người khác Việc chọn đoạn văn rõ làm đầu vào cho thuật tốn tùy ý, lấy dãy số hỗn hợp
chữ chữ số dãy rõ lặp lạiv.v Độ an tồn khóa K
khơng bị ảnh hưởng, dãy số tương ứng phụ thuộc vào vị trí ký tự dãy độc lập với thân ký tự
Lý thuyết Markov chứng minh kết thu dãy ngẫu nhiên độc lập [4, 7, 11] Do để thuận lợi đơn giản trao đổi khóa, hai người A B muốn liên lạc mật với mà từ xa, qui ước sử dụng ngày tháng đầu thơng báo cách công khai mà không sợ bị nghi ngờ Điểm mạnh phương pháp trao đổi thuật toán đơn giản, đảm bảo độ bí mật an toàn cao
4 TÀI LIỆU THAM KHẢO
[1] Alfred J Menezes, Paul C van Oorschot, Scott A Vanstone, ‘‘Hanhdbook of
(5)[2] A Menzes, M Qu, and S Vanstone, ‘‘Some new key agreement protocols providing implicit authentication’’ Ottawa, Canada, 1995
[3] Doughlas R Stison, ‘‘Cryptography: Theory and Practices’’ CRC Press 1999
[4] FIPS, ‘‘Key management using ANSI X9, 17 Federal Information Proceeding
Standards Publication 171 U.S Department of Commerce/ NIST
[5] 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
[6] M Bellare and P Rogaway, ‘‘Provably Secure Session Key Distribution’’.
Proceedings of The 27th Annal ACM Symposium
[7] Michael R.A Huth, ‘‘Secure communicating Systems’’ Cambridge University Press,
2001
[8] M Burmester, ‘‘On the risk of opening distributed keys’’ Advances in Crypto-94
[9] Phan Đình Diệu, ‘‘Mật mã an tồn thơng tin’’ NXB ĐHQG Hà Nội, 2002
[10].R Blom, ‘‘Non-public key distribution’’ Advances in Cryptology- Proceedings of
Crypto-o3
[11].T Leighton and S Micall, ‘‘Secret key agreement without public-key cryptography’’
Advances in Crypto-04
[12].Timothy Charles Clapp, ‘‘Statistical Methods for the Processing of communication
data’’ University of Cambridge Press- 2000
[13].Trịnh Nhật Tiến, ‘‘Bảo mật thơng tin an tồn liệu’’ NXBĐHQG Hà Nội,
2009
[14].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
THE SECRET KEY EXCHANGING IN SYMMETRIC
CRYPTOGRAPHY WITHOUT USING PUBLIC KEY CRYPTOGRAPHY
Key distribution is one of the hardest problems in cryptography Therefore, cryptography has been a special product used in the field of national security and defense, politics and foreign affair for a long time Public key cryptography was invented at the end of 1970s with many advantages and quickly has application in many aspects of the daily life In comparison with classical cryptography that uses symmetric keys and needs to keep the key secret, public key cryptography has greatly reduced the difficulty in key management and distribution However, it also has lower computation speed and requires high performance devices as well as increases the size of the messages In the paper, a method for exchanging secret key of symmetric key cryptography without using any public key cryptography is proposed Input of the Algorithm is a character string of some Latin language
Keywords: Cryptography; Cryptanalysis; Symmetric key cryptography; Asymmetric key cryptography; Plaintext; Private key; Public key
Nhận ngày 22 tháng năm 2017 Hoàn thiện ngày 07 tháng năm 2017 Chấp nhận đăng ngày25 tháng 10 năm 2017
Địa chỉ: 1 Cục Kỹ thuật, Bộ Công an;