intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Luận văn Thạc sĩ Khoa học máy tính: Nghiên cứu xây dựng bảo mật và xác thực tài liệu điện tử dựa trên PKI và ứng dụng vào trường đại học Hạ Long

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:64

29
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Mục đích của luận văn là nghiên cứu các vấn đề về an toàn hệ thống thông tin, lý thuyết mật mã, mật mã đối xứng, mật mã công khai. Xây dựng và phát triển ứng dụng chữ ký số, xác thực, mã hoá và giải mã tài liệu điện tử ứng dụng trong thực tế. Mời các bạn cùng tham khảo!

Chủ đề:
Lưu

Nội dung Text: Luận văn Thạc sĩ Khoa học máy tính: Nghiên cứu xây dựng bảo mật và xác thực tài liệu điện tử dựa trên PKI và ứng dụng vào trường đại học Hạ Long

  1. ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ––––––––––––––––––––––––––––––– MAI THỊ HOA HUỆ NGHIÊN CỨU XÂY DỰNG BẢO MẬT VÀ XÁC THỰC TÀI LIỆU ĐIỆN TỬ DỰA TRÊN PKI VÀ ỨNG DỤNG VÀO TRƯỜNG ĐẠI HỌC HẠ LONG LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH THÁI NGUYÊN - 2017
  2. ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ––––––––––––––––––––––––––––––– MAI THỊ HOA HUỆ NGHIÊN CỨU XÂY DỰNG BẢO MẬT VÀ XÁC THỰC TÀI LIỆU ĐIỆN TỬ DỰA TRÊN PKI VÀ ỨNG DỤNG VÀO TRƯỜNG ĐẠI HỌC HẠ LONG Chuyên ngành: Khoa học máy tính Mã số: 60 48 01 01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Người hướng dẫn khoa học: TS. Hồ Văn Hương THÁI NGUYÊN - 2017
  3. i LỜI CAM ĐOAN Tác giả xin cam đoan rằng số liệu và kết quả nghiên cứu trong luận văn là hoàn toàn trung thực chưa hề được sử dụng và công bố trong bất kỳ một công trình khoa học nào. Các thông tin, tài liệu trình bày trong luận văn đã được ghi rõ nguồn gốc. Tác giả luận văn Mai Thị Hoa Huệ
  4. ii LỜI CẢM ƠN Trong quá trình học tập, nghiên cứu viết luận văn, được sự giúp đỡ của Trường Đại học Công nghệ Thông tin và Truyền thông, các thầy giáo, cô giáo, các tổ chức, đồng nghiệp trong và ngoài tỉnh đã tạo điều kiện về vật chất, thời gian và cung cấp tài liệu giúp đỡ tôi hoàn thành luận văn. Tôi xin chân thành cảm ơn sự giúp đỡ quý báu của các thầy, cô giáo, các tổ chức, đồng nghiệp và người hướng dẫn khoa học TS. Hồ Văn Hương đã hết lòng hướng dẫn và giúp đỡ tôi rất nhiều trong nghiên cứu khoa học và thực hiện hoàn thành luận văn này. Tác giả xin trân trọng cảm ơn! Tác giả luận văn Mai Thị Hoa Huệ
  5. iii MỤC LỤC LỜI CAM ĐOAN .............................................................................................. i LỜI CẢM ƠN ................................................................................................... ii MỤC LỤC ........................................................................................................ iii DANH MỤC CÁC TỪ VIẾT TẮT ................................................................. vi DANH MỤC CÁC BẢNG.............................................................................. vii DANH MỤC CÁC HÌNH .............................................................................. viii MỞ ĐẦU .......................................................................................................... 1 1. Nhu cầu bảo mật và xác thực văn bản điện tử .............................................. 1 2. Lý do chọn đề tài ........................................................................................... 1 3. Mục đích nghiên cứu ..................................................................................... 1 4. Phương pháp nghiên cứu ............................................................................... 2 5. Bố cục của luận văn ...................................................................................... 2 CHƯƠNG 1: GIỚI THIỆU CHUNG VỀ MẬT MÃ ................................... 3 1.1. Mật mã khóa đối xứng ............................................................................... 3 1.1.1. Khái niệm .......................................................................................... 3 1.1.2. Bảo vệ tính bí mật của thông tin với mật mã khóa đối xứng ........... 3 1.2 . Mật mã khóa công khai ............................................................................. 4 1.2.1. Khái niệm .......................................................................................... 4 1.2.2 . Bảo vệ thông tin với mật mã khóa công khai .................................. 4 1.2.3. Thuật toán RSA ................................................................................ 6 1.2.4. Hệ mật ElGamal trên đường cong elliptic ........................................ 7 1.2.5. Sơ đồ trao đổi khóa Elliptic .............................................................. 9 1.2.6. Thuật toán chữ ký số Elliptic (ECDSA) ......................................... 10 1.2.7. So sánh giữa Elliptic và RSA ......................................................... 11 1.3. Kết hợp mật mã đối xứng và mật mã khóa công khai ............................. 13 1.4. Kết luận chương 1 .................................................................................... 14
  6. iv CHƯƠNG 2: CƠ SỞ HẠ TẦNG KHÓA CÔNG KHAI ........................... 15 2.1. Khái niệm về PKI và các khái niệm cơ bản trong PKI ............................ 15 2.1.1. Khái niệm PKI ................................................................................ 15 2.1.2. Các khái niệm cơ bản trong PKI ..................................................... 15 2.2. Các thành phần PKI ................................................................................. 20 2.2.1. Tổ chức chứng thực ........................................................................ 21 2.2.2. Trung tâm đăng ký .......................................................................... 21 2.2.3. Người dùng cuối ............................................................................. 22 2.2.4 . Hệ thống lưu trữ ............................................................................ 22 2.3. Các dịch vụ PKI ....................................................................................... 23 2.3.1. Các dịch vụ cốt lõi của PKI ............................................................ 23 2.3.2. Các dịch vụ PKI hỗ trợ ................................................................... 25 2.4. Các mô hình kiến trúc PKI ....................................................................... 27 2.4.1. Kiến trúc kiểu CA đơn (Single CA) ............................................... 28 2.4.2. Kiến trúc kiểu CA phân cấp ............................................................ 28 2.4.3. Kiến trúc kiểu chứng thực chéo (Cross – certificate) ..................... 29 2.4.4. Kiến trúc kiểu Bridge CA ............................................................... 30 2.5. Ứng dụng của PKI trong ký số và bảo mật dữ liệu .................................. 31 2.5.1. Mã hóa ............................................................................................ 31 2.5.2. Chống giả mạo ................................................................................ 32 2.5.3. Xác thực .......................................................................................... 32 2.5.4. Chống chối bỏ nguồn gốc ............................................................... 32 2.5.5. Chữ ký điện tử ................................................................................ 32 2.5.6. Bảo mật website .............................................................................. 33 2.5.7. Code Signing................................................................................... 33 2.5.8. Chứng thực điện tử ......................................................................... 34 2.6. Kết luận chương 2 .................................................................................... 34
  7. v CHƯƠNG 3: XÂY DỰNG ỨNG DỤNG BẢO MẬT VÀ XÁC THỰC TÀI LIỆU ĐIỆN TỬ ..................................................................................... 35 3.1. Phân tích ................................................................................................... 35 3.2. Thiết kế ..................................................................................................... 35 3.3. Các chức năng trong phần mềm ............................................................... 36 3.4. Xây dựng giao diện .................................................................................. 37 3.5. Thiết kế lớp .............................................................................................. 39 3.6. Cài đặt và kiểm thử .................................................................................. 41 3.7. Kết luận chương 3 .................................................................................... 50 KẾT LUẬN .................................................................................................... 51 TÀI LIỆU THAM KHẢO ............................................................................ 53
  8. vi DANH MỤC CÁC TỪ VIẾT TẮT CNTT Công nghệ thông tin ATTT An toàn thông tin CA Certificate Authority PKI Public Key Infastructure SPKC Simple Public Key Certificate AC Attribute Certificate ITU International Telecommunication Union CRLs Certificate Revocation Lists RA Registration Authorites DSAs Directory System Agents OCSP Online Certificate Status Protocol LDAP Lightweight Directory Access Protocol DNS Domain Name System FTP File Transfer Protocol MAC Message Authentication Code P2P Peer to Peer SSL Secure Socket Layer
  9. vii DANH MỤC CÁC BẢNG Bảng 1.1. So sánh sử dụng RSA và ECC trong quá trình bắt tay của SSL .... 12 Bảng 1.2. So sánh kích thước khóa RSA và ECC với cùng mức độ an toàn . 12
  10. viii DANH MỤC CÁC HÌNH Hình 1.1: Mã hóa khóa bí mật ........................................................................... 4 Hình 1.2: Mã hóa khóa công khai ..................................................................... 5 Hình 1.3: Xác thực thông tin ............................................................................. 5 Hình 1.4: Ký và mã với khóa công khai ........................................................... 6 Hình 1.5: So sánh mức độ bảo mật giữa ECC với RSA/DSA ........................ 12 Hình 1.6: Kết hợp khóa công khai và khóa bí mật ......................................... 14 Hình 2.1: Chứng thư số ................................................................................... 15 Hình 2.2: Các thành phần PKI ........................................................................ 20 Hình 2.3: Single CA ........................................................................................ 28 Hình 2.4: CA phân cấp .................................................................................... 29 Hình 2.5: Chứng thực chéo ............................................................................. 30 Hình 2.6: Bridge CA ....................................................................................... 31 Hình 3.1: Giao diện xác thực khóa cá nhân .................................................... 38 Hình 3.2: Giao diện chính ............................................................................... 38 Hình 3.3: Giao diện thông báo ........................................................................ 39 Hình 3.4: Lớp Crypto ...................................................................................... 39 Hình 3.5: Lớp ECDH ...................................................................................... 40 Hình 3.6: Lớp Data Transfrmer....................................................................... 40 Hình 3.7: Lớp ECDSA_Signature................................................................... 41 Hình 3.8: XML Work ...................................................................................... 41 Hình 3.9: Xác thực người dùng ....................................................................... 42 Hình 3.10: Thông báo file không phải là khóa cá nhân .................................. 42 Hình 3.11: Xác thực thất bại ........................................................................... 42 Hình 3.12: Xác thực đúng ............................................................................... 43 Hình 3.13: Giao diện chính của chương trình ................................................. 43 Hình 3.14: Thông báo cho người dùng kết quả .............................................. 43 Hình 3.15: file .sign chứa chữ ký .................................................................... 44
  11. ix Hình 3.16: Nội dung chữ ký được sinh ra ....................................................... 44 Hình 3.17: Các thẻ tương ứng trong file chữ ký ............................................. 44 Hình 3.18: Thông báo xác minh chữ ký sai .................................................... 45 Hình 3.19: Trích xuất nội dung khi xem log ................................................... 45 Hình 3.20: Trích xuất nội dung khi xem log ................................................... 45 Hình 3.21: file phục hồi file gốc ..................................................................... 46 Hình 3.22: Thông báo lỗi file định dạng publickey ........................................ 46 Hình 3.23: Tạo key phục vụ ............................................................................ 46 Hình 3.24: Tải dữ liệu từ file gốc lên và tiến hành mã hóa ............................ 47 Hình 3.25: Thông báo mã hóa thành công ...................................................... 47 Hình 3.26: Định dạng file................................................................................ 47 Hình 3.27: Nội dung thẻ Senderpubkey .......................................................... 48 Hình 3.298: Tạo lại key ECDH ....................................................................... 48 Hình 3.29: Kết quả giải mã ............................................................................. 48 Hình 3.30: Thông báo giải mã thành công ...................................................... 48 Hình 3.31: Lưu file .......................................................................................... 49 Hình 3.32: File đã giải mã ............................................................................... 49 Hình 3.33: Thông báo giải mã thất bại............................................................ 49 Hình 3.34: Giải mã thất bại xem qua log ........................................................ 50
  12. 1 MỞ ĐẦU 1. Nhu cầu bảo mật và xác thực văn bản điện tử Ngày nay, công nghệ thông tin phát triển rất nhanh và được ứng dụng vào hầu hết những lĩnh vực trong cuộc sống. Vai trò của công nghệ thông tin ngày càng được nâng cao, không chỉ dừng lại ở những ứng dụng văn phòng, công nghệ thông tin còn được triển khai ở nhiều lĩnh vực. Bên cạnh những lợi thế trong việc áp dụng công nghệ thông tin, việc sử dụng CNTT còn tiềm ẩn nhiều vấn đề còn tồn tại, trong đó có việc đảm bảo an toàn thông tin ví dụ như bị đánh cắp dữ liệu, được phép đọc các tài liệu mà không đủ thẩm quyền, dữ liệu bị phá hủy … Do đó, bên cạnh việc triển khai và sử dụng CNTT, chúng ta cũng phải đảm bảo ATTT. Đảm bảo ATTT chính là đảm bảo hệ thống có được ba yếu tố [3]:  Tình toàn vẹn  Tính bí mật  Tính sẵn sàng 2. Lý do chọn đề tài Vấn đề đảm bảo an ninh, an toàn thông tin dữ liệu là nội dung nghiên cứu thiết thực, là chủ để luôn được các cấp, các ngành quan tâm trong lĩnh vực công nghệ thông tin. Nhu cầu đảm bảo an ninh thông tin dữ liệu trên mạng máy tính là cấp thiết trong các hoạt động kinh tế xã hội, đặc biệt là đối với các mạng máy tính chuyên dùng phục vụ công tác an ninh, quốc phòng, đối ngoại của các cơ quan Đảng, Nhà nước … Hiện nay trường Đại học Hạ Long trao đổi tài liệu chủ yếu qua mạng Internet. Tuy nhiên, việc đưa thông tin lên mạng đó lại tiềm ẩn nhiều rủi ro, trong đó đặc biệt phải kể đến những rủi ro về bảo mật nhất là thông tin trong hệ thống là thông tin nhạy cảm và cần phải xác thực được tính chính xác vì những sai sót sẽ dẫn đến hậu quả nghiêm trọng.Vì vậy em chọn đề tài: :“Nghiên cứu xây dựng bảo mật và xác thực tài liệu điện tử dựa trên PKI và ứng dụng vào trường Đại học Hạ Long ” 3. Mục đích nghiên cứu 3.1. Mục đích nghiên cứu Luận văn nghiên cứu các vấn đề về an toàn hệ thống thông tin, lý thuyết mật mã, mật mã đối xứng, mật mã công khai. Xây dựng và phát triển ứng dụng chữ ký số, xác thực, mã hoá và giải mã tài liệu điện tử ứng dụng trong thực tế.
  13. 2 3.2. Đối tượng và phạm vi nghiên cứu Trong phạm vi luận văn này sẽ tập trung tìm hiểu một số nội dung cơ bản: Nghiên cứu các thành phần, dịch vụ, kiến trúc và ứng dụng của cơ sở hạ tầng khóa công khai PKI. Đánh giá vấn đề an toàn và bảo mật xác thực tài liệu điện tử. 4. Phương pháp nghiên cứu Luận văn kết hợp nghiên cứu lý thuyết, nghiên cứu xây dựng bảo mật và xác thực tài liệu điện tử dựa trên PKI. 5. Bố cục của luận văn Ngoài phần Mở đầu và Kết luận, Luận văn gồm 3 chương như sau: Chương 1: Trình bày tổng quan về cơ sở lý thuyết mật mã: mật mã khóa đối xứng, mật mã khóa công khai, kết hợp mật mã khóa đối xứng và mật mã khóa công khai, các thuật toán. Chương 2: Cơ sở hạ tầng khóa công khai: khái niệm về PKI, các thành phần cơ bản, dịch vụ, mô hình và các ứng dụng của PKI. Chương 3: Xây dựng ứng dụng.
  14. 3 CHƯƠNG 1 GIỚI THIỆU CHUNG VỀ MẬT MÃ Nội dung của chương luận văn này sẽ trình bày tổng quát về cơ sở lý thuyết mật mã, nêu các khái niệm về mật mã, tiếp theo sẽ đi sâu vào một số thuật toán mã hóa công khai và trên cơ sở đó nhận xét, đánh giá một số thuật toán mã hóa công khai phổ biến hiện nay. 1.1. Mật mã khóa đối xứng 1.1.1. Khái niệm Mật mã khóa đối xứng còn được gọi là Mật mã khóa bí mật. Đây là phương pháp mã hóa sử dụng cặp khóa đối xứng. Với phương pháp này, người gửi và người nhận sẽ dùng chung một khóa để mã hóa và giải mã thông điệp. Trước khi mã hóa thông điệp gửi đi, hai bên gửi và nhận phải có khóa chung và phải thống nhất thuật toán để mã hóa và giải mã. Mật mã là khoa học bảo vệ dữ liệu, cung cấp những phương pháp chuyển đổi dữ liệu thành những bản mã để [7]:  Dữ liệu không thể truy cập được bởi những người bất hợp pháp.  Nội dung dữ liệu được giữ kín với những người khác.  Dữ liệu được xác thực.  Tránh được sự phát hiện và sửa đổi dữ liệu.  Chống chối bỏ. Trong mật mã hiện đại, có hai hệ mật được sử dụng nhiều nhất, đó là : hệ mật khóa đối xứng và hệ mật khóa công khai. 1.1.2. Bảo vệ tính bí mật của thông tin với mật mã khóa đối xứng Độ an toàn của thuật toán này phụ thuộc vào khoá, nếu để lộ khoá này nghĩa là bất kỳ người nào cũng có thể mã hoá và giải mã thông báo trong hệ thống mã hoá.
  15. 4 Hình 1.1. Mã hóa khóa bí mật Ứng dụng: Sử dụng trong môi trường mà khoá dễ dàng được chuyển đi, như là trong cùng một văn phòng. Cũng dùng để mã hoá thông tin khi lưu trữ trên đĩa nhớ. 1.2 . Mật mã khóa công khai 1.2.1. Khái niệm Mật mã hóa khóa công khai là một dạng mật mã hóa cho phép người sử dụng trao đổi các thông tin mật mã mà không cần phải trao đổi các khóa chung bí mật trước đó. Điều này được thực hiện bằng cách sử dụng một cặp khóa có quan hệ toán học với nhau là khóa công khai(Public Key) và khóa cá nhân(Private Key) [7]. Trong mật mã hóa khóa công khai, khóa cá nhân phải được giữ bí mật trong khi khóa công khai được phổ biến công khai. Trong hai khóa, một dùng để mã hóa và khóa còn lại dùng để giải mã. Điều quan trọng đối với hệ thống là không thể tìm ra khóa bí mật nếu chỉ biết khóa công khai. 1.2.2 . Bảo vệ thông tin với mật mã khóa công khai Việc sử dụng mật mã khóa công khai cung cấp cho ta những ứng dụng quan trọng trong bảo vệ thông tin [7, 8]: a. Bảo vệ tính bí mật thông tin Giả sử A muốn gửi cho B một thông điệp M, A sẽ phải: - Mã hóa thông điệp M bằng khóa công khai của B. - Gửi bản mã thông điệp cho B. Khi B nhận được thông điệp đã được mã hóa của A, B sẽ sử dụng khóa riêng của mình để giải mã thông điệp đó.
  16. 5 Hình 1.2. Mã hóa khóa công khai Phương pháp này cung cấp tính bí mật vì chỉ có B mới có khóa bí mật để giải mã thành công bản mã mà A đã gửi. Tuy nhiên, phương pháp này lại không cung cấp bất kỳ quá trình xác thực nào để khẳng định bản mã mà B nhận là do A gửi, vì khóa công khai của B ai cũng biết. b. Xác thực thông tin A muốn mọi người biết được rằng tài liệu M là của chính A gửi, A có thể sử dụng khóa riêng của mình để ký lên tài liệu M. Khi ai đó nhận được tài liệu, ví dụ là B, B sẽ kiểm tra chữ ký có trong tài liệu M bằng khóa công khai của A và có thể chắc chắn được rằng tài liệu này là do A ký vì chỉ có A mới có khóa riêng dùng để ký lên tài liệu. Hình 1.3. Xác thực thông tin
  17. 6 Phương pháp này giúp người sử dụng có thể xác thực được nguồn gốc của tài liệu, nhưng lại không bảo vệ tính bí mật của tài liệu. Do đó, người không được quyền xem tài liệu vẫn có thể xem được nó. c. Bảo vệ bí mật và xác thực thông tin Để đảm bảo thông tin vừa bí mật vừa xác thực, chúng ta phải thực hiện mã hóa hai lần: - Đầu tiên, A phải ký thông điệp bằng khóa riêng của mình (thao tác này để đảm bảo tính xác thực). - Sau đó, A sử dụng khóa công khai của B để mã hóa tiếp thông báo vừa được mã hóa (thao tác này để đảm bảo tính bí mật). Sau đó, A gửi bản mã cuối cùng đến B. B nhận được, sẽ làm giải mã theo thứ tự ngược lại để lấy được bản rõ. Hình 1.4. Ký và mã với khóa công khai 1.2.3. Thuật toán RSA Trong mật mã học, RSA là một thuật toán mã hóa khóa công khai. Đây là thuật toán phù hợp với việc tạo ra chữ ký điện tử đồng thời với việc mã hóa. Nó đánh dấu một sự tiến bộ vượt bậc của lĩnh vực mật mã trong việc sử dụng khóa công khai. RSA đang được sử dụng phổ biến trong thương mại điện tử và được cho là đảm bảo an toàn với điều kiện độ dài khóa đủ lớn.
  18. 7 RSA có tốc độ thực hiện chậm hơn đáng kể so với các thuật toán mã hóa đối xứng. Trên thực tế, người ta thường sử dụng một thuật toán mã hóa đối xứng nào đó để mã hóa văn bản cần gửi và sử dụng thuật toán mã hóa công khai để phân phối khóa đối xứng. Ngoài ra, thuật toán RSA còn được dùng để tạo chữ ký số cho văn bản. Người ký sẽ sử dụng khóa bí mật của mình để ký vào văn bản cần ký. Người nhận được văn bản sau đó sẽ dùng khóa công khai của người ký để xác thực người gửi cũng như kiểm tra tính toàn vẹn của văn bản. Việc sử dụng RSA sẽ mang lại cho chúng ta một số ưu điểm [10]: - Quản lý khóa đơn giản: Trong mã hóa đối xứng, số khóa yêu cầu cho phép n thực thể truyền thông với nhau là n2 . Trong khi đó, đối với mã hóa công khai, mỗi thực thể cần 1 cặp khóa, tổng số khóa yêu cầu để truyền thông chỉ là 2*n. Như vậy, việc quản lý khóa rất là đơn giản. - Nâng cao mức độ an toàn cho việc giao dịch khóa: Mọi người dùng phải có một cặp khóa, trong đó khóa bí mật không được chia sẻ cho bất kỳ ai, tránh được vấn đề đảm bảo an toàn trong truyền khóa ở mật mã khóa bí mật. Tuy nhiên, RSA cũng có những nhược điểm và nó vẫn có thể bị tấn công: - Phân tích khóa công khai: Hiện nay RSA được đánh giá là an toàn, nó đã và đang được sử dụng rộng rãi trên toàn thế giới. Tấn công được xem xét thường xuyên nhất là phân tích khóa công khai. Nếu tấn công này thành công thì mọi thông báo được mã hóa bằng khóa công khai đều được giải mã. - Tấn công vòng: Trong tấn công này, bản mã được giải mã nhiều lần cho đến khi xuất hiện bản rõ. Phương pháp tấn công này rất chậm, đối với những khóa có độ dài lớn, tấn công này là không thể. - Tấn công dựa trên thời gian: kẻ tấn công sẽ dùng một siêu máy tính để tìm ra một trong hai số thừa số nguyên tố. 1.2.4. Hệ mật ElGamal trên đường cong elliptic Trong đoạn này ta xét đường cong elliptic trên trường GF(p) = Zp với p là số nguyên tố lớn hơn 3 [10].
  19. 8 Tạo khóa:  Chọn Ep(a,b) và điểm G – là phần tử sinh  Mỗi người dùng chọn 1 số ngẫu nhiên: Alice chọn nA và tính PA = nA*G Bob chọn nB và tính PB = nB*G  Khóa công khai: PA, PB, Ep(a,b), G  Khóa bí mật: nA, nB. Mã hóa:  Thông báo là PM thuộc Ep(a,b), Alice gửi thông báo mã PC cho Bob:  B1: Alice lấy khóa công khai của Bob  B2: Alice chọn một số ngẫu nhiên k và tính: PC = [k*G, (PM + k*PB)] = [k*G, Q]  B3: Alice gửi bản mã PC cho Bob. Giải mã:  Bob nhận được bản mã PC, Bob giải mã như sau:  Bob dùng khóa bí mật của mình là nB và tính: PM = [(PM + k*PB) – nB(k*G)] = [Q – nB(k*G)]. Ví dụ: Cho đường cong E(F53): y2  x3  7x  9 , có điểm G = (5,13) thuộc đường cong E. Tạo khóa: Giả sử số mũ bí mật của Bob là nB = 7, do đó Bob tính: PB = nB*G = 7G Có: G + G = (5,13) + (5,13) 3x12  a 3*52  7 82 41 λ= = = = = 41*13-1 mod 53 2y1 2*13 26 13 = 41*49 mod 53 = 48 x3 = λ2 – x1 – x2 = 482 – 5 – 5 = 2294 mod 53 = 15 y3 = λ (x1 – x3 ) –y1 = 48*(5 – 15) – 13 = - 493 mod 53 = 37  G + G = (15,37) = 2G Tương tự ta có: 4G = 2G + 2G = (15,37) + (15,37) = (29,3) 6G = 4G + 2G = (29,3) + (15,37) = (3,2)
  20. 9 7G = 6G + G = (3,2) + (5,13) = (9,18) = PB.  Khóa công khai: E53(7,9) ; PB = (9,18); G = (5,13).  Khóa bí mật: nB = 7. Mã hóa: Giả sử Alice muốn mã thông báo PM = (8,10) (là điểm thuộc E) thì Alice lấy khóa công khai của Bob. Alice chọn ngẫu nhiên k = 4 và tính: PC = [k*G, (PM + k*PB)] Có: k*G = 4G = (29,3) k*PB = 2PB + 2PB 2PB = (9,18) + (9,18) = (51,26) => k*PB = 2PB + 2PB = (51,26) + (51,26)= (47,4) => PM + k*PB = (8,10) + (47,4)= (9,35)  Alice gửi cho Bob bản mã PC = [(29,3), (9,35)] Giải mã: Nếu Bob nhận được bản mã PC, Bob giải mã như sau: Dùng khóa bí mật của mình là nB và tính: PM = [(PM + k*PB) – nB(k*G)] Có: PM + k*PB = PC = (9,35) nB(k*G) = 7(29,3) = (47,4) [(PM + k*PB) – nB(k*G)] = (9,35) – (47,4) = (9,35) + (47,49) = (8,10) = PM  PM = [(PM + k*PB) – nB(k*G)] = (8,10). Như vậy phép giải mã cho bản rõ là đúng. 1.2.5. Sơ đồ trao đổi khóa Elliptic Về mặt nguyên tắc thì tất cả các thuật toán mật mã dựa trên bài toán lô-ga-rít rời rạc trên trường hữu hạn đều có thể chuyển lên đường cong elliptic trên trường hữu hạn được. Muốn sử dụng được các thuật toán mật mã Elliptic thì công việc đầu tiên cần làm là ánh xạ được các thông báo lên tọa độ các điểm trên đường cong Elliptic vì các thuật toán mật mã Elliptic chỉ làm việc với các điểm và tọa độ của chúng.
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2