Nghiên cứu một số thuật toán hệ mật mã khoá công khai elgamal và ứng dụng

67 550 1
Nghiên cứu một số thuật toán hệ mật mã khoá công khai elgamal và ứng dụng

Đ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

  ĐẠI HỌC THÁI NGUYÊN  TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG PHẠM THỊ TUYẾT NGHIÊN CỨU MỘT SỐ THUẬT TOÁN HỆ MẬT Mà KHOÁ CÔNG KHAI ELGAMAL VÀ ỨNG DỤNG LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH THÁI NGUYÊN - 2015     ĐẠI HỌC THÁI NGUYÊN  TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG PHẠM THỊ TUYẾT NGHIÊN CỨU MỘT SỐ THUẬT TOÁN HỆ MẬT Mà KHOÁ CÔNG KHAI ELGAMAL VÀ ỨNG DỤNG 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 NGUYỄN NGỌC CƯƠNG THÁI NGUYÊN - 2015   i  LỜI CAM ĐOAN  Tôi  xin  cam  đoan  luận  văn  “ Nghiên cứu số thuật toán hệ mật mã khoá công khai ElGamal ứng dụng” là công trình nghiên cứu của cá nhân tôi  tìm hiểu, nghiên cứu dưới sự hướng dẫn của TS Nguyễn Ngọc Cương. Các kết  quả  là  hoàn  toàn  trung  thực,  toàn  bộ  nội  dung  nghiên  cứu  của  luận  văn,  các  vấn  đề  được trình bày đều là những tìm hiểu và nghiên cứu của chính cá nhân tôi hoặc là  được trích dẫn từ các nguồn tài liệu được trích dẫn và chú thích đầy đủ.    TÁC GIẢ LUẬN VĂN      Phạm Thị Tuyết    ii  LỜI CẢM ƠN  Học viên xin bày tỏ lời cảm ơn chân thành tới tập thể các thầy cô giáo Viện  công  nghệ  thông  tin,  các  thầy  cô  giáo  Trường  Đại  học  Công  nghệ  thông  tin  và  truyền thông - Đại học Thái Nguyên đã mang lại cho học viên kiến thức vô cùng quý  giá và bổ ích trong suốt quá trình học tập chương trình cao học tại trường. Đặc biệt  học viên xin  bày tỏ  lòng biết ơn sâu sắc  tới thầy giáo TS Nguyễn Ngọc Cương  -   Học viện an ninh đã  định hướng khoa học  và  đưa  ra những góp ý,  gợi ý,  chỉnh sửa  quý  báu, quan tâm, tạo điều kiện thuận lợi trong quá  trình  nghiên cứu hoàn thành  luận văn này.  Cuối  cùng,  học  viên xin chân thành  cảm  ơn  các bạn  bè  đồng nghiệp,  gia  đình và người thân đã quan tâm, giúp đỡ và chia sẻ với học viên trong suốt quá  trình học tập.  Do  thời  gian  và  kiến  thức  có  hạn  nên  luận  văn  chắc  không  tránh  khỏi  những thiếu sót nhất định. Học viên rất mong nhận được những sự góp ý quý báu  của   thầy cô và các bạn.    Thái Nguyên, ngày tháng năm 2015  HỌC VIÊN    Phạm Thị Tuyết                       iii      MỤC LỤC   LỜI CAM ĐOAN   i  LỜI CẢM ƠN   ii  MỤC CÁC HÌNH VẼ, ĐỒ THỊ   vi  MỞ ĐẦU  1  CHƯƠNG 1  3  TỔNG QUAN VỀ CÁC HỆ MẬT Mà 3  1.1. Lý thuyết toán học  3  1.1.1. Số nguyên tố, UCLN, BCNN   3  1.1.2. Nhóm, vành, trường, trường hữu hạn  . 3  1.1.3 Số học Modulo (phép tính đồng dư)   5  1.1.4. Không gian rời rạc của phép lấy Logarit   6  1.1.5. Định lí Fermat và định lí Euler   6  1.1.6. Hàm một phía và hàm một phía có cửa sập   6  1.1.7. Định lí Trung Quốc về phần dư:  . 7  1.2. Mật mã  7  1.2.1. Khái niệm   7  1.2.2. Những yêu cầu đối với hệ mật mã   8  1.2.3. Hệ mã hóa RSA  . 8  1.2.4. Hệ mã hóa Paillier   9  1.2.5. Hệ mã hóa ElGamal  . 10  1.2.6 Hệ mật đường cong Eliptic   10  1.3. Chữ ký điện tử   11  1.3.1. Sơ đồ chữ ký điện tử   11  1.3.2. Chữ ký mù RSA   12  1.3.3. Chữ ký nhóm (Group Signature)   13  1.4. Khái niệm xác thực điện tử   15    iv  1.5. Hàm băm (Hash Function)   16  CHƯƠNG :HỆ MẬT MàELGAMAL CẢI TIẾN VÀ MàHÓA ĐỒNG CẤU   17  2.1. Hệ mã hóa ElGamal cải tiến   17  2.1.1. Thuật toán mật mã ElGamal cổ điển   17  2.1.2. Một số thuật toán ElGamal cải tiến [3]   18  2.1.2.1  Thuật toán thứ nhất   18  2.1.2.2  Thuật toán thứ hai   21  2.1.2.3 Thuật toán thứ ba   23  2.2. Hệ mã hóa đồng cấu  . 26  2.2.1. Khái niệm mã hóa đồng cấu   26  2.2.2. Hệ mã hoá Elgamal có tính chất đồng cấu   26  2.2.3. Mô hình hệ mã hóa đồng cấu ElGamal cho mô hình bỏ phiếu có/không   27  2.3. Sơ đồ chia sẻ bí mật   29  2.3.1. Khái niệm chia sẻ bí mật   29  2.3.2. Giao thức “Chia sẻ bí mật” Shamir   31  2.3.2.1. Khái niệm sơ đồ ngưỡng A(t, m)   31  2.3.2.2. Chia sẻ khoá bí mật K   32  2.3.2.3. Khôi phục khóa bí mật  K từ t thành viên  . 33  CHƯƠNG 3:  ỨNG DỤNG HỆ MẬT MàELGAMAL TRONG BÀI TOÁN BỎ  PHIẾU THĂM DÒ TÍN NHIỆM   37  3.1. Hệ thống bỏ phiếu điện tử [5]  . 37  3.1.1. Khái niệm bỏ phiếu điện tử   37  3.1.2. Yêu cầu của hệ thống bỏ phiếu điện tử   38  3.1.3. Những vấn đề cần giải quyết   38  3.1.4.Các thành phần trong hệ thống bỏ phiếu điện tử  . 39  3.1.5. Quy trình bài toán bỏ phiếu điện tử   39  3.2. Ứng dụng hệ mật ElGamal trong quá trình bỏ phiếu thăm dò tín nhiệm   41  3.2.1. Thiết lập   41  3.2.3. Mở phiếu bầu   43  3.3. Xây dựng chương trình thử nghiệm mô hình bỏ phiếu thăm dò tín nhiệm  . 44    v  3.3.1. Môi trường cài đặt và thử nghiệm   44  3.3.2. Phát biểu bài toán   44  3.3.3  Các đối tượng của hệ thống  45  3.3.4. Phân tích và thiết kế chương trình bỏ phiếu:   45  3.3.5 Các chức năng chính  . 45  3.3.6. Thứ tự thực hiện chương trình  . 46  3.3.7. Kết quả thực nghiệm   47  3.4. Phân tích vấn đề bảo mật cần đạt được   56  3.5. Các tính chất đạt được   56  KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI   57  TÀI LIỆU THAM KHẢO   58                                          vi     MỤC CÁC HÌNH VẼ, ĐỒ THỊ      Hình 1.1. Sơ đồ mã hóa và giải mã  7  Hình 2.1. Sơ đồ bỏ phiếu đồng ý/ không đồng ý   28  Hình 2.2.  Sơ đồ ngưỡng Shamir  32  Hình 3.1. Sơ đồ Quy trình bỏ phiếu điện tử   40  Hình 3.2. Sơ đồ mô tả bỏ phiếu thăm dò tín nhiệm   41  Hình 3.3. Sơ đồ giai đoạn bỏ phiếu tín nhiệm   42  Hình 3.4. Giao diện chính của chương trình   47  Hình 3.5. Ban tổ chức  đăng nhập vào hệ thống   48  Hình 3.6. Thông báo tạo cơ sở dữ liệu cán bộ thành công.   48  Hình 3.7. Bảng danh sách cán bộ sau khi được ban tổ chức  tạo cơ sở dữ liệu  . 49  Hình 3.8. Thông báo tạo cơ sở dữ liệu ban kiểm phiếu thành công.  . 49  Hình 3.9. Cán bộ đăng nhập vào hệ thống  49  Hình 3.10. Quá trình bỏ phiếu  . 50  Hình 3.11. Cán bộ cập nhật thông tin   50  Hình 3.12. Thông báo nhắc nhở lựa chọn của cán bộ   51  Hình 3.13. Thông báo xác nhận lựa chọn của cán bộ   51  Hình 3.14. Ban kiểm phiếu đăng nhập vào hệ thống   52  Hình 3.14. Mảnh khóa của ban kiểm phiếu   52  Hình 3.15. Ban kiểm phiếu cập nhật thông tin  . 53  Hình 3.16. Thông báo xác nhận quá trình gửi mảnh khóa   53  Hình 3.17. Xác nhận tổng hợp đủ các mảnh khóa   54  Hình 3.18. Thông báo ghép mảnh khóa thành công  . 54  Hình 3.19. Kết quả bỏ phiếu   55  Hình 3.20. Cơ sở dữ liệu trong mô hình bỏ phiếu tín nhiệm   56        1  MỞ ĐẦU   Tính khoa học cấp thiết đề tài Cùng với sự phát triển của công nghệ thông tin, hiện nay vấn đề an toàn thông  tin trở nên hết sức cần thiết trên qui mô toàn cầu. Đảm bảo tính bảo mật, khả năng  xác  thực  nguồn  gốc  gói  tin  trong  quá  trình  truyền  tải  thông  tin  qua  môi  trường  không an toàn như Internet là một vấn đề nóng trong nghiên cứu và thực tiễn. Để  đảm bảo tính bảo mật và xác thực người ta cần phải mã hoá, có một số thuật toán  mã hoá công khai rất nổi tiếng: RSA, ElGamal,   Tuy nhiên, các hệ mật mã này có  nhược điểm là không có cơ chế xác thực thông tin được bảo mật (nguồn gốc, tính  toàn vẹn) do đó chúng không có khả năng chống lại một số dạng tấn công giả mạo  trong thực tế. Chính vì vậy hiện nay, người ta [3] đã đề xuất một số cải tiến hệ mật  mã ElGamal. Ưu điểm của các thuật toán  mới đề xuất này  là ở chỗ cho phép bảo  mật và xác thực thông tin một cách đồng thời mà mức độ an toàn của các thuật toán  mới  đề xuất  không  nhỏ hơn mức  độ  an toàn  của  thuật toán  ElGamal  xét  theo  khả  năng chống thám mã khi tấn công trực tiếp vào các thủ tục mã hóa và giải mã.  Để  góp  phần  nâng  cao  hiệu  năng  của  phương  pháp  mã  hóa  ElGamal.  Trong  luận  văn  này,  học  viên  đặt  mục  tiêu  nghiên  cứu,  thử  nghiệm  thuật  toán  mã  hóa  Elgamal và các cải tiến mới của các tác giả đã đưa ra, so sánh hiệu quả của chúng  và kiểm định thuật toán này bằng một ứng dụng trong thực tiễn. Đây là bài toán lựa  chọn các khả năng trong các giải pháp đã có bằng việc mã hóa và xác thực như bài  toán bỏ phiếu điện tử do các cán bộ tiến hành hoặc bài toán thăm dò tín nhiệm lãnh  đạo  tại  một    đơn  vị.  Những  bài  toán  này  luôn  đòi  hỏi  tính  bí  mật,  ví  dụ  trong  bỏ  phiếu điện tử (e-voting), việc đảm bảo tính đúng đắn bảo mật ở đây có thể bao gồm  cả việc không để lộ danh tính cử tri (ai bỏ phiếu cho ứng viên nào?), tính duy nhất  (mỗi cử tri đảm bảo chỉ tối đa 1 lần bỏ phiếu)   Đối tượng phạm vi nghiên cứu - Đối tượng nghiên cứu: Hệ mật khóa công khai ElGamal và các cải tiến của  hệ mật mã.     2  -  Phạm  vi nghiên cứu:  Nghiên cứu cải  tiến  dựa  trên  thuật toán  đã  có  và  xây  dựng chương trình ứng dụng trong bài toán thăm dò dư luận về mức độ tín nhiệm  đối với một đơn vị (ở đây là tổng công ty xăng dầu Việt Nam).  Hướng nghiên cứu đề tài - Nghiên cứu các đề xuất một số thuật toán mật mã khóa công khai được phát  triển từ hệ mật ElGamal của các tác giả đã công bố để xây dựng chương trình ứng  dụng trong bài toán bỏ phiếu thăm dò dư luận về mức độ tín nhiệm.  - Đánh giá ưu điểm của các thuật toán mới do các tác giả đã đề xuất về mức độ  bảo mật và xác thực thông tin một cách đồng thời.   Những nội dung nghiên cứu  Luận  văn  được  trình  bày  trong  3  chương,  có  phần  mở  đầu,  phần  kết  luận,  phần mục lục, phần tài liệu tham khảo. Các nội dung cơ bản của luận văn được trình  bày theo cấu trúc sau: Chương 1: TỔNG QUAN VỀ CÁC HỆ MẬT Mà Trong chương này tổng trình bày một số khái niệm cơ bản trong toán học mà  các  hệ  mã  hoá  thường  sử  dụng  như:  mod,  số  nguyên  tố,  vành  Zn,  các  phép  toán  cộng,  nhân,  bài toán logarrit rời rạc trên không gian Zn  Sau  đó  đưa  ra  các  khái  niệm mật mã, các thuật toán mã hoá, chữ ký số phục vụ cho việc mã hoá thông tin.   Chương 2: HỆ MẬT MàELGAMAL CẢI TIẾN VÀ MàHÓA ĐỒNG CẤU Tập  trung  nghiên  cứu  một  số  thuật  toán  mật  mã  ElGamal  cải  tiến,  tính  chất   đồng cấu của hệ mật ElGamal và sơ đồ chia sẻ bí mật theo ngưỡng Shamir.  Chương 3: ỨNG  DỤNG  HỆ  MẬT  Mà ELGAMAL  TRONG  BÀI  TOÁN  BỎ  PHIẾU  THĂM DÒ TÍN NHIỆM  Cài  đặt  thử  nghiệm  thuật  toán  hệ  mật  ElGamal  cải  tiến  và  kỹ  thuật  chia  sẻ  khóa bí mật Shamir.               45  chương trình phải đảm bảo an toàn, trung thực đáp ứng được các tính chất của một  cuộc bỏ phiếu tín nhiệm: tính bí mật, tính toàn vẹn, yêu cầu xác thực lá phiếu.  3.3.3 Các đối tượng hệ thống  (1) Ban tổ chức: Hệ thống này có trách nhiệm tạo, lưu trữ các khóa riêng và  công bố các khóa công khai. Tất cả các bên phải tin tưởng vào hệ thống này.  (2) Cán bộ: Họ là những người có quyền tham gia bỏ phiếu.  (3) Ban kiểm phiếu: Có trách nhiệm tổng hợp và công bố kết quả khi kết thúc  cuộc bỏ phiếu.  3.3.4 Phân tích thiết kế chương trình bỏ phiếu: Phân tích chương trình: -  Nhập danh sách các cán bộ tham gia bỏ phiếu và thông tin cá nhân của cán  bộ.  - Cung cấp thẻ cán bộ cho các nhân viên được tham gia bỏ phiếu.  - Kiểm tra thẻ trước khi cán bộ bỏ phiếu  - Kiểm phiếu và niêm yết kết quả.  Thiết kế chương trình: - Bảng lưu giữ các thông tin của cán bộ: Xác định danh sách các cán bộ tham  gia bỏ phiếu.   - Bảng xác định cán bộ đã tham gia bỏ phiếu hay chưa, mỗi cán bộ chỉ được  bỏ phiếu 1 lần, bảng này nhằm xác định những cán bộ nào chưa bỏ phiếu và cán bộ  nào đã bỏ phiếu.   - Bảng lưu nội dung lá phiếu của các cán bộ: Nội dung của lá phiếu đã được  cán bộ mã hóa và được lưu trong bảng này  3.3.5 Các chức -  Nhập  vào  các  thông  tin  của  cán  bộ  bao  gồm  cả  thông  tin  định  danh,  hệ  thống sẽ mã hoá định danh và xác nhận tính hợp lệ của cán bộ.  - Sử dụng hệ mã hóa ElGamal cải tiến để tạo khóa: Là quá trình sinh ngẫu  nhiên bộ khóa công khai và khóa riêng cho toàn bộ cán bộ. Mỗi cán bộ là một bộ  khóa khác nhau.    46  - Sử dụng sơ đồ chia sẻ bí mật Shamir tạo bộ khóa cho ban kiểm phiếu.  - Cán bộ đăng nhập và bỏ phiếu.  - Mã hóa nội dung lá phiếu trên bộ khóa của cán bộ.  - Giải mã lá phiếu: Hệ thống nhận được văn bản mã, sẽ sử dụng khóa riêng  để giải mã, sau đó thu được văn bản gốc.  - Thống kê và đưa ra kết quả của cuộc bỏ phiếu.  Trên thực tế, để thiết kế được một chương trình hoàn chỉnh, ngoài modul mã  hóa còn rất nhiều modul hỗ trợ khác như: xác thực quyền bỏ phiếu của cán bộ, phân  bổ  khóa,  xác  định  tính  hợp  lệ  của  lá  phiếu,   Tuy  nhiên,  do  giới  hạn  về  mặt  thời  gian nghiên cứu nên luận văn chỉ tập trung vào việc sử dụng thuật toán ElGamal cải  tiến và sơ đồ chia sẻ bí mật Shamir trong bỏ phiếu thăm dò về mức độ tín nhiệm đối  với một đơn vị.  3.3.6 Thứ tự thực chương trình Xét một  cuộc  bỏ  phiếu thăm dò tín nhiệm, có ba phương án được đưa ra: Tín  nhiệm cao, Tín nhiệm, Tín nhiệm thấp. Hệ thống thiết kế thứ tự thực hiện chương  trình như sau:   (1) Ban tổ chức (Admin). Sau khi ban tổ chức đăng nhập, hệ thống tự sinh số  nguyên tố trên trường hữu hạn  Fp,  với  p  được  lấy  ngẫu  nhiên  gồm  10.000  số  nguyên tố lớn hơn 1.000.000 trong cơ sở dữ liệu và điểm sinh g trong  Z *p  .  Khóa bí  mật  x  của  ban  tổ  chức  được  lấy  ngẫu  nhiên  trong  đoạn  [1,  p-1],  hệ  thống  đưa  ra  khóa công khai y. Sau  khi tạo cơ sở  dữ  liệu  cho  cử  tri các khóa bí mật được lưu  ở một nơi an toàn.  Tiếp đó, ban tổ chức đưa ra 3 phương án  lựa chọn khác nhau.   Cuối cùng, hệ thống sử dụng sơ đồ chia sẻ bí mật Shamir tạo bộ khóa cho ban  kiểm  phiếu:  Danh  sách  trong  cơ  sở  dữ  liệu  có  bao  nhiêu  người  trong  ban  kiểm   phiếu thì hệ thống sẽ tự động chia thành từng đó mảnh khóa. Ví dụ, trong danh sách  ban kiểm phiếu có 3 người thì hệ thống tự động sinh ra 3 mảnh khóa, và phát cho  các thành viên.   (2) Cán bộ: Cán bộ tiến hành đăng nhập vào hệ  thống. Khi  cán bộ  login,  hệ   thống  sẽ  kiểm tra trong cơ sở  dữ  liệu  xem  có tồn  tại tài khoản đó không. Nếu    47  có,  hệ  thống  chuyển  sang  giao  diện  tiếp  theo.  Nếu  không,  hệ  thống  báo  lỗi  đăng  nhập.   Tiếp theo cán bộ lựa chọn phương án mà mình muốn bỏ phiếu, submit vào hệ  thống và gửi nó đến trạm bỏ phiếu.  (3) Sau  khi  kết thúc cuộc  bỏ phiếu,  ban  kiểm  phiếu  sẽ  đăng nhập  và họ  gửi mảnh khoá mà họ giữ lên hệ thống. Khi các mảnh khoá được tổng hợp đủ, hệ  thống sẽ ghép các mảnh khóa lại để khôi phục khóa bí mật, hệ thống sử dụng khoá  mật này để giải mã các lá phiếu của cán bộ và thống kê kết quả cuối cùng.  Tuy nhiên giới hạn của luận văn là mô hình bỏ phiếu tín nhiệm thì mức độ đơn  giản hơn nhưng vẫn theo ý trên đây.  3.3.7 Kết thực nghiệm Chương trình bỏ phiếu lấy ý kiến về  mức độ tín nhiệm đối với tổng công ty  xăng dầu Việt Nam với 3 chức năng chính là: Ban tổ chức  tạo cơ sở dữ liệu cho cán  bộ và ban kiểm phiếu, cán bộ bỏ phiếu và ban kiểm phiếu thực hiện kiểm phiếu tính  kết quả cuộc bỏ phiếu.    Giao diện chương trình: Hình 3.4. Giao diện chính của chương trình  a, Đối với ban tổ chức Ban tổ đăng nhập vào hệ thống:    48    Hình 3.5. Ban tổ chức  đăng nhập vào hệ thống  Nếu sai tên đăng nhập hoặc mật khẩu, hệ thống báo lỗi. Nếu đúng hệ thống  thông báo đăng nhập thành công.  Ở đây, Ban tổ chức sẽ có 3 quyền được phân chia: đầu tiên là sinh khoá cho  toàn bộ cán bộ có trong cơ sở dữ liệu, chia sẻ khoá cho ban kiểm phiếu và sửa đổi  khoá cho bất kì cán bộ nào.  Khi ban tổ chức chọn nút “Tạo dữ liệu cho cán bộ”, hệ thống sẽ tự động sinh  khóa cho toàn bộ cán bộ có trong cơ sở dữ liệu, mỗi cán bộ sẽ là một bộ tham số  khác nhau để tăng tính bảo mật.    Hình 3.6. Thông báo tạo cơ sở dữ liệu cán bộ thành công.    49  Hình 3.7. Bảng danh sách cán bộ sau khi được ban tổ chức  tạo cơ sở dữ liệu  Khi ban tổ chức chọn nút “Tạo dữ liệu cho ban kiểm phiếu”, hệ thống sử dụng  sơ đồ chia sẻ bí mật Shamir tạo bộ khóa cho ban kiểm phiếu, danh sách trong cơ sở  dữ liệu có bao nhiêu người thì hệ thống sẽ tự động chia thành từng đó mảnh khóa. Ở  đây ban kiểm phiếu có 3 thành viên, hệ thống sẽ chia làm 3 mảnh khóa và cấp cho  mỗi người một mảnh:    Hình 3.8. Thông báo tạo cơ sở dữ liệu ban kiểm phiếu thành công.  b) Đối với cán Cán  bộ  đăng  nhập  vào  hệ  thống  để  bỏ  phiếu.  Yêu  cầu  cán  bộ  có  tài  khoản  trong danh sách cán bộ ở hệ thống cơ sở dữ liệu trung tâm thì mới được tham gia bỏ  phiếu:    Hình 3.9. Cán bộ đăng nhập vào hệ thống  Nếu tên đăng nhập hoặc mật khẩu là sai hệ thống báo “Bạn chưa đăng nhập  đúng”. Nếu đúng “Bạn đã đăng nhập thành công”  Tiếp theo, hệ thống hiển thị giao diện thông tin cán bộ. Cửa sổ này được chia  làm hai phần: Phần bên trái chứa thông tin cán bộ, phần bên phải là các phương án  bỏ phiếu.    50    Hình 3.10. Quá trình bỏ phiếu  Khi cán bộ vào chức năng sửa các thông tin cá nhân của mình:    Hình 3.11. Cán bộ cập nhật thông tin  Cán bộ có thể chỉnh sửa các thông tin cá nhân của mình nếu có sai sót. Sau đó  nhấp chuột vào nút “CẬP NHẬT”, hệ thống sẽ tự động cập nhật thông tin mà cán  bộ vừa thay đổi vào cơ sở dữ liệu của hệ thống.   Cuối  cùng,  cán  bộ  lựa  chọn  phương  án  mà  mình  muốn  bỏ  phiếu  sau  đó  ghi  nhận bằng việc  nhấn vào nút “BỎ PHIẾU”, hệ thống sẽ đưa ra thông báo xác nhận  “Bạn chắn với phương án lựa chọn chưa?”   51  Hình 3.12. Thông báo nhắc nhở lựa chọn của cán bộ  Nếu chưa nhấn vào nút “No” hệ thống đưa cán bộ về giao diện bỏ phiếu. Nếu  đã chắc chắn với phương án lựa chọn nhấn vào nút “Yes” khi đó hệ thống đưa ra  thông báo xác nhận lại phương án mà cán bộ đã lựa chọn.    Hình 3.13. Thông báo xác nhận lựa chọn của cán bộ  Hệ thống đưa ra thông báo bỏ phiếu thành công và tự đăng xuất tài khoản của  cán bộ sau khi cập nhật phương án lựa chọn vào cơ sở dữ liệu của hệ thống.  c) Ban kiểm phiếu thực kiểm phiếu tính kết Sau khi các cán bộ hoàn thành việc bỏ phiếu, nhiệm vụ của ban kiểm phiếu là  tiến hành giải mã các lá phiếu để kiểm phiếu. Việc giải mã các lá phiếu được thực  hiện bằng cách ghép các mảnh khóa của các thành viên ban kiểm phiếu lại sau đó  thực hiện giải mã các lá phiếu. Nếu thiếu bất kỳ một mảnh khóa nào của thành viên  ban  kiểm  phiếu  thì  việc  kiểm  phiếu  sẽ  không  thực  hiện  được.  Vì  vậy  việc  kiểm  phiếu sẽ được thực hiện khi tất cả thành viên trong ban kiểm phiếu đăng nhập vào  hệ thống bỏ phiếu và gửi mảnh khóa mà mình giữ.  Ban kiểm phiếu đăng nhập vào hệ thống bỏ phiếu:    52    Hình 3.14. Ban kiểm phiếu đăng nhập vào hệ thống  Hệ  thống  thông  báo  “Bạn chưa đăng nhập đúng”  nếu  thành  viên ban  kiểm  phiếu đăng nhập với TÊN ĐĂNG NHẬP hoặc MẬT KHẨU sai, khi đó ban kiểm  phiếu phải đăng nhập lại.   Ngược  lại,  hệ  thống  thông  báo  “Bạn đăng nhập thành công với vai trò ban kiểm phiếu”.  Khi ban kiểm phiếu đăng nhập thành công, màn hình sẽ hiển thị bộ khóa mà  người thuộc ban kiểm phiếu này đang giữ.    Hình 3.14. Mảnh khóa của ban kiểm phiếu   Cũng như cán bộ, ban kiểm phiếu có thể xem và sửa đổi thông tin cá nhân của  mình.     53    Hình 3.15. Ban kiểm phiếu cập nhật thông tin  Ban  kiểm  phiếu  có  thể  thay  đổi  mật  khẩu  của  mình  sau  đó  nhấn  nút  “Cập  nhật” để ghi nhận quá trình sửa đổi. Hệ thống đưa ra thông báo cập nhật thành công:  Hoặc nếu không muốn thay đổi cán bộ chọn nút “Thoát” để đăng xuất khỏi hệ  thống.  Từng thành viên ban kiểm phiếu phải thực hiện một công việc quan trọng đó  là gửi mảnh khóa mà mình đang giữ tới cơ sở dữ liệu của hệ thống bằng cách nhấn  nút “Gửi khóa”, hệ thống đưa ra thông báo xác nhận cán bộ đã chắc chắn muốn gửi  khóa chưa:    Hình 3.16. Thông báo xác nhận quá trình gửi mảnh khóa  Nếu không đồng ý gửi mảnh khóa của mình thì nhấn nút “No”, ngược lại nếu  đã chắc chắn với phương án lựa chọn nhấn nút “Yes”, khi đó hệ thống sẽ hiển thị  thông báo “Đã submit khóa thành công”.       54  Tất cả các thành viên của ban kiểm phiếu đồng ý gửi mảnh khóa mà mình giữ  khi đó đã có thể tiến hành kiểm phiếu bằng cách nháy chuột vào nút “Kiểm phiếu”,  hệ thống sẽ đưa ra thông báo “Đã tổng hợp đủ mảnh khóa nhấn OK để ghép mảnh khóa”,    Hình 3.17. Xác nhận tổng hợp đủ các mảnh khóa   Tiếp tục nhấn “OK” hệ thống đưa ra thông báo xác nhận “Các mảnh khóa khớp nhấn OK để kiểm phiếu”, lúc này hệ thống sẽ tự động ghép các mảnh khóa  lại thành khóa bí mật để giải mã các lá. Như vậy, nhờ áp dụng giao thức chia sẻ bí  mật Shamir hệ thống bỏ phiếu sẽ phòng tránh được bài toán “Thành viên ban kiểm  phiếu thông gian sửa đổi nội dung lá phiếu”.    Hình 3.18. Thông báo ghép mảnh khóa thành công    Sau khi nhấn “OK” hệ thống đưa ra kết quả cuộc bỏ phiếu như sau:    55    Hình 3.19. Kết quả bỏ phiếu  Ban kiểm phiếu công bố tất cả những phiếu kín được chấp nhận. Mỗi cán bộ  phải kiểm tra xem phiếu của mình đã được công bố chưa.  Bất  kì  ai  đều  có  thể  kiểm  tra  tính  hợp  lý  của  các  phiếu  kín  và  xem  tổng  số  phiếu kín có bằng tổng số đăng kí hay không để ngăn chặn ban kiểm phiếu bỏ thêm  phiếu kín vào.  Trên cơ sở dữ liệu: bảng CanBo sẽ được công khai, trên đó có hiển thị sự lựa  chọn của cán bộ ở cột “Chon” tuy nhiên nhìn vào đó cán bộ không thể chứng minh  cho người khác biết được mình đã lựa chọn phương án nào vì lựa chọn đó đã bị mã  hóa  bởi  thuật  toán  ElGamal  cải  tiến Như  vậy  sẽ  giải  quyết  được  bài  toán  chống  mua bán phiếu.      56  Hình 3.20. Cơ sở dữ liệu trong mô hình bỏ phiếu tín nhiệm  Kết quả thực nghiệm chương trình thu được: Bảng thống kê đưa ra được số  phiếu bầu cho các phương án và phương án được lựa chọn nhiều nhất. Và trên hết  đó  là  kết  quả  của  cuộc  bỏ  phiếu  đảm  bảo  được  các  tính  chất:  tính  bí  mật  của  lá  phiếu, tính toàn vẹn lá phiếu và yêu cầu xác thực của lá phiếu.  3.4 Phân tích vấn đề bảo mật cần đạt An  ninh: An  ninh luôn là yêu  cầu  hàng  đầu  trong  thiết  kế  hệ  thống, và  phải  được chú trọng toàn diện từ an ninh của một hệ thống hoàn chỉnh cho đến an ninh  của từng lá phiếu và việc lưu trữ các lá phiếu trong cơ sở dữ liệu.   Độ    tin   cậy:   Ứng    dụng   phải  có những  cơ  chế    xác minh  các  lá  phiếu  khi  chúng được “bỏ” và phải đảm bảo  không có sự can thiệp hay thay đổi nào có thể  xảy ra một khi phiếu đã bỏ.   Tính linh hoạt và thực  tiễn  cao:  Hệ  thống  phải có khả  năng làm việc  nhiều  ngày trong suốt kỳ bỏ phiếu.   3.5 Các tính chất đạt Tính toàn vẹn:  Khi  bảng  thông báo được đưa ra công khai, không thể  có lá  phiếu nào được mã hóa mà có thể  bị  xóa khỏi bảng, vì bất kì người nào cũng có  thể chứng minh được tính hợp lệ của lá phiếu. Vì vậy không có lá phiếu nào được  mã hóa hợp lệ mà bị mất đi hoặc xử lý sai.    Tính bí mật: Bảo đảm tính bí mật của lá phiếu riêng lẻ được đảm bảo bởi sự an  toàn của hệ  thống chia sẻ bí mật. Bất kỳ nhóm ít hơn t người kiểm phiếu đều không  giải mã được lá phiếu.   Tính hợp pháp:  Mỗi cán bộ chỉ có thể có được 1 định danh. Định danh không  hợp lý hoặc trùng sẽ bị loại. Lá phiếu không hợp lệ cũng sẽ không được tính.    Tính  xác minh  phổ  thông:    bất  kỳ  một người  nào  cũng có  thể  kiểm  tra phần  chứng minh tính hợp lệ của lá phiếu, tính tích các lá phiếu hợp lệ và xác minh tính  đúng  đắn  của  việc  giải  mã  bằng  cách  kiểm  việc  sử  dụng  khóa  bí  mật  của  ban  tổ  chức.          57  KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI Các kết đạt được  a. Nghiên cứu tài liệu để trình bày các vấn đề sau:  - Trình bày tổng quan về các hệ mật mã  - Giới thiệu một số thuật toán mã hóa ElGamal cải tiến, mã hóa đồng cấu, chia  sẻ bí mật, …  b. Thử nghiệm mô hình bỏ phiếu tín nhiệm tại một tổng công ty xăng dầu Việt Nam sử  dụng thuật toán ElGamal cải tiến  và  sơ  đồ chia sẻ bí mật Shamir:  Cài  đặt  chương  trình  thuật  toán  mã  hóa  lá  phiếu  sử  dụng  hệ  mật  mã  ElGamal cải tiến thứ 3 trên bộ khóa của cán bộ. Mỗi cán bộ là một bộ khóa khác  nhau.  Những hướng nghiên cứu tiếp theo:  Nghiên  cứu  mô  hình  bỏ  phiếu,  kiểm  thử  ứng  dụng  trong  phạm  vi  một  địa  phương  và  cải  thiện  chất  lượng  công  cụ.   Tối ưu hóa hệ thống, cải thiện tốc độ xử lý dữ liệu của mô hình.                       58  TÀI LIỆU THAM KHẢO Tiếng Việt [1] Phan Đình Diệu (2011), “Lý thuyết mật mã An toàn thông tin”, NXB Đại học  quốc gia Hà Nội.  [2]  PGS.TS  Trịnh  Nhật  Tiến  (2008),  Giáo trình An toàn liệu, NXB  Đại  học  Quốc Gia [3] Lưu Hồng Dũng, Ngô Đăng Tiến, Trần Trung Dũng, Vũ Tất Thắng (2012), Phát triển số thuật toán mật mã khóa công khai, Hội thảo @ lần thứ XV, trang  367-373 [4] Trịnh Nhật Tiến, Trương Thị Thu Hiền (2010), Mã hóa đồng cấu ứng dụng, Tạp chí khoa học ĐHQGHN, Khoa học tự nhiên và Công nghệ 26, trang 44- 48.  [5] PGS.TS  Trịnh  Nhật  Tiến, ThS. Trương Thị  Thu  Hiền,  Về quy trình bỏ phiếu từ xa, Trường Đại học công nghệ - ĐHQGHN.   Tiếng Anh [6]  Andrea  Huszti, “A homomorphic encryption-based secure electronic voting scheme”, 2011  [7]  Basso,  A.,  F.  Bergadano,  I.  Coradazzi  and  P.  D.  Checco  (2004),  “Lightweight security for internet polls”, in: EGCDMAS.   [8    Cyber  Vote,  Report  on  Review  of  Cryptographic  Protocols    and    Security  Techniques  for Electronic Voting, 2002.   [9]  Craig  Gentry  and  Shai  Halevi  (2011), “Implementing Gentry’s fullyhomomorphic encryption scheme”, In EUROCRYPT.   [10]  D.Stinson  (2002),  Cryptography Theory and Practice 2nd ed Chapman  &  Hall/CRC.  [11]  Kristin  Lauter,  Michael  Naehrig,  and  Vinod  Vaikuntanathan, “Can Homomorphic Encryption be Practical?”, ACM, 2011  [12] R.L  Rivest,  A. Shamir, and  L.M. Adleman (1978), “A Method for Obtaining Digital Signatures and Public key Cryptosystems”/ Communication    of  the  ACM, Vol. 21, No.2,  pp 120-126.    59  [13]  T.  ElGamal (1985), A public key cryptosystem and a signature scheme based on discrete logarithms.  IEEE Transactions on Information Theory, Vol. IT-31,  No. 4. pp. 469–472.    [ ]   Zuzana  Rjaskova  ( 0 ) ,   E l e c t r o n i c V o t i n g S c h e m e s   Department  of Computer ScienceFaculty of Mathematics, Physics and Informatics Comenius  University, Bratislava        ... TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG PHẠM THỊ TUYẾT NGHIÊN CỨU MỘT SỐ THUẬT TOÁN HỆ MẬT Mà KHOÁ CÔNG KHAI ELGAMAL VÀ ỨNG DỤNG Chuyên ngành: Khoa học máy tính Mã số: 60 48 01 01... Tôi  xin  cam  đoan  luận  văn  “ Nghiên cứu số thuật toán hệ mật mã khoá công khai ElGamal ứng dụng là công trình nghiên cứu của cá nhân tôi  tìm hiểu, nghiên cứu dưới sự hướng dẫn của TS Nguyễn Ngọc Cương. Các kết ... CHƯƠNG :HỆ MẬT Mà ELGAMAL CẢI TIẾN VÀ MàHÓA ĐỒNG CẤU   17  2.1. Hệ mã hóa ElGamal cải tiến   17  2.1.1. Thuật toán mật mã ElGamal cổ điển   17  2.1.2. Một số thuật toán ElGamal cải tiến [3] 

Ngày đăng: 15/04/2017, 21:10

Từ khóa liên quan

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

Tài liệu liên quan