Về một phương pháp trao đổi khóa mã an toàn
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.
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
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:
- ve_mot_phuong_phap_trao_doi_khoa_ma_an_toan.pdf