Nghiện cứu một số chữ ký đặc biệt trên đường cong Elliptic Đào Việt Anh Trường Đại học Công nghệ Khoa Công nghệ thông tin Luận văn Thạc sĩ ngành: Hệ thống thông tin; Mã số: 60 08 45 Người hướng dẫn: PGS. TS. Trịnh Nhật Tiến Năm bảo vệ: 2011
Nghiện cứu một số chữ ký đặc biệt trên đường cong Elliptic Đào Việt Anh Trường Đại học Công nghệ Khoa Công nghệ thông tin Luận văn Thạc sĩ ngành: Hệ thống thông tin; Mã số: 60 08 45 Người hướng dẫn: PGS. TS. Trịnh Nhật Tiến Năm bảo vệ: 2011 Abtract: Trình bày một số khái niệm cơ bản: Nêu lên một số khái niệm cơ bản về đại số, số học, các khái niệm về mã hóa, chữ ký số cũng như độ phức tạp thuật toán. Nghiên cứu sơ đồ chữ ký trên đường cong Elliptic: Nêu lên một số sơ đồ chữ ký số đặc biệt trên đường cong Elliptic. Nghiên cứu chữ ký ECC trong tiền điện tử: Nêu lên những ứng dụng của chữ ký số trên đường cong Elliptic(ECC) trong các hệ thống tiền điện tử. Xây dựng chương trình mô phỏng giải thuật chữ ký số trên đường cong Elliptic: Xây dựng một chương trình nhỏ nhằm mô phỏng một sơ đồ chữ ký số trên đường cong Elliptic (ECDSA- Elliptic curve digital signature algorithm). Keywords: Công nghệ thông tin; An toàn dữ liệu; Chữ ký; Tiền điện tử; Đường cong Elliptic Content Chương 1. CÁC KHÁI NIỆM CƠ BẢN 1.1. MỘT SỐ KHÁI NIỆM TRONG SỐ HỌC 1.1.1. Số nguyên tố Số nguyên a > 1 được gọi là số nguyên tố, nếu a chỉ có ước số là 1 và a. Một số nguyên lớn hơn 1 không là số nguyên tố thì được gọi là hợp số. Ví dụ các số 2, 3, 5, 7 là số nguyên tố; các số 6, 8, 10, 12, 14, 15 là hợp số. Hai số a và b được gọi là nguyên tố cùng nhau, nếu chúng có ước số chung là 1, tức là nếu gcd (a,b) = 1. Định lý 1.1 (Thuật toán Euclid tìm ƣớc số chung lớn nhất) Với mọi a, b Z, b 0, tồn tại duy nhất q, r Z để: a = bq + r, 0 | |rb Nếu r = 0 thì b|a, nghĩa là b là ước số của a. Ngược lại thì b a. Với a 1 , …, a k Z, nếu b|a i (i = 1,…, k) thì b gọi là ước chung của a 1 ,…, a k. . Ước chung lớn nhất của a 1 , …, a k ký hiệu là gcd(a 1 , …, a k ) . Định lý 1.2 Nếu a, b Z và khác 0 thì d = gcd(a, b) là phần tử nhỏ nhất trong tất cả các số nguyên dương có dạng ax + by (x, y Z) Hệ quả 1.3 Tồn tại x, y Z thỏa mãn: ax + by = c khi và chỉ khi d|c với d = gcd(a, b) Định lý 1.4 Với a, m Z, tồn tại x Z thỏa mãn ax 1 mod m khi và chỉ khi gcd(a, m) = 1. Định lý 1.5 (Định lý phần dƣ Trung Quốc) Giả sử m 1 , …, m r N đôi một nguyên tố cùng nhau, gcd(m i , m j ) = 1 với mọi i j. Có a 1 , …, a r Z. Khi đó, hệ phương trình x a i (mod m i ) ( ri 1 ) có một nghiệm duy nhất theo modulo M = m 1 x …xm r là x = r i iii yMa 1 mod M trong đó M i = M/m i và M i y i 1 mod m i Định lý 1.7 (Euler) Với a, m Z thỏa mãn gcd(a, m) = 1, 1 )( m a mod m Định lý 1.8 (Fermat) Cho p là số nguyên tố và a Z. Khi đó, ta có: (1) a p-1 1 mod p, nếu p a. (2) a p a mod p 1.2. MỘT SỐ KHÁI NIỆM TRONG ĐẠI SỐ 1.2.1. Khái niệm Nhóm, Vành, Trường 1/. Nhóm Nhóm là cấu trúc bao gồm tập G và toán tử hai ngôi * trên G. Với a, b G, a * b G được định nghĩa như sau: 1. a * (b * c) = (a * b) * c với mọi a, b, c G 2. Tồn tại e G thỏa mãn e * a = a * e = a với mọi a G, (e được gọi là phần tử trung hòa). 3. Với mỗi a G, tồn tại một phần tử b G thỏa 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) Ký hiệu ,*G là nhóm nhân và ,G là nhóm cộng. Trong nhóm cộng, phần tử trung hòa là 0 và phần tử nghịch đảo của a là –a. Trong nhóm nhân, phần tử trung hòa là 1 và phần tử nghịch đảo của a là a -1 . ,*G được gọi là nhóm Abel nếu a * b = b * a với mọi a, b thuộc G. 2/. Vành Vành là tập R với 2 toán tử cộng (+) và nhân (.) với các điều kiện sau: 1. ,R là nhóm Abel. 2. a . (b . c) = (a . b) . c với mọi a, b, c R. 3. a . (b + c) = a . b + a . c và (a + b) . c = a . c + b . c với mọi a, b, c R. 3/. Trường Trường F là vành với phần tử đơn vị e 0 và F* = {a F | a 0 } là một nhóm nhân. Định lý 1.11 Vành Z p là một trường khi và chỉ khi p là số nguyên tố. 1.2.2. 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à F q hoặc GF(q) với q là số các phần tử. Định lý 1.14 F là trường mở rộng bậc n trên trường hữu hạn K. Nếu K có q phần tử thì F có q n phần tử. Định lý 1.15 Trường hữu hạn F = n p F là một trường mở rộng của Z p bậc n và mọi phần tử của n p F là một nghiệm của đa thức xx n p trên Z p . 1.3. KHÁI NIỆM VỀ ĐỘ PHỨC TẠP CỦA THUẬT TOÁN 1.3.1. Khái niệm thuật toán Thuật toán là một dãy hữu hạn các thao tác được bố trí theo một trình tự xác định nhằm giải quyết một bài toán 1.3.2. Độ phức tạp của thuật toán Trước hết, hiểu độ phức tạp tính toán (về không gian hay về thời gian) của một tiến trình tính toán là số ô nhớ được dùng hay số các phép toán sơ cấp được thực hiện trong tiến trình tính toán đó. 1.3.3 Một số lớp bài toán Ta ký hiệu lớp tất cả với các bài toán giải được bởi thuật toán không đơn định trong thời gian đa thức là NP. Người ta đã chứng tỏ được rằng tất cả những bài toán trong các ví dụ kể trên và rất nhiều các bài toán tổ hợp thường gặp khác đều thuộc lớp NP, dù rằng hầu hết chúng đều chưa được chứng tỏ là thuộc P. Một bài toán A được gọi là NP-đầy đủ, nếu A NP và với mọi B NP đều có B A. Chương 2. SƠ ĐỒ CHỮ KÝ TRÊN ĐƢỜNG CONG ELLIPTIC 2.1. ĐƢỜNG CONG ELLIPTIC 2.1.1. Đƣờng cong Elliptic theo công thức Weierstrass Gọi K là trường hữu hạn hay vô hạn. Đường cong elliptic được định nghĩa trên trường K bằng công thức Weierstrass: y 2 +a 1 xy+a 3 y=x 3 +a 2 x 2 +a 4 x+a 6 , trong đó a i K. Hình 2.1. Một ví dụ về đƣờng cong elliptic 2.1.2. Đƣờng cong Elliptic trên trƣờng Galois Nhóm E trên trường Galois b,aE p nhận được bằng cách tính pmodbaxx 3 với px0 . Các hằng số a, b là các số nguyên không âm và nhỏ hơn số nguyên tố p và thỏa mãn điều kiện: 0pmodb27a4 23 . 2.1.3. Đƣờng cong Elliptic trên trƣờng hữu hạn Đường cong elliptic được xây dựng trên các trường hữu hạn. Có hai trường hữu hạn thường được sử dụng: trường hữu hạn Fq với q là số nguyên tố hoặc q là 2 m (m là số nguyên). Tùy thuộc vào trường hữu hạn F q , với mỗi bậc của q, tồn tại nhiều đường cong elliptic. Do đó, với một trường hữu hạn cố định có q phần tử và q lớn, có nhiều sự lựa chọn nhóm đường cong elliptic. 2.1.3.1 Đường cong elliptic trên trường F P (p là số nguyên tố) Cho p là số nguyên tố (p > 3), Cho a, b Fp sao cho 4a 3 + 27b 2 ≠ 0 trong trường F p . Một đường cong elliptic E(F p ) trên F p (được định nghĩa bởi các tham số a và b) là một tập hợp các cặp giá trị (x, y) (x, y Fp) thỏa công thức: y 2 = x 3 + ax + b. cùng với một điểm O – gọi là điểm tại vô cực. Số lượng điểm của E(Fp) là #E(Fp) thỏa định lý Hasse: 1 2 # ( ) 1 2 p p p E F p p 2.1.3.2 Đường cong elliptic trên trường F 2 m Một đường cong elliptic E(F 2 m ) trên F 2 m được định nghĩa bởi các tham số a, b F 2 m (với b ≠ 0) là tập các điểm (x, y) với x F 2 m , y F 2 m thỏa công thức: y 2 + xy = x 3 + ax 2 + b cùng với điểm O là điểm tại vô cực. Số lượng các điểm thuộc E(F 2 m ) ký hiệu #E(F 2 m ) thoả định lý Hasse: 2 1 2 # 1 2 m q q E F q q trong đó q = 2 m . Ngoài ra, #E(F 2 m ) là số chẵn. 2.1.4 CÁC PHÉP TOÁN TRÊN ĐƢỜNG CONG ELLIPTIC 2.1.4.1 Phép cộng Hình 2.3. Phép cộng trên đƣờng cong elliptic Để tìm điểm R, ta nối P và Q bằng đường thẳng L. Đường thẳng L sẽ cắt E tại ba điểm P, Q và –R(x, y). Điểm R(x, –y) sẽ có tung độ là giá trị đối của y. 2.1.4.2 Phép nhân Phép nhân đôi Hình 2.4. Phép nhân đôi trên đƣờng cong elliptic Xét phép nhân đôi (EDBL): nếu cộng hai điểm P, Q E(R) với P = Q thì đường thẳng L sẽ là tiếp tuyến của đường cong elliptic tại điểm P. Trường hợp này điểm –R sẽ là giao điểm còn lại của L với E. Lúc đó R = 2P. Phép nhân kP Phép nhân kP nhận được bằng cách thực hiện lặp k lần phép cộng. 2.1.5 SỐ ĐIỂM TRÊN ĐƢỜNG CONG ELLIPTIC VỚI TRƢỜNG F Q 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à F q . Định lý (Hasse) N là số điểm của E trên trường F q (trường hữu hạn q phần tử). Khi đó: |N – (q + 1)| q2 Từ định lý Hasse suy ra #E(F q ) = q + 1 – t trong đó |t| q2 . Định nghĩa Bậc của một đường cong elliptic là số điểm của đường cong đó. Bậc của điểm G thuộc E là số k sao cho kG = O; khi k = #E(F q ) thì G là điểm cơ sở của E. 2.2. MỘT SỐ SƠ ĐỒ CHỮ KÝ TRÊN ĐƢỜNG CONG ELLIPTIC 2.2.1 NHÚNG BẢN RÕ VÀO ĐƢỜNG CONG ELLIPTIC Nhúng 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, nhờ đó 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à “nhúng” (imbeding) và “mặt nạ” (mask). 2.2.1.1 Phép nhúng (Imbeding) Cách 1 Để nhúng m lên E(Z p ) với p là số nguyên tố, chẳng hạn p 3 (mod 4). Giả sử E(Z p ) được cho bởi phương trình y 2 = x 3 + ax 2 + b và giả sử m là số nguyên thỏa mãn 11000/0 pm . Thêm 3 chữ số vào m được x thỏa mãn pmxm )1(10001000 Chúng ta sẽ bổ sung các chữ số khác nhau cho đến khi tìm được x sao cho f(x) = x 3 + ax + b là một số chính phương trong Z p và y (với f(x) = y 2 mod p ) thỏa mãn py mod1 . Điểm P m được tạo thành khi nhúng m lên E là: ))(,( xfxP m Có thể dễ dàng khôi phục lại m từ )( pm ZEP bằng cách loại bỏ 3 chữ số cuối của tọa độ x của điểm P m . Cách 2 Bước 1 Sử dụng bảng chữ cái gồm N ký tự. Chia bản rõ thành các khối có độ dài cố định l. Các ký tự được đánh số là 0,…, N-1. Một khối văn bản w cùng với các số l w Nx 0 tạo thành một ánh xạ: 12 2 1 1 0110 ) .( ll ll wl aNaNaNaxaaaw , t w Nx 0 Bước 2 Chọn một giá trị k thích hợp sao cho kN l < q. Với mỗi j là phần tử của F q tính kx w + j. Lấy điểm P w đầu tiên mà tọa độ x kx w , 0j , ví dụ P w = (kx w + j, *) )( q FE Bước 3 Khôi phục lại khối bản rõ từ P w bằng cách tính k x x w 2.2.1.2 Phép mặt nạ (Mask) Để biểu diễn lại bản rõ dạng (m 1 , m 2 ) thành các điểm P m trên E có thể áp dụng phương pháp masking bằng cách nhân m 1 và m 2 với các tọa độ x, y của các điểm trên E. Giả sử có điểm G E có tọa độ (x G , y G ) thì P m = (m 1 x G , m 2 y G ). 2.2.2 SƠ ĐỒ CHỮ KÝ TRÊN ĐƢỜNG CONG ELLIPTIC 2.2.2.1 Sơ đồ chữ ký ECDSA Để thiết lập sơ đồ chữ ký ECDSA(Elliptic Curve Digital Signature Algorithm), cần xác định các tham số: lựa chọn đường cong E trên trường hữu hạn F q với đặc số p sao cho phù hợp, điểm cơ sở G E(F q ). Sinh khóa 1. Chọn số ngẫu nhiên d trong khoảng [2, n – 1] làm khóa bí mật. 2. Tính Q = dG làm khóa công khai. Ký trên bản rõ m 1. Chọn một số ngẫu nhiên k, 12 nk 2. Tính kG = (x 1 , y 1 ). 3. Tính r = x 1 mod n. Nếu r = 0, quay lại bước 1. 4. Tính k -1 mod n. 5. Tính s = k -1 (m + dr) mod n. Nếu s = 0, quay lại bước 1. 6. Chữ ký trên thông điệp m là (r, s) Kiểm tra chữ ký 1. Kiểm tra r và s có là các số tự nhiên trong khoảng [2, n – 1] không. 2. Tính w = s -1 mod n. 3. Tính u 1 = mw mod n và u 2 = rw mod n. 4. Tính X = u 1 G + u 2 Q = (x X , y X ) 5. Nếu X = O thì phủ nhận chữ ký. Ngược lại tính v = x X mod n. 6. Chữ ký chỉ được chấp nhận nếu v = r. Chứng minh Nếu chữ ký (r, s) trên m là đúng thì s = k -1 (m + dr) mod n. k s -1 (m + dr) s -1 m + s -1 rd wm + wrd u 1 + u 2 d (mod n). Vì vậy, u 1 G + u 2 Q = (u 1 + u 2 d)G = kG, và vì vậy v = r. 2.2.2.2 Sơ đồ chữ ký Nyberg - Rueppel Giả sử E là một đường cong Elliptic trên trường Z p (p>3 và nguyên tố) sao cho E chứa một nhóm con cyclic H trong đó bài toán logarith rời rạc là “khó”. Với ** pp xP , ** pp xZExZC , ta định nghĩa: {( , , , ): }K E Q a R R aQ với QE . Các giá trị và R là công khai, a là bí mật. Với ( , , , )K E Q a R , chọn một số ngẫu nhiên ||H Zk .Khi đó, với ** 21 ),( pp xZZxxx ta định nghĩa ),,(),( dckxsig K trong đó: 1. 12 ( , )y y kQ 2. pxhashyc mod)( 1 3. packd mod 4. exhashtruedcxver K )(),,( 5. 12 ( , )y y dQ cR 6. pyce mod 1 2.2.2.3 Sơ đồ chữ ký mù Harn trên EC Năm 1994, Harn đã công bố một sơ đồ chữ ký mù tựa như sơ đồ ECDSA. Chữ ký mù là chữ ký thực hiện trên một văn bản mà người ký hoàn toàn không biết nội dung. Điều này thực hiện được vì người trình ký đã sử dụng một phương pháp nào đó để che dấu nội dung của văn bản gốc để người ký không biết. Để người ký yên tâm, người xin cấp chữ ký phải chứng minh tính hợp lệ của nội dung đã bị che dấu. Sinh khóa Chọn các tham số cho đường cong Elliptic (1) Chọn số nguyên tố p và số nguyên n. (2) Với 2 phần tử a 1 , a 2 của GF(p n ), xác định phương trình của E trên GF(p n ) ( 21 32 axaxy trong trường hợp p>3) với 0274 2 2 3 1 aa (3) Với 2 phần tử x G và y G trong GF(p n ) xác định một điểm G = (x G , y G ) trên E(GF(p n )) (G O với O là điểm gốc). (4) Giả sử điểm G có bậc q Việc sinh khóa bao gồm: (1) Chọn một khóa bí mật d là số nguyên ngẫu nhiên trong [2, q – 1] (2) Tính khóa công khai Q, là một điểm trên E sao cho Q = dG. Ký mù Giả sử Bob yêu cầu Alice ký lên một văn bản m 0 mà m là đại diện của văn bản này (m = H(m 0 ) với H là một hàm băm nào đó). Giao thức ký được thực hiện như sau: (1) Alice sinh ra cặp khóa ( Rk, ) theo cách sau: chọn ngẫu nhiên ]1,2[ qk và tính ),( kk yxGkR . Đặt r = k x , rồi gửi r và R cho Bob (2) Bob chọn các tham số làm mù ]1,1[, qba , tính R trên E sao cho R = a R + bG = (x k, y k ) và tính r = c(x k ) và rarmm 1 )( . Sau đó gửi m cho Alice ( m là m sau khi đã bị làm mù). (3) Alice tính )(mod)( qkrmds , rồi gửi s cho Bob. (4) Bob nhận được s , xóa mù để có được chữ ký s trên m bằng cách tính bsas Cặp (r, s) là chữ ký trên m. 2.2.2.4 Sơ đồ chữ ký mù bội Harn trên EC Đa chữ ký hiểu là chữ ký được tạo thành bởi nhiều người ký. Có văn bản cần được ký bởi một số người thay vì một người nhằm bảo đảm tính an toàn. Những người ký không biết về nội dung văn bản ký. Sinh khóa Việc chọn các tham số cho đường cong elliptic tương tự như sơ đồ chữ ký Harn. Giả sử rằng có t người ký là U i , với ti ,.1 . Việc sinh khóa được thực hiện qua các bước: (1) Mỗi người ký U i chọn ngẫu nhiên một khóa bí mật d i là một số nguyên thuộc [2, q – 1]. (2) Khóa công khai của người ký U i là điểm: Q i = d i G = ( ii dd yx , ), ti ,.1 (3) Khóa công khai cho tất cả người ký là: Q = Q 1 +…+ Q t = dG = (x d , y d ) với d = d 1 + …+ d t (mod q). Ký mù trên m (1) Người ký U i sinh một lần cặp ( ii Rk , ) bằng cách chọn ngẫu nhiên ]1,2[ qk i và tính ),( ii kkii yxGkR . U i đặt i r = i k x , i = 1,…, t rồi gửi i r và i R cho Ban thư ký. (2) Ban thư ký chọn các tham số làm mù ]1,1[, qba , tìm điểm R trên E sao cho ),( kk yxbQRaR trong đó t RRR 1 và Q = Q 1 +…+ Q t . Ban thư ký tính ))(mod( qxcr k và rabrmm 1 )( . Sau đó, gửi m và r đến cho từng người ký U i . (3) U i tính chữ ký )(mod)( qkrmds iii , i=1,…, t , gửi i s tới Ban thư ký. (4) Ban thư ký tính ),()( ii eeii yxQrmGs và kiểm tra )(mod ? qxr i ei , i=1,…, t. Chữ ký mù nhóm ECC là cặp (r, s) trong đó )(modqass và )(mod . 1 qsss t . 2.3. MỘT SỐ PHƢƠNG PHÁP TẤN CÔNG CHỮ KÝ ECC 2.3.1. Phương pháp tấn công “baby-step giant - step” Đây là phương pháp tấn công đầu tiên lên hệ mật mã ECC do Shanks đưa ra, và thực hiện với thời gian là hàm mũ. Nó giải bài toán DLP trong trường nguyên tố Z p được mở rộng cho bài toán EDLP. Bài toán Tìm k sao cho kG = Q trên E(F q ) với #E(F q ) = N, giả sử k tồn tại thực sự. Thuật toán 1. Chọn số nguyên m > N . 2. Tính mG. 3. Với i = 0 đến i = m-1 tính (và lưu lại) iG. 4. Với j = 0 đến j = m-1 tính (và lưu lại) Q – jmG. 5. Sắp xếp danh sách trong bước 3 và 4 theo một thứ tự nhất định. 6. So sánh các danh sách ở các bước 3 và 4 cho đến khi tìm được cặp i, j thỏa mãn iG = Q – jmG. 7. Kết quả trả lại là k i + jm (mod N). 2.3.2 Phương pháp tấn công MOV Phương pháp tấn công MOV (Menezes, Okamoto, và Vanstone) làm yếu bài toán logarit rời rạc trên đường cong elliptic E(F q ) thành bài toán logarith rời rạc trên trường m q F với m nào đó. Khi đó có thể tấn công bằng tấn công chỉ số, nhất là khi m nhỏ. 2.3.3. Các thuật toán tấn công khác Nhiều thuật toán tấn công khác cũng đã được chứng minh là không hiệu quả với các hệ mật mã trên đường cong elliptic. Thuật toán tấn công chỉ số áp dụng hiệu quả để giải bài toán DLP nhưng không áp dụng được cho EDLP. Giao thức trao đổi khóa trên đường cong elliptic tương tự giao thức Diffie – Hellman cũng chống lại được tấn công của Western, Miller, và tấn công với thời gian là hàm mũ nhỏ của Adleman. Thuật toán tương tự RSA của Demytko cũng an toàn với các tấn công đẳng cấu. 2.4. LỰA CHỌN ĐƢỜNG CONG ELLIPTIC PHÙ HỢP 2.4.1. Trường K Các đường cong elliptic trên trường nguyên tố F p và trên trường n q F 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. 2.4.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 F q có hai lớp đường cong elliptic được dùng trong các hệ mã hóa là supersingular và non- supersingular (xem [22]). Xét F q có đặc số là 2 (g = 2 m ). Khi đó: i) Tập tất cả các cặp nghiệm (x, y) của phương trình y 2 + ax = x 3 + bx + c với a, b, c F q và a = 0 (mod q) cùng với điểm trung hòa O tạo thành một đường cong elliptic dạng supersingular. ii) Tập tất cả các cặp nghiệm (x, y) của phương trình y 2 + ax = x 3 + bx + c với a, b, c F q và b = 0 (mod q) cùng với điểm trung hòa 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 r F 2 . Tuy nhiên, các đường cong supersingular có thể bị tấn công bằng MOV. Nonsupersingular: Ư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 khóa ngắn giúp chúng có thể được 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ụ với nhóm con cyclic cỡ 2 160 . 2.4.3 Phương pháp lựa chọn Có một số phương pháp để lựa chọn các đường cong elliptic. Phương pháp tự nhiên nhất là chọn ngẫu nhiên. Chọn ngẫu nhiên một đường cong elliptic E trên trường K và một điểm cơ sở P E. K được chọn và cố định trước. Phương pháp chọn ngẫu nhiên Koblitz cho các đường cong elliptic trên trường F q (với q lớn ) như sau: 1. Chọn ngẫu nhiên 3 phần tử từ F q là x, y, a 2. Tính b = y 2 – (x 3 + ax) 3. Kiểm tra 0274 23 ba để đảm bảo phương trình x 3 + ax + b = 0 không có nghiệm kép 4. Nếu điều kiện trên không thỏa mãn quay lại bước 1 5. Còn lại, đặt P = (x, y) và đường cong y 2 = x 3 + ax + b là đường cong cần chọn. Sơ đồ 2.4. Phương pháp chọn ngẫu nhiên Koblitz 2.5. MỘT SỐ CHUẨN SỬ DỤNG HỆ MẬT ECC Việc đưa ra một chuẩn chung cho các hệ thống mật mã, các giao thức, các giao diện là một việc quan trọng. Việc chuẩn hóa mang lại 3 lợi ích chính: (1). Cho phép kết hợp phần cứng và phần mềm của nhiều nhà cung cấp khác nhau. (2). Đưa ra chuẩn cho việc đảm bảo an toàn các hệ thống dưới khía cạnh mật mã học (3). Cho phép có thiết kế chuẩn cho các môi trường ứng dụng khác nhau. Các đường cong elliptic đã được xem xét và nghiên cứu kỹ lưỡng bởi các nhà toán học trong hơn 10 năm và đã được khảo sát kỹ bởi các tổ chức chuẩn hóa từ năm 1995. Điều này đảm bảo rằng tính tin cậy của nó đã được kiểm chứng như: ANSI X9, ATM Forum, Certicom, FSTC, IEEE, P1363, IETF, ISO/IEC, NIST, OTP 0.9, SET, WAP. Chương 3. CHỮ KÝ ECC TRONG TIỀN ĐIỆN TỬ 3.1. THANH TOÁN BẰNG TIỀN ĐIỆN TỬ 3.1.1. Khái niệm tiền điện tử Tiền điện tử (e-money, digital money, digital cash, electronic money, electronic currency, digital currency hay internet money) là thuật từ vẫn còn mơ hồ và chưa định nghĩa đầy đủ. Tuy nhiên có thể hiểu Tiền điện tử là loại tiền trao đổi theo phương pháp “điện tử”, liên quan đến mạng máy tính và những hệ thống chứa giá trị ở dạng số (digital stored value systems).