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

Mật mã là công cụ hữu hiệu, được sử dụng rộng rãi để bảo vệ bí mật

thông tin trong quá trình trao đổi nhưng việc phân phối khóa mã qua kênh an toàn

cho các mạng thông tin - thuộc các lĩnh vực Ngoại giao, An ninh, Quốc phòng - vốn

có nhiều đầu mối, trên phạm vi địa lý rộng luôn là vấn đề khó khăn hàng đầu. Mật

mã khóa công khai ra đời cuối những năm 1970 với nhiều ưu điểm đã làm giảm bớt

những khó khăn trong 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 bản mã, đồng thời cần nhiều tài nguyên trong quá

trình xử lý, gây khó khăn triển khai ứng dụng trên những thiết bị hạn chế về bộ nhớ.

Bài báo này trình bày những nghiên cứu và đề xuất một phương pháp trao đổi khóa

mã dựa trên hệ mật khóa đối xứng, không sử dụng hệ mật khóa công khai.

pdf 5 trang kimcuc 6200
Bạn đang xem tài liệu "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", để 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: 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

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
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số 51, 10 - 2017 95
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ã là công cụ hữu hiệu, được sử dụng rộng rãi để bảo vệ bí mật 
thông tin trong quá trình trao đổi nhưng việc phân phối khóa mã qua kênh an toàn 
cho các mạng thông tin - thuộc các lĩnh vực Ngoại giao, An ninh, Quốc phòng - vốn 
có nhiều đầu mối, trên phạm vi địa lý rộng luôn là vấn đề khó khăn hàng đầu. Mật 
mã khóa công khai ra đời cuối những năm 1970 với nhiều ưu điểm đã làm giảm bớt 
những khó khăn trong 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 bản mã, đồng thời cần nhiều tài nguyên trong quá 
trình xử lý, gây khó khăn triển khai ứng dụng trên những thiết bị hạn chế về bộ nhớ. 
Bài báo này trình bày những nghiên cứu và đề xuất một phương pháp trao đổi khóa 
mã dựa trên 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 các hệ mật mã khóa bí mật, hiện nay các thuật toán mã hóa khóa công 
khai (Asymmetric Key Cryptography) được sử dụng rộng rãi để bảo mật thông tin, đặc 
biệt là những 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 nhất của chúng là vấn đề trao đổi khóa mã. Việc trao đổi khóa bằng hệ 
mật khóa công khai có một số nhược điểm như làm tăng đáng kể kích cỡ bản mã (so với 
bản mã gốc) và chậm hơn 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 và 
tốn nhiều bộ nhớ, gây khó khăn trong việc ứng dụng trên những thiết bị hạn chế về loại tài 
nguyên này. Câu hỏi đặt ra là có hay không một 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 là có [11]. 
Vấn đề này đang được nhiều tổ chức, cá nhân tập trung nghiên cứu. 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. 
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ã dữ liệu (DES - Data Encryption Standard) là đặc trưng. Sau đây là 
nội dung cụ thể. 
2.1. Hệ mật mã DES 
DES là hệ mật mã khối điển hình nhất trong số các mật mã khối nói chung. 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à 6421 ,..,, kkkK với 
  64,..,2,1,1,0 ik . Trong hoạt động mã hóa thực tế, thuật toán DES sẽ bỏ qua 8 bít ở 
các vị trí 64,56,48,40,32,24,16,8 [12]. Như vậy, độ dài khóa DES chỉ còn 56 bít, nhưng 
để đơn giản trong phần nghiên cứu này chúng ta vẫn coi khóa DES có độ dài 64 bít.Mô tả 
hoạt động của hệ mật như sau: 
Giả sử nơi gửi (A) muốn chuyển bí mật cho nơi nhận (B) một bản rõ nxxxX ,..,, 21 
trong đó zbaxi ,..,, . 
Công nghệ thông tin & Cơ sở toán học cho tin học 
L. D. Cường, H. V. Canh, “Phương pháp trao đổi khóa mã  mật mã khóa công khai.” 96 
- A dùng Hệ mật DES với khóa mã K để mã hóa bản rõ X . Khi đó bản mã sẽ được ký 
hiệu là nyyyY ,..,, 21 . 
- Khi nhận được bản mã Y , B cần có khóa mã K để giải bản mã và đọc được nội 
dung bản rõ X . 
- Việc trao đổi khóa K giữa A và B có thể có nhiều cách, phổ biến và thuận tiện nhất 
hiện nay là dùng mật mã khóa công khai, trong bài toán này 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 và khóa 
riêng lần lượt là ),( BbN và ),( BaN . 
- Để trao đổi khóa K cho B, người gửi A lấy khóa công khai ),( BbN và tính: 
)mod(NKZ Bb . Sau đó gửi cặp ),( YZ cho B trên kênh công cộng tùy ý. 
- Khi nhận được cặp ),( YZ , B sử dụng khóa riêng ),( BaN để khôi phục khóa K 
bằng cách tính: )mod(NZK Ba . Vậy là B đã có khóa để giải bản mã Y. 
Như vậy, rõ ràng cặp ),( YZ được truyền đi có kích cỡ lớn hơn bản mã Y , điều đó sẽ 
làm cho thời gian truyền, dung lượng bộ nhớ sử dụng tăng đáng kể, đồng thời làm giảm độ 
an toàn của hệ thống và không thích hợp cho các ứng dụng trên các thiết bị như 
smartphone. Hơn thế nữa, cách làm này còn phụ thuộc vào sự phổ biến, phát triển của mật 
mã khóa công khai và cách thức quản lý khóa công khai trong một mạng lưới liên lạc. 
Thực tế đó đòi hỏi phải có một phương pháp trao đổi khóa bí mật một cách thuận tiện an 
toàn và thực tế hơn. 
2.2. Phương pháp thỏa thuận khóa được đề xuất 
Ta biết rằng, độ dài 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ể độ dài khóa mã hóa DES là 56 bit [5] - tương ứng với 7 ký tự la tinh; Độ dài khóa của 
thuật toán mã hóa IDEA là 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 là độ dài tính theo ký tự La tinh của 
mầm khóa (Key Seed) bí mật. Ký hiệu 5 m là một số tự nhiên tùy ý, cố định do hai thực 
thể thống nhất trước. 
2.2.1. Thuật toán 1 
 Input: Cho )(xX là một dãy các 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 là một số nguyên dương tùy ý, cố 
định trước. 
Các bước tiến hành của thuật toán như sau: 
Bước 1: Lấy một số nguyên dương 5 m tùy ý, 
Bước 2: Nếu mdn thì viết liên tiếp )(nX cho đến khi 
mdn xxxxxxmdX ,..,,,,..,,)( 2121 
Bước 3: Đổi dãy )(mdX sang dãy số nguyên dương theo nguyên tắc sau: 
+ Chữ cái nào ở trong dãy )(mdX có giá trị bé nhất được đánh số 1; 
+ Nếu trong dãy )(mdX 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ự 
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số 51, 10 - 2017 97
có giá trị lớn nhất được đánh số. Như vậy dãy )(mdY sẽ có md số khác nhau; tức là 
)(mdY gồm )(mdX chữ số khác nhau. 
Bước 4: Lập bảng (ma trận) dmijbB )( 
Bước 5: Điền các số của dãy )(mdY vào bảng B theo thứ tự tự nhiên cho đến khi 
bảng B được lấp đầy các ô thì chuyển sang bước 6. 
Bước 6: Với dj ,..,2,1 ; tính tổng 26mod
1

m
i
ijj bZ 
Bước 7: Return ),..,,( 21 dZZZ 
Thuật toán dừng và dãy ),..,,( 21 dZZZZ 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. 
Mô tả ví dụ 
Giả sử từ khóa )37(X = ‘‘coongj hoaf xax hooij chur nghiax vieetj nam’’ 
Lấy 10 d ; 5 m ; 50. dm nên ta phải mở rộng )37(X thành )50(X : 
)50(X =‘‘coongj hoaf xax hooij chur nghiax vieetj nam coongj hoaf xax’’ 
Bây giờ ta đổi )50(X 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 )50(Y vào bảng B, ta 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 48 45 24 
10 11 43 27 32 4 29 9 30 40 
33 16 28 21 41 5 13 49 6 50 
Với 1, 2,..,10j , ta có: 
1026mod)33+10+44+46+7(1 Z : K 
126mod)16+11+42+2+34(2 Z : B 
226mod)28+43+31+47+35(3 Z : C 
726mod)21+27+15+18+30(4 Z : H 
1426mod)41+32+20+37+14(5 Z : O 
1726mod)5+4+23+38+25(6 Z : R 
626mod)13+29+3+22+17(7 Z : G 
1226mod)49+9+48+26+36(8 Z : M 
2126mod)6+39+45+8+1(9 Z : V 
1526mod)50+40+24+19+12(10 Z : P 
Vậy mầm khóa là: ),..,,( 21 dZZZZ = (K, B, C, H, O, R, G, M, V, P) 
2.2.2. Thuật toán 2 (thường được áp dụng cho kỹ thuật giấu tin mật) 
Công nghệ thông tin & Cơ sở toán học cho tin học 
L. D. Cường, H. V. Canh, “Phương pháp trao đổi khóa mã  mật mã khóa công khai.” 98 
Input: ảnh C 
Output: Khóa mã nkkkK ,..,, 21 ; 1,0 ik và n là độ dài khóa mã. 
Step1: 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 
NcccC ,..,,)1( 21 
Step 2: Lập bảng (ma trận) gồm m dòng, d cột ( d có độ dài tùy ý nhưng không 
bé hơn n còn 5 m , dmijaA )( 
Step 3: Viết các bít Nccc ,..,, 21 theo thứ tự tự nhiên vào bảng A 
Step 4: For dj ,..,2,1 tính các tổng 
m
i
ijj ab
1
)2mod( 
Step 5: Return ),..,,( 21 dbbb 
Đây là khóa mã mà ta cần. 
Trong một số trường hợp, ta có thể áp dụng thuật toán trên bằng cách chọn từ khóa bất kỳ 
(theo quy ước) như sử dụng thông tin một 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 ý rồi chuyển sang số hóa theo một quy tắc nhất định. 
Ví dụ: lee danh cuwowngf và 30 d còn 5 m . Ta làm như 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 như đã thực hiện trong thuật toán 1. Từ đó 
viết dãy số này vào ma trận A theo thứ tự tự nhiên cho đến hết các ô trong bảng thì dừng. 
Step 4 và step 5 vẫn thực hiện như trên. 
2.2.3. Mầm khóa 
Trong hai thuật toán trên, mầm khóa sử dụng yêu cầu phải được giữ bí mật tùy theo 
tính chất, cách bố trí và tổ chức mạng liên lạc. Mỗi phiên, mầm khóa được các đầu mối 
liên lạc thống nhất lựa chọn ngẫu nhiên từ tập cơ sở dữ liệu đủ lớn, có thể là tập các văn 
bản hay các ma trận điểm ảnhv.v... Khi đó, chủ thể liên lạc sẽ sử dụng mầm khóa bí mật 
làm đầu vào của các thuật toán trên để trao đổi, thỏa thuận khóa cho các phiên liên lạc. Từ 
kết quả của hai thuật toán trên cho phép ta ứng dụng xây dựng các hệ mật mã khóa bí mật 
an toàn trong trao đổi thông tin. 
3. KẾT LUẬN 
Phương pháp thỏa thuận 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 rõ làm 
đầu vào cho thuật toán là tùy ý, hoặc 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ố và có thể một dãy các bản rõ được lặp lạiv.v... Độ an toàn của khóa K 
không bị ảnh hưởng, 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 kết quả thu được là dãy ngẫu nhiên độc lập [4, 7, 11]. 
Do đó để thuận lợi và đơn giản trong trao đổi khóa, hai người A và B muốn liên lạc mật 
với nhau mà từ xa, 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ờ. Điểm mạnh của phương pháp trao đổi này là 
thuật toán đơn giản, nhưng vẫn đảm bảo độ bí mật và 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 
Applied Cryptography’’,CRC Press, 1999. 
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số 51, 10 - 2017 99
[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ã và an toà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 và an toàn dữ 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 bài ngày 22 tháng 6 năm 2017 
Hoàn thiện ngày 07 tháng 7 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; 
 2 Cục Kỹ thuật nghiệp vụ, Tổng cục I, Bộ Công an. 
 * Email: cuongqt34@yahoo.com. 

File đính kèm:

  • pdfphuong_phap_trao_doi_khoa_ma_doi_xung_khong_su_dung_mat_ma_k.pdf