nghiên cứu một số chữ ký số đặc biệt và ứng dụng

68 545 1
nghiên cứu một số chữ ký số đặc biệt 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 QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ Phạm Thị Vân Anh NGHIÊN CỨU MỘT SỐ CHỮ SỐ ĐẶC BIỆTỨNG DỤNG KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin HÀ NỘI - 2010 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ Phạm Thị Vân Anh NGHIÊN CỨU MỘT SỐ CHỮ SỐ ĐẶC BIỆTỨNG DỤNG KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin Cán bộ hƣớng dẫn: PGS.TS. Trịnh Nhật Tiến HÀ NỘI - 2010 LỜI CẢM ƠN Trƣớc hết, em xin gửi lời cảm ơn sâu sắc tới PGS.TS. Trịnh Nhật Tiến đã hƣớng dẫn em phát triển khóa luận đi từ lý thuyết đến ứng dụng. Sự hƣớng dẫn của thầy trong suốt thời gian qua đã giúp em tiếp cận tới một hƣớng nghiên cứu khoa học mới: đó là nghiên cứu trong lĩnh vực an toàn thông tin. Qua đó, những lý thuyết về an toàn thông tin đã lôi cuốn em sẽ trở thành hƣớng nghiên cứu tiếp của em sau khi tốt nghiệp. Em xin bày tỏ lòng biết ơn đến các thầy cô trong trƣờng Đại học Công nghệ đã giảng dạy cho em những kiến thức quý báu, làm nền tảng để em hoàn thành khóa luận cũng nhƣ thành công trong nghiên cứu, làm việc trong tƣơng lai. Cuối cùng, cho em gửi lời cảm ơn sâu sắc tới gia đình, bạn bè đã động viên kịp thời để em học tập tốt hoàn thành đƣợc khóa luận. Em xin chân thành cảm ơn! Hà Nội, tháng 5 năm 2010 Sinh viên Phạm Thị Vân Anh TÓM TẮT KHÓA LUẬN Những năm gần đây, nhu cầu trao đổi thông tin từ xa của con ngƣời ngày càng lớn, các ứng dụng trao đổi thông tin qua mạng diễn ra ngày càng nhiều. Tuy nhiên, mỗi loại ứng dụng có những đòi hỏi riêng khác nhau, ví dụ nhƣ ứng dụng bầu cử từ xa cần phải che dấu đƣợc thông tin ngƣời bỏ phiếu, hoặc những văn bản đã đƣợc nhƣng không muốn ai cũng có thể xác thực chữ khi chƣa đƣợc sự đồng ý của ngƣời ký. Chữ chữ không thể chối bỏ đã ra đời để giải quyết vấn đề nêu trên. Ý tƣởng chính của mù là ngƣời không biết mình đang trên nội dung gì. Ý tƣởng chính của chữ không thể chối bỏ là chữ mà ngƣời tham gia trực tiếp vào quá trình xác thực chữ ký. Khóa luận tốt nghiệp này đề cập về mặt lý thuyết của hai loại chữ trên, xây dựng ứng dụng minh họa tƣơng ứng với từng loại chữ ký; đồng thời xây dựng một ứng dụng thực hiện số RSA trên file văn bản tiếng Việt sử dụng thƣ viện mã nguồn mở OpenSSL. MỤC LỤC LỜI MỞ ĐẦU 1 Chương 1. CÁC KHÁI NIỆM CƠ BẢN 3 1.1. CÁC KHÁI NIỆM TRONG TOÁN HỌC 3 1.1.1. Một số khái niệm trong số học 3 1.1.2. Một số khái niệm trong đại số 13 1.1.3. Khái niệm độ phức tạp của thuật toán 17 1.2. MÃ HÓA 21 1.2.1. Khái niệm mã hóa dữ liệu 21 1.2.2. Phân loại hệ mã hóa 22 1.3. SỐ 25 1.3.1. Khái niệm chữ số 25 1.3.2. Phân loại chữ số. 25 1.3.3. So sánh chữ thông thƣờng chữ số 26 1.3.4. Tạo đại diện tài liệu hàm băm 27 Chương 2. CHỮ MÙ RSA 30 2.1. KHÁI NIỆM CHỮ MÙ 30 2.1.1. đồ chữ RSA 30 2.1.2. đồ chữ mù RSA 31 2.1.3. Ví dụ minh họa 32 2.2. ỨNG DỤNG CHỮ MÙ 33 2.2.1. Ứng dụng trong tiền điện tử 33 2.2.2. Ứng dụng trong bỏ phiếu trực tuyến. 34 Chương 3. CHỮ KHÔNG THỂ CHỐI BỎ 36 3.1. KHÁI NIỆM CHỮ KHÔNG THỂ CHỐI BỎ 36 3.1.1. đồ chữ không thể chối bỏ Chaum – Van Antwerpen 36 3.1.2. Ví dụ minh họa 38 3.1.3. Một số đánh giá về đồ 39 3.2. HÌNH THỨC TẤN CÔNG CHỮ KHÔNG THỂ CHỐI BỎ 43 3.2.1. Tống tiền ngƣời 43 3.2.2. Nhiều ngƣời cùng xác thực chữ mà ngƣời không biết 43 3.3. ỨNG DỤNG CHỮ KHÔNG THỂ CHỐI BỎ 45 3.3.1. Ứng dụng trong thẻ chứng minh thƣ điện tử. 45 3.3.2. Ứng dụng trong hợp đồng qua điện thoại 45 Chương 4. THỬ NGHIỆM CÁC CHƢƠNG TRÌNH 46 4.1. THỬ NGHIỆM ỨNG DỤNG CHỮ SỐ 46 4.1.1. Giới thiệu 46 4.1.2. Mô tả hoạt động chƣơng trình 47 4.2. THỬ NGHIỆM CHƢƠNG TRÌNH MÙ RSA 53 4.2.1. Giới thiệu 53 4.2.2. Mô tả hoạt động chƣơng trình 53 4.3. THỬ NGHIỆM CHỮ KHÔNG THỂ CHỐI BỎ 55 4.3.1. Giới thiệu 55 4.3.2. Mô tả hoạt động chƣơng trình 56 KẾT LUẬN 60 DANH SÁCH BẢNG Bảng 1: Ví dụ sử dụng thuật toán Euclide tìm ước chung lớn nhất 5 Bảng 2: Ví dụ sử dụng thuật toán Euclide mở rộng để tìm phần tử nghịch đảo 16 Bảng 3: Thời gian chạy của các lớp thuật toán khác nhau 19 DANH SÁCH HÌNH VẼ Hình 1: Giao diện chương trình số RSA 46 Hình 2: Giao diện chức năng “Ký”RSA 47 Hình 3: Giao diện chức năng xác thực chữ số RSA 49 Hình 4: Giao diện chức năng mã hóa DES file văn bản chữ 50 Hình 5: Giao diện chức năng giải mã DES 51 Hình 6: Giao diện chức năng mù 53 Hình 7: Giao diện chức năng xóa mù chữ 54 Hình 8: Giao diện của người chữ không thể chối bỏ 55 Hình 9: Giao diện của người xác thực chữ không thể chối bỏ 55 Hình 10: Thông báo khi chữ không thể chối bỏ được xác thực là đúng 57 Hình 11: Thông báo khi điều kiện           không được thỏa mãn 58 Hình 12: Thông báo khi chữ đúng là giả mạo 58 Hình 13: Thông báo khi phát hiện người cố tình chối bỏ chữ của mình 59 1 LỜI MỞ ĐẦU Trong những năm gần đây, sự bùng nổ của cách mạng thông tin đang diễn ra nhanh chóng trên phạm vi toàn thế giới. Sự phổ biến rộng rãi của Internet đã kết nối mọi ngƣời trên toàn thế giới lại với nhau, trở thành công cụ không thể thiếu, làm tăng hiệu quả làm việc, tăng sự hiểu biết, trao đổi, cập nhật các thông tin một cách nhanh chóng tiện lợi. Tuy nhiên Internet là một mạng mở, nó cũng chứa đựng nhiều hiểm họa đe dọa hệ thống mạng, hệ thống máy tính, tài nguyên thông tin của các tổ chức, cá nhân. Ví dụ những tin tức quan trọng nằm ở kho dữ liệu hay đang trên đƣờng truyền có thể bị trộm cắp, bị làm cho sai lệch hoặc có thể bị làm giả mạo. Vì thế, nảy sinh yêu cầu phải làm thế nào để văn bản khi đƣợc gửi sẽ không đƣợc nhìn thấy hay khó có thể giả mạo dù cho có thể xâm nhập vào văn bản. Với sự ra đời của công nghệ mã hóa chữ số đã trợ giúp cho con ngƣời trong việc giải quyết các bài toán nan giải về an toàn thông tin. Một tình huống nảy sinh khi trao đổi thông tin trên mạng, đó là khi ngƣời ta nhận đƣợc một văn bản truyền trên mạng thì làm sao để có thể đảm bảo rằng đó là của đối tác gửi cho mình. Tƣơng tự, ngƣời nhận nhận đƣợc tờ tiền điện tử thì có cách nào để xác nhận rằng đó là của đối tác đã thanh toán cho họ. Ngoài ra còn có rất nhiều các hoạt động kinh tế, xã hội từ xa nhƣ đàm phán, thanh toán, gửi tiền từ xa, Do đó chữsố đƣợc sử dụng ở rất nhiều lĩnh vực: trong kinh tế với việc trao đổi các hợp đồng của các đối tác kinh doanh, trong xã hội là các cuộc bỏ phiếu điện tử hay thăm dò thông tin từ xa,… Tuy nhiên, yêu cầu về chữ đặt ra với các ứng dụng là khác nhau. Có những ứng dụng đòi hỏi sự nặc danh của tài liệu đƣợc nhƣ ứng dụng bỏ phiếu điện tử, tiền điện tử. Một số ứng dụng khác lại yêu cầu sự tham gia của ngƣời vào quá trình xác thực chữ ký. Chữ mù (ra đời năm 1983) chữ không thể chối bỏ ( ra đời năm 1989 ) đã giải quyết hai vấn đề nêu ra ở trên. Trong khóa luận này, em chú trọng vào tìm hiểu cơ sở lý thuyết của chữ mù và chữ không thể chối bỏ kèm theo ứng dụng minh họa với từng loại. Đồng thời xây dựng một ứng dụng thử nghiệm chữ số RSA trên file text tiếng Việt. Khóa luận bao gồm các phần cụ thể sau: Chƣơng 1: Các khái niệm cơ bản: nêu lên những lý thuyết toán học cơ bản mà bất kỳ bài toán an toàn thông tin nào cũng cần tới, các khái niệm cơ bản về mã hóa và số. 2 Chƣơng 2: Chữ mù RSA: trình bày về đồ chữ mù RSA, ví dụ minh họa ứng dụng chữ mù. Chƣơng 3: Chữ không thể chối bỏ: trình bày về đồ chữ không thể chối bỏ Chaum van Antwerpen, ví dụ minh họa, các hình thức tấn công chữ không thể chối bỏ ứng dụng của của chữ này. Chƣơng 4: Thử nghiệm các chƣơng trình: thử nghiệm chƣơng trình chữ số RSA, chƣơng trình chữ mù RSA chƣơng trình chữ không thể chối bỏ. Kết luận. 3 Chương 1. CÁC KHÁI NIỆM CƠ BẢN 1.1. CÁC KHÁI NIỆM TRONG TOÁN HỌC 1.1.1. Một số khái niệm trong số học 1.1.1.1. Ước chung lớn nhất, bội chung nhỏ nhất 1/. Khái niệm - Ước số bội số + Cho hai số nguyên a b, b ≠ 0. Nếu có một số nguyên q sao cho a = b*q, ta nói rằng a chia hết cho b, kí hiệu b\a. Ta nói b là ước của a, a là bội của b. Ví dụ: a = 6, b = 2, ta có 6 = 2*3, hiệu 2\6. Ở đây 2 là ƣớc của 6 6 là bội của 2 + Cho các số nguyên a, b ≠ 0, tồn tại cặp số nguyên (q, r) (0  r < /b/) duy nhất sao cho a = b * q + r. Khi đó q gọi là thương nguyên, r gọi là số dư của phép chia a cho b. Nếu r = 0 thì ta có phép chia hết. Ví dụ: Cho a = 13, b = 5, ta có 13 = 5*2 + 3. Ở đây thƣơng là q = 2, số dƣ là r = 3. - Ước chung lớn nhất, bội chung nhỏ nhất + Số nguyên d đƣợc gọi là ƣớc chung của các số nguyên  1 ,  2 , …,   , nếu nó là ƣớc của tất cả các số đó. + Số nguyên m đƣợc gọi là bội chung của các số nguyên  1 ,  2 , …,   , nếu nó là bội của tất cả các số đó. + Một ƣớc chung d > 0 của các số nguyên  1 ,  2 , …,   , trong đó mọi ƣớc chung của  1 ,  2 , …,   đều là ƣớc của d, thì d đƣợc gọi là ƣớc chung lớn nhất (UCLN) của  1 ,  2 , …,   . Ký hiệu d = gcd ( 1 ,  2 , …,   ) hay d = UCLN( 1 ,  2 , …,   ). Nếu gcd( 1 ,  2 , …,   ) = 1, thì các số  1 ,  2 , …,   đƣợc gọi là nguyên tố cùng nhau. + Một bội chung m > 0 của các số nguyên  1 ,  2 , …,   , trong đó mọi bội chung của  1 ,  2 , …,   đều là bội của m, thì m đƣợc gọi là bội chung nhỏ nhất (BCNN) của  1 ,  2 , …,   . Ký hiệu m = lcm( 1 ,  2 , …,   ) hay m = BCNN( 1 ,  2 , …,   ). [...]... những khác biệt rõ rệt - Thứ nhất, chữ thông thƣờng là một phần vật lý của tài liệu đƣợc Tuy nhiên, chữ số không gắn vào thông điệp đƣợc nhƣ chữ thông thƣờng, vì thế thuật toán phải liên kết giữa chữ thông điệp đƣợc - Thứ hai, thẩm định chữ thông thƣờng thực hiện bằng cách so sánh nó với chữ khác (chữ tin cậy) Trái lại, thẩm định chữ số dùng thuật toán kiểm tra công... tài liệu hàm băm 1.3.4.1 Một số vấn đề với chữ số 1/ Vấn đề 1 số thực hiện trên từng bit tài liệu, nên độ dài của chữ số ít nhất cũng bằng độ dài của tài liệu Một số chữ trên bản tin có kích thƣớc gấp đôi bản tin gốc Ví dụ khi dùng đồ chữ số DSS để vào bản tin có kích thƣớc 160 bit, thì chữ số này sẽ có kích thƣớc 320 bit.Trong khi đó trên thực tế, ta cần phải vào các bản... sau 2/ Chữ một lần” Để bảo đảm an toàn, “Khóa chỉ dùng 1 lần (one- time) trên 1 tài liệu Ví dụ: Chữ Lamport [15], chữ Fail - Stop (Van Heyst & Pedersen) [7] 1.3.3 So sánh chữ thông thƣờng và chữ số Chữ thông thƣờng (tức chữ viết tay) đƣợc dùng rất phổ biến trong các công việc hàng ngày, nhƣ viết thƣ, rút tiền từ ngân hàng, hợp đồng, Chữ đƣợc sử dụng nhƣ là bằng chứng để... ngƣời tài liệu là ai khẳng định ngƣời đã chấp nhận hay chịu trách nhiệm về nội dung đƣợc đề cập trong tài liệu Vì vậy, một chữ phải có các thuộc tính sau: - Chữ phải có tính tin cậy (xác thực) - Chữ không thể giả mạo đƣợc: chữ chứng minh chỉ có ngƣời đã tài liệu một cách chủ định mà không có ai khác - Chữ không thể đƣợc dùng lại: chữ phải là một phần của tài liệu không... Sử dụng đồ chữ an toàn sẽ ngăn chặn đƣợc khả năng giả mạo - Một sự khác biệt nữa giữa chữ số chữ thông thƣờng, bản sao của thông điệp số đã hoàn toàn giống với bản gốc Ngƣợc lại, vẫn có thể phân biệt đƣợc bản sao của tài liệu giấy đã bản gốc Vì thế, phải ngăn chặn việc sử dụng lại thông điệp số đã khi quá hạn sử dụng bằng cách thêm thông tin thời gian khi thông điệp đƣợc ký. .. thông điệp gốc Ví dụ: Chữ Elgamal là chữ đi kèm thông điệp (xem [1],[2]) 25 1.3.2.2 Phân loại chữ theo mức an toàn 1/ Chữ “không thể phủ nhận” Nhằm tránh việc nhân bản chữ để sử dụng nhiều lần, tốt nhất là ngƣời gửi tham gia trực tiếp vào việc kiểm thử chữ Điều đó đƣợc thực hiện bằng một giao thức kiểm thử, dƣới dạng một giao thức mời hỏi trả lời Ví dụ: Chữ không thể phủ định... ký, trong đó ngƣời gửi chỉ cần gửi chữ , ngƣời nhận có thể khôi phục lại đƣợc thông điệp, đã đƣợc bởi chữ này Ví dụ: Chữ RSA là chữ khôi phục thông điệp, sẽ trình bày trong mục sau 2/ Chữ không thể khôi phục đƣợc thông điệp (đi kèm thông điệp) Là loại chữ ký, trong đó ngƣời gửi cần gửi chữ phải gửi kèm cả thông điệp đã đƣợc bởi chữ này Ngƣợc lại, ngƣời nhận sẽ... điện tử với chữ số Về hình thức, chữ số hoàn toàn khác với chữ thông thƣờng nhƣng vẫn đảm bảo các thuộc tính của chữ nhƣ: tính tin cậy (xác thực), tính không thể giả mạo, tính không thể dùng lại, tính không thể thay đổi, tính không thể chối bỏ Về mặt thuộc tính chữ số chữ 26 thông thƣờng đều có những thuộc tính giống nhau nhƣng về mặt vật lý cấu trúc có những khác biệt rõ rệt... key) bản mã (ciphertext) đều có thể gửi đi trên một kênh truyền tin không an toàn 24 1.3 SỐ 1.3.1 Khái niệm chữ số 1.3.1.1 đồ chữ số đồ chữ số là bộ năm (P, A, K, S, V ), trong đó: P là tập hữu hạn các văn bản có thể A là tập hữu hạn các chữ có thể K là tập hữu hạn các khoá có thể S là tập các thuật toán V là tập các thuật toán kiểm thử Với mỗi k  K, có thuật toán sigk...  S, sigk : P A, thuật toán kiểm thử Verk  V, Verk : P  A đúng, sai, thoả mãn điều kiện sau với mọi xP, y A: Đúng, nếu y = sig k(x) Verk (x, y) = Sai, nếu y ≠ sigk (x) 1.3.2 Phân loại chữ số Có nhiều loại chữ tùy theo cách phân loại, sau đây xin giới thiệu một số cách 1.3.2.1 Phân loại chữ theo đặc trưng kiểm tra chữ 1/ Chữ khôi phục thông điệp Là loại chữ ký, trong đó ngƣời . mã hóa 22 1.3. KÝ SỐ 25 1.3.1. Khái niệm chữ ký số 25 1.3.2. Phân loại chữ ký số. 25 1.3.3. So sánh chữ ký thông thƣờng và chữ ký số 26 1.3.4. Tạo. về mã hóa và ký số. 2 Chƣơng 2: Chữ ký mù RSA: trình bày về sơ đồ chữ ký mù RSA, ví dụ minh họa và ứng dụng chữ ký mù. Chƣơng 3: Chữ ký không thể

Ngày đăng: 18/02/2014, 01:11

Từ khóa liên quan

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

Tài liệu liên quan