NGHIÊN CỨU, TÌM HIỂU VÀ TRÌNH BÀY VỀ CHỮ KÝ SỐ TRÊN ĐƯỜNG CONG Elliptic, ỨNG DỤNG CỦA ĐƯỜNG CONG Elliptic TRONG HỆ THỐNG BỎ PHIẾU ĐIỆN TỬ VÀ HỆ THỐNG TIỀN ĐIỆN TỬ
1 TRƯỜNG……………………… KHOA…………………………… LUẬN VĂN TỐT NGHIỆP NGHIÊN CỨU, TÌM HIỂU VÀ TRÌNH BÀY VỀ CHỮ KÝ SỐ TRÊN ĐƯỜNG CONG Elliptic, ỨNG DỤNG CỦA ĐƯỜNG CONG Elliptic TRONG HỆ THỐNG BỎ PHIẾU ĐIỆN TỬ VÀ HỆ THỐNG TIỀN ĐIỆN TỬ. 2 LỜI CẢM ƠN Lời đầu tiên, em xin được gửi lời cảm ơn sâu sắc tới PGS.TS. Trịnh Nhật Tiến, người thầy đã giúp đỡ em trong suốt quá trình làm khóa luận, đồng thời cũng là người thầy đã hướng dẫn em những bước đi đầu tiên để khám phá một lĩnh vực đầy bí ẩn và thách thức – lĩnh vực an toàn và bảo mật dữ liệu. Em xin được cảm ơn các thầy, các cô đã giảng dạy em trong suốt bốn năm qua. Những kiến thức mà các thầy, các cô đã dạy sẽ mãi là hành trang giúp em vững bước trong tương lai . Em cũng xin được cảm ơn tập thể lớp K50CC, một tập thể lớp đoàn kết với những người bạn không chỉ học giỏi mà còn luôn nhiệt tình giúp đỡ mọi người, những người bạn đã giúp đỡ em trong suốt bốn năm học tập trên giảng đường Đại học. Cuối cùng, em xin được gửi lời cảm ơn sâu sắc tới gia đình em, những người luôn kịp thời động viên, khích lệ em, giúp đỡ em vượt qua những khó khăn trong cuộc sống. Hà nội, tháng 05 năm 2009 Sinh viên Nguyễn Minh Hải 3 TÓM TẮT NỘI DUNG KHÓA LUẬN Khóa luận là sự nghiên cứu, tìm hiểu và trình bày về chữ ký số trên đường cong Elliptic, ứng dụng của đường cong Elliptic trong Hệ thống bỏ phiếu điện tử và Hệ thống tiền điện tử. Khóa luận được trình bày thành bốn chương với nội dung như sau: Chương 1 : Tóm tắt các khái niệm cơ bản trong số học và trong đại số học. Chương 2 : Trình bày về khái niệm đường cong Elliptic, các dạng đường cong và các phép toán trên đường cong Elliptic. Chương 3 : Trình bày một số chữ ký số trên đường cong Elliptic và phương pháp tấn công hệ mã hóa đường cong Elliptic. Chương 4 : Trình bày ứng dụng của đường cong Elliptic trong Hệ thống bỏ phiếu điện tử và Hệ thống tiền điện tử. 4 CÁC KÝ HIỆU VIẾT TẮT Tom Người gửi tin hoặc người thực hiện việc ký BĐK Ban đăng ký BKP Ban kiểm phiếu Jerry Người nhận tin hoặc người yêu cầu ký EC Đường cong Elliptic (Elliptic Curve) ECC Mã hóa đường cong Elliptic (Elliptic Curve Cryptosystem) ECDSA Thuật toán ký trên EC EDLP Bài toán Logarith rời rạc trên EC E-Voting Bỏ phiếu điện tử (Electronic Voting) gcd Ước số chung lớn nhất (Greatest Common Divisor) GF Trường hữu hạn (Galois Field) IEEE Institute of Electrical and Electronics Engineers IETF Internet Engineer Task Force IFP Bài toán ước số nguyên (Integer Factorization Problem) lcm Bội số chung nhỏ nhất (Least Common Multiple) MOV Phương pháp tấn công Menezes – Okamoto - Vanstone NIST National Institute of Standards RFC Request For Comments RIPEMD-160 Hàm băm 160 bit RSA Hệ mã hóa khóa công khai Rivest – Shamir – Adleman TOF Hàm cửa sập một chiều (Trapdoor One-way Function) 5 CÁC KÝ HIỆU TOÁN HỌC < g > Nhóm cyclic được sinh bởi g #E Số phần tử của đường cong elliptic C Tập các bản mã có thể d K Thuật toán giải mã E Đường cong elliptic e K Thuật toán mã hóa F* Nhóm nhân trên trường F F q Trường hữu hạn với q phần tử G Điểm cơ sở của E K Không gian các khóa O Phần tử trung hòa của E sig K Thuật toán ký số ver K Thuật toán kiểm tra chữ ký Z p Vành các số nguyên dương p φ(n) Hàm phi Euler các số nguyên trong Z n nguyên tố cùng nhau với n. 6 DANH MỤC CÁC HÌNH VẼ TRONG KHÓA LUẬN Hình 1: Một ví dụ về đường cong Elliptic Error! Bookmark not defined. Hình 2: Điểm ở vô cực Error! Bookmark not defined. Hình 3: Phép cộng trên đường cong elliptic Error! Bookmark not defined. Hình 4: Phép nhân đôi trên đường cong elliptic Error! Bookmark not defined. 7 MỤC LỤC LỜI MỞ ĐẦU 1 Chương 1 : CÁC KHÁI NIỆM CƠ BẢN 11 1.1. KHÁI NIỆM TRONG SỐ HỌC 11 1.1.1. Ước chung lớn nhất và bội chung nhỏ nhất 11 1.1.2. Quan hệ đồng dư 12 1.1.3. Số nguyên tố 13 1.2. KHÁI NIỆM TRONG ĐẠI SỐ 15 1.2.1. Nhóm 15 1.2.2. Vành 17 1.2.3. Trường 18 1.2.4. Không gian vector 22 Chương 2. ĐƯỜNG CONG ELLIPTIC 23 2.1. CÔNG THỨC WEIERSTRASSE VÀ ĐƯỜNG CONG ELLIPTIC 24 2.2. ĐƯỜNG CONG ELLIPTIC TRÊN TRƯỜNG R 2 24 2.2.1. Phép cộng 25 2.2.2. Phép nhân đôi 28 2.3. ĐƯỜNG CONG ELLIPTIC TRÊN TRƯỜNG HỮU HẠN 29 2.3.1. Đường cong elliptic trên trường F p (p là số nguyên tố) 29 2.3.2. Đường cong elliptic trên trường F 2 m 30 2.3.3. Các phép toán trên đường cong elliptic trong hệ tọa độ Affine 30 2.3.4. Các phép toán trên đường cong elliptic trong hệ tọa độ chiếu 32 2.3.5. Chuyển đổi giữa hệ tọa độ Affine và hệ tọa độ chiếu 33 2.3.6. Các phép toán đường cong trong hệ tọa độ chiếu 33 2.3.6. Phép nhân đường cong 34 2.4 BÀI TOÁN LOGARIT RỜI RẠC TRÊN ĐƯỜNG CONG ELLIPTIC 36 Chương 3. CHỮ KÝ SỐ TRÊN ĐƯỜNG CONG ELLIPTC 37 3.1. CHỮ KÝ SỐ 37 3.1.1. Khái niệm chữ ký số 37 3.1.2. Sơ đồ chữ ký số 38 3.2. MỘT SỐ SƠ ĐỒ CHỮ KÝ SỐ TRÊN ĐƯỜNG CONG ELLIPTIC 41 3.2.1. Sơ đồ chữ ký ECDSA 41 3.2.2. Sơ đồ chữ ký Nyberg- Rueppel 43 3.2.3. Sơ đồ chữ ký mù Harn trên EC 44 8 3.2.4. Sơ đồ đa chữ ký mù của Harn trên EC 47 3.3. MỘT SỐ PHƯƠNG PHÁP TẤN CÔNG HỆ ECC 49 3.3.1. Phương pháp tấn công “baby - step giant - step” 49 3.3.2. Phương pháp tấn công MOV 50 Chương 4 . ỨNG DỤNG CHỮ KÝ SỐ TRÊN ĐƯỜNG CONG ELLIPTIC 53 4.1.ỨNG DỤNG TRONG BỎ PHIẾU ĐIỆN TỬ 54 4.1.1. Quy trình bỏ phiếu điện tử 54 4.1.2. Sử dụng ECC trong bỏ phiếu điện tử 55 4.2. ỨNG DỤNG TRONG HỆ THỐNG TIỀN ĐIỆN TỬ 57 4.2.1. Tạo tiền ecash 57 4.2.2 Tiêu tiền ecash 58 4.2.3 Đổi tiền 58 4.2.4 Kết thúc giao dịch 58 KẾT LUẬN 59 TÀI LIỆU THAM KHẢO 61 9 LỜI MỞ ĐẦU Mục tiêu cơ bản của mật mã học là đảm bảo tính bí mật. Nó cho phép 2 đối tác trao đổi thông tin với nhau một cách an toàn trên những kênh truyền thông công khai. Hệ mật mã khóa bí mật có thể định nghĩa như sau: Giả sử ký hiệu M là tập tất cả các bản rõ có thể. C là tập tất cả các bản mã có thể. K là tập các khóa có thể. Hệ mật mã khóa bí mật gồm 2 hàm: CMe k : , MCd k : , Kk sao cho mmed kk ))(( với mọi Mm và Kk . Trong hệ mật mã này, người gửi (giả sử là Tom)và người nhận (Jerry) cùng thỏa thuận một khóa bí mật, bằng cách gặp mặt nhau trực tiếp hoặc nhờ một trung tâm tin cậy phân phối khóa. Nếu Tom muốn gửi cho Jerry một thông điệp Mm , cô ấy sẽ gửi bản mã )(mec k cho Jerry. Jerry sẽ khôi phục bản rõ m bằng việc dùng hàm giải mã k d . Hệ mật mã khóa bí mật phải đảm bảo rằng các hàm k e và k d phải dễ áp dụng nhưng vẫn an toàn trước kẻ tấn công, khi có bản mã c vẫn khó tính được m (hoặc khóa k). Dù hệ mật mã khóa bí mật vẫn đang được dùng trong nhiều ứng dụng, nhưng vẫn còn một số nhược điểm như vấn đề phân phối khóa, vấn đề quản lý khóa và nó không hỗ trợ việc tạo chữ ký điện tử. Ý tưởng chính của các thuật toán khóa công khai là sử dụng 2 khóa khác nhau cho 2 quá trình mã hóa và giải mã. Ý tưởng này được phát minh bởi Whitfield Diffie và Martin Hellman (1976), độc lập với Ralph Merkle (1978). Từ đó, nhiều hệ mật mã khóa công khai được đưa ra, nhưng hầu hết chúng đều hoặc không an toàn hoặc không khả thi. Các thuật toán khóa công khai đều chậm hơn rất nhiều so với các thuật toán khóa bí mật. Thuật toán RSA chậm hơn 1000 lần so với các thuật toán khóa bí mật phổ biến như DES khi triển khai trong các thiết bị phần cứng; và chậm hơn 100 lần trong các phần mềm mã hóa khi mã hóa cùng một khối lượng dữ liệu như nhau. Tuy nhiên, hệ mật mã khóa công khai có một ưu điểm nổi trội là cho phép tạo chữ ký điện tử. Khóa riêng được người sở hữu giữ bí mật và nó được sử dụng để tạo chữ ký điện tử hoặc để giải mã các thông điệp đã được mã hóa bằng khóa công khai. Khóa công khai không cần thiết phải giữ bí mật do tính chất “khó tính được khóa riêng từ khóa công khai” của cặp khóa. Vì vậy, người dùng có thể công bố khóa công khai 10 trên các kênh công cộng cho những ai muốn gửi thông tin cho họ hoặc xác minh chữ ký của họ. Trong lịch sử hơn 20 năm của mật mã khóa công khai, đã có nhiều bài toán “khó” được đưa ra xem xét để ứng dụng cho các vấn đề mật mã học. Trong đó có 2 bài toán nổi bật nhất là bài toán logarith rời rạc trên trường hữu hạn và bài toán tìm ước số nguyên tố. Năm 1985, Neal Koblitz và V.S.Miller đã độc lập nhau cùng đề xuấtviệc sử dụng các đường cong elliptic cho các hệ mã hóa khóa công khai. Họ không phát minh ra thuật toán mã hóa mới với các đường cong elliptic trên trường hữu hạn, mà họ dùng những thuật toán đã có như Diffie – Hellman, sử dụng các đường cong elliptic. Các đường cong Elliptic có thể dùng trong nhiều ứng dụng như kiểm thử số nguyên tố hoặc bài toán tìm ước số nguyên tố. Các hệ mật mã trên đường cong elliptic (ECC) được dự báo là sẽ phổ biến hơn RSA do khóa nhỏ gọn hơn nhiều (khoảng 163 bit) so với RSA (1024 bit). Vì vậy, tốc độ mã hóa nhanh hơn so với RSA. Như vậy ECC có thể được dùng trên các thiết bị cầm tay (có bộ nhớ nhỏ, và tốc độ tính toán không cao) . Việc thương mại hóa ECC đã được một số nơi thực hiện như công ty Certicom và công ty RSA đã hỗ trợ mã hóa ECC trong các bộ công cụ phát triển. Tuy nhiên, một vấn đề có thể ảnh hưởng đến sự chấp nhận ECC rộng rãi như một phần của cơ sở hạ tầng khóa công khai là các kỹ thuật thực thi đường cong elliptic, thói quen, các thuật toán, và các giao thức. ECC đòi hỏi các thủ tục toán học phức tạp trong việc khởi tạo các đường cong. Các chuyên gia công nghệ thông tin vẫn chưa hiểu thấu đáo để thiết kế các hệ thống bảo mật dựa trên mật mã học, trong khi hệ RSA thì không quá phức tạp và khó hiểu. [...]... cơ bản trên đường cong elliptic Phép nhân được thể hiện là một dãy các phép cộng và phép nhân đôi các điểm của đường cong elliptic Giống như các phép tính trên đường cong elliptic trên số thực, phép cộng và phép nhân đôi được định nghĩa trên hệ tọa độ Xét đường cong elliptic E trên F2m trong hệ tọa độ Affine Cho P = (x1 , y1) , Q = (x2 , y2) là hai điểm trên đường cong elliptic E(F2m) Điểm đối của P... (x , y) trên E(F2m) E(F2m) (x ,y) E(F2m) Khi đó (x, x + y) là điểm đối của Việc xử lý được thực hiện trên hai hệ tọa độ khác nhau: hệ tọa độ Affine và hệ tọa độ quy chiếu Với các hệ tọa độ khác nhau, việc tính toán trên đường cong cũng khác nhau 2.3.3 Các phép toán trên đường cong elliptic trong hệ tọa độ Affine Hệ mã hóa đường cong elliptic dựa trên bài toán logarit rời rạc trên E(F2m) và các tính... K Đường cong elliptic trên trường k được ký hiệu E(K) Số lượng các điểm nguyên trên E ký hiệu là #E(K) , có khi chỉ đơn giản là #E Đối với từng trường khác nhau, công thức Weierstrasse có thể được biến đổi và đơn giản hóa thành các dạng khác nhau Một đường cong elliptic là tập hợp các điểm thỏa mãn công thức trên Hình 1: Một ví dụ về đường cong Elliptic 2.2 ĐƯỜNG CONG ELLIPTIC TRÊN TRƯỜNG R2 Đường cong. .. của hệ thống mã hóa sử dụng đường cong elliptic dựa trên điểm mấu chốt là độ phức tạp của bài toán logarit rời rạc trong hệ thống đại số Trong suốt 10 năm gần đây, bài toán này nhận được sự quan tâm chú ý rộng rãi của các nhà toán học hàng đầu trên thế giới Không giống như bài toán logarit rời rạc trên trường hữu hạn hoặc bài toán phân tích thừa số của số nguyên, bài toán logarit rời rạc trên đường cong. .. lập nghiên cứu và đưa ra đề xuất ứng dụng lý thuyết toán học đường cong elliptic (elliptic curve ) trên trường hữu hạn Đường cong elliptic cũng như đại số hình học- được nghiên cứu rộng rãi trong vòng 150 năm trở lại đây và đã đạt được một số kết quả lý thuyết có giá trị Đường cong elliptic được phát hiện lần đầu tiên vào thế kỷ 17 dưới dạng công thức Diophantine : y2 – x3 = c với c Z Tính bảo mật của. .. một số hữu hạn các vector thì bất kỳ cơ sở nào của V cũng sẽ có cùng số phần tử Khi đó nó chính là chiều của V trên K Nếu F là một trường mở rộng của trường K thì F là một không gian vector trên K Chiều của F trên K được gọi là bậc mở rộng của F trên K 22 Chương 2 ĐƯỜNG CONG ELLIPTIC Hệ thống mã khóa khóa công khai dựa trên việc sử dụng các bài toán khó giải quyết Vấn đề khó ở đây chính là việc số lượng... được sử dụng: trường hữu hạn Fq với q là số nguyên tố hoặc q là 2m (m là số nguyên) Tùy thuộc vào trường hữu hạn Fq, 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.3.1 Đường cong elliptic trên trường Fp (p là số nguyên tố) Cho p là số nguyên tố (p>3), Cho a,b Fp sao cho 4a3 + 27b2 ≠ 0 trong. .. phép toán đường cong trong hệ tọa độ chiếu Phương pháp trình bày công thức của phép cộng và nhân đôi trong hệ tọa chiếu tương tự với hệ tọa độ Affine Cho P’ = (x1: y1: z1) E’(F2m) , Q’ = (x2: y2: z2) E’(F2m) và P’ ≠ -Q’ trong đó P’ , Q’ thuộc hệ tọa độ quy chiếu Do P’ = (x1/z1: y1/z1:1), ta có thể áp dụng công thức cộng và nhân cho điểm P(x1/z1: y1/z1) và Q(x2,y2) cho E(F2m) trong hệ Affine để tìm P’... y1 Trả về (x3, y3) = R 27 E(R) , E(R) 2.2.2 Phép nhân đôi Hình 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 28 2.3 ĐƯỜNG CONG ELLIPTIC TRÊN TRƯỜNG HỮU HẠN Đường cong elliptic được xây dựng trên các... là một trong q phần tử của K nên số các tổ hợp tuyến tính là qn 19 Định lý Nếu F là một trường hữu hạn có đặc số p thì F có pn phần tử với n nguyên dương Vì vậy, mọi trường hữu hạn là một mở rộng của trường đẳng cấu Zp với p là đặc số của F Định lý Trường hữu hạn F = F p là một trường mở rộng của Zp bậc n và mọi phần tử n n của F p là một nghiệm của đa thức x p x trên Zp n Chứng minh Đặc số của F . NGHIÊN CỨU, TÌM HIỂU VÀ TRÌNH BÀY VỀ CHỮ KÝ SỐ TRÊN ĐƯỜNG CONG Elliptic, ỨNG DỤNG CỦA ĐƯỜNG CONG Elliptic TRONG HỆ THỐNG BỎ PHIẾU ĐIỆN TỬ VÀ HỆ THỐNG. hiểu và trình bày về chữ ký số trên đường cong Elliptic, ứng dụng của đường cong Elliptic trong Hệ thống bỏ phiếu điện tử và Hệ thống tiền điện tử. Khóa