1. Trang chủ
  2. » Công Nghệ Thông Tin

thuật toán mã hóa và ứng dụng phần 8

31 6 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Trên thực tế, khóa công cộng dễ bị tấn công hơn khóa bí mật. Để tìm ra được khóa bí mật, người giải mã cần phải có thêm một số thông tin liên quan đến các đặc tính của văn bản nguồn trước khi mã hóa để tìm ra manh mối giải mã thay vì phải sử dụng phương pháp vét cạn mã khóa.

4K 2K 1K 512 256 128 64 Chi phí Một số hệ thống mã hóa khóa cơng cộng Độ dài mã khóa (bits) Hình 6.3 Đồ thị so sánh chi phí cơng phá khóa bí mật khóa cơng cộng Trên thực tế, khóa cơng cộng dễ bị cơng khóa bí mật Để tìm khóa bí mật, người giải mã cần phải có thêm số thơng tin liên quan đến đặc tính văn nguồn trước mã hóa để tìm manh mối giải mã thay phải sử dụng phương pháp vét cạn mã khóa Ngồi ra, việc xác định xem thơng điệp sau giải mã có thơng điệp ban đầu trước mã hóa hay khơng lại vấn đề khó khăn Ngược lại, khóa cơng cộng, việc cơng phá hồn tồn thực với điều kiện có đủ tài ngun thời gian xử lý Ngồi ra, để giải mã thông điệp sử dụng phương pháp mã hóa khóa cơng cộng, người giải mã khơng cần phải vét cạn tồn khơng gian mã khóa mà cần khảo sát tập không gian 189 Chương Bên cạnh đó, khóa cơng cộng cịn mục tiêu cơng đáng giá người giải mã khóa bí mật Khóa cơng cộng thường dùng để mã hóa khóa bí mật thực việc trao đổi mã khóa bí mật Nếu khóa cơng cộng bị phá thơng điệp sau sử dụng mã khóa bị giải mã Trong đó, phát mã khóa bí mật có thơng điệp sử dụng mã khóa bị giải mã Trên thực tế, mã khóa bí mật thường sử dụng lần nên có giá trị so với khóa cơng cộng Tóm lại, khóa cơng cộng dùng để mã hóa thơng tin ngắn lại thông tin quan trọng 190 Chữ ký điện tử Chương Chữ ký điện tử " Nội dung chương giới thiệu khái niệm chữ ký điện tử với số phương pháp chữ ký điện tử phổ biến RSA, ElGamal DSS 7.1 Giới thiệu Chữ ký điện tử không sử dụng nhằm bảo mật thông tin mà nhằm bảo vệ thông tin không bị người khác cố tình thay đổi để tạo thơng tin sai lệch Nói cách khác, chữ ký điện tử giúp xác định người tạo hay chịu trách nhiệm thông điệp Một phương pháp chữ ký điện tử bao gồm hai thành phần chính: thuật toán dùng để tạo chữ ký điện tử thuật toán tương ứng để xác nhận chữ ký điện tử Định nghĩa 7.1: Một phương pháp chữ ký điện tử định nghĩa bộnăm (P, A, K, S, V) thỏa điều kiện sau: 191 Chương P tập hợp hữu hạn thông điệp A tập hợp hữu hạn chữ ký sử dụng Khơng gian khóa K tập hợp hữu hạn khóa sử dụng Với khóa k ∈ K, tồn thuật toán chữ ký sigk ∈ S thuật toán xác nhận chữ ký tương ứng verk ∈ V Mỗi thuật toán sigk : P → A verk : P × A → {true, false} hàm thỏa điều kiện: ⎧⎪true neáu y = sig ( x ) ∀x ∈ P, ∀y ∈ A : ver ( x, y ) = ⎨ ⎪⎩ false neáu y ≠ sig ( x ) 7.2 (7.1) Phương pháp chữ ký điện tử RSA Phương pháp chữ ký điện tử RSA xây dựng dựa theo phương pháp mã hóa khóa cơng cộng RSA Thuật tốn 7.1 Phương pháp chữ ký điện tử RSA n = pq với p q hai số nguyên tố lẻ phân biệt Cho P = C = Z n định nghĩa: K = {((n, p, q, a, b): n = pq, p, q số nguyên tố, ab ≡ (mod φ(n))} Giá trị n b công bố, giá trị p, q, a giữ bí mật Với K = (n, p, q, a, b) ∈ K, định nghĩa: sigK(x) = xa mod n verK(x, y) = true ⇔ x ≡ yb (mod n), với x, y ∈ Z n 192 Chữ ký điện tử 7.3 Phương pháp chữ ký điện tử ElGamal Phương pháp chữ ký điện tử ElGamal giới thiệu vào năm 1985 Sau đó, Viện Tiêu chuẩn Cơng nghệ Quốc gia Hoa Kỳ (NIST) sửa đổi bổ sung phương pháp thành chuẩn chữ ký điện tử (Digital Signature Standard– DSS) Khác với phương pháp RSA áp dụng mã hóa khóa cơng cộng chữ ký điện tử, phương pháp ElGamal xây dựng nhằm giải toán chữ ký điện tử 7.3.1 Bài toán logarit rời rạc Phát biểu toán logarit rời rạc: Cho số nguyên tố p, gọi α ∈ Zp phần tử sinh (generator) β ∈ Zp* Cần xác định số nguyên dương a ∈ Zp–1 cho αa ≡ β (mod p) (7.2) Khi đó, a ký hiệu logα β Trên thực tế, toán logarit rời rạc thuộc nhóm NP hay nói cách khác, chưa có thuật tốn có thời gian đa thức giải vấn đề Với p có tối thiếu 150 chữ số p – có thừa số nguyên tố đủ lớn, phép toán lũy thừa modulo p xem hàm chiều hay việc giải toán logarit rời rạc Zp xem thực 193 Chương 7.3.2 Phương pháp ElGamal Trong phương pháp ElGamal, thông điệp có nhiều chữ ký hợp lệ khác Thuật toán 7.2 Phương pháp chữ ký điện tử ElGamal Cho p số nguyên tố cho việc giải toán logarit rời rạc Zp xem thực Cho α ∈ Zp* phần tử sinh Cho P = Zp*, A = Zp*× Zp–1 định nghĩa K = { (p, α, a, β): β ≡ αa (mod p) } Giá trị p, α β công bố, giá trị a giữ bí mật Với K = (p, α, a, β) ∈ K số ngẫu nhiên (được giữ bí mật) k ∈ Zp–1*, định nghĩa: sigK(x,k) = (γ, δ) với γ = αk mod p δ = (x –aγ) k –1 mod (p –1) Với x, γ ∈ Zp* δ ∈ Zp–1, định nghĩa verK(x, γ, δ) = true ⇔ β γγ δ ≡ α x (mod p) 7.4 Phương pháp Digital Signature Standard Phương pháp Digital Signature Standard (DSS) cải tiến phương pháp ElGamal Phương pháp công bố Federal Register vào ngày 19 194 Chữ ký điện tử tháng năm 1994 thức trở thành phương pháp chuẩn từ ngày tháng 12 năm 1994 Thuật toán 7.3 Phương pháp Digital Sinature Standard Cho p số nguyên tố 512-bit cho việc giải tốn logarit rời rạc Zp xem khơng thể thực q số nguyên tố 160-bit ước số p – Cho α ∈ Zp* bậc q modulo p Cho P = Zq*, A = Zq × Zq định nghĩa K = { (p, q, α, a, β): β ≡ αa (mod p) } Giá trị p, q, α β công bố, giá trị a giữ bí mật Với K = (p, α, a, β) ∈ K số ngẫu nhiên (được giữ bí mật) k ∈ Zq*, định nghĩa: sigK(x,k) = (γ, δ) với γ = (αk mod p) mod q δ = (x + aγ) k –1 mod q Với x ∈ Zq* γ, δ ∈ Zq, định nghĩa ( ) verK (x, γ , δ ) = true ⇔ α e1 β e2 mod p mod q = γ với e1 = xδ -1 mod q e2 = γδ -1 mod q Một văn điện tử, ví dụ hợp đồng kinh tế hay di chúc thừa kế, cần kiểm tra để xác nhận chữ ký nhiều lần sau khoảng thời gian dài nên vấn đề an toàn chữ ký điện tử cần phải quan tâm nhiều Do mức độ an toàn phương pháp ElGamal phụ thuộc vào độ phức tạp việc tìm lời 195 Chương giải cho toán logarit rời rạc nên cần thiết phải sử dụng số nguyên tố p đủ lớn (tối thiểu 512-bit [43]) Nếu sử dụng số ngun tố p có 512 bit chữ ký điện tử tạo có độ dài 1024-bit không phù hợp với ứng dụng sử dụng thẻ thơng minh vốn có nhu cầu sử dụng chữ ký ngắn Phương pháp DSS giải vấn đề cách dùng chữ ký điện tử 320-bit văn 160-bit với phép tính tốn thực tập có 2160 phần tử Zp* với p số nguyên tố 512-bit 196 Phương pháp ECC Chương Phương pháp ECC " Trong chương 7, tìm hiểu về khái niệm số phương pháp cụ thể phổ biến hệ thống mã hóa khóa cơng cộng chữ ký điện tử Trong chương này, tìm hiểu việc ứng dụng lý thuyết toán học đường cong elliptic (elliptic curve) trường hữu hạn vào hệ thống mã hóa khóa cơng cộng 8.1 Lý thuyết đường cong elliptic Hệ thống mã hóa khóa cơng cộng dựa việc sử dụng tốn khó giải Vấn đề khó việc số lượng phép tính cần thiết để tìm lời giải cho toán lớn Trong lịch sử 20 năm ngành mã hóa bất đối xứng có nhiều đề xuất khác cho dạng tốn vậy, nhiên có hai số đề xuất cịn tồn vững đến ngày Hai tốn bao gồm: tốn logarit rời rạc (discrete logarithm problem) toán phân tích thừa số số nguyên 197 Chương Cho đến năm 1985, hai nhà khoa học Neal Koblitz Victor S Miller độc lập nghiên cứu đưa đề xuất ứng dụng lý thuyết toán học đường cong elliptic (elliptic curve) trường hữu hạn [35] Đường cong elliptic – đại số hình học – nghiên cứu rộng rãi vòng 150 năm trở lại đạt số kết lý thuyết có giá trị Đường cong elliptic phát lần đầu vào kỷ 17 dạng công thức Diophantine: y − x3 = c với c ∈ Z Tính bảo mật hệ thống mã hóa sử dụng đường cong elliptic dựa điểm mấu chốt độ phức tạp toán logarit rời rạc hệ thống đại số Trong suốt 10 năm gần đây, toán nhận quan tâm ý rộng rãi nhà toán học hàng đầu giới Khơng giống tốn logarit rời rạc trường hữu hạn toán phân tích thừa số số ngun, tốn logarit rời rạc đường cong elliptic chưa có thuật tốn có thời gian thực nhỏ cấp lũy thừa Thuật tốn tốt biết hơm tốn thời gian thực cấp lũy thừa [27] 8.1.1 Công thức Weierstrasse đường cong elliptic Gọi K trường hữu hạn vô hạn Một đường cong elliptic định nghĩa trường K công thức Weierstrass: y + a1 xy + a3 y = x3 + a2 x + a4 x + a6 a1 , a2 , a3 , a4 , a5 , a6 ∈ K 198 (8.1) Phương pháp ECC Các phép toán đường cong elliptic Fp tương tự với E(R) Tập hợp điểm E(Fp) tạo thành nhóm thỏa tính chất sau: o Tính đóng: ∀ a, b ∈ G, a + b ∈ G o Tính kết hợp: Các phép tốn nhóm có tính kết hợp Do đó, (a + b) + c = a + (b + c) o Phần tử trung hịa: có giá trị ∈ G cho a + = + a = a, ∀ a ∈ G o Phần tử đối: ∀a ∈ G , ∃ − a ∈ G gọi số đối a, cho − a + a = a + (− a) = Bậc điểm A E(Fp) số nguyên dương r cho: A + A + A=O  + r 8.1.3.2 (8.11) Đường cong elliptic trường F2 m Một đường cong elliptic E( F2 m ) F2 m định nghĩa tham số a, b ∈ F2 m (với b ≠ 0) tập điểm (x, y) với x ∈ F2 m , y ∈ F2 m thỏa công thức: y2 + xy = x3 + ax2 + b (8.12) với điểm O điểm vô cực Số lượng điểm thuộc E( F2 m ) ký hiệu #E( F2 m ) thoả định lý Hasse: 205 Chương q + − q ≤# E ( F2m ) ≤ q + + q (8.13) q = 2m Ngoài ra, #E( F2 m ) số chẵn Tập hợp điểm thuộc E( F2 m ) tạo thành nhóm thỏa tính chất sau: o O+O=O o (x, y) + O = (x, y), ∀(x, y) ∈ E( F2 m ) o (x, y) + (x, x + y) = O, ∀(x, y) ∈ E( F2 m ) Khi đó, (x, x + y) điểm đối (x, y) E( F2 m )) Việc xử lý thực hai hệ tọa độ khác nhau: hệ tọa độ affine hệ tọa độ quy chiếu Với hệ tọa độ khác nhau, việc tính tốn đường cong khác ™ Các phép toán đường cong elliptic hệ tọa độ affine Hệ mã hóa đường cong elliptic dựa toán logarit rời rạc E( F2 m ) tính tốn đường cong elliptic Phép nhân thể dãy phép cộng phép nhân đôi điểm đường cong elliptic Giống phép tính đường cong elliptic số thực, phép cộng phép nhân đôi định nghĩa hệ tọa độ 206 Phương pháp ECC Xét đường cong elliptic E F2 m hệ tọa độ affine Cho P = (x1, y1), Q = (x2, y2) hai điểm đường cong elliptic E( F2 m ) Điểm đối P –P = (x1, y1 + x1) ∈ E( F2 m ) Nếu Q ≠ –P P + Q = R = (x3, y3) ∈ E( F2 m ) y1 + y2 ⎧ ⎪θ = x + x Nếu P ≠ Q ⎪⎪ ⎨ x3 = θ + θ + x1 + x2 + a2 ⎪ y = (x + x )θ + x + y 3 ⎪ ⎪⎩ y1 ⎧ ⎪θ = x + x1 Nếu P = Q ⎪⎪ ⎨ x3 = θ + θ + a2 ⎪ ⎪ y3 = x1 + (θ + 1)x3 ⎪⎩ (8.14) (8.15) Thuật toán 8.2: Thuật toán cộng điểm hệ tọa độ affine Input: Đường cong elliptic E( F2 m )với tham số a2, a6 ∈ F2 m , Điểm P = (x1, y1) ∈ E( F2 m ) Q = (x2, y2) ∈ E( F2 m ) Output: R = P + Q, R = (x3, y3) ∈ E ( F2 m ) If P = O then R ← Q trả giá trị R If Q = O then R ← P trả giá trị R If x1 = x2 then If y1 = y2 then 207 Chương θ← y1 + x1 x3 ← θ + θ + a2 x1 Else If y2 = x1 + y1 then R ← O trả R, End If θ← y1 + y x1 + x End If x3 ← θ + θ + x1 + x2 + a2 y3 ← (x1 + x3)θ + x3 + y1 Trả (x3, y3) = R ™ Các phép toán đường cong elliptic hệ tọa độ chiếu Đường cong E( F2 m )có thể xem tương đương với tập hợp điểm E'( F2 m ) mặt phẳng chiếu P2( F2 m ) thỏa mãn công thức: y2z + xyz = x3 + a2x2z2 + a6z3 (8.16) Sử dụng hệ tọa độ chiếu, thao tác tính nghịch đảo cần cho phép cộng phép nhân đơi điểm hệ affine loại bỏ 208 Phương pháp ECC ™ Chuyển đổi hệ tọa độ affine hệ tọa độ chiếu Mọi điểm (a, b) ∈ E( F2 m ) hệ tọa độ affine xem ba (x, y, z) E'( F2 m ) hệ tọa độ chiếu với x = a, y = b, z = Hơn nữa, điểm (tx, ty, tz) hệ tọa độ chiếu với t ≠ xem trùng với điểm (x, y, z) Như vậy, chuyển đổi hệ affine hệ tọa độ chiếu sau: M(a, b) = M'(a, b, 1) (8.17) N(p, q, r) = N'( p , q ,1 ) = N( p , q ) r r r r (8.18) ™ Các phép toán đường cong hệ tọa độ chiếu Phương pháp trình bày cơng thức phép cộng nhân đôi hệ tọa độ chiếu tương tự với hệ tọa độ affine Cho P' = (x1: y1:z1) ∈ E'( F2 m ), Q' = (x2 : y2 : z2) ∈ E'( F2 m ) P' ≠ −Q' P', Q' thuộc hệ tọa độ quy chiếu Do P' = (x1/z1 : y1/z1 : 1), ta áp dụng công thức cộng nhân cho điểm P(x1/z1, y1/z1) Q (x2, y2) cho E( F2 m ) hệ affine để tìm P' + Q' = R' (x'3: y'3: 1) 209 Chương Từ ta có: B2 B A + + + a2 A A z1 y B x y ' = ( + x' ) + x ' + A z1 z1 x' = (8.19) Trong A = (x2z1 + x1) B = (y2z1 + y1) Đặt z3 = A3z1 x3 = x'3z3, y3 = y'3z3, P + Q = (x3: y3: z3) thì: x3 = AD, y3 = CD + A2(Bx1 + Ay1) (8.20) z3 = A3z1 với C = A + B D = A2(A + a2z1) + z1BC Tương tự 2P = (x3 : y3 : z3) với x3 = AB, y3 = x14A + B(x12 + y1z1 + A) (8.21) z3 = A3 Trong A = x1z1 B = a6z14 + x14 Điểm kết chuyển trở lại sang hệ affine cách nhân với z3−1 Như khơng có thao tác tính nghịch đảo hệ tọa độ chiếu Do đó, cần phép nghịch đảo sau dãy phép cộng nhân đôi để chuyển sang hệ affine 210 Phương pháp ECC Bảng 8.1 So sánh số lượng thao tác phép toán đường cong elliptic hệ tọa độ Affine hệ tọa độ chiếu Thao tác Nhân Nghịch đảo 8.1.3.3 Tọa độ affine ESUM EDBL 2 1 Tọa độ chiếu ESUM EDBL 13 0 Phép nhân đường cong Thuật toán 8.3: Thuật toán nhân điểm hệ tọa độ affine Input: P ∈ E( F2 m ) c ∈ F2 m Output: Q = c × P c = ∑ in= bi i , bi ∈ {0, 1}, bn = Q←P for i = n-1 downto Gán Q ← Q + Q (Affine EDBL) if bi = then Gán Q ← Q + P (Affine ESUM) end if end for Trả Q Phép nhân định nghĩa dãy phép cộng P + P + + P Q = c × P =  (8.22) c 211 Chương Thuật toán 8.4: Thuật toán nhân điểm hệ tọa độ chiếu Input: P ∈ E( F2 m ) and c ∈ F2 m Output: Q = c × P c = ∑ in= bi i , bi ∈ {0, 1}, bn = Biểu diễn P hệ tọa độ chiếu: P' Gán Q' ← P' for i = n-1 downto Q' ← Q' + Q' (Projective EDBL) if bi = then Q' ← Q' + P' (Projective ESUM) end if end for Biểu diễn Q' hệ tọa độ affine, ta Q Trả Q 8.1.4 Bài toán logarit rời rạc đường cong elliptic Bài toán logarit rời rạc đường cong elliptic (ECDLP): Cho E đường cong elliptic P ∈ E điểm có bậc n Cho điểm Q ∈ E, tìm số nguyên dương m (2 ≤ m ≤ n − 2) thỏa mãn công thức Q = m × P Hiện chưa có thuật toán xem hiệu để giải toán Để giải toán logarit rời rạc đường cong ellipse, cần phải kiểm tra tất giá trị m ∈ [2 n − 2] Nếu điểm P chọn lựa cẩn thận với n lớn việc giải tốn ECDLP xem khơng khả thi Việc giải tốn ECDLP khó 212 Phương pháp ECC khăn việc giải toán logarit rời rạc trường số nguyên thông thường [2] 8.1.5 Áp dụng lý thuyết đường cong elliptic vào mã hóa Các lý thuyết tốn học tảng đường cong elliptic nhà khoa học áp dụng hiệu vào lĩnh vực mã hóa, bảo mật (Elliptic Curve Cryptography - ECC) Các kết nghiên cứu đường cong elliptic sử dụng quy trình mã hóa liệu, trao đổi khóa ký nhận điện tử 8.2 Mã hóa liệu Mơ hình mã hóa liệu sử dụng đường cong elliptic (Elliptic Curve Encryption Scheme - ECES) bao gồm thao tác: mã hóa giải mã Trước thực việc mã hóa liệu với Elliptic Curve, người gởi người nhận cần phải sở hữu cặp khóa cơng cộng – khóa riêng Các giá trị sau quy ước chung người gởi người nhận, gọi tham số chung hệ thống mã hóa: • Đường cong elliptic curve E • Điểm P, P ∈ E Điểm P có bậc n (n × P = O) 213 Chương Q trình tạo khóa thực sau: • Chọn số nguyên d, d ∈ [2, n − 2] Đây khóa riêng • Tính giá trị điểm Q = d × P ∈ E Đây khóa cơng cộng 8.2.1 Thao tác mã hóa Thao tác mã hóa mã hóa thơng điệp khóa cơng cộng người nhận tham số đường cong quy ước thống chung người gởi (B) người nhận (A) Trình tự mã hóa thực sau: • B sử dụng khóa cơng cộng A (QA) • B chọn số nguyên k ∈ [2, n-2] • B tính giá trị ca im (x1, y1) = k ì P ã B tính giá trị điểm (x2, y2) = k × QA.x2 giá trị bí mật sử dụng để tạo khóa mã hóa thơng điệp • B tạo mặt nạ (mask) Y từ giá trị bí mật x2 Giá trị Y tạo thành từ hàm mask generation Tùy theo việc cài đặt hàm mask generation mà Y có giá trị khác Y khóa quy ước để mã hóa thơng điệp • B tính giá trị C = Φ(Y, M) C thơng điệp mã hóa Thơng thường, Φ(Y, M) = Y ⊕ M • B gởi cho A thơng điệp mã hóa C với giá trị (x1, y1) 214 Phương pháp ECC Giá trị k (x1, y1) tạo khơng phải khóa riêng khóa cơng cộng để giao dịch B Đây cặp khóa cơng cộng – khóa riêng phát sinh thời (one-time key pair) nhằm mã hóa thơng điệp Mỗi thơng điệp mã hóa nên sử dụng cặp khóa cơng cộng – khóa riêng phát sinh ngẫu nhiên 8.2.2 Kết hợp ECES với thuật toán Rijndael thuật tốn mở rộng Trong ECES, thơng thường hàm mã hóa Φ thực thao tác XOR khóa với thông điệp Trên thực tế, để tăng độ an tồn thuật tốn mã hóa, hệ thống mã hóa đường cong ellipse thay thao tác XOR thơng điệp với khóa cách kết hợp với thuật tốn mã hóa đối xứng hiệu Trong [27] trình bày phương pháp ECAES kết hợp ECES với AES Chúng ta sử dụng thuật toán mở rộng 256/384/512-bit 512/768/1024-bit q trình mã hóa ECES để tạo hệ thống mã có độ an tồn cao 8.2.3 Thao tác giải mã Bằng việc sử dụng tham số quy ước kết hợp với khóa bí mật người nhận (A) giá trị (x1, y1), A thực giải mã thơng điệp mã hóa ECES (C) theo trình tự sau: Trình tự giải mã: • A nhận giá trị (x1, y1) • A tính giá trị điểm (x2, y2) = d × (x1, y1) x2 giá trị bí mật sử dụng để tạo khóa giải mã thơng điệp 215 Chương • Sử dụng hàm tạo mặt nạ (mask function) sử dụng giai đoạn mã hóa, A tạo mặt nạ Y từ giá trị bí mật x2 Y khóa bí mật để giải mã • A giải mã thông điệp C để lấy thông điệp M ban đầu cách tính giá trị M = Φ−1(C, Y) Thông thường, Φ−1(C, Y) = C ⊕ Y 8.3 Trao đổi khóa theo phương pháp Diffie - Hellman sử dụng lý thuyết đường cong elliptic (ECDH) 8.3.1 Mơ hình trao đổi khóa Diffie-Hellman Năm 1976, Whitfield Diffie Martin Hellman đưa giao thức để trao đổi giá trị khóa quy ước đối tác đường truyền có độ bảo mật trung bình Sự đời giao thức trao đổi khóa Diffie-Hellman xem bước mở đầu cho lĩnh vực mã hóa khóa cơng cộng Giao thức dựa nguyên lý toán logarit rời rạc trường số nguyên hữu hạn Các thao tác thực trao đổi khóa Diffie-Hellman hai đối tác A B sau: • A B thống giá trị g số nguyên tố p < g • A chọn số ngẫu nhiên m A tính giá trị QA = gm gởi QA cho B • B chọn số ngẫu nhiên n B tính giá trị QB = gn gởi QB cho A • A nhận QB tính giá trị k = (QB)m = g nì m ã B nhn c QA tính giá trị k = (QA)n = g m× n k giá trị bí mật quy ước chung 216 Phương pháp ECC 8.3.2 Mơ hình trao đổi khóa Elliptic Curve Diffie - Hellman Mơ hình trao đổi khóa Elliptic curve Diffie-Hellman tương tự mơ hình trao đổi khóa Diffie-Hellman ECDH dựa vào nguyên lý toán logarit rời rạc áp dụng đường elliptic curve Mơ hình dùng để thiết lập nhiều khóa quy ước chung hai đối tác A B Các thao tác để trao đổi khóa ECDH thực sau: • A B thống tham số sử dụng như: đường elliptic curve E, điểm P(x, y) • A chọn giá trị m ngẫu nhiên A tính giá trị điểm QA = m × P gởi QA cho B • B chọn giá trị n ngẫu nhiên B tính giá trị điểm QB = n × P gởi QB cho A • A nhận QB tính giá trị G = m × QB = m ì n ì P ã B nhn c QA tính giá trị G = n × QA = n × m × P Giá trị G = m × n × P giá trị bí mật quy ước chung Giả sử có người C công vào đường truyền lấy giá trị QA, QB, E, P, C cần lấy m n để tìm G = m × n × P Điều C phải giải toán logarit rời rạc đường cong elliptic Giải tốn địi hỏi chi phí tính tốn tương đương với sử dụng thuật toán vét cạn đường cong elliptic 217 Chương 8.4 Kết luận Hệ thống mã hóa khóa cơng cộng đời giải hạn chế mã hóa quy ước Mã hóa khóa cơng cộng sử dụng cặp khóa, khóa (thơng thường khóa riêng) dùng để mã hóa khóa (khóa riêng) dùng để giải mã Mã hóa khóa công cộng giúp tránh bị công trao đổi khóa khóa để giải mã (khóa riêng) khơng cần phải truyền chia sẻ với người khác Ngoài ra, người cần sở hữu cặp khóa cơng cộng – khóa riêng người gởi thơng tin cần giữ khóa cơng cộng người nhận số lượng khóa cần phải quản lý giảm nhiều Mỗi người cần lưu trữ bảo mật khóa riêng Tuy nhiên, nhu cầu mã hóa giải mã hai khóa khác cặp khóa nên để đảm bảo bảo mật, kích thước khóa cơng cộng – khóa riêng lớn nhiều so với khóa cơng cộng Do tốc độ mã hóa khóa cơng cộng chậm tốc độ mã hóa khóa quy ước Tốc độ mã hóa phần mềm thuật toán DES nhanh khoảng 100 lần so với mã hóa RSA với mức độ bảo mật Bảng 8.2 So sánh kích thước khóa mã hóa quy ước mã hóa khóa cơng cộng với mức độ bảo mật Khóa quy ước RSA/DSA ECC 218 56 512 Kích thước khóa (tính bit) 80 112 128 192 1K 2K 3K 7.5K 160 224 256 384 256 15K 512 Phương pháp ECC So sánh phương pháp mã hóa khóa cơng cộng Mã hóa khóa cơng cộng dựa hai vấn đề lớn toán học toán logarit rời rạc tốn phân tích thừa số số ngun Phương pháp RSA dựa tốn phân tích thừa số số nguyên tố đưa từ cuối thập niên 70 Phương pháp ECC dựa toán logarit rời rạc trường số đường elliptic curve (ECDLP) đưa từ năm 1985 Một ưu điểm ECC khả bảo mật cao với kích thước khóa nhỏ dựa vào mức độ khó giải vấn đề ECDLP Đây tính chất hữu ích xu hướng ngày tìm phương pháp tăng độ bảo mật mã hóa khóa cơng cộng với kích thước khóa rút gọn Kích thước khóa nhỏ giúp thu gọn kích thước chứng nhận giao dịch mạng giảm kích thước tham số hệ thống mã hóa Kích thước khóa nhỏ giúp hệ thống bảo mật dựa ECC giảm thời gian tạo khóa Thời gian tạo khóa thường lớn hệ thống RSA Bảng 8.3 So sánh kích thước khóa RSA ECC với mức độ an toàn Thời gian cần để cơng vào khóa (đơn vị: năm) 104 108 1011 1020 1078 Kích thước khóa RSA / DSA 512 768 1024 2048 21000 ECC 106 132 160 210 600 Tỉ lệ kích thước khóa RSA : ECC 5:1 6:1 7:1 10:1 35:1 219 ... dụng mã khóa bị giải mã Trong đó, phát mã khóa bí mật có thơng điệp sử dụng mã khóa bị giải mã Trên thực tế, mã khóa bí mật thường sử dụng lần nên có giá trị so với khóa cơng cộng Tóm lại, khóa... dụng thuật toán vét cạn đường cong elliptic 217 Chương 8. 4 Kết luận Hệ thống mã hóa khóa cơng cộng đời giải hạn chế mã hóa quy ước Mã hóa khóa cơng cộng sử dụng cặp khóa, khóa (thơng thường khóa... Tốc độ mã hóa phần mềm thuật toán DES nhanh khoảng 100 lần so với mã hóa RSA với mức độ bảo mật Bảng 8. 2 So sánh kích thước khóa mã hóa quy ước mã hóa khóa cơng cộng với mức độ bảo mật Khóa quy

Ngày đăng: 10/05/2021, 23:19