Đường cong elliptic và ứng dụng trong mật mã

30 618 2
Đường cong elliptic và ứng dụng trong mật mã

Đ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

TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI KHOA TOÁN ———————o0o——————– KHÓA LUẬN TỐT NGHIỆP ĐƯỜNG CONG ELLIPTIC VÀ ỨNG DỤNG TRONG MẬT MÃ Chuyên ngành: TOÁN ỨNG DỤNG Giảng viên hướng dẫn: Trần Vĩnh Đức Sinh viên: Lê Thị Thu Lớp: K37-sp Toán HÀ NỘI, 5/2015 LỜI CẢM ƠN Bài khóa luận hoàn thành hướng dẫn nhiệt tình T.S Trần Vĩnh Đức Qua em xin gửi lời cảm ơn sâu sắc tới thầy cô tổ Toán ứng dụng thầy cô khoa Toán trường ĐHSP Hà Nội giúp đỡ em trình học tập để thuận lợi cho việc nghiên cứu Đặc biệt, em xin gửi lời cảm ơn chân thành tới T.S Trần Vĩnh Đức người dành cho em hướng dẫn nhiệt tình, chu đáo bảo cho em suốt trình học tập nghiên cứu thực khóa luận Dù cố gắng, lần làm quen với việc nghiên cứu khoa học lực hạn chế nên khó tránh khỏi sai sót Em mong muốn nhận bảo, đóng góp quí thầy cô khóa luận tốt Em xin chân thành cảm ơn! Hà Nội, tháng 05 năm 2015 Sinh viên Lê Thị Thu LỜI CAM ĐOAN Em xin cam đoan khóa luận thân nghiên cứu với hướng dẫn T.S Trần Vĩnh Đức không trùng với đề tài Hà Nội, tháng 05 năm 2015 Sinh viên Lê Thị Thu Mục lục Lời cảm ơn Lời cam đoan Cơ 1.1 1.2 1.3 1.4 1.5 1.6 sở toán học Phép chia phép chia Số học modun Số nguyên tố Nhóm Trường Trường hữu hạn có dư Đường cong Elliptic ứng dụng mật mã 2.1 Đường cong Elliptic 2.2 Các phép toán đường cong elliptic 2.2.1 Phép cộng 2.2.2 Phép nhân 2.3 Đường cong elliptic trường hữu hạn Hệ 3.1 3.2 3.3 5 10 10 12 12 15 15 18 18 mật mã đường cong elliptic Mở đầu Logarit rời rạc đường cong elliptic(ECDLP) Mật mã đường cong elliptic 3.3.1 Diffie- Hellman elliptic trao đổi khóa 3.3.2 Hệ mật mã ElGamal đường cong elliptic 3.4 Thuật toán tìm nhân tử đường cong elliptic Lenstra Kết luận 21 21 22 23 23 24 25 28 Khóa luận tốt nghiệp GVHD: T.s Trần Vĩnh Đức Tài liệu tham khảo Lê Thị Thu 29 K37C-SPT ĐHSP Hà Nội Chương Cơ sở toán học 1.1 Phép chia phép chia có dư Tập hợp số nguyên kí hiệu kí tự Z Có thể cộng , trừ, nhân số nguyên theo cách thông thường, đáp ứng tất quy tắc thông thường số học (luật giao hoán, luật kết hợp, luật phân phối, vv) Nếu a b số nguyên ta cộng chúng a + b trừ chúng a − b, nhân chúng a.b Trong trường hợp, ta có kết số nguyên Nhưng ta muốn số nguyên có phép chia lúc chia số nguyên Ví dụ, chia cho 2, số nguyên 32 Điều dẫn đến khái niệm quan hệ chia Định nghĩa 1.1.1 Cho a b số nguyên, với b = 0.Nếu có số nguyên c cho a = bc ta nói b chia hết a hay b ước a kí hiệu b | a Nếu b không chia hết a ta kí hiệu b a Ví dụ Ta có 847 | 485331, 485331 = 847.573 Mặt khác, 355 259943, thử chia 259943 cho 355 ta số dư 83 Chính xác hơn,259943 = 355.732 + 83 259943 không bội 355 Mệnh đề 1.1.2 Cho a, b, c ∈ Z số nguyên (a) Nếu a | b b | c a | c (b) a | b b | a a = ±b (c) Nếu a | b a | c a | (b + c) a | (b − c) Khóa luận tốt nghiệp GVHD: T.s Trần Vĩnh Đức Định lí 1.1.3 Cho số nguyên dương a b Khi tồn q , r cho: a = b.q + r với ≤ r < b Định nghĩa 1.1.4 (a) Một số nguyên gọi ước chung nhiều số a1 , a2 , a3 , ước số (b) Một ước chung d số a1 , a2 , a3 , , an cho ước chung a1 , a2 , a3 , , an ước d, gọi ước chung lớn nhất(UCLN) a1 , a2 , a3 , , an Ta ký hiệu d = (a1 , a2 , a3 , , an ) (c) Nếu UCLN a1 , a2 , a3 , , an số a1 , a2 , a3 , , an gọi nguyên tố 1.2 Số học modun Định nghĩa 1.2.1 Cho hai số nguyên a b, m > Ta nói a đồng dư với b theo modun m, phép chia a b cho m ta số dư Ta ký hiệu a≡b mod m Ví dụ 15 ≡ mod 2, ≡ −3 mod Định lí 1.2.2 Cho m ≥ số nguyên.Các mệnh đề sau tương đương (a) a ≡ b mod m (b) m | a − b (c) Có số nguyên t cho a = b + mt Chứng minh (a)=⇒(b) Theo giả thiết, chia a b cho m ta số dư, có nghĩa tồn số tự nhiên r, ≤ r < m số nguyên qa qb cho ta có a = m.qa + r b = m.qb + r, từ ta a − b = m(qa − qb ) Lê Thị Thu K37C-SPT ĐHSP Hà Nội Khóa luận tốt nghiệp GVHD: T.s Trần Vĩnh Đức Đẳng thức chứng tỏ m | (a − b) (b)=⇒(c) Vì m | (a − b) nên ta có t ∈ Z cho a − b = mt, hay a = b + mt (c)=⇒(a) Lấy a chia cho m, giả sử ta thương qa dư r(0 ≤ r < m), nghĩa a = m.qa + r Thay a a = b + mt ta b + mt = m.qa + r hay b = m(qa − t)r ≤ r < m Hệ thức cho ta thấy chia b cho m ta số dư r chia a cho m, nghĩa a ≡ b mod m Chúng ta viết Z/mZ = {0, 1, 2, , m − 1} gọi Z/mZ tập số nguyên modun m Lưu ý thực phép cộng nhân Z/mZ, phải chia cho m, số dư lại phần tử Z/mZ Hình 1.1 Minh họa cho Z/mZ cách thực phép cộng nhân modun cho bảng + 0 1 2 3 4 0 0 0 1 2 3 4 Hình 1.1 Bảng phép cộng phép nhân modun Định nghĩa 1.2.3 Tập hợp thương tập hợp số nguyên quan hệ đồng dư theo modun m, gọi tập hợp lớp thặng dư modun m, ký hiệu Zm Mỗi phần tử Zm gọi lớp thặng dư modun m Lê Thị Thu K37C-SPT ĐHSP Hà Nội Khóa luận tốt nghiệp GVHD: T.s Trần Vĩnh Đức Định lí 1.2.4 Lớp thặng dư modun m, A phần tử khả nghịch vành Zm A lớp nguyên tố modun m Ta gọi φ(m), số phần tử khả nghịch vành lớp thặng dư modun m Định lí 1.2.5 (Định lý Euler) Nếu a, m ∈ Z, m < 0, (a, m) = ta có: aφ (m) ≡ mod m Định lí 1.2.6 (Định lí Fermat) Nếu p số nguyên tố a số nguyên không chia hết cho p ta có ap−1 ≡ 1.3 mod m Số nguyên tố Định nghĩa 1.3.1 Một số tự nhiên lớn ước khác ( ước thực sự) gọi số nguyên tố Mệnh đề 1.3.2 Nếu p số nguyên tố, p chia hết cho tích a.b với a, b hai số nguyên Thì p chia hết cho hai số a b Tổng quát hơn, p chia hết cho tích số nguyên, p | a1 a2 an , p chia hết cho Định lí 1.3.3 ( Định lý ) Mọi số tự nhiên lớn phân tích thành tích thừa số nguyên tố phân tích không kể thứ tự thừa số Chứng minh a) Sự phân tích Giả sử a số tự nhiên lớn Khi đó, a có số nguyên tố p1 ta có: a = p1 a1 , a1 ∈ N Nếu a1 = ta a = p1 phân tích a thành thừa số nguyên tố Lê Thị Thu K37C-SPT ĐHSP Hà Nội Khóa luận tốt nghiệp GVHD: T.s Trần Vĩnh Đức Nếu a1 > a1 có ước nguyên tố p2 ta có: a1 = p2 a2 , a2 ∈ N nên a = p1 p2 a2 Nếu a2 = a = p1 p2 phân tích a thành thừa số nguyên tố Nếu a2 > theo lý luận trên, a2 có ước nguyên tố p3 , Quá trình phải kết thúc, nghĩa có n cho an = 1, an−1 = p số nguyên tố, ta có: a, a1 , a2 , dãy số tự nhiên giảm Như ta a = p1 p2 pn phân tích a thành tích thừa số nguyên tố b) Sự nhất: Giả sử, ta có: a = p1 p2 pn = q1 q2 qm hai dạng phân tích a thành tích thừa số nguyên tố Đẳng thức chứng tỏ p1 ước q1 q2 qm nên p1 phải trùng với qj (1 ≤ j ≤ m) Vì không kể đến thứ tự thừa số nên coi p1 = q1 Từ đó, ta có p2 pn = q2 qm Ta lấy p2 lặp lại vế không thừa số nguyên tố Nhưng lúc vế lại không thừa số nguyên tố ngược lại xảy = qn+1 qn+2 qm pm+1 pm+2 pm = Vì vậy, ta phải có m = n pi = qi , i = 1, 2, , n Tính chứng minh 1.4 Nhóm Cho X tập hợp tùy ý khác ∅, X có phép toán hai kí hiệu X với phép toán hai nhóm thỏa mãn điều kiện : (a) Tính kết hợp: (a b) c = a (b c) với a, b, c ∈ X (b) Phần tử đồng nhất: Tồn e ∈ X thỏa mãn a e = e a với a ∈ X (e gọi phần tử trung hòa) (c) Phần tử nghịch đảo: với a ∈ X , tồn phần tử b ∈ X thỏa mãn a b = b a = e ( b gọi phần tử nghịch đảo a) Và người ta kí hiệu phần tử nghịch đảo a a−1 • X gọi nhóm giao hoán(Able) a b = b a với a, b ∈ X • Cấp nhóm X số phần tử nhóm X Một nhóm có cấp hữu hạn gọi nhóm hữu hạn Lê Thị Thu K37C-SPT ĐHSP Hà Nội Khóa luận tốt nghiệp GVHD: T.s Trần Vĩnh Đức 1089 2919 9457 X + X− = 0, 64 32 64 193 (X − 7)2 X − = 64 193 Ta thay X = vào phương trình (2.4) L để có 64 223 Y =− , nên ta có 512 X3 − P ⊕P = 193 223 , 64 512 Nhận xét 2.1.1 Nếu P (a, b) P (a, −b) đối xứng qua trục X ta có P ⊕ P = O Ví dụ Tiếp tục với đường cong E từ ví dụ Ta nhận thấy điểm T = (3, 0) nằm đường cong E tiếp tuyến E T đường thẳng X = Do đó, cộng T với nó, ta T ⊕ T = O Tính chất đường cong elliptic • Nếu hai điểm P1 = (x1 , y1 ) P2 = (x2 , y2 ) với x1 = x2 nằm đường cong elliptic đường thẳng qua hai điểm P1 P2 cắt điểm P3 = (x3 , y3 ) Điểm xác định thông qua P1 P2 E • Tiếp tuyến đường cong E điểm P = (x, y) E cắt E điểm Điểm xác định qua P 2.2 2.2.1 Các phép toán đường cong elliptic Phép cộng Định nghĩa 2.2.1 Một đường cong Elliptic E tập hợp nghiệm cho phương trình Weirerstrass Y = X + AX + B, Lê Thị Thu 15 K37C-SPT ĐHSP Hà Nội Khóa luận tốt nghiệp GVHD: T.s Trần Vĩnh Đức cho A B thỏa mãn 4A2 + 27B = Nhận xét 2.2.2 Ta gọi ∆E = 4A2 +27B = biệt thức E Điều kiện ∆E = tương đương với điều kiện đa thức X + AX + B nghiệm kép Nghĩa là, X + AX + B = (X − e1 )(X − e2 )(X − e3 ) e1 , e2 , e3 số, ∆E = e1 , e2 , e3 đôi khác Vậy ∆E = đường cong điểm kì dị Phép cộng E định nghĩa sau Nếu P Q hai điểm E L đường thẳng nối P Q, tiếp tuyến E P P = Q Thì L cắt L ba điểm P , Q R Khi tổng P Q điểm R (a, −b) cách lấy đối xứng với điểm R(a, b) qua trục X Ta ký hiệu P ⊕ Q hay P + Q Nếu P (a, b) kí hiệu điểm đối xứng P P = (a, −b), kí hiệu −P Định lí 2.2.3 Cho E đường cong elliptic Khi phép cộng E có tính chất sau: (a) P + O = O + P = P với P ∈ E [Tính đồng ] (b)P + (−P ) = O với P ∈ E [ Tính nghịch đảo] (c)(P + Q) + R = P + (Q + R) với P, Q, R ∈ E [Tính kết hợp] (d)P + Q = Q + P với P, Q ∈ E [Tính giao hoán] Nói cách khác luật cộng điểm E nhóm Aben Chứng minh Luật đồng (a) luật nghịch đảo(b) O nằm tất đường thẳng đứng Luật giao hoán (d) dễ dàng chứng minh, đường thẳng nối P Q giống đường thẳng nối Q P, thứ tự điểm không quan trọng Có nhiều cách chứng minh tính kết hợp, cách chứng minh dễ dàng Sau phát triển công thức rõ ràng cho luật cộng E (Định lý 2.2),chúng ta sử dụng công thức để kiểm tra luật kết hợp trực tiếp Định lí 2.2.4 (Thuật toán Cộng đường cong elliptic) Để cho E : Y = X + AX + B Lê Thị Thu 16 K37C-SPT ĐHSP Hà Nội Khóa luận tốt nghiệp GVHD: T.s Trần Vĩnh Đức đường cong elliptic để P1 P2 điểm E a) Nếu P1 = O, P1 + P2 = P2 (b) Cách khác, P2 = O, thìP1 + P2 = P1 (c) Cách khác, viết P1 = (x1 , y1 ) P2 = (x2 , y2 ) (d) Nếu x1 = x2 y1 = −y2 , P1 + P2 = O (e) Cách khác, định nghĩa λ λ= y2 −y1 x2 −x1 3x21 +A 2y1 , P1 = P2 , P1 = P2 x3 = λ2 − x1 − x2 y = λ(x1 − x3 ) − y1 Thì P1 + P2 = (x3 , y3 ) Chứng minh Phần (a), (b) hiển nhiên, (d) trường hợp đường thẳng qua P1 P2 để P1 + P2 = O ( Lưu ý y1 = y2 = đường thẳng đường tiếp tuyến, trường hợp nhiều) Để chứng minh (e), ý P1 = P2 , λ hệ số góc đường thẳng qua P1 P2 , P1 = P2 , λ hệ số góc đường tiếp tuyến P1 = P2 Trong hai trường hợp đường L cho phương trình Y = λX + v với v = y1 − λx1 Thay phương trình L vào phương trình E (λX + v)2 = X + AX + B, X3 − λ2 X + (A − 2λv)X + (B − v ) = Chúng ta biết phương trình có x1 x2 hai nghiệm Nếu gọi x3 nghiệm thứ ba, sau X − λ2 X + (A − 2λv)X + (B − v ) = (X − x1 )(X − x2 )(X − x3 ) Bây khai triển nhìn hệ số X hai vế Hệ số X vế phải −x1 − x2 − x3 , −λ2 hệ số X vế trái Điều cho tính x3 = λ2 − x1 − x2 , sau Y- tọa độ giao điểm thứ ba E L cho λx3 + v Cuối cùng, để có P1 + P2 , phải chiếu lên trục x có nghĩa thay tọa độ y Lê Thị Thu 17 K37C-SPT ĐHSP Hà Nội Khóa luận tốt nghiệp 2.2.2 GVHD: T.s Trần Vĩnh Đức Phép nhân Phép nhân số nguyên k với điểm P thuộc đường cong elliptic điểm Q xác định cách cộng n lần điểm P Q ∈ E nP = P + P + P + + P n số 2.3 Đường cong elliptic trường hữu hạn Chúng ta phát triển lý thuyết đường cong elliptic hình học Ví dụ, tổng hai điểm phân biệt P Q đường cong elliptic E định nghĩa cách vẽ đường thẳng L nối P Q tìm điểm thứ ba mà L E giao Tuy nhiên, để áp dụng lý thuyết đường cong elliptic để mật mã, cần phải tìm hiểu đường cong elliptic có điểm có tọa độ trường hữu hạn FP Để đơn giản xác định đường cong elliptic FP phương trình từ E : Y2 = X + AX + B với A, B ∈ FP điều kiện 4A3 + 27B = 0, điểm E có tọa độ FP , mà đươc biểu thị E(FP ) = (x, y) : x, y ∈ FP , y = x3 + Ax + B ∪ O Cho P = (x1 , y1 ) Q = (x2 , y2 ) hai điểm E(FP ) Tổng P1 + P2 điểm (x3 , y3 ) thu cách áp dụng thuật toán Cộng đường cong elliptic(Định lý 2.2.4) Tuy nhiên, nói (x3 , y3 ) điểm E(FP ) Định lí 2.3.1 Cho E đường cong elliptic E(FP ) cho hai điểm P Q E(FP ) (a) Các thuật toán Cộng đường cong elliptic( Định lý 2.2.4) áp dụng cho P Q mang lại điểm E(FP ) Chúng ta ký hiệu điểm P + Q (b) Ngoài luật đáp ứng tất thuộc tính E(FP ) liệt kê định lý 2.2.3 Nói cách khác luật bổ sung làm cho E(FP ) nhóm hữu hạn Lê Thị Thu 18 K37C-SPT ĐHSP Hà Nội Khóa luận tốt nghiệp GVHD: T.s Trần Vĩnh Đức Ví dụ Cho đường cong elliptic E : Y = X + 3X + F13 sử dụng thuật toán Cộng (Định lý 2.2.4) để cộng điểm P = (9, 7) Q = (1, 8) E(F13 ) Vì P = Q nên λ= 1 y2 − y1 8−7 = = = 8, = x2 − x1 − −8 Tiếp theo tính v = y1 − λx1 = − 8.9 = −65 = x3 = λ2 − x1 − x2 = 64 − − = 54 = 2, y3 = −(λx3 + v) = −8.2 = −16 = 10 Vậy P + Q = (1, 8) + (9, 7) = (2, 10) E(F13 ) Tương tự ,tính P + P , ta có 3x21 + A 3.92 + 246 λ= = = = v = y1 −λx1 = 7−1.9 = 11 2y1 2.7 14 Sau x3 = λ2 −x1 −x2 = 1−9−9 = y3 = −(λx3 +v) = −1.9−11 = 6, Vì P + P = (9, 7) + (9, 7) = (9, 6) E(F13 ) Chúng ta tính tổng cặp điểm E(F13 ) Các kết liệt kê bảng 2.1 Lê Thị Thu 19 K37C-SPT ĐHSP Hà Nội Khóa luận tốt nghiệp GVHD: T.s Trần Vĩnh Đức O (1,5) (1,8) (2,3) (2,10) (9,6) (9,7) (12,2) (12,11) O O (1,5) (1,8) (2,3) (2,10) (9,6) (9,7) (12,2) (12,11) (1,5) (1,5) (2,10) O (1,8) (9,7) (2,3) (12,2) (12,11) (9,6) (1,8) (1,8) O (2,3) (9,6) (1,5) (12,11) (2,10) (9,7) (12,2) (2,3) (2,3) (1,8) (9,6) (12,11) O (12,2) (1,5) (2,10) (9,7) (2,10) (2,10) (9,7) (1,5) O (12,2) (1,8) (12,11) (9,6) (2,3) (9,6) (9,6) (2,3) (12,11) (12,2) (1,8) (9,7) O (1,5) (2,10) (9,7) (9,7) (12,2) (2,10) (1,5) (12,11) O (9,6) (2,3) (1,8) (12,2) (12,2) (12,11) (9,7) (2,10) (9,6) (1,5) (2,3) (1,8) O (12,11) (12,11) (9,6) (12,2) (9,7) (2,3) (2,10) (1,8) O (1,5) Bảng 2.1 : Bảng phép cộng E: Y = X + 3X + F13 Y = X + AX + B Định lí 2.3.2 (Hasse).Cho E đường cong elliptic FP Thì √ E(FP ) = p + − với thỏa mãn|tp | ≤ p Số lượng điểm E(FP ) E(FP ) phải thỏa mãn định lý Hasse Định nghĩa 2.3.3 Bậc đường cong elliptic số điểm đường cong Bậc điểm P ∈ E số k thỏa mãn kP = O, k = E(FP ) P điểm sở E Lê Thị Thu 20 K37C-SPT ĐHSP Hà Nội Chương Hệ mật mã đường cong elliptic 3.1 Mở đầu Năm 1976, Diffie Hellman giới thiệu hệ mật mã hóa công khai mà an toàn dựa độ khó toán DLP Họ đưa khái niệm hàm cửa sập chiều(TOF) Năm 1985, Lenstra thành công việc sử dụng đường cong elliptic hệ mật mã công khai Sau nhiều công trình nghiên cứu quan trọng toán toán phân tích số toán logarit rời rạc chưa giải thời gian đa thức không cần đến thời gian hàm mũ để giải nó, mà có thuật toán thuật toán dùng tính số thuật toán dùng đường cong elliptic Lenstra, giới thiệu năm 1985 Dù cho công trình không làm hệ mã sụp đổ, buộc phép xây dựng hệ mã phải giảm hiệu phải dùng khóa dài để đảm bảo an toàn Công trình Lenstra đánh dấu lần lý thuyết đường cong elliptic sử dụng vào mật mã, có vai trò phá mã Điều thú vị sau lý thuyết đường cong elliptic sử dụng cho việc lập mã Koblitz Miller độc lập đề nghị thay việc sử dụng nhóm trường hữu hạn nhóm điểm đường cong elliptic đó, thuật toán mũ biết để giải toán logarit rời rạc áp dụng Từ việc sử dụng đường cong elliptic dẫn tới dẫn đến hệ mã hiệu (do không cần phải chọn khóa dài để chống lại thuật toán mũ) Miller Kobliz giới thiệu hệ mật mã elliptic Họ không 21 Khóa luận tốt nghiệp GVHD: T.s Trần Vĩnh Đức phát minh thuật toán đóng góp lớn viêc áp dụng elliptic cho hệ khóa công khai Miller đề xuất giao thức trao đổi khóa tựa Diffie - Hellman vào năm 1985 Kobliz đưa thuật toán mã hóa tương tự hệ ElGamal Massey-Omura vào năm 1987 Sơ đồ tương tự RSA hàm chiều(có cửa sập) dựa đường cong elliptic đưa vào năm 1991 Koyama, Maurer, Okamoto, Vanstone(thuật toán tốc độ thực nhanh gấp lần so với RSA) Cùng với thời điểm đó, Kaliski chứng minh hàm cửa sập chiều đòi hỏi thời gian hàm mũ để thực phép tính nghịch đảo Menezes, Okamoto Vanstone đưa phương pháp công MOV để giải toán EDLP số trường hợp riêng Ngay sau đó, Miyaji tìm điều kiện để tránh khỏi công MOV đề xuất ứng dụng thực tế đường cong elliptic Năm 1993, Demytko đưa thuật toán tương tự RSA cho đường cong elliptic vành Zn vượt qua hạn chế phiên trước, Menezens Vanstone đưa phương pháp thực thi thiết bị cứng cải thiện tính toán đường cong elliptic trường hữu hạn Năm 1997,1998 việc tìm hệ mật mã đường cong elliptic ngày thu hút nhiều ý số thuật toán đưa 3.2 Logarit rời rạc đường cong elliptic(ECDLP) Định nghĩa 3.2.1 Cho E đường cong elliptic E(Fp ), với P Q hai điểm E(Fp ) Khi toán logarit rời rạc E(Fp ), toán tìm số nguyên n cho Q = nP Bằng cách tương tự với toán logarit rời rạc FP∗ , ký hiệu số nguyên n n = logP (Q) gọi n logarit rời rạc elliptic Q P Nhận xét 3.2.2 Tương tự với log bình thường ta có logP (Q1 + Q2 ) = logP (Q1 ) + logP (Q2 ) với Q1 , Q2 ∈ E(Fp ) (3.1) Thực tế logarit rời rạc E(Fp ) thỏa mãn (3.1) có nghĩa tuân theo luật Cộng nhóm E(Fp ) ánh xạ vào nhóm Z sZ Chúng Lê Thị Thu 22 K37C-SPT ĐHSP Hà Nội Khóa luận tốt nghiệp GVHD: T.s Trần Vĩnh Đức ta nói ánh xạ logP xác định gọi đồng cấu nhóm logP : E(Fp ) −→ Z/sZ 3.3 Mật mã đường cong elliptic Đó thời gian để áp dụng đường cong mật mã Chúng ta bắt đầu với ứng dụng đơn giản nhất, Diffie-Hellman trao đổi khóa, bao gồm thay toán logarit rời rạc cho trường hữu hạn Fp toán logarit rời rạc cho đường cong elliptic E(Fp ) Sau mô tả tương tự hệ mật mã hóa ElGamal đường cong elliptic 3.3.1 Diffie- Hellman elliptic trao đổi khóa Giả sử Alice Bob muốn thống khóa chung để liên lạc có bảo mật hai người mật mã Trước hết hai bên thống công khai chọn trường hữu hạn Fp đường cong elliptic E khóa chung họ xây dựng từ điểm ngẫu nhiên P từ đường cong vừa cho, họ làm cách cách chọn tọa độ x P ngẫu nhiên Fp Để tạo khóa, trước hết Alice chọn ngẫu nhiên số nguyên nA Số nA giữ bí mật Trên sở đó, Alice tính nA P ∈ E , nA P công khai Đến lượt Bob làm vậy, chọn ngẫu nhiên số nguyên nB bí mật, tính nB P ∈ E công khai Khóa bí mật mà có hai người có Q = (nA nB )P ∈ E Eve suy (nA nB )P không giải toán logarit rời rạc E trường Fp Ví dụ Alice Bob định sử dụng elliptic Diffie- Hellman với số nguyên , đường cong điểm: p = 3851, E: Y = X + 324X + 1287, P = (920, 303) ∈ E(F3851 ) Alice Bob chọn giá trị bí mật tương ứng nA = 1194 nB = 1759, sau đó: Alice tính QA = 1194P = (2067, 2178) ∈ E(F3851 ), Lê Thị Thu 23 K37C-SPT ĐHSP Hà Nội Khóa luận tốt nghiệp GVHD: T.s Trần Vĩnh Đức Bob tính QB = 1759P = (3684, 3125) ∈ E(F3851 ) Alice gửi QA tới Bob Bob gửi QB tới Alice Cuối cùng, Alice tính nA QB = 1194(3684, 3125) = (3347, 1242) ∈ E(F3851 ), Bob tính nB QA = 1759(2067, 2178) = (3347, 1242) ∈ E(F3851 ) Bob Alice trao đổi bí mật điểm (3347, 1242)) Họ phải loại bỏ tọa độ y có giá trị x = 3347 giá trị chia sẻ bí mật Định nghĩa 3.3.1 Cho E(Fp ) đường cong elliptic trường hữu hạn P ∈ E(Fp ) Các Bài toán đường cong elliptic Diffie-Hellman vấn đề tính toán giá trị n1 n2 P từ giá trị n1 P n2 P 3.3.2 Hệ mật mã ElGamal đường cong elliptic Alice Bob thống sử dụng số nguyên tố p, đường cong elliptic E , điểm P ∈ E(Fp ) Alice chọn khóa bí mật nA số nguyên QA = nA P khóa công khai Khi hệ mã hóa đường cong elliptic xây dựng tương tự hệ mã hóa ElGamal, thuật toán mã hóa giải mã xác định sau: Thuật toán mã hóa Bod lấy điểm M ∈ E(Fp ) Sau Bob chọn số nguyên k gửi thông điệp mã hóa C1 , C2 tính sau: C1 = kP C2 = M + kQA Thuật toán giải mã Bob gửi hai điểm (C1 , C2 ) tới Alice, sau tính C2 − nA C1 = (M + kQA ) − nA (kP ) = M + k(nA P ) − nA (kP ) = M để khôi phuc lại gốc Về nguyên tắc, hệ thống mật mã ElGamal elliptic hoạt động tốt có số khó khăn thực tế Không có cách rõ ràng để đính kèm thông tin văn gốc tới điểm E(Fp ) Thuật toán ElGamal Elip mở rộng thông tin 4-1 so với tỉ lệ mở rộng 2-1 ElGamal sử dụng Fp Lê Thị Thu 24 K37C-SPT ĐHSP Hà Nội Khóa luận tốt nghiệp 3.4 GVHD: T.s Trần Vĩnh Đức Thuật toán tìm nhân tử đường cong elliptic Lenstra Chúng ta tiếp tục nghiên cứu điểm định luật bổ sung đường cong elliptic E(Fp ) tương tự với định luật khuếch đại cho Fp∗ Hendrik Lenstra khiến tương tự trở nên xác cách phát minh thuật toán tìm thừa số đường cong elliptic E nơi khếch đại modun N Để miêu tả thuật toán Lenstra, cần cho đường cong elliptic modun N , đó, số nguyên N số nguyên tố vành Z/mZ trường Giả sử bắt đầu với phương trình: E : Y = X + AX + B giả sử P = (a, b) điểm E có modun N , cách ta có b2 ≡ a3 + A.a + B mod N Sau áp dụng thuật toán cộng đường cong elliptic để tính 2P, 3P, 4P, Ví dụ Cho L = 187 xem đường cong elliptic E : Y = X + 3X + modun 187 điểm P = (38, 112), E modun 187 Để tính 2P mod 187 tuân theo thuật toán cộng đường cong elip tính 1 = ≡ 91 mod 187, 2y(P ) 224 3x(P )2 + A 4335 λ= = ≡ 34.91 ≡ 102 mod 187, 2y(P ) 224 x(2P ) = λ2 − 2x(P ) = 10328 ≡ 43 mod 187 y(2P ) = λ(x(P ) − x(2P )) − y(P ) = 102(38 − 43) − 112 ≡ 126 mod 187 Do 2P = (43, 126) điểm đường cong E modun 187 Tiếp theo tính 3P = 2P + P theo cách tương tự Trong trường hợp này, thêm điểm khác nhau, công thức cho λ khác phép tính giống nhau: Lê Thị Thu 25 K37C-SPT ĐHSP Hà Nội Khóa luận tốt nghiệp GVHD: T.s Trần Vĩnh Đức 1 = ≡ 75 mod 187 x(2P ) − x(P ) y(2P ) − y(P ) 14 λ= = ≡ 14.75 ≡ 115 mod 187, x(2P ) − x(P ) x(3P ) = λ2 − x(2P ) − x(P ) = 13144 ≡ 54 mod 187, y(3P ) = λ(x(P ) − x(3P )) − y(P ) = 115(38 − 54) − 112 ≡ 105 mod 187 Do 3P = (54, 105) đường cong E modun 187 Chúng ta lại tính giá trị nghịch đảo, trường hợp giá trị nghịch đảo mođun 187 Chúng ta để lại tiếp tục phép tính Ví dụ tính P + 3P 2P + 2P có câu trả lời 4P = (93, 64) Nếu tính đến 5P = 3P + 2P với 2P = (43, 126) 3P = (54, 105), ta có x(3P ) − x(2P ) = 54 − 43 = 11 mà (11, 187) = 11 11 giá trị nghịch đảo 187 Điều trở nên khó khăn Nhưng thất bại tính 5P cho biết 187 = 11.17 Ý tưởng thuật toán tìm nhân tử đường cong elliptic Lenstra Thuật toán tìm nhân tử đường cong elliptic đa đưa cách tổng quát sau: Đầu vào Số nguyên N Chọn giá trị A, a, b modun N Tập P = (a, b) B ≡ b2 − a3 − A.a mod N Cho E đường cong elliptic E : Y = X + AX + B Khi j = 2, 3, xác định điều kiện Tính Q ≡ jP (mod n) tập P = Q Nếu bước không tính , tìm d > với d | N Nếu d < N , quay trở giá trị d Nếu d = N , từ bước tìm đường cong điểm Gía trị j tăng quay ngược lại bước Ví dụ Chúng ta minh họa thuật toán Lenstra cách tính N = 6887 Chúng ta bắt đầu chọn ngẫu nhiên điểm P = (1512, 3166) số A = 14 tính B ≡ 31662 − 15123 − 14.1512 ≡ 19 Lê Thị Thu 26 mod 6887 K37C-SPT ĐHSP Hà Nội Khóa luận tốt nghiệp GVHD: T.s Trần Vĩnh Đức Và cho E đường cong elliptic E : Y = X + 14X + 19 Vì vậy, cách xây dựng, điểm P E modun 6887 Bây bắt đầu thực phép nhân P modun 6887 Với j = 2, ta có 2P ≡ (3466, 2996) mod 6887 Sau tính 3!.P = 3.(2P ) = 3.(3466, 2996) ≡ (3067, 396) mod 6887 Tương tự tính Q = 6!.P = (6141, 5581) Nếu ta muốn tính 7Q Đầu tiên tính toán 2Q ≡ (5380, 174) mod 6887, 4Q ≡ 2.2Q ≡ (203, 2038) mod 6887 Sau tính 7Q sau 7Q ≡ (Q + 2Q) + 4Q mod 6887, ≡ ((6141, 5581) + (5380, 174)) + (203, 2038) ≡ (984, 589) + (203, 2038) mod 6887 mod 6887 (3.2) Nhận thấy (203 − 984, 6887) = (−781, 6887) = 71 Nên 6887 = 71.97 Điều cho ta thấy E(F71 ) điểm P thỏa mãn 63P ≡ O mod 71, E(F97 ) điểm P thỏa mãn 107P ≡ O mod 97 Lê Thị Thu 27 K37C-SPT ĐHSP Hà Nội Kết luận Trên toàn nội dung khóa luận "Đường cong elliptic ứng dụng mật mã" Cụ thể: Chương 1:Cơ sở toán học Chương 2: Mục 2.1 trình bày đường cong elliptic Mục 2.2 phép toán đường cong elliptic Mục 2.3 trình bày đường cong elliptic trường hữu hạn Chương 3: Mục 3.1 mở đầu Mục 3.2 logarit rời rạc đường cong elliptic Mục 3.2 mật mã đường cong elliptic Mục 3.3 thuật toán tìm nhân tử đường cong elliptic Lenstra Do thời gian nghiên cứu lực hạn chế nên khóa luận đạt số kết định Em mong thầy cô, bạn góp ý nhận xét để khóa luận đầy đủ hoàn thiện Trước kết thúc khóa luận này, lần em xin bày tỏ lòng biết ơn sâu sắc thầy giáo trường, đặc biệt thầy giáo Trần Vĩnh Đức tận tình giúp đỡ em hoàn thành khóa luận 28 Tài liệu tham khảo [1] Jeffrey, Hoffstein, Jill Pipher, Joseph H.Silverman An Introduction to Mathematical Cryptography [2] L C Washington Elliptic Curves: Number Theory and Cryptography Discrete Mathematics and Its Applications,2003 [3] M J Wiener Cryptanalysis of short RSA secret exponents IEEE Trans.Inform Theory, 36(3):553–558, 1990 Hà Nội, tháng 05 năm 2015 Sinh viên Lê Thị Thu [...]... thấy rằng trong E(F71 ) điểm P thỏa mãn 63P ≡ O mod 71, và trong E(F97 ) điểm P thỏa mãn 107P ≡ O mod 97 Lê Thị Thu 27 K37C-SPT ĐHSP Hà Nội 2 Kết luận Trên đây là toàn bộ nội dung khóa luận "Đường cong elliptic và ứng dụng trong mật mã" Cụ thể: Chương 1:Cơ sở toán học Chương 2: Mục 2.1 trình bày về đường cong elliptic Mục 2.2 các phép toán trên đường cong elliptic Mục 2.3 trình bày về đường cong elliptic. .. −→ Z/sZ 3.3 Mật mã đường cong elliptic Đó là thời gian để áp dụng các đường cong trong mật mã Chúng ta bắt đầu với các ứng dụng đơn giản nhất, Diffie-Hellman trao đổi khóa, trong đó bao gồm thay thế các bài toán logarit rời rạc cho các trường hữu hạn Fp bởi bài toán logarit rời rạc cho một đường cong elliptic E(Fp ) Sau đó chúng tôi mô tả tương tự hệ mật mã hóa ElGamal trên đường cong elliptic 3.3.1... thỏa mãn tính chất đó được gọi là bậc của phần tử a Lê Thị Thu 11 K37C-SPT ĐHSP Hà Nội 2 Chương 2 Đường cong Elliptic và ứng dụng trong mật mã 2.1 Đường cong Elliptic Một đường cong Elliptic là tập hợp các nghiệm cho từ một phương trình: Y 2 = X 3 + AX + B Phương trình loại này được gọi là phương trình Weirerstrass được nghiên cứu rộng rãi trong thế kỷ thứ 19 Ví dụ, hình 2.1 mô tả hai đường cong elliptic. .. ElGamal trên đường cong elliptic Alice và Bob đã thống nhất sử dụng một số nguyên tố p, một đường cong elliptic E , và một điểm P ∈ E(Fp ) Alice đã chọn một khóa bí mật nA là một số nguyên và QA = nA P là khóa công khai Khi đó hệ mã hóa đường cong elliptic được xây dựng tương tự hệ mã hóa ElGamal, trong đó thuật toán mã hóa và giải mã được xác định như sau: Thuật toán mã hóa Bod lấy một điểm M ∈ E(Fp )... một điểm P thuộc đường cong elliptic là điểm Q được xác định bằng cách cộng n lần điểm P và Q ∈ E nP = P + P + P + + P n số 2.3 Đường cong elliptic trên trường hữu hạn Chúng ta đã phát triển lý thuyết về đường cong elliptic hình học Ví dụ, tổng của hai điểm phân biệt P và Q trên một đường cong elliptic E được định nghĩa bằng cách vẽ đường thẳng L nối P và Q và tìm điểm thứ ba mà L và E giao nhau Tuy... Bob và Alice đã trao đổi bí mật điểm (3347, 1242)) Họ phải loại bỏ các tọa độ y và chỉ có giá trị x = 3347 là một giá trị được chia sẻ bí mật Định nghĩa 3.3.1 Cho E(Fp ) là một đường cong elliptic trên một trường hữu hạn và để cho P ∈ E(Fp ) Các Bài toán đường cong elliptic Diffie-Hellman là vấn đề tính toán giá trị của n1 n2 P từ giá trị của n1 P và n2 P 3.3.2 Hệ mật mã ElGamal trên đường cong elliptic. .. bị cứng có thể cải thiện các tính toán trên các đường cong elliptic trên trường hữu hạn Năm 1997,1998 việc tìm ra các hệ mật mã trên đường cong elliptic ngày càng thu hút được nhiều sự chú ý và một số các thuật toán đã được đưa ra 3.2 Logarit rời rạc trên đường cong elliptic( ECDLP) Định nghĩa 3.2.1 Cho E là một đường cong elliptic trên E(Fp ), và với P và Q là hai điểm trên E(Fp ) Khi đó bài toán logarit... đó thì lý thuyết các đường cong elliptic đã được sử dụng cho việc lập mã Koblitz và Miller cùng độc lập đề nghị thay thế việc sử dụng nhóm trong trường hữu hạn bằng nhóm các điểm trên đường cong elliptic vì ở đó, các thuật toán dưới mũ đã biết để giải quyết bài toán logarit rời rạc có vẻ như không thể áp dụng được Từ đó việc sử dụng đường cong elliptic dẫn tới dẫn đến những hệ mã hiệu quả hơn (do không... = X 3 − 6X + 5 được thể hiện trên Hình 2.1 Hình 2.1: Hai đường cong elliptic E1 và E2 12 Khóa luận tốt nghiệp GVHD: T.s Trần Vĩnh Đức Hình 2.2: Quy tắc cộng trên đường cong elliptic Cho P và Q là hai điểm trên đường cong elliptic E như mô tả trên Hình 2.1 Ta vẽ đường thẳng L qua P và Q Đường L cắt E tại 3 điểm P ,Q và R Từ điểm R, ta lấy đối xứng qua trục x (nghĩa là chúng ta nhân tọa độ y bởi −1) ta... y1 ) và Q = (x2 , y2 ) là hai điểm trên E(FP ) Tổng của P1 + P2 là điểm (x3 , y3 ) thu được bằng cách áp dụng các thuật toán Cộng đường cong elliptic( Định lý 2.2.4) Tuy nhiên, không thể nói (x3 , y3 ) là một điểm trong E(FP ) Định lí 2.3.1 Cho E là một đường cong elliptic trên E(FP ) và cho hai điểm P và Q trên E(FP ) (a) Các thuật toán Cộng trên đường cong elliptic( Định lý 2.2.4) áp dụng cho P và Q ... Đường cong Elliptic ứng dụng mật mã 2.1 Đường cong Elliptic 2.2 Các phép toán đường cong elliptic 2.2.1 Phép cộng 2.2.2 Phép nhân 2.3 Đường. .. cong elliptic( ECDLP) Mật mã đường cong elliptic 3.3.1 Diffie- Hellman elliptic trao đổi khóa 3.3.2 Hệ mật mã ElGamal đường cong elliptic 3.4 Thuật toán tìm nhân tử đường cong. .. cho ak = Số k bé thỏa mãn tính chất gọi bậc phần tử a Lê Thị Thu 11 K37C-SPT ĐHSP Hà Nội Chương Đường cong Elliptic ứng dụng mật mã 2.1 Đường cong Elliptic Một đường cong Elliptic tập hợp nghiệm

Ngày đăng: 02/11/2015, 09:30

Từ khóa liên quan

Mục lục

  • Lời cảm ơn

  • Lời cam đoan

  • Cơ sở toán học

    • Phép chia và phép chia có dư

    • Số học modun

    • Số nguyên tố

    • Nhóm

    • Trường

    • Trường hữu hạn

    • Đường cong Elliptic và ứng dụng trong mật mã

      • Đường cong Elliptic

      • Các phép toán trên đường cong elliptic

        • Phép cộng

        • Phép nhân

        • Đường cong elliptic trên trường hữu hạn

        • Hệ mật mã đường cong elliptic

          • Mở đầu

          • Logarit rời rạc trên đường cong elliptic(ECDLP)

          • Mật mã đường cong elliptic

            • Diffie- Hellman elliptic trao đổi khóa

            • Hệ mật mã ElGamal trên đường cong elliptic

            • Thuật toán tìm nhân tử trên đường cong elliptic của Lenstra.

            • Kết luận

            • Tài liệu tham khảo

Tài liệu cùng người dùng

Tài liệu liên quan