Về một phương pháp trao đổi khóa mã an toàn

Tóm tắt: Sự phát triển nhanh chóng của mật mã trong những năm gần thúc đẩy

các kỹ thuật bảo mật dữ liệu và xác thực người dùng, bảo mật thông tin trên đường

truyền . Bài viết trình bày một phương pháp trao đổi khóa mã an toàn và những

ứng dụng mới của hệ mật sử dụng cơ chế cộng điểm trên đường cong elliptic.

pdf 10 trang phuongnguyen 7060
Bạn đang xem tài liệu "Về một phương pháp trao đổi khóa mã an toàn", để 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: Về một phương pháp trao đổi khóa mã an toàn

Về một phương pháp trao đổi khóa mã an toàn
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số 48, 04 - 2017 119
VỀ MỘT PHƯƠNG PHÁP TRAO ĐỔI KHÓA MÃ AN TOÀN 
Nguyễn Nam Hải1*, Nguyễn Thị Thu Nga2 
Tóm tắt: Sự phát triển nhanh chóng của mật mã trong những năm gần thúc đẩy 
các kỹ thuật bảo mật dữ liệu và xác thực người dùng, bảo mật thông tin trên đường 
truyền. Bài viết trình bày một phương pháp trao đổi khóa mã an toàn và những 
ứng dụng mới của hệ mật sử dụng cơ chế cộng điểm trên đường cong elliptic. 
Từ khóa: Đường cong elliptic, Bảo mật thông tin, Bảo mật dữ liệu, Diffie-Hellman, Song tuyến. 
1. GIỚI THIỆU 
Bài toán logarit rời rạc (DLP) được quan tâm nghiên cứu kể từ khi xuất hiện 
mật mã khóa công khai năm 1975. Vấn đề được đặt ra là với nhóm cyclic G = 
bậc n,tìm kiếm một số x ∈ [0, n - 1], thỏa mãn phương trình: 
Q = xP. 
Bài toán này khó tính toán và các nhóm như vậy thường là nhóm nhân trên 
trường hữu hạn và nhóm các điểm của đường cong elliptic trên trường hữu hạn. 
Bài toán Diffie-Hellman liên quan đến bài toán logarit rời rạc. Đó là tìm kiếm 
đại lượng abP trên cơ sở P, aP, và bP. Có thể chỉ ra rằng đối với bất kỳ nhóm nào, 
bài toán logarit rời rạc có thể rút gọn về bài toán Diffie-Hellman. Bài toán ngược 
đã được chứng minh chỉ đúng trong một số trường hợp nhất định. 
Độ khó của bài toán Diffie-Helman là cơ sở cho độ an toàn của giao thức thỏa 
thuận khóa. Giả sử chúng ta có một nhóm cho G = bậc n, quá trình thỏa thuận 
khóa như sau: 
1. Bên A chọn ngẫu nhiên số a ∈ [0, n - 1] và tính aP, gửi cho Bên B. 
2. Bên B chọn ngẫu nhiên số b ∈ [0, n - 1] và tính bP, gửi cho Bên A. 
 Bên A Bên B 
Đã có a, bP b, aP 
Cần tính K = a(bP) = abP K = b(aP) = abP 
Giá trị khóa thỏa thuận được là K = abP = a(bP) = b(aP). Giao thức này được 
gọi một vòng, vì mỗi bên nhận dữ liệu từ đối tác của mình chỉ một lần. 
Thỏa thuận về một khóa chung bởi ba bên thì phức tạp hơn và đòi hỏi một giao 
thức thỏa thuận khóa hai vòng. Dưới đây là các bước thực hiện: 
1. Vòng đầu tiên. 
(a) Bên A chọn ngẫu nhiên số a ∈ [0, n - 1] và tính aP, gửi cho Bên B. 
(b) Bên B chọn ngẫu nhiên số b ∈ [0, n - 1] và tính bP, gửi cho Bên C. 
(c) Bên C chọn ngẫu nhiên số c ∈ [0, n - 1] và tính cP, gửi cho Bên A. 
2. Vòng thứ hai. 
(a) Bên A dựa vào giá trị a và cP tính acP, sau đó sẽ gửi cho Bên B. 
(b) Bên B dựa vào giá trị b và aP tính baP, sau đó sẽ gửi cho Bên C. 
(c) Bên C dựa vào giá trị c và bP tính bcP, sau đó sẽ gửi cho Bên A. 
 Bên A Bên B Bên C 
Vòng 1 a, cP b, aP c, bP 
Công nghệ thông tin & Cơ sở toán học cho tin học 
N. N. Hải, N. T. T. Nga, “Về một phương pháp trao đổi khóa mã an toàn.” 120 
Vòng 2 a, cP, bcP b, aP, acP c, bP, abP 
Cần tính K = a(bcP) K = b(acP) K = c(abP) 
Giá trị khóa thỏa thuận được sẽ là K = abcP. 
Ở đây, nảy sinh một câu hỏi tự nhiên là: có tồn tại giao thức một vòng nào phù 
hợp với ba bên? Câu hỏi vẫn mở cho đến khi Joux đề xuất giải pháp sử dụng biến 
đổi song tuyến [3]. Sau đó, xuất hiện đề xuất thú vị dựa trên ánh xạ song tuyến mà 
cụ thể là kết hợp các cặp điểm trên đường cong elliptic. Những đề xuất nổi tiếng 
nhất cho đến nay là sơ đồ mã hóa dựa trên định danh (Boneh và Franklin) [4] và sơ 
đồ chữ ký số ngắn (Boneh, Lynn và Shacham) [5]. 
2. MỘT SỐ KHÁI NIỆM VÀ KIẾN THỨC CƠ BẢN LIÊN QUAN 
 2.1. Ánh xạ song tuyến 
Giả sử rằng n là số nguyên tố. Cho G1 = là một nhóm cyclic bậc n có tính 
chất cộng và một phần tử trung hòa ∞, GT là một một nhóm cyclic bậc n có tính 
chất nhân và phần tử đơn vị 1. Khi đó, biến đổi song tuyến có thể định nghĩa như 
sau: 
Định nghĩa 1: Biến đổi song tuyến trên (G1, GT) được gọi là biến đổi 
ê: G1 × G1 → GT, 
thỏa mãn các điều kiện sau đây: 
1. (Song tuyến tính - bilinear) Cho mỗi R, S, T ∈ G1, ta có: 
ê(R + S, T) = ê(R, T) ê(S, T) và ê(R,S + T) = ê(R, S) ê(R, T). 
2. (Không suy biến Non-degeneracy) ê(P,P) ≠ 1. 
3. (Khả năng tính toán) Giá trị ê(P,R) có thể được xác định một cách hiệu quả. 
Có thể chứng minh rằng ánh xạ song tuyến có các tính chất sau: 
1. ê(S, ∞) = 1, và ê(∞, S) = 1. 
2. ê(S,-T) = ê(-S,T) = ê(S,T)-1. 
3. ê(aS,bT) = ê(S,T)ab với mọi a, b ∈ℤ 
4. ê (S,T) = ê (T,S). 
5. Nếu ê(S,R) = 1 thì đối với tất cả R ∈ G1 thì S = ∞. 
Một trong những kết quả từ một ánh xạ song tuyến là bài toán logarit rời rạc 
trong nhóm G1 có thể được đơn giản hóa một cách hiệu quả thành bài toán logarit 
rời rạc trong một nhóm GT. Bởi vì nếu chúng ta tìm kiếm một lời giải của phương 
trình Q = xP nhóm G1, số x cần tìm cũng là nghiệm của phương trình ê(P,Q) = ê 
(P,xP) = ê(P,P)x trong nhóm GT. 
Độ an toàn của nhiều giao thức dựa trên các ánh xạ song tuyến dựa vào độ khó 
tính toán của bài toán sau 
Định nghĩa 2: Nếu ê là ánh xạ song tuyến, thì bài toán song tuyến Diffie-
Hellman ba bên được định nghĩa như sau: Với P, aP, bP và cP cho trước cần tính 
ê(P, P)abc. 
Độ khó của việc tính toán bài toán song tuyến Diffie-Hellman dẫn đến độ khó 
của bài toán Diffie-Hellman cả trong nhóm G1 và nhóm GT. Giả thiết chúng ta có 
thể giải bài toán Diffie-Hellman một cách hiệu quả trong nhóm G1, trên cơ sở aP 
và bP và ta có thể tính abP, dẫn đến việc tìm ê (abP,cP) = ê (P,P)abc. Nếu biết 
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số 48, 04 - 2017 121
phương pháp giải bài toán Diffie-Hellman hiệu quả trong nhóm GT, thì tính toán g 
= ê(P,P), gab = ê(aP,bP),gc = ê(P,cP), có thể xác định gabc =ê(P,P)abc. 
Sự tồn tại của một ánh xạ song tuyến cho phép giải chính xác bài toán Diffie-
Hellman trong nhóm G1. Liên quan đến câu hỏi liệu bốn phần tử P, aP, bP và cP 
có thỏa mãn đẳng thức abP = cP. Sử dụng ánh xạ song tuyến có thể viết 1 = 
ê(P,cP) = ê (P,P)c, và γ2= ê(aP,bP) = ê (P,P)
ab. Điều này có nghĩa đẳng thức abP 
= cP xảy ra khi và chỉ khi γ1=γ2. 
2.2. Đường cong Elliptic 
Đường cong elliptic E trên trường K được xác định bởi phương trình 
Weierstrass không suy biến: 
E: Y2 + a1XY + a3Y = X
3 + a2X
2+ a4X + a6, 
trong đó, a1, a2, a3, a4, a6 ∈ K. Tập E(K) là tập hợp các điểm K hữu tỷ của đường 
cong và bao gồm một điểm ở vô cực ∞, và những điểm (x, y) ∈ K × K mà thỏa 
mãn phương trình đường cong. 
Hình 1. Đường cong elliptic trên mặt phẳng thực. 
Nếu K là một trường hữu hạn  với đặc trưng p, thì định lý Hasse cho một giới 
hạn về số lượng các điểm K hữu tỷ: 
2 2
1 1q E K q 
Do đó, chúng ta có thể giả định rằng |E (K)| = q + 1-t, với | t | ≤ 2 q . Nếu p | 
t, chúng ta nói rằng đường cong E là siêu kỳ dị. 
Trong trường hợp khi p> 3, phương trình Weierstrass có thể đơn giản hóa bằng 
cách sử dụng biến đổi tuyến tính các biến về dạng: 
E : Y2 = X3 + aX + b, 
Ví dụ, cho p=5, thì 52 ( ) 10E F , như vậy, số điểm của đường cong Elliptic 
trên trường hữu hạn F5là trong khoảng từ 2 đến 10. Thực tế, tất các các đường 
cong Elliptic có thể có trên F5 và số điểm tương ứng được mô tả như trong bảng 1. 
Công nghệ thông tin & Cơ sở toán học cho tin học 
N. N. Hải, N. T. T. Nga, “Về một phương pháp trao đổi khóa mã an toàn.” 122 
Bảng 1. Số điểm của các đường cong Elliptic tương ứng trên trường F5. 
STT Đường cong Elliptic Số điểm 
1 y2=x3+2x 2 
2 y2=x3+4x+2 3 
3 y2=x3+x 4 
4 y2=x3+3x+2 5 
5 y2=x3+1 6 
6 y2=x3+2x+1 7 
7 y2=x3+4x 8 
8 y2=x3+x+1 9 
9 y2=x3+3x 10 
Phương pháp cát tuyến và tiếp tuyến cho thấy cách thực hiện phép toán trên các 
điểm của đường cong elliptic. Phép toán trên các điểm của đường cong trên trường 
số thực được minh họa trong hình 2. Cụ thể: 
i) Với 2 điểm P, Q bất kỳ, kẻ một đường thẳng đi qua P và Q thì sẽ cắt đường 
cong Elliptic tại một điểm thứ 3 là điểm S. Phép cộng P và Q sẽ là 
R P Q S . Trong trường hợp P và Q đối xứng nhau qua trục hoành, hay nói 
cách khác Q = -P thì đường thẳng nối P và Q sẽ cắt đường cong tại một điểm thứ 3 
ở vô cực, hay P+ -(P)= . 
ii) Để tính P+P, ta vẽ đường thẳng tiếp tuyến với đường cong Elliptic tại điểm 
P, đường thẳng này sẽ cắt đường cong Elliptic tại điểm S, lúc đó R P Q S . 
Hình 2. Phép toán trên các điểm của đường cong elliptic. 
Giả sử điểm P ∈ E() thỏa mãn các điều kiện sau đây: 
1. Là một điểm bậc n, 
2. Bậc của P là một số nguyên tố, 
3. Hai số n và q là các số nguyên tố cùng nhau. 
Khi đó, bài toán logarit rời rạc trong nhóm được định nghĩa như sau: 
Cho trước một điểm P và điểm Q ∈ cần phải tìm số nguyên l, thỏa mãn 
phương trình lP = Q. 
Hiện nay, phương pháp tốt nhất để giải bài toán này là thuật toán Pollard [7], 
thời gian thực hiện dự kiến khoảng O( n ).Nếu n ≈ q, thì thời gian thực hiện của 
thuật toán trên theo cấp số nhân đối với log q. Cần lưu ý rằng, cũng có những 
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số 48, 04 - 2017 123
phương pháp khác trong việc giải bài toán logarit rời rạc, mà áp dụng cho từng loại 
đường cong cụ thể. Đặc biệt, có thể sử dụng phép nhân Weil và Tate để chuyển bài 
toán từ các nhóm điểm của đường cong sang nhóm nhân trên trường hữu hạn q
k 
[6]. Số k được gọi là mức độ nhúng của đường cong và được định nghĩa như sau. 
Định nghĩa 3: Giả sử E là một đường cong elliptic xác định trên trường q, và 
P ∈ E () là điểm có bậc là số nguyên tố n. Nếu USCLN (n, q) = 1, thì mức độ 
nhúng của là số nguyên k nhỏ nhất sao cho n |qk - 1. 
Nếu độ nhúng thấp, thì sử dụng phép nhân Weil, chúng ta có thể sử dụng các 
thuật toán tiểu hàm mũ cho việc tìm kiếm logarit rời rạc (phương pháp chỉ số), 
trong đó có thể tính nhanh trong  q
k so với thuật toán Pollard trong . Vì lý do 
này, trong mật mã bài toán logarit rời rạc trên đường cong elliptic chỉ sử dụng 
những đường cong có độ nhúng lớn. 
Với đường cong elliptic với độ nhúng thấp cho phép thực hiện hiệu quả phép 
nhân Weil và Tate, điều đó dẫn đến các ánh xạ song tuyến. 
2.3. Phép nhân Tate và thuật toán Miller 
Cho E là một đường cong elliptic với hệ số thuộc trường K = q mô tả bởi 
phương trình Weierstrass r(X,Y) = 0. Hơn nữa, cho K là bao đóng đại số của trường 
K. 
Một ước số trên E được gọi là tổng của các điểm trên đường cong 
( )PP ED n P  trong đó có nhiều nhất số lượng hữu hạn các hệ số np khác không. 
Tập hợp các điểm P∈ E với hệ số np khác không được gọi là giá của D. Ước được 
gọi là không nếu thỏa mãn điều kiện ( ) 0.PP E n P  Chúng ta nói rằng một ước 
được xác định trên trường K nếu p
P
D n P D   với mọi tự đồng cấu σ 
trường K sẽ đồng nhất trên K. Chúng ta chấp nhận rằng Pσ=(σ(x)σ(y)) nếu P = (x, 
y) và σ= . Tập hợp tất cả các ước xác định trên trường K được ký hiệu là 
DivK(E). 
K(E) là ký hiệu trường các phân số K[X,Y]/r(X,Y). Ước của hàm f ∈ K(E) là 
tổng hình thức ( ) ( )PP Ediv f m P  , trong đó, mp là số lần mà P tham gia vào 
phân bố f như là một hệ số (giá trị âm được áp dụng trong trường hợp của các cực). 
Các ước của hàm số thuộc K(E) được gọi là các ước chính. Định lý sau đây cho 
phép chính xác xác định chúng. 
Định lý 1: Ước ( )PP ED n P  là ước chính khi và chỉ khi: 
0P
P E
n
  và ( )P
P E
n P
 
Chúng ta nói rằng hai ước 1 2, ( )KD D Div E là tương đương nhau D1 ~ D2 nếu 
tồn tại một hàm hữu tỷ f ∈ K(E) và D1=D2+div(f). Nếu f ∈ K(E) 
và ( ) ( )P KD n P Div E  cùng có giá phân biệt, thì có thể định nghĩa f(D) là 
( ) ( ) Pn
P E
f D f P
  
Công nghệ thông tin & Cơ sở toán học cho tin học 
N. N. Hải, N. T. T. Nga, “Về một phương pháp trao đổi khóa mã an toàn.” 124 
2.3.1. Phép nhân Tate 
Giả sử |E(Fq)| = hn, trong đó n là một số nguyên tố mà UCLN (n, q) = 1. Cho k 
là số nguyên nhỏ nhất khi n | qk -1. Tập hợp tất cả các điểm P ∈ E( K ) thỏa mãn 
biểu thức nP = ∞ (các điểm bậc n) sẽ được ký hiệu là E [n] (có thể chỉ ra rằng E 
[n]≃n n). Ngoài ra, μn chúng ta ký hiệu nhóm con bậc n của nhóm .kqF
Trước khi định nghĩa phép nhân Tate, chúng ta sẽ bổ sung thêm một vài giả 
định để đơn giản hóa cách mô tả. Cho n ∤ q - 1 (nghĩa là, k>1). Bởi 
vì   kqE n E  và   2E n n , thì 2 | kqn E  và 2/kqn E n . 
Định nghĩa 4: Cho P,Q ∈E[n], và cho fp là một hàm thỏa mãn điều kiện div(Fp) 
= n(P) - n(∞) (f có n lần zero tại P và n lần cực tại ∞). Giả sử thêm rằng R ∈ E [n] 
là điểm đáp ứng các điều kiện , , ,R P Q P Q và DQ là ước được định nghĩa 
như sau DQ = (Q + R) - (R). Khi đó phép nhân Tatea được hiểu là phép ánh xạ 
   : ne E n E n  
được định nghĩa như sau: 
1 /
( 1)/, ( )
( )
k
k
q n
Pq n
P Q
P
f Q R
e P Q f D
f R
Có thể chỉ ra rằng ánh xạ trên được lựa chọn đúng và không phụ thuộc vào sự 
lựa chọn của hàm fpvà điểm R. Ngoài ra, ánh xạ trên còn là ánh xạ song tuyến 
không suy biến. 
2.3.2. Thuật toán Miller 
Trong phần này, chúng ta mô tả các thuật toán Miller [9], cho phép tính toán 
một cách hiệu quả phép nhân Tate. Điều quan trọng của thuật toán này là cách thức 
tính hàm fp với ước n(P) - n(∞). 
Đối với mỗi i ≥ 1, cho f là một hàm mà ước của nó bằng div(fi) = i(P) - (iP) - (i 
- 1)(∞). 
Với định nghĩa như vậy, chúng ta có f1 = 1 và fn = fP. Bổ đề sau đây chỉ ra cách 
thức tính fn một cách hiệu quả. 
Bổ đề 1: Nếu P ∈ E[n], l là một đường thẳng nối các điểm iP, jP, và v là đường 
thẳng đứng đi qua điểm iP + jP thì i j i j
l
f f f
 
Chứng minh: Bởi vì các đường thẳng l và v thể hiện các phép tính nhóm trên 
các điểm của đường cong E, do đó, chúng ta có thể viết 
( ( ) ( ) ( 1)( )) ( ( ) ( ) ( 1)( ))
(( ) ( ) ( ( )( )) 3( )) ((( )( )) ( ( )( )) 2( ))
( )( ) ( )( ) ( 1)( )
( )
i j i j
i j
l
div f f div f div f div l div
i P iP i j P jP j
iP jP i j P i j P i j P
i j P i j P i j
div f


Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số 48, 04 - 2017 125
Cho n = (nt, ..., n1, n0)2 sẽ là biểu diễn nhị phân của n. Hàm fp có thể được tính 
toán hiệu quả bằng phép cộng và nhân hai khi dịch chuyển các bit liên tiếp số n từ 
trái sang phải. 
Khi xác định phép nhân Tate chỉ cần tìm giá trị hàm fp ở các điểm Q+R và R. 
Do đó, thuật toán Miller chỉ xác định tại mỗi lần lặp giá trị fi ở những điểm trên. 
1. Cho n = (nt, ..., n1, n0)2 sẽ là biểu diễn nhị phân của n. 
2. Chọn điểm R ∈ E [n] \ {∞, P, -Q, P - Q}. 
3. Giả định f ← 1, T ← P. 
4. Đối với i từ t đến 0 thực hiện: 
(a) Xác định đường thẳng l tiếp tuyến với đường cong tại điểm T. 
(b) Kẻ đường thẳng đứng  dọc đi qua điểm 2T. 
(c) T ← 2T . 
(d) 2
( ) ( )
( ) ( )
l Q R R
f f
Q R l R


  
(e) Nếu ni = 1 thì 
i. Thiết lập đường thẳng l đi qua các điểm P và Q. 
ii. Thiết lập đường thẳng đứng v đi qua điểm T + P. 
iii. T ← T + P. 
iv. ( ) ( )
( ) ( )
l Q R R
f f
Q R l R


  
5. Tính ( 1)/
kq nf 
Ví dụ: Giả sử chọn đường cong E: 2 3 1y x trên F101. Khi đó, 
 101 101 1 2 3 17E F   . Vớin=17 ta cók = 2. Ta viết 2 101101 ( ),F F  trong đó, 
2 2. Cho (87,61)P (bậc của nó bằngn = 17) vàQ = (48, ) (bậc của Q bằng 
102). Đặt   2 ( ).D Q Q Ta tính các giá trị sau: 
i fi(D) i fi(D) 
1 1 8 46+18 
2 52+56 16 22+43 
4 53+3 17 74+62 
Như vậy, 17= 74 + 62. Tính được 21 / (101 1) /17 600.kq n Vậy 
giá trị f cuối cùng tính được là 93+25 17. 
Đáng tiếc là phép nhân Tate không thỏa mãn một trong các giả thiết mà chúng 
ta yêu cầu đối với ánh xạ song tuyến - nhóm E [n] không phải là nhóm cyclic. Để 
giải quyết vấn đề này, hãy tìm các tự đồng cấu: : E E mà ( ) .P P Khi 
đó, ánh xạ ê , ( , ( ))Q P e Q Q  sẽ thỏa mãn các điều kiện đặt ra cho một ánh xạ 
song tuyến. 
3. CÁC GIAO THỨC MẬT MÃ SỬ DỤNG ÁNH XẠ SONG TUYẾN 
3.1. Thoả thuận khóa mã một vòng dùng cho ba bên 
Công nghệ thông tin & Cơ sở toán học cho tin học 
N. N. Hải, N. T. T. Nga, “Về một phương pháp trao đổi khóa mã an toàn.” 126 
Giả sử rằng có thể tính toán một cách hiệu quả ánh xạ song tuyến trên nhóm G1 
và GT, trong đó, bài toán song tuyến Diffie-Hellman là bài toán khó. Ánh xạ đó là 
cơ sở để thực hiện giao thức thỏa thuận khóa mã một vòng cho ba bên: 
1. Bên A chọn ngẫu nhiên một số a ∈ [0, n - 1], tính aP và gửi cho các bên B, C. 
2. Bên B chọn ngẫu nhiên một số b ∈ [0, n - 1], tính bP và gửi cho các bên A, C. 
3. Bên C chọn ngẫu nhiên một số c ∈ [0, n - 1], tính cP và gửi cho các bên A, B. 
Có thể thấy rằng sau vòng này, tất cả những người tham gia có thể tự mình tạo 
ra một khóa mã bí mật chung. 
 Bên A Bên B Bên C 
Đã có a, bP và cP b, aP và cP c, aP và bP 
Cần tính K = ê(bP,cP)a 
 = ê(P,P)abc 
K = ê(aP,cP)b 
 = ê(P,P)abc 
K = ê(aP,bP)c 
 = ê(P,P)abc 
Phân tích sơ đồ trên có thể đặt ra câu hỏi: Liệu có khả năng xây dựng ánh xạ đa 
tuyến êl: G
l-1
l → GT. Và từ ánh xạ đó có thể tạo lập giao thức thỏa thuận khóa mã 
một vòng cho l người tham gia. Câu hỏi về sự tồn tại của ánh xạ đa tuyến như vậy 
hiện nay vẫn còn là bài toán mở. 
3.2. Mật mã dựa trên định danh 
Trong [10], Shamir đã đề xuất khái niệm về mật mã dựa trên định danh để giải 
quyết các vấn đề phát sinh trong quản lý chứng chỉ. Đề xuất Shamir giả định: 
1. Khóa công khai của người dùng là định danh của họ (ví dụ như địa chỉ email). 
2. Sẽ có một bên thứ ba đáng tin cậy chịu trách nhiệm cho việc tạo ra các khóa 
bí mật cho người sử dụng. 
3. Mã hóa có thể được thực hiện ngay cả trước khi tạo khóa riêng của người sử 
dụng (Phép mã hóa chỉ yêu cầu định danh (ID) của người dùng và khóa công khai 
của một bên thứ ba tin cậy). 
Đề xuất của Shamir đã phải chờ đến khi Boneh và Franklin [4] đề xuất sơ đồ mã 
hóa định danh (ID) dựa trên ánh xạ song tuyến mới được thực hiện. Sơ đồ này giả 
định rằng: 
1. Chúng ta thực hiện một ánh xạ song tuyến ê: G1 → GT, mà bài toán song 
tuyến Diffie-Hellman là bài toán tính toán khó. 
2. Tồn tại hàm băm H1 và H2, sao cho: 
H1: {0, 1}
* → G1 \ {∞} và H2: GT → {0, 1}
l. 
trong đó, l là số bit của bản rõ. 
3. Bên thứ ba tin cậy cung cấp khóa riêng t ∈ [0, n-1] và khóa công khai T = tP 
(khóa T được phổ biến rộng rãi). 
Khi một người dùng cần có một khóa riêng dA, thì bên thứ ba tin cậy cấp một 
mã định danh IDA, tính khóa dA = tQA = tH1(IDA) và gửi qua một kênh an toàn cho 
người dùng. Chú ý rằng khóa riêng dA có thể được coi là một chữ ký của bên thứ 3 
tin cậy vào mã dạng IDA. 
Để mã hóa một thông điệp m ∈ {0, 1}l sử dụng sơ đồ Boneh-Franklin, phải làm 
như sau: 
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số 48, 04 - 2017 127
1. Thiết lập một khóa công khai dựa trên mã định danhQA = H1(IDA). 
2. Chọn một số ngẫu nhiên r ∈ [0, n - 1] và tính toán R = rP. 
3. Tạo bản mã c = m⊕H2(ê (QA,T)
r). 
4. Gửi cặp (R, c) cho người nhận. 
Để giải mã một thông điệp của người dùng sử dụng khóa riêng của mình dAvà 
tính toán ra bản rõ m = c⊕ H2 (ê(dA, R)). Quá trình giải mã thông điệp đúng nhờ 
vào đẳng thức sau: 
ê(dA,R) = ê(tQA, rP) = ê(QA, P)
tr = ê(QA, tP)
r = ê(QA, T )
r. 
Để nhận được thông điệp từ bản mã (R, c) cần tính (QA, T)
r trên cơ sở (P, QA, T, 
R) và đó là bài toán song tuyến DH. 
Cần nhấn mạnh rằng phương pháp mô tả trên chống được tấn công thụ động, 
nhưng lại dễ bị tấn công bản mã lựa chọn. Tuy nhiên, có thể cải tiến để loại bỏ vấn 
đề này. 
4. MỘT VÀI KẾT QUẢ THỬ NGHIỆM THỰC TẾ 
Trên cơ sở các kết quả lý thuyết nói trên chúng tôi đã xây dựng một phần mềm 
bảo mật thông tin trên đường truyền sử dụng phương pháp trao đổi khóa mã an 
toàn và một số ứng dụng của Hệ mật trên đường cong elliptic có tích hợp nghiệp 
vụ mật mã. Các kết quả thử nghiệm thực tế cho thấy phần mềm hoạt động tốt, ổn 
định, có độ bảo mật cao (hình 3, 4, 5). 
Hình 3. Ảnh gốc trước 
khi mã hóa. 
Hình 4. Ảnh giải mã với 
khóa sai. 
Hình 5. Ảnh sau khi 
giải mã. 
5. KẾT LUẬN 
Bài viết này trình bày một cơ chế mật mã mới dựa trên ánh xạ song tuyến, trong 
đó có thể thực hiện bằng cách ghép cặp điểm trên đường cong elliptic. Đã chỉ ra 
khả năng ghép cặp điểm trên đường cong cho phép xây dựng các giao thức như: 
thỏa thuận khóa một vòng giữa ba bên và mã hóa dựa trên định danh. Các kết quả 
trên có sự hợp tác với đề tài VAST01.06/15-16 của Viện Hàn lâm Khoa học và 
Công nghệ Việt Nam. 
Cần nhấn mạnh rằng lĩnh vực mật mã học hiện đang ở một giai đoạn phát triển 
rất chuyên sâu. Một số lớn kết quả được công bố liên quan đến khả năng sử dụng 
thực tế phép nhân Tate; thuật toán Miller và phương pháp ghép cặp điểm trên 
đường cong. 
Công nghệ thông tin & Cơ sở toán học cho tin học 
N. N. Hải, N. T. T. Nga, “Về một phương pháp trao đổi khóa mã an toàn.” 128 
TÀI LIỆU THAM KHẢO 
[1]. ANSI X9.62-2005 (2005), “Public Key Cryptography For The 
FinancialServicesIndustry: The Elliptic Curve Digital Signature 
Algorithm(ECDSA)”, American National Standards Institute. 
[2]. ANSI X9.63 (1999), “Public Key Cryptography For The FinancialServices 
Industry: Key Agreement and Key Transport Using ECC”, American 
National Standard Institute. 
[3]. A. Joux, “A one round protocol for tripartite Diffie-Hellman”, Algorithmic 
Number Theory: 4thInternational Symposium, pp. 263–267, 2000. 
[4]. D. Boneh, M. Franklin, “Identity-based encryption from the Weil pairing”, 
Advances in Cryptology– CRYPTO 2001, pp. 586–615, 2001. 
[5]. D. Boneh, B. Lynn, H. Shacham, “Short signatures from the Weil pairing”, 
Advances in Cryptology– ASIACRYPT 2001, pp. 297–319, 2001. 
[6]. Lawrence C. Washington (2008), “Elliptic Curves–Number theory and 
Cryptography”, CRC Press. 
[7]. J. Pollard, “Monte Carlo methods for index computation mod p”, 
Mathematics of Computation, pp.918–924, 1978. 
[8]. A. Menezes, T. Okamoto, S. Vanstone, “Reducing elliptic courve logarithms 
to logarithms in a finitefield”, IEEE Transactions on Information Theory, pp. 
1639–1646, 1993. 
[9]. V. Miller, “The Weil pairing, and its efficient calculation”, Journal of 
Cryptology, pp. 235–261, 2004. 
[10]. A. Shamir, “Identity-based cryptosystems and signature schemes”, Advances 
in Cryptology –CRYPTO 84, pp. 47–53, 1984. 
ABSTRACT 
A METHOD FOR SECURITY KEY AGREEMENT 
The rapid development of cryptography promotes data security and user 
authentication techniques, information confidentiality... In the paper, a 
method for security key agreement and new applications of the Cryptosystem 
on the elliptic curve is presented. 
Keywords: Elliptic curve, Information security, Data security, Diffie-Hellman, Bilinear. 
Nhận bài ngày 01 tháng 3 năm 2017 
Hoàn thiện ngày 04 tháng 4 năm 2017 
Chấp nhận đăng ngày 05 tháng 4 năm 2017 
Địa chỉ: 1Học viện Kỹ thuật Mật mã; 
 2Viện Công nghệ Thông tin, Viện Hàn lâm Khoa học và Công nghệ Việt Nam. 
 *Email: nam_haivn@yahoo.com 

File đính kèm:

  • pdfve_mot_phuong_phap_trao_doi_khoa_ma_an_toan.pdf