Xem mẫu

  1. Đồ án tốt nghiệp Hệ mật đường cong elliptic MỞ ĐẦU Ngày nay với sự phát triển mạnh mẽ của công nghệ thông tin, truyền thông nói chung và Internet nói riêng đã giúp cho việc trao đổi thông tin nhanh chóng, dễ dàng, E-mail cho phép người ta nhận hay gửi thư ngay trên máy tính của mình, E-business cho phép thực hiện các giao dịch trên mạn. Do vậy một vấn đề phát sinh là thông tin có thể bị trộm cắp, có thể là sai lệch, có thể giả mạo. Điều đó có thể ảnh hưởng tới các tổ chứa, các công ty hay cả một quốc gia. Những bí mật kinh doanh, tài chính là mục tiêu của các đối thủ cạnh tranh. Những tin tức về an ninh quốc gia là mục tiêu của các tổ chức tình báo trong và ngoài nước. Để giải quyết tình hình trên an toàn thông tin được đặt ra cấp thiết. Kỹ thuật mật mã là một trong những giải pháp của an toàn truyên thông. Kỹ thuật này có từ ngàn xưa nhưng nó đơn giản, ngày nay khi có mạng máy tính người ta dùng mật mã hiện đại. Các nhà khoa học đã phát minh ra những hệ mật mã nhằm che dấu thông tin cũng như là làm rõ chúng để tránh sự giòm ngó của những kẻ cố tình phá hoại như các hệ mật: RSA, Elgamal… mặc dù cũng rất an toàn nhưng có độ dài khoá lớn nên trong một số lĩnh vực không thể ứng dụng được. Chính vì vậy người ta đã phát minh một hệ mật đó là hệ mật trên đường cong elliptic, hệ mật này được đánh giá là hệ mật có độ bảo mật an toàn cao và hiệu quả hơn nhiều so với hệ mật công khai khác, nó đã được ứng dụng trên nhiều lĩnh vực và được sử dụng nhiều nơi trên thế giới tuy nhiên còn mới mẻ ở Việt Nam. Trong tương lai gần Hệ mật trên đường cong Elliptic sẽ được sử dụng một cách phổ biến và thay thế những hệ mật trước nó.
  2. Đồ án tốt nghiệp Hệ mật đường cong elliptic Vì lý do đó, em đã chọn đề tài “Hệ mật đường cong elliptic” để nghiên cứu, tìm hiểu nhằm tiến tới khai thác hệ mật này phục vụ cho bảo mật thông tin trong thực tế. Luân văn này gồm 4 chương Chương 1: Cơ sở toán học Chương 2: Hệ mật mã Chương 3: Đường cong Elliptic Chương 4: Hệ mật đường cong Elliptic Chương 5: Một vài ứng dụng Nhưng trong báo cáo này em trình bày tóm tắt nội dung chính trong đề tài:”Hệ mật đường cong elliptic”.
  3. Đồ án tốt nghiệp Hệ mật đường cong elliptic CHƯƠNG 1 CƠ SỞ TOÁN HỌC 1.1. Phương trình đồng dư bậc hai và thặng dư bậc hai Ta xét phương trình đồng dư bậc hai có dạng như sau: x2 ≡ a (mod n) Trong đó n là số nguyên dương, a là số nguyên với gcd(a, n) ≡ 1, và x là ẩn số. Phương trình đó không phải bao giờ cũng có nghiệm, khi nó có nghiệm thì ta gọi a là thặng dư bậc hai mod n. Ngược lại thì a gọi là một bất thặng dư bậc hai mod n. Tập các số nguyên nguyên tố với n được phân hoạch thành hai tập con. Tập Qn các thặng dư bậc hai mod n, và tập các bất thặng dư bậc hai mod n. Tiêu chuẩn Euler Khi p là số nguyên tố, số a là thặng dư bậc 2 mod p nếu và chỉ nếu a(p- 1)/2 ≡ 1 (mod p) Ký hiệu Legendre Cho p là số nguyên tố, với p >2, số a ≥ 0 là số nguyên. Ta định nghĩa ⎛a⎞ ⎜ ⎟ như sau: ⎜ p⎟ ⎝ ⎠ ⎧ 0 , k h i , a ≡ 0 (m o d p ) ⎛a⎞ ⎪ ⎜ ⎟ = ⎨1, k h i , a ∈ Q p ; ⎜ p⎟ ⎝ ⎠ ⎪ − 1, k h i , a ∉ Q p . ⎩ Chú ý: ⎛a⎞ + Từ định nghĩa suy ra a là thặng dư bậc hai mod p khi và chỉ khi ⎜ ⎟ = 1 ⎜ p⎟ ⎝ ⎠ + Theo tiêu chuẩn Euler nói trên, với mọi a ≥ 0 ta có:
  4. Đồ án tốt nghiệp Hệ mật đường cong elliptic ⎛a⎞ ⎜ ⎟ ≡ a(p-1)/2 (mod p) . ⎜ p⎟ ⎝ ⎠ Legendre Symbol thoả mãn các tính chất sau: ⎛a⎞ 1. ⎜ ⎟ chỉ phụ thuộc vào đồng dư của a theo mod p. ⎜ p⎟ ⎝ ⎠ ⎛ ab ⎞ ⎛a⎞⎛b⎞ 2. ⎜ ⎜ ⎟ = ⎜ ⎟ ⎜ ⎟; ⎟ ⎜ p⎟ ⎜ p⎟ ⎝ p⎠ ⎝ ⎠⎝ ⎠ ⎛ ab 2 ⎞ ⎛a⎞ 3. b nguyên tố với p thì ⎜ ⎜ ⎟ = ⎜ ⎟; ⎟ ⎜ p⎟ ⎝ p ⎠ ⎝ ⎠ ⎛1⎞ ⎛ 1⎞ 4. ⎜ ⎟ =1 và ⎜ − ⎟ = (-1)(p-1)/2. ⎜ p⎟ ⎜ p⎟ ⎝ ⎠ ⎝ ⎠ Định lý 1: ⎛2⎞ 2 (p – 1)/8 ⎧1 p ≡ ± 1 mod 8 ⎜ ⎟ = (-1) ⎜ p⎟ = ⎨ ⎝ ⎠ ⎩−1 p ≡ ± 3 mod 8 Định lý: Gọi là luật thuận nghịch bình phương. Cho p, q là 2 số nguyên tố lẻ, khi đó: ⎧ ⎛ p⎞ ⎪− ⎜ ⎟ neu p ≡ q ≡ 3mod 4 ⎛q⎞ ⎛ p⎞ ⎪ ⎝ q ⎠ ⎜ ⎟ ⎜ p⎟ = (-1)(p-1)(q-1)/4 .⎜ ⎟ = ⎨ ⎜q⎟ ⎝ ⎠ ⎝ ⎠ ⎪⎛ p ⎞ trong truong hop khac ⎪⎜ q ⎟ ⎩⎝ ⎠ Định lý 2 ⎛a⎞ ⎛b⎞ Nếu a ≡ b mod p → ⎜ ⎟ = ⎜ ⎟ ⎜ p⎟ ⎜ p⎟ ⎝ ⎠ ⎝ ⎠ Định lý 3 ⎛2⎞ ⎜ ⎟ = 1 ⎜ p⎟ p ≡ 1 mod 8 hay p ≡ 7 mod 8 ⎝ ⎠ -1 p ≡ 3 mod 8 hay p ≡ 5 mod 8
  5. Đồ án tốt nghiệp Hệ mật đường cong elliptic Ví dụ: Cho a = 186, p= 401 (p là số nguyên) Tìm a có là thặng dư bậc hai không nghĩa là a ∈ Q401? Và tìm x? với x2 ≡ a mod 401 ⎛a⎞ ⎛ 186 ⎞ ⎛ 2.93 ⎞ ⎛ 2 ⎞ ⎛ 93 ⎞ ⎜ ⎟ = ⎜ ⎜ p⎟ ⎟ = ⎜ ⎟ = ⎜ ⎟⎜ ⎟. ⎝ ⎠ ⎝ 401 ⎠ ⎝ 401 ⎠ ⎝ 401 ⎠ ⎝ 401 ⎠ Theo định lý 3: Vì 401 ≡ 1 mod 8 ⇒ ⎛ 2 ⎞ ⎜ ⎟ =1 vậy ⎝ 401 ⎠ ⎛a⎞ ⎛ 186 ⎞ ⎛ 93 ⎞ ⎛ 3 ⋅ 31 ⎞ ⎛ 3 ⎞ ⎛ 31 ⎞ ⎜ ⎟ = ⎜ ⎜ p⎟ ⎟ = ⎜ ⎟ = ⎜ ⎟ = ⎜ ⎟⎜ ⎟ ⎝ ⎠ ⎝ 401 ⎠ ⎝ 401 ⎠ ⎝ 401 ⎠ ⎝ 401 ⎠ ⎝ 401 ⎠ 2.400 Nhưng ⎛ 3 ⎞ ⎛ 401 ⎞ ⎛2⎞ ⎜ ⎟ = (-1) 4 . ⎜ ⎟ = ⎜ ⎟ = -1 (định lý 1) ⎝ 401 ⎠ ⎝ 3 ⎠ ⎝3⎠ 30.400 Và ⎛ 31 ⎞ ⎛ 401 ⎞ ⎛ 401 ⎞ ⎛ 29 ⎞ ⎛ 2 ⎞ ⎜ ⎟ = (-1) 4 ⎜ ⎟ = ⎜ ⎟ = ⎜ ⎟ = ⎜ ⎟ =-1. ⎝ 401 ⎠ ⎝ 3 ⎠ ⎝ 3 ⎠ ⎝ 31 ⎠ ⎝ 29 ⎠ ⎛a⎞ Vậy ⎜ ⎟ = 1.(-1).(-1) = 1 Do đó a ∈ Q401 ⎜ p⎟ ⎝ ⎠ Tiếp theo ta cần tìm x: x2 ≡ 186 mod 401. Lấy n =3 rõ ràng 3 không là đồng dư toàn phương của 186 theo mod 401 (như trên ta đã chứng minh được ⎛ 3 ⎞ ⎜ ⎟ = -1). ⎝ 401 ⎠ Ta có p-1 = 400 = 24. ⎛ ⎞ → b = nS = 18625 mod 401 = 286 mod 401. 25 ⎜ ⎟ ⎝ 3 ⎠ S +1 Còn r = a 2 mod 401 = 186 mod 401 = 103. Tính a-1 mod 401 = 186-1 mod 401 = 235 (thuật toán ơclit mở rộng). Tính a-1. r2 = 1032 . 235 mod 401 = 98 vì α -2 = 4-2 =2 do đó ta nâng luỹ thừa 22 = 4 = của 98 và có 984 ≡ -1 mod 401 = -1 (984 mod 401 = (982 mod 401)( 982 mod 401) mod 401 = 3812 mod 401 = -1) ⇒ đặt j0 = 1 tiếp theo, ta có (br)2/a = -1 ⇒ luỹ thừa bậc 2 của nó là 1 ⇒ đặt j1 =0, cứ thế j2 =1(2 = K = α ) Vậy j =5 vì 1.22 +1 = 5 5 ⇒ Căn bậc 2 của 186 là b r mod 401 = 304
  6. Đồ án tốt nghiệp Hệ mật đường cong elliptic Thử lại 3042 ≡ 186 mod 401? Ta có 3042 = 92416 vậy 3042 = 186 = 92230 ≡ 0 mod 401 ⇒ x= 304 Ký hiệu Jacobi Symbol Bây giờ ta mở rộng ký hiệu Legendre để được ký hiệu Jacobi đối với mọi số nguyên lẻ n ≥ 1 và mọi số nguyên a ≥ 0. Giả sử a có khai triển chính tắc thành thừa số là n = pa11, pa22,……, pann thì a1 a2 ak ⎛a⎞ ⎛ a ⎞ ⎛ a ⎞ ⎛ a ⎞ ⎜ ⎟ = ⎜ ⎟ ⎜ ⎟ ……… ⎜ ⎟ ⎝n⎠ ⎝ p1 ⎠ ⎝ p2 ⎠ ⎝ pk ⎠ với a1, a2, ….., ak ≥ 1 P1, P2, ….Pk là những số nguyên tố. Khi n = p là số nguyên tố thì giá trị của các ký hiệu Legendre và Jacobi là như nhau. Việc tính ký hiệu Legendre có thể phức tạp khi p rất lớn, trong khi việc tính ký hiệu Jacobi có thể thuận lợi hơn do có thể sử dụng các tính chất 1- 4 sau đây: 1. Nếu m1 ≡ m2 mod n thỡ ⎛ 1 ⎞ = ⎛ 2 ⎞ . m m ⎜ ⎟ ⎜ ⎟ ⎝ n ⎠ ⎝ n ⎠ ⎧1, khi a ≡ ± 1(mod 8) 2. ⎛ ⎞ = ⎨ 2 ⎜ ⎟ ⎝n⎠ ⎩−1 khi a ≡ ± 3(mod 8) 3. ⎛ 1 2 ⎞ = ⎛ 1 ⎞ ⎛ 2 ⎞ . mm m m ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎝ n ⎠ ⎝ n ⎠ ⎝ n ⎠ 4. Nếu m và n đều là số là thỡ: ⎧⎛ n ⎞ ⎪⎜ m ⎟ khi m ≡ 3mod 4 & n ≡ 3mod 4 ⎛m⎞ ⎪⎝ ⎠ ⎜ ⎟ = ⎨ ⎝n⎠ ⎪⎛ n ⎞ khi m ≡ 1mod 4 ∨ n ≡ 1mod 4 ⎪⎜ m ⎟ ⎩⎝ ⎠ Bây giờ xét việc giải phương trình đồng dư bậc hai: x2 ≡ a (mod n) (*)
  7. Đồ án tốt nghiệp Hệ mật đường cong elliptic Trong một trường hợp đặc biệt khi n = p là số nguyên tố có dạng p = 4m + 3 tức là p đồng dư với 3 theo mod 4, và a là một số nguyên nguyên tố với p. Theo tiêu chuẩn Euler ta biết phương trình (*) có nghiệm khi và chỉ khi a(p-1)/2 ≡ 1 (mod p). Khi đó ta có: p −1 +1 a 2 ≡ a (mod p), a 2 ( m +1) ≡ a (mod p). 1.2. Nhóm Định nghĩa: Nhóm là một tập hợp G ≠ φ cùng với phép toán hai ngôi * trên G. Với a, b ∈ G, a * b = ∈ G thoả mãn tính chất sau: 1. Tính kết hợp: (a * b) * c = a * (b * c) với mọi a, b, c ∈ G. 2. Phần tử đồng nhất: Tồn tại e ∈ G thoả mãn e * a = a *e = a với mọi a ∈ G (e được gọi là phần tử trung hoà). 3. Phần tử nghịch đảo: với mỗi a ∈ G, tồn tại một phần tử b ∈ G thoả mãn b * a = a * b = e (b là duy nhất và được gọi là phần tử nghịch đảo của a). Và người ta ký hiệu của a bởi a-1. - Ký hiệu là nhóm nhân và G là nhóm cộng. Trong đó nhóm cộng, phần tử trung hoà là 0 và phần tử nghịch đảo của a là –a. Trong nhóm nhân, phần tử trung hoà là 1 và phần tử nghịch đảo của a là a-1. đ ươc gọi là một nhóm giao hoán (nhóm Abelian) nếu b * a = a * b với a, b ∈ G. - Một nhóm có cấp hữu hạn được gọi là nhóm hữu hạn Nếu là nhóm hữu hạn thì số các phần tử của được gọi là bậc của G và ký hiệu là |G| . Nếu là nhóm nhân hữu hạn, bậc của một phần tử a ∈ G kà số nguyên dương nhỏ nhất m thoả mãn am = 1. Trong nhóm có cấp hữu hạn, với mọi phần tử thuộc nhóm, m luôn tồn tại. Nhóm Cylic
  8. Đồ án tốt nghiệp Hệ mật đường cong elliptic Là nhóm mà mọi phần tử của nó được sinh ra từ một phần tử đặc biệt g ∈ G. Phần tử này được gọi là phần tử sinh (nguyên thuỷ) tức là: Với ∀ x ∈ G(G là nhóm với toán tử * ): ∃ n ∈ N mà gn = x Ví dụ: (Z+, *) là nhóm Cylic có phần tử sinh là 1. 1.3. Trường Giả sử F là một tập hợp khác rỗng, trên đó có hai phép toán cộng và phép nhân. Khi đó F là một trường nếu và chỉ nếu: 1. (F, +) là nhóm giao hoán với phần tử đơn vị là “0”. 2. (F\{0}, .) là nhóm giao hoán với phần tử đơn vị là “1”. 3. Các phép toán cộng và nhân có tính chất phân bố: a.(b.c) = (a.b) + (a.c) Trường có thể định nghĩa như là vành giao hoán với phần tử đơn vị (trừ phần tử 0) đều có phần tử nghịch đảo cùng thuộc trường. p Ví dụ: Q = { p, q là số nguyên: (p, q) = 1} trên Q có 2 phép toán cộng q và nhân thông thường là một trường. Định nghĩa Cho F là một trường. Tập con K của F cũng là một trường với các toán tử của F, được gọi là trường con của F, hay F là một trường mở rộng của K. Nếu K≠ F thì K được gọi là một trường con hợp lệ của F. Trường là tối giản nếu có không có trường con hợp lệ nào. Với trường F bất kỳ, giao F0 của tất cả các trường con hợp lệ là trường tối giản. Trường F được gọi là có đặc số 0 nếu F0 ≅ Q nghĩa là F chứa Q như một trường con. Trường F được gọi là đặc số p nếu F0 ≅ Zp. Trường hữu hạn là trường chứa hữu hạn các phần tử. Đối với một trường hữu hạn thì ∀ a ∈ F luôn luôn tồn tại một số nguyên dương n sao cho: 64 n 8 74 a + ....... + a = 0 Định nghĩa
  9. Đồ án tốt nghiệp Hệ mật đường cong elliptic Trường K với phần tử đơn vị nhân là 1. Với p dương nhỏ nhất thoả mãn 1 +4+2441 = 0 được gọi là đặc số của K. 1 14........ + 3 p (Các trường hữu tỷ Q, số thực R, số thực C có đặc số là 0). Người ta chứng minh được rằng đặc số của trường hữu hạn là số nguyên tố. Với p là nguyên tố thì GF (pn) có đặc số p. 1.4. Trường hữu hạn Trường hữu hạn là trường có hữu hạn các phần tử ký hiệu là Fq hoặc GF(q) với q là số các phần tử. Trường hữu hạn không có đặc số 0. Ta gọi p là đặc số của Fq khi đó Fq khi đó Fq chứa trường nguyên tố Fp = Z/ pZ vì vậy một không gian vector( không cần thiết phải có chiều hữu hạn) trên trường Fp. Lấy f ký hiệu là chiều của nó coi Fp như là một không gian vector đó. Bằng cách chọn cơ sở cho phép chúng ta lập nên một tương ứng 1-1 giữa không gian vector f chiều với tập hợp tất cả bộ f phần tử trong Fp nghĩa là q là luỹ thừa của đặc số p. Đối với mỗi lũy thừa nguyên tố q = pf có tồn tại một trường q phần tử và đó là trường duy nhất (theo nghĩa đẳng cấu). Cấp của các phần tử trong F*q theo nghĩa đối với phép nhân với F*q là tập hợp tất cả các phần tử khác không của trường Fq (q hữu hạn) Chú ý rằng đối với mọi nhóm nhân hữu hạn, cấp của bất cứ một số phần tử khác không nào cũng là ước của số các phần tử trong nhóm. Cụ thể ta có định lý Định nghĩa Giả sử phần tử g ∈ Fq nếu cấp của g là q-1 tức là {g1, g2,……, gq-1 = 1} = F* q
  10. Đồ án tốt nghiệp Hệ mật đường cong elliptic CHƯƠNG 2 ĐƯỜNG CONG ELLIPTIC 2.1. Mở đầu và đặt bài toán Lý thuyết đường cong Elliptic được xác định trên trường số hữu hạn đã có địa chỉ ứng dụng trong lĩnh vực mật mã đáng lưu ý. Lý do cơ bản của nó là đường cong Elliptic trên trường hữu hạn đã cung cấp cho chúng ta một cơ sở xây dựng thuật toán không thể dùng thuật toán vét cạn để thám mã của nhóm Abelian ngay cả khi nhóm đó có cấp không lớn lắm. Đường cong elliptic là tập hợp các điểm có toạ độ (x, y) thoả mãn phương trình có dạng sau đây: y2 + a1xy + a3y = x3 + a2x2 +a4x + a6. Trên trường F biểu diễn bằng phương trình Weiretrass: y2 + a1xy + a3y = x3 + a2x2 +a4x + a6 2 (*) Xét đường cong E trên trườngnguyên tố hữu hạn Fp (p nguyên tố, p>3 ) với công thức biến đổi như sau: a2 a1X + a3 X→X − , Y→ Y − 3 2 Khi đó phương trình Weierstrass có dạng: X3 + aX +b. Vậy trong trường Fp (*) trở thành: Y2 = X3 + aX + b Định nghĩa: Giả sử K là một trường có đặc số khác 2 và khác 3 và xét đa thức X3 + aX + b(với a, b ∈ K) Khi đó đường cong elliptic trên trường K: Y2 = X3 + aX + b (1) là tập hợp tất cả các điểm (x, y) với x, y ∈ K sao cho (1) không có các nghiệm bội
  11. Đồ án tốt nghiệp Hệ mật đường cong elliptic tức là 4a3 + 27b2 ≠ 0 mod p cùng với phần tử O - điểm O này được gọi là điểm vô hạn. Tức là đường cong Elliptic là tập hợp S: S = { (x, y) : y2 = x3 + ax +b, x, y ∈ K } ∪ {O} . Với a, b ∈ K cho trước sao cho 4a3 + 27b2 ≠ 0 theo mod p. Nếu K là trường đặc số 2 thì ta định nghĩa: S = { (x, y) : y-2 + y= x3 + ax +b } ∪ {O} (2) Nếu K là trường đặc số 3 thì ta định nghĩa: S = { (x, y) : y2 = x3 + ax +bx + c } ∪ {O} (3) * Tính chất của đường cong elliptic: • Nếu hai điểm P1 (x1, y1 ) và P2 (x2, y2) với x1 ≠ x2 nằm trên đường cùng một đường cong elliptic E, thì đường thẳng qua hai điểm P1 và P2 sẽ cắt một điểm duy nhất P3 ( x3, y3) có thể xác định thông qua P1 và P2 nằm trên đường cong E. • Tiếp tuyến của đường cong tại điểm bất kỳ P(x, y) trên đường cong E cũng cắt đường cong elliptic E tại một điểm duy nhất nằm trên đường E, điểm này cũng có thể xác định được thông qua P. Dựa vào những tính chất đó người ta đã nghiên cứu và phát hiện ra một khả năng mới cho kỹ thuật mã hoá nói chung và chứng thực nói riêng, kỹ thuật mã hoá dựa trên đường cong elliptic. Người ta đã chỉ ra rằng các hệ mã hoá bằng đường cong elliptic có độ bảo mật cao hơn nhiều so với các hệ mã hoá công khai khác như RSA, Elgamal. Độ bảo mật dựa trên độ khó phân tích số nguyên thành các thừa số nguyên tố cũng như bài toán logarit rời rạc, độ dài khoá giảm đi nhiều lần và do đó tốc độ thực hiện cũng sẽ nhanh hơn rất nhiều. Chính vì vậy ta áp dụng kỹ thuật mã hoá bằng đường cong elliptic vào nhiều lĩnh vực khác nhau. Các kỹ thuật mã hoá bằng phương pháp đường cong elliptic được sử dụng hiệu quả nhất trong việc xây dựng các giải pháp bảo mật thông tin cho
  12. Đồ án tốt nghiệp Hệ mật đường cong elliptic các thẻ thông minh(Smart Card), các thiết bị điện tử có khả năng tính toán và không gian bộ nhớ hạn chế. 2.2. Đường cong elliptic trên trường hữu hạn Xét trường hữu hạn Fq của q = pr phần tử trên trường hữu hạn K. Giả sử E là đường cong elliptic được định nghĩa trên Fq. Nếu đặc số của trường p=2 hoặc p=3 thì E được cho bởi phương trình ở (2) và (3) . Dễ dàng thấy rằng một đường cong như vậy có thể có nhiều nhất là 2p+1 điểm trong Fq, nghĩa là điểm vô cùng với 2q cặp (x, y) trong đó x, y ∈ Fq thoả mãn (1) (2) (3) (nếu p=2 hoặc 3), tức là với mỗi q giá trị x có thể có tồn tại nhiều nhất 2 giá trị y thoả mãn (1). Nhưng vì chỉ có một nửa các phần của F*q có căn bậc 2 người ta kỳ vọng (nếu x3 + ax +b là các phần tử ngẫu nhiên của trường ) chỉ có khoảng một nửa số các điểm của Fq. Chính xác hơn, giả sử λ đặc trưng toàn phương của Fq (lấy λ (0) = 0). x Ví dụ: Nếu q = p là 1 số nguyên tố thì λ (x) =( ) là ký hiệu Legedre p Symbol). Do đó trong tất cả mọi trường hợp số các nghiệm y ∈ Fq thoả mãn phương trình y2 = u là bằng 1 + λ (u). Vì vậy số các nghiệm ở phương trình 1 và điểm vô hạn là: 1+ ∑ x∈Fq (1+ λ (x3 + ax + b)) = q + 1 + ∑ x∈Fq (1+ λ (x3 + ax + b)) (6) Ta hy vọng rằng λ ( x3 + ax + b) bằng +1 và -1. Lấy tổng ngẫu nhiên: tung đồng xu q lần. Người ta thấy rằng ∑ x∈Fq (x3 + ax + b) bị chặn bởi 2 q đó chính là định lý Hasses được phát triển như sau: Định lý: Gọi N là số các điểm trên đường cong elliptic được định nghĩa trên Fq. Khi đó | N−(q + 1) | ≤ 2 q
  13. Đồ án tốt nghiệp Hệ mật đường cong elliptic 2.3. Các phép toán trên đường cong Elliptic Giả sử p là một số nguyên tố >3. Người ta chứng minh được rằng bằng phép biến đổi tuyến tính, ta có thể quy phương trình đường cong elliptic về dạng Weierstrass như sau: Y2 = X3 + aX + b Đường cong elliptic Y2 = X3 + aX + b trên Zp được định nghĩa là tập hợp tất cả các điểm (x, y) ∈ Zp × Zp thoả mãn phương trình: Y2 = X3 + aX + b (mod p), Cùng với một phần tử đặc biệt ký hiệu là O là phần tử trung hoà. Tập hợp đó được ký hiệu là E. 23.1. Phép cộng Giả sử P= (x1, y1) và Q (x2, y2) là hai điểm của E. Nếu x1 = x2 và y1 = - y2 thì ta định nghĩa P + Q = O Ngược lại th ì P + Q = (x3, y3) ∈ E trong đó x3 = λ 2 - x1 – x2 , y3 = λ (x1 – x3 ) –y1, Với λ= (y2 – y1 ) / (x2 – x1), khi P ≠ Q( nếu x1 = x2 th ì λ là hệ số góc đường thẳng qua P và Q) (*) (3x2 + a) / 2 y1, khi P = Q ( λ là đạo hàm của đường cong tại P) (**) Vậy nếu P ≠ Q tức là x1 ≠ x2 2 ⎛y −y ⎞ x3 = ⎜ 2 1 ⎟ - x1 – x 2 ⎜ x −x ⎟ (*) ⎝ 2 1⎠ ⎛ y 2 − y1 ⎞ y3 = ⎜ ⎜ ⎟ ( x1 – x3) - y 1 ⎟ ⎝ x 2 − x1 ⎠ N ếu P =Q
  14. Đồ án tốt nghiệp Hệ mật đường cong elliptic 2 ⎛ 3x + a ⎞ x3 = ⎜ 1 ⎜ 2y ⎟ – 2x2 ⎟ (**) ⎝ 1 ⎠ ⎛ 3x 2 + a ⎞ y3 = ⎜ 1 ⎟ ( x 1 – x3) - y 1 ⎜ ⎟ ⎝ 2 y1 ⎠ 2 1 R Q P R 2P P P+ Q -1 -2 Hình 2.6.1 Phép cộng trên đường cong Elliptic Chú ý rằng các điểm (x3, y3), (x3, -y3) cũng nằm trên đường cong E và xét về mặt hình học, thì các điểm (x1, y1), (x2, y2), (x3, -y3) cũng nằm trên một đường thẳng. Ngoài ra ta định nghĩa thêm: P + O = O + P = P. Tính chất Dễ thấy rằng tập E với phép toán cộng đó tạo thành một nhóm Abelian:
  15. Đồ án tốt nghiệp Hệ mật đường cong elliptic Tính đóng: Nếu P, Q ∈ E thì P + Q ∈ E. Tính kết hợp: Nếu P, Q, R ∈ E thì P + ( Q + R ) = R + ( Q + P ). Tồn tại phần tử trung hoà O: với mọi P ∈ E thì P + O = O + P = P (theo định nghĩa). Tồn tại phần tử nghịch đảo: với mỗi P(x, y) ∈ E thì luôn tồn tạ phần tử -P(x, -y) ∈ E để P + (-P) = O. Tính chất giao hoán Nếu P, Q ∈ E thì P + Q = Q + P. Ví dụ: Xét đường cong elliptic y2 = x3 – 36x Lấy P =(-3, 9), Q = (-2, 8). Hãy tìm P + Q và 2P? Với x1 = -3, y1 = 9, x2 = -2 , y2 = 8. Do đó áp dụng công thức(*) ta có: (8 − 9) 2 x3 = +3 + 2 = 1+ 3 +2 = 6. −2+3 8−9 ⎞ y3 = -9 ⎛ ⎜ ⎟ (-3-6) = -9 + (-1)(-9) =0. ⎝ − 2 + 3⎠ Vậy P +Q = (6, 0). Bây giờ ta tính 2P áp dụng (**) ta có: x1= -3, y1 = 9 25 − 35 25 − 35 x3 = và do đó y3= . Vậy 2P = ( , ) 4 8 4 8 2.3.2. Phép nhân Phép nhân một số nguyên k với một điểm P thuộc đường cong elliptic E là điểm Q được xác định bằng cách cộng k lần điểm P và dĩ nhiên Q ∈ E: k × P = P + P + P……+ P ( k phép cộng điểm P). Vì vậy nếu G là một điểm thuộc đường cong elliptic E thì với mỗi số nguyên dương k luôn dễ dàng xác định được điểm Q = k × G 2.4. Đếm số điểm trên đường cong elliptic trên trường Fq Việc xây dựng các hệ mật mã trên đường cong elliptic bao gồm việc lựa chọn đường cong E thích hợp và một điểm G trên E gọi là điểm cơ sở. Xét trường K là Fq. Định lý Hasse
  16. Đồ án tốt nghiệp Hệ mật đường cong elliptic N là số điểm của E trên trường Fq (trường hữu hạn q phần tử). Khi đó: |N – (q +1)| ≤ 2 q .Từ định lý Hasse suy ra #E(Fq) = q +1 – t trong đó |t| ≤ 2 q. Định nghĩa Bậc của điểm G thuộc E là số k dương bé nhất sao cho kG = O; khi k = #E(Fq) thì G là điểm cơ sở của E. 2.5. Phương pháp chọn đường cong Elliptic phù hợp và điểm cơ sở Việc chọn một đường cong elliptic thế nào ảnh hưởng đến tốc độ, tính hiệu quả, độ dài khoá và tính an toàn của hệ mật mã trên đường cong này. Dù E, K và điểm cơ sở B ∈ E cố định và công khai nhưng việc chọn các tham số này phù hợp là bước quan trọng nhất. 2.5.1. Trường K Trước hết chúng ta xem xét sự ảnh hưởng của trường K đến cấu trúc nhóm của E(K) và các hệ mật mã trên E (K). Một đường cong elliptic trên một trường hữu hạn tạo thành nhóm Abelian được sử dụng trong mật mã học. Một ví dụ là việc chọn trường F2r giúp thực hiện các phép tính nhanh và dễ dàng triển khai được trên các thiết bị cứng. Tuy nhiên, các đường cong trên trường F2r có thể bị tấn công bởi MOV, trong khi các đường cong trên trường Fp (p là số nguyên tố lớn) lại chống lại được kiểu tấn công này. Rõ ràng, các đường cong elliptic trên trường số nguyên tố Fp và trên trường Fqn có các tính chất giúp chúng có thể thực thi được trên các thiết bị mà vẫn đảm bảo an toàn. Một chú ý nữa là việc tính số điểm trên # E (K). Với # E (K) thích hợp có thể là điều kiện cho phép thực hiện tấn công Pohlig – Hellman. Có thể dùng thuật toán đơn định thời gian đa thức Shoof để tính trên trường hữu hạn Fq với đặc số khác 2 hoặc 3. Tốc độ của thuật toán Shoof phụ thuộc vào kích thước và đặc số của trường K. Ví dụ với r nhỏ, tính # E (F2r) có thể nhanh hơn
  17. Đồ án tốt nghiệp Hệ mật đường cong elliptic một chút so với tính # E(Fp), trong đó p lớn hơn đáng kể so với 2r, nhưng khi r tăng thì tính # E (F2r) mất nhiều thời gian hơn tính # E (Fp). 2.5.2. Dạng của đường cong elliptic Trước hết, chúng ta cần xem các dạng đường cong elliptic. Trên trường Fq có hai lớp đường cong elliptic được dùng trong các hệ mã hoá là supersinggular. Xét Fq có đặc số là 2 (g = 2m). Khi đó: Tập tất cả các cặp nghiệm (x, y) của phương trình y2 +ax = x3 + bx + c với a, b, c ∈ Fq và a = 0 (mod q) cùng với điểm trung hoà O tạo thành một đường cong elliptic dạng supersingular. Tập tất cả các cặp nghiệm (x, y) của phương trình y2 + ax = x3 + bx + c với a, b, c ∈ Fq và b = 0 (mod q) cùng với điểm trung hoà O tạo thành một đường cong elliptic dạng non-supersingular. Supersingular Curve: Menezes và Vanstone đã tìm ra các ưu điểm của các đường cong elliptic supersingular cho các hệ mật mã, đặc biệt trên trường F2r. Tuy nhiên, các đường cong supersingular có thể bị tấn công bằng MOV. Nonsupersingular Curve: Ưu điểm của các đường cong nonsupersingular là nó cung cấp độ bảo mật tương đương như các đường cong supersingular nhưng với các trường nhỏ hơn. Độ dài khoá ngắn giúp chúng có thể triển khai trên các thiết bị như smart card. Hơn nữa, các đường cong nonsupersingular có thể chống lại tấn công MOV, ví dụ nhóm con cylic cỡ 2160. 2.5.3. Phương pháp lựa chọn Có nhiều cách chọn các đường cong elliptic và điểm cơ sở B thuộc đường cong đó. Một cách chọn điển hình là: Phương pháp- Phương pháp chọn ngẫu nhiên Kobliz: Sơ đồ 3.8. Phương pháp chọn ngẫu nhiên Kobliz 1. Chọn ngẫu nhiên 3 phần tử từ Fq là x, y, a 2. Tính b = y2 – (x3 + ax)
  18. Đồ án tốt nghiệp Hệ mật đường cong elliptic 3. Kiểm tra 4a3 + 27b2 ≠ 0 để đảm bảo phương trình x3 + ax + b =0 không có nghiệm kép. 4. Nếu điều kiện trên khôn thoả mãn quay lại bước 1. 5. Còn lại, đặt P = (x, y) và đường cong y2 = x3 + ax +b là đường cong cần chọn. Tuy nhiên phương pháp này có thể tạo ra các đường cong không đảm bảo một số yêu cầu định trước. Một kỹ thuật cải tiến là xây dựng các đường cong với các tính chất cho trước. Cũng có thể chọn những đường cong để tạo các hệ mã hoá không phụ thuộc vào bài toán EDLP, chẳng hạn các hệ elliptic dựa trên RSA. Các hệ mật mã elliptic làm việc với các nhóm con cylic của E với phần tử sinh là điểm P. Vì vậy, việc lựa chọn P phù hợp là rất quan trọng. Để đảm bảo việc chọn điểm thích hợp ta hãy chọn đường cong elliptic của chúng ta và trường hữu hạn sao cho số N các điểm của đường cong là một số nguyên tố. Nếu chọn được như vậy thì mọi điểm B ≠ 0 đều là phần tử sinh.
  19. Đồ án tốt nghiệp Hệ mật đường cong elliptic CHƯƠNG 3 HỆ MẬT ĐƯỜNG CONG ELLIPTIC 3.1. Mở đầu và đặt bài toán Năm 1976, Diffie và Hellman giới thiệu hệ mã hoá khoá công khai đầu tiên mà sự an toàn của nó dựa trên độ khó của bài toán DLP. Họ đưa ra khái niệm hàm cửa sập một chiều (TOF). Năm 1985, Lenstra thành công trong việc sử dụng các đường cong elliptic cho các số nguyên. Kết quả này mang lại khả năng áp dụng các đường cong elliptic trong các hệ mật mã khoá công khai. Miller và Kobliz giới thiệu những hệ mật mã elliptic. Họ không phát minh ra các thuật toán mới nhưng đã có đóng góp lớn là chỉ ra việc áp dụng elliptic cho các hệ khoá công khai. Miller đề xuất một giao thức trao đổi khoá tựa như Diffie – Hellman vào năm 1985 (nhanh hơn 20% so với giao thức Diffie - Hellman). Kobliz đưa ra thuật toán mã hoá tương tự như hệ Elgamal và Massey – Omura vào năm 1987. Sơ đồ đầu tiên tương tự như sơ đồ RSA và 3 hàm một chiều (có cửa sập) mới dựa trên đường cong Elliptic được đưa ra năm 1991 bởi Koyama, Maurer, Okamoto và Vanstone ( thuật toán này tốc độ thực hiện nhanh gấp 6 lần so với RSA). Cùng thời điểm đó, Kaliski chứng minh rằng các hàm cửa sập một chiều đòi hỏi thời gian là hàm mũ để thực hiện phép tính nghịch đảo. Menezes, Okamoto và Vanstone đã đưa ra một phương pháp tấn công MOV để giải bài toán EDLP trong một số trường hợp riêng. Ngay sau đó, Miyaji đã tìm được các điều kiện để tránh khỏi tấn công MOV và đề xuất một ứng dụng thực tế của các đường cong elliptic cho các sơ đồ chữ ký và định danh trên Smart Card. Năm 1993, Demytko đưa ra một thuật toán mới tương tự như RSA cho các đường cong Elliptic trên vành Zn vượt qua các hạn chế của các phiên bản
  20. Đồ án tốt nghiệp Hệ mật đường cong elliptic trước, và Menezes và Vanstone đã đưa ra phương pháp thực thi trên các thiết bị cứng có thể cài thiện các tính toán trên elliptic trên một trường hữu hạn. Những năm 1997, 1998 việc tìm ra các hệ mật mã trên các đường cong Elliptic ngày càng thu hút nhiều sự chú ý và một số thuật toán đã được đưa thành chuẩn trong các RFC. 3.2. Nhúng bản rõ lên đường cong Nhúng một bản rõ lên E là biểu diễn lại bản rõ đó như là các điểm trên E mà nhờ đó chúng ta có thể thực hiện được các tính toán trên E. Có một số phương pháp thực hiện việc này. Trong đó có 2 phương pháp chính là imbedding và mask. 4.2.1. Imbedding Muốn mã hoá bản rõ m trên một đường cong elliptic cho trước được định nghĩa trên trường Fq trước hết ta phải tìm cách nhúng nó lên E. Giả sử m được coi là một số nguyên dương nào đó. Bản rõ m được ứng với điểm Pm trên E. Trước khi thực hiện “nhúng” điểm m lên E ta cần lưu ý: 1. Sau khi nhận được bản mã, người ta nhận đích thực phải có thể giải được bản mã một cách dễ dàng. 2. Không có một thuật toán tất định với thời gian đa thức (trong log q) để biết được một số lớn các điểm trên đường cong elliptic tuỳ ý trên E cả trường Fq. Tuy nhiên lại tồn tại một thuật toán xác suất mà đối với nó xác suất sai là rất bé. 3. Việc tạo ra các điểm ngẫu nhiên của E là không đủ để mã hoá một số lượng lớn tuỳ ý các bản rõ m. Trong lúc đó bản rõ mà ta cần nhúng lại có thể rất lớn. Do đó, một phương pháp xác suất có thể cho phép nhúng (imbed) các bản rõ m được coi là một điểm trên đường cong elliptic E được định nghĩa trên trường Fq với q = pn được giả thiết là đủ lớn.
nguon tai.lieu . vn