In 3 ban pptx

63 614 0
In 3 ban pptx

Đ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

Đồ án tốt nghiệp Tìm hiểu Chữ kí nhóm và ứng dụng trong giao dịch điện tử LỜI NÓI ĐẦU Trong xu hướng phát triển của thế giới và Việt Nam hiện nay, mạng Internet đang đem đến sự bùng nổ thông tin một cách mạnh mẽ. Nó được sử dụng để truyền thư điện tử, truy cập các website, kết nối các công sở, liên lạc với các khách hàng và sử dụng các dịch vụ ngân hàng, các giao dịch điện tử… Tiềm năng của mạng Internet là rất lớn. Như ta đã biết các giao tiếp, trao đổi thông tin qua Internet đều sử dụng giao thức TCP/IP. Các gói tin truyền từ điểm nguồn tới điểm đích sẽ đi qua rất nhiều máy tính trung gian, vì vậy độ an toàn thấp, nó rất dễ bị xâm phạm, theo dõi và giả mạo trên đường truyền. Vấn đề không an toàn cho thông tin trên đường truyền khiến nhiều người đắn đo trong việc sử dụng mạng Internet cho những ứng dụng về tài chính, giao dịch ngân hàng, hoạt động mua bán và khi truyền các thông tin kinh tế, chính trị vv… Những biện pháp đảm bảo an toàn thông tin đưa ra đều nhằm đáp ứng 3 yêu cầu: bảo mật thông tin, xác thực thông tin và toàn vẹn thông tin trên đường truyền. Các hệ mã hóa thông tin bảo đảm tính bí mật nội dung thông tin, các sơ đồ chữ ký số bảo đảm xác thực thông tin trên đường truyền. Tuy nhiên, nhu cầu của con người không chỉ dừng lại ở việc giao dịch giữa các cá nhân với nhau, mà còn giao dịch thông qua mạng giữa các nhóm người, các công ty, các tổ chức khác nhau trên thế giới. Dựa trên những yêu cầu thực tế đó các nhà khoa học đã nghiên cứu và đề xuất ra một kiểu chữ ký mới, đó chính là chữ ký nhóm. Trong đồ án này tôi đã tìm hiểu và nghiên cứu về chữ ký nhóm. Đây là một loại chữ ký điện tử cho phép một nhóm người tạo các chữ ký đại diện cho nhóm, và chỉ những thành viên trong nhóm mới có thể ký vào các thông điệp của nhóm. Người quản trị của nhóm có trách nhiệm thành lập nhóm và trong trường hợp cần thiết phải biết được ai là người ký vào thông điệp. Trong quá trình làm đồ án tốt nghiệp, em đã nhận được sự hướng dẫn tận tình của TS.Lê Phê Đô. Em xin chân thành cảm ơn! Đồng thời, em xin cảm ơn các thày cô giáo bộ môn Tin học – trường Đại học Dân lập Hải Phòng đã trang bị cho em những kiến thức cơ bản trong quá trình học tập tại trường. Sinh viên : Phạm Thị Hiểu Lớp CT 702 1 Đồ án tốt nghiệp Tìm hiểu Chữ kí nhóm và ứng dụng trong giao dịch điện tử Chương I CÁC KHÁI NIỆM CƠ BẢN 1.1 Cơ sở toán học 1.1.1. Ước số - Bội số Định nghĩa : Ước số của a và b là c nếu c|a và c|b Ước số chung lớn nhất : Là số lớn nhất mà a và b chia hết Ký hiệu : c = gcd (a,b) ; (great common divisor) Bội số chung nhỏ nhất : d là BCNN của a và b nếu ∀ c mà a|c , b|c → d|c Ký hiệu : d = lcm (a,b) ; (least common multiple) Tính chất: lcm (a,b) = a.b/gcd(a,b) 1.1.2. Số nguyên tố Định nghĩa : Số nguyên tố là số chỉ chia hết cho 1 và chính nó, ngoài ra không còn số nào nó có thể chia hết nữa. Hệ mật thường sử dụng số nguyên tố lớn cỡ 512bits và thậm chí còn lớn hơn nữa. Hai số m và n gọi là hai số nguyên tố cùng nhau khi ước số chung lớn nhất của chúng bằng 1. Chúng ta có thể viết như sau: UCLN(m,n) = 1 1.1.3. Khái niệm nhóm Định nghĩa : Nhóm là bộ đôi (G, ∗ ), trong đó G là tập φ ≠ và ∗ là một phép toán hai ngôi trong G thỏa mãn ba tiên đề sau 1. Phép toán nhóm kết hợp a * (b * c) = (a * b) * c ∀ a, b, c ∈ G 2. Có một phần tử 0 ∈ G được gọi là phần tử đơn vị thỏa mãn a * 0 = 0 * a ∀ a ∈ G 3. Với mỗi a ∈ G, tồn tại một phần tử a -1 ∈ G được gọi là nghịch đảo a * a -1 = a -1 * a = 0 Nhóm được gọi là giao hoán (hay nhóm Abel) nếu a * b = b * a ∀ a, b ∈ G 1.1.4. Nhóm hữu hạn Định nghĩa : Nhóm (G, ∗ ) hữu hạn nếu |G| là hữu hạn. Số các phần tử của nhóm G được gọi là cấp của nhóm. Ví dụ :  Tập các số nguyên Z với phép cộng sẽ tạo nên một nhóm. Phần tử đơn vị của nhóm này được kí hiệu là 0, phần tử ngược của một số nguyên a là số nguyên –a. Sinh viên: Phạm Thị Hiểu Lớp CT702 2 Đồ án tốt nghiệp Tìm hiểu Chữ kí nhóm và ứng dụng trong giao dịch điện tử  Tập Z n với phép cộng modulo tạo nên một nhóm cấp n. Tập Z n với phép toán nhân theo modulo n không phải là một nhóm vì không phải mọi phần tử của nhóm đều có nghịch đảo. Tuy nhiên tập Z * n sẽ là một nhóm cấp φ (n) với phép toán nhân theo modulo n và có phần tử đơn vị là 1. 1.1.5. Nhóm con Định nghĩa : Bộ đôi (S, ∗ ) được gọi là nhóm con của (G, ∗ ) nếu:  S ⊂ G, phần tử trung gían e ∈ S  x, y ∈ S ⇒ x * y ∈ S 1.1.6. Nhóm Cyclic Định nghĩa : Nhóm G được gọi là nhóm cyclic nếu tồn tại một phần tử α ∈ G sao cho với mỗi b ∈G có một số nguyên I sao cho b = α i . Phần tử α như vậy được gọi là phần tử sinh của G Nếu G là một nhóm và a ∈ G thì tập tất cả các lũy thừa của a sẽ tạo nên một nhóm con cyclic của G. Nhóm này được gọi là nhóm con sinh bởi a và được kí hiệu là a 1.1.7. Các thuật toán trong Z Cho a và b là các số nguyên không âm và nhỏ hơn hoặc bằng n. Cần chú ý rằng số các bit trong biểu diễn nhị phân của n là [lgn] + 1 và số này xấp xỉ bằng lg n. Số các phép toán bit đối với bốn phép toán cơ bản trên các số là cộng , trừ, nhân và chia sử dụng các thuật toán kinh điển được tóm lược trên bảng sau. Các kỹ thuật tinh tế hơn đối với các phép toán nhân và chia sẽ có độ phức tạp nhỏ hơn. Phép toán Độ phức tạp bit Cộng a + b Trừ a – b Nhân a * b Chia a = qb + r 0(lg a + lg b) = 0 (lg n) 0(lg a + lg b) = 0 (lg n) 0 ( ) b) (lg*a) (lg = 0 ( ) n)2 (lg 0 ( ) b) (lg*a) (lg = 0 ( ) n)2 (lg 1.1.8. Thuật toán Euclide : Tính UCLN của 2 số nguyên VÀO : Hai số nguyên không âm a và b với a > b RA : UCLN của a và b (1). while b ≠ 0 do R ← a mod b, a ← b, b ← r (2). Return (a) Sinh viên: Phạm Thị Hiểu Lớp CT702 3 Đồ án tốt nghiệp Tìm hiểu Chữ kí nhóm và ứng dụng trong giao dịch điện tử 1.1.9. Thuật toán Euclide mở rộng VÀO : Hai số nguyên không âm a và b với a > b RA : d = UCLN (a, b) và các số nguyên x và y thỏa mãn ax + by = d (1) Nếu b = 0 thì đặt d ← a, x ← l, y ← 0 và return (d, x, y) (2) Đặt x 2 ← l, x 1 ← 0, y 2 ← 0, y 1 ← l (3) while b > 0 do 1. q ← [a/b], r ← a – qb, x ← x 2 – qx 1 , y ← y 2 – qy 1 2. a ← b, b ← r, x 2 ← x 1 , x 1 ← x, y 2 ← y 1 , y 1 ← y (4) Đặt d ← a, x ← x 2 , y ← y 2 và return (d, x, y) 1.1.10. Định nghĩa hàm Φ Euler Định nghĩa : Với n≥1 chúng ta gọi φ (n) là tập các số nguyên tố cùng nhau với n nằm trong khoảng [1,n]. Tính chất :  Nếu p là số nguyên tố → φ (p) = p-1  Nếu p=m.n , gcd(m,n)=1 → φ (p)= φ (m). φ (n)  Nếu n = k e k e ee pppp 3 21 321 là thừa số nguyên tố của n thì → φ (n) = n         −         −         − k ppp 1 1 1 1 1 1 21 1.1.11. Đồng dư thức Định nghĩa : Cho a và b là hai số nguyên tố, a được gọi là đồng dư với b theo modulo n, ký hiệu là a ≡ b(mod n) nếu a, b chia cho n có cùng số dư. Ví dụ : 24 ≡ 9 mod 5 vì 24 - 9 = 3 * 5 -11 ≡ 17 mod 7 vì -11 - 17 = -4 * 7 Tính chất : Đối với a, a 1 , b, b 1 , c ∈ Z ta có :  a ≡ a (mod n)  a ≡ b (mod n) ↔ b ≡ a (mod n)  a ≡ b (mod n) , b ≡ c (mod n) → a ≡ c (mod n)  a ≡ a 1 (mod n) , b ≡ b 1 (mod n) a+b≡ a 1 +b 1 (mod n) a.b ≡ a 1 .b 1 (mod n) 1.1.12. Số nghịch đảo Định nghĩa : Cho a ∈ Z n . Một số nguyên x ∈ Z n gọi là nghịch đảo của a theo mod n nếu a.x ≡ 1mod n Nếu có số x như vậy thì nó là duy nhất và ta nói a là khả nghịch. Ký hiệu là a -1 . Có thể suy ra rằng a khả nghịch theo mod n khi và chỉ khi gcd (a,n)=1. Sinh viên: Phạm Thị Hiểu Lớp CT702 4 Đồ án tốt nghiệp Tìm hiểu Chữ kí nhóm và ứng dụng trong giao dịch điện tử 1.1.13. Nhóm nhân Z*n Định nghĩa : Nhóm nhân của Z n ký hiệu là Z * n là tập hợp các phần tử sao cho gcd (a,n)=1. Đặc biệt với n là số nguyên tố thì Z * n ={ a ∈ Z n | 1≤a≤n-1} Định nghĩa : Cho a ∈ Z * n khi đó bậc của a kí hiệu là ord (a) là một số nguyên dương t nhỏ nhất sao cho a t ≡ 1(mod n). 1.1.14. Định nghĩa thặng dư bậc 2 Định nghĩa : Cho a ∈ Z * n gọi a là thặng dư bậc 2 theo modulo n nếu tồn tại x sao cho x 2 ≡ a (mod n) . Nếu không tồn tại thì gọi a là bất thặng dư bậc 2. Tập tất cả các thặng dư bậc hai modulo n được kí hiệu là n Q , còn tập tất cả các thặng dư không bậc hai được kí hiệu là n Q . 1.1.15. Phần dư China CRT ( Chinese Remainder Theorem) Nếu các số nguyên n 1 , n 2 , …, n k là nguyên tố cùng nhau từng thì hệ các phương trình đồng dư: x ≡ a 1 (mod n 1 ) x ≡ a 2 (mod n 2 ) ……………… x ≡ a k (mod n k ) sẽ có nghiệm duy nhất theo modulo n (n = n 1 , n 2 , …, n k ) x = ∑ = k i 1 a i N i M i mod n Trong đó N i = n / n i và M i = N 1− i mod n i Các tính toán này có thể được thực hiện bởi 0 ( ) )2n (lg các phép toán trên bit. Ví dụ : Cặp phương trình đồng dư x ≡ 5 (mod 9) x ≡ 19 (mod 23) có nghiệm duy nhất x ≡ 203 (mod 207) Tính chất Nếu (n 1 , n 2 ) = 1 thì cặp phương trình đồng dư x ≡ a (mod n 1 ), x ≡ a (mod n 2 ) có một nghiệm duy nhất x ≡ a (mod n 1 , n 2 ) 1.1.16. Độ phức tạp tính toán Lý thuyết thuật toán và các hàm số tính được ra đời từ những năm 30 của thế kỉ 20 đã đặt nền móng cho việc nghiên cứu các vấn đề “ tính được ”, “ giải được ” trong toán học. Tuy nhiên từ các “ tính được ” đến việc tính toán thực tế là một khoảng cách rất lớn. Có rất nhiều vấn đề chứng minh là có thể tính được nhưng không tính được trong thực tế dù có sự trợ giúp của máy tính. Vào những năm 1960 lý thuyết độ phức tạp Sinh viên: Phạm Thị Hiểu Lớp CT702 5 Đồ án tốt nghiệp Tìm hiểu Chữ kí nhóm và ứng dụng trong giao dịch điện tử tính toán được hình thành và phát triển nhanh chóng, cung cấp nhiều hiểu biết sâu sắc về bản chất phức tạp của các thuật toán và các bài toán, cả những bài toán thuần túy lý thuyết đến những bài toán thường gặp trong thực tế. Độ phức tạp tính toán của một tiến trình tính toán là số ô nhớ được dùng hay số các phép toán sơ cấp được thực hiện trong tiến trình tính toán đó. Dữ liệu đầu vào đối với một thuật toán thường được biểu diễn qua các từ trong một bảng kí tự nào đó. Độ dài của một từ là số kí tự trong từ đó. 1.1.17. Các thuật toán trong Zn Cho n là một số nguyên dương. Các phần tử của Z n sẽ được biểu thị bởi các số nguyên Q 21 = {0, 1, 2, … n-1}. Ta thấy rằng, nếu a, b ∈ Z n thì (a + b) mod n = Bởi vậy phép cộng ( và trừ ) theo modulo có thể thực hiện đựợc mà không cần phép chia. Phép nhân modulo của a và b có thể được thực hiện bằng cách nhân các số nguyên thông thường rồi lấy phần dư của kết quả sau khi chia cho n. Các phần tử nghịch đảo trong Z n có thể được tính bằng cách dùng thuật toán Euclide mở rộng được mô tả dưới đây: 1.1.18. Thuật toán ( Tính các nghịch đảo trong Zn ) VÀO : a ∈ Z n RA : a -1 mod n (nếu tồn tại) 1. Dùng thuật toán Euclide mở rộng để tìm các số nguyên x và y sao cho ax + ny = d trong đó d = (a, n) 2. Nếu d >1 thì a -1 mod n không tồn tại. Ngược lại return (x) Phép lũy thừa theo modulo có thể được thực hiện có hiệu quả bằng thuật toán nhân và bình phương có lặp. Đây là một thuật toán rất quan trọng trong nhiều thủ tục mật mã. Cho biểu diễn nhị phân của a là : ∑ = t i 0 k i 2 i trong đó mỗi k i ∈ {0, 1} khi đó Sinh viên: Phạm Thị Hiểu Lớp CT702 6 a + b với a + b < n a + b – r.n với a + b ≥ n Đồ án tốt nghiệp Tìm hiểu Chữ kí nhóm và ứng dụng trong giao dịch điện tử a k = k t i k i a 2 0 ∏ = = ( ) ( ) ( ) t t kkk aaa 222 1 1 0 0 Thuật toán nhân và bình phương có lặp để lấy lũy thừa trong Z n VÀO : a ∈ Z n và số nguyên k, (0 ≤ k < n) có biểu diễn nhị phân : k = i t i i k 2 0 ∑ = RA : a k mod n 1. Đặt b ← l. Nếu k = 0 thì return (b) 2. Đặt A ← a 3. Nếu k 0 = 1 thì đặt b ← a 4. for i from l to t do 1. Đặt A ← A 2 mod n 2. Nếu k i = l thì đặt b ← A*b mod n 5. Return (b). Số các phép toán bit đối với phép toán cơ bản trong Z n Phép toán Độ phức tạp bit Cộng modulo 0(lg n) Trừ modulo 0(lg n) Nhân modulo 0 ( ) 2 )(lgn Nghịch đảo modulo 0 ( ) 2 )(lgn Lũy thừa modulo 0 ( ) 3 )(lgn Độ phức tạp bit của các phép toán cơ bản trong Z n Sinh viên: Phạm Thị Hiểu Lớp CT702 7 Đồ án tốt nghiệp Tìm hiểu Chữ kí nhóm và ứng dụng trong giao dịch điện tử 1.1.19. Hàm một phía - Hàm một phía có cửa sập Một hàm một phía là hàm mà dễ dàng tính toán ra quan hệ một chiều nhưng rất khó để tính ngược lại. Ví dụ : Biết giả thiết x thì có thể dễ dàng tính ra f(x), nhưng nếu biết f(x) thì rất khó tính ra được x. Trong trường hợp này khó có nghĩa là để tính ra được kết quả thì phải mất rất nhiều thời gian để tính toán. F(x) được gọi là hàm một phía có cửa sập nếu tính xuôi y = f(x) thì dễ nhưng tính ngược x =f 1− (y) thì khó tuy nhiên nếu có “ cửa sập ” thì vấn đề tính ngược trở nên dễ dàng. Cửa sập ở đây là một điều kiện nào đó giúp chúng ta dễ dàng tính ngược. Ví dụ : y = f(x) = x b mod n tính xuôi thì dễ nhưng tính ngược x = y a mod n thì khó vì phải biết a với a * b ≡ 1 ( ) ))(mod( n φ trong đó φ (n) = (p-1)(q-1). Nhưng nếu biết cửa sập p, q thì việc tính n = p * q và tính a trở nên dễ dàng. Hộp thư là một ví dụ về hàm một phía có cửa sập. Bất kỳ ai cũng có thể bỏ thư vào thùng. Bỏ thư vào thùng là một hành động công cộng. Mở thùng thư không phải là hành động công cộng. Nó là việc khó khăn, bạn sẽ cần đến mỏ hàn để phá hoặc những công cụ khác. Hơn nữa nếu bạn có “ cửa sập ” ( Trong trường hợp này là chìa khóa của hòm thư ) thì công việc mở hòm thư thật dễ dàng. 1.2 Tìm hiểu về mật mã Mật mã học là khoa học nghiên cứu sự an toàn, toàn vẹn của dữ liệu, xác nhận sự tồn tại và xác nhận tính nguyên bản của thông tin. Sinh viên: Phạm Thị Hiểu Lớp CT702 8 Đồ án tốt nghiệp Tìm hiểu Chữ kí nhóm và ứng dụng trong giao dịch điện tử Sơ đồ khối một hệ truyền tin mật Định nghĩa : Một hệ mật mã là một bộ năm (P, C, K, E, D) thoả mãn các điều kiện sau đây: + P là một tập hữu hạn các bản rõ. + C là một tập hữu hạn các bản mã. + K là một tập hữu hạn các khoá. + Với mỗi k ∈ K, có một hàm lập mã e k ∈ E e k : P → C và một hàm giải mã d k ∈ D d k : C → P sao cho d k ( ) (x)e k = x với mọi x ∈ P Trong thực tế, P và C thường là bảng chữ cái (hoặc tập các dãy chữ cái có độ dài cố định). 1.2.1. Mã cổ điển Hệ mã cổ điển (hệ mã đối xứng) là hệ mật mã mà khóa mã hóa có thể dễ dàng tìm được từ khóa giải mã và ngược lại. Trong nhiều trường hợp, khóa mã hóa và khóa giải mã là giống nhau. Hệ mật mã cổ điển yêu cầu người gửi và người nhận phải thỏa thuận một mã trước khi tin tức được gửi đi, khóa này phải được cất giữ bí mật. Độ an toàn của hệ này phụ thuộc vào khóa. Nếu để lộ khóa, thì bất kỳ người nào cũng có thể mã hóa và giải mã thông điệp đó.  Các đặc điểm của hệ mã cổ điển Sinh viên: Phạm Thị Hiểu Lớp CT702 9 Nguồn tin Bộ mã hóa Kênh mở (không an toàn) Bộ giải mã Nhận tin Thám mã Kênh an toàn Nguồn khóa Bản rõ Bản mã Bản mã K D K E BA Bản rõ Đồ án tốt nghiệp Tìm hiểu Chữ kí nhóm và ứng dụng trong giao dịch điện tử 1. Các phương pháp mã hóa cổ điển đòi hỏi người mã hóa và người giải mã phải có cùng chung một khóa. 2. Khóa phải được giữ bí mật tuyệt đối, khóa phải được gửi đi trên kênh an toàn. Vì dễ dàng xác định một khóa nếu biết khóa kia. Nhược điểm chính của phương pháp này là khóa được truyền trên kênh an toàn nên chi phí tốn kém và không kịp thời. Ưu điểm là tốc độ mã hóa và giải mã rất nhanh. Các hệ mật mã cổ điển cũng dùng chung một khoá cho việc lập mã và giải mã, các bản rõ và bản mã thường dùng cơ sở là bảng chữ cái trong ngôn ngữ tự nhiên. Và trong phần này ta sẽ dùng bảng chữ cái tiếng Anh làm ví dụ.  Nơi ứng dụng Hệ mã cổ điển thường được sử dụng trong môi trường mà khóa có thể dễ dàng trao chuyển bí mật. Nó cũng được dùng để mã hóa thông tin khi lưu trữ trên đĩa. 1.2.1.1. Mã dịch chuyển Định nghĩa : Mã dịch chuyển: (P, C, K, E, D) P = C = K = Z 26 với k ∈ K, định nghĩa e k (x) = (x + k) mod 26 d k (y) = (y – k) mod 26 (x, y ∈ Z 26 ) Ví dụ: Dùng khoá k = 2 để mã hoá dòng thư: "madichchuyen'" dòng thư đó tương ứng với dòng số m a d i c h c h u y e n 12 0 3 8 2 7 2 7 20 24 4 13 Qua phép mã hoá e 2 sẽ được: 14 2 5 10 4 9 4 9 22 26 6 15 o c f k e j e j w z g p Bản mã sẽ là: Sinh viên: Phạm Thị Hiểu Lớp CT702 10 [...]... = 2546, k = 9557 tính k-1 mod q = 7 631 γ = 100 832 559557 mod 124540019) mod 1 738 9 = 27 039 929 mod 1 738 9 = 34 δ = (7 631 ){5246+(12496) (34 )} mod 1 738 9 = 130 49 Kiểm thử: w = δ-1 mod q = 1799 e1= x.w mod q = 5246.1799 mod 1 738 9 = 12716 e2= γ.w mod q = 34 .1799 mod 1 738 9 = 8999 (αe1 βe2 modp)modq = (100 832 5512716.1199462658999mod124540019)mod 1 738 9 = 27 039 929 mod 1 738 9 = 34 = γ Như vậy verk” ( x, (γ , δ ) )... dụ: Giả sử m = 4, và khoá k được cho bởi phép hoán vị π 1 2 3 4 2 3 4 1 Khi đó phép hoán vị nghịch đảo π-1 là: 1 2 3 4 4 1 2 3 Bản rõ: “ mahoanvi ” m vt a h o a n v i 1 2 3 4 1 2 3 4 Sinh viên: Phạm Thị Hiểu 15 Lớp CT702 Đồ án tốt nghiệp Tìm hiểu Chữ kí nhóm và ứng dụng trong giao dịch điện tử π 1→2 2 3 3→4 4→1 1→2 2 3 3→4 4→1 vt 2 3 4 1 2 3 4 1 a h o m a h o m Bản mã: “ ahomahom ” Dùng hoán vị nghịch... 2 Chọn một số ngẫu nhiên bí mật k ∈ Z p −1 , chọn k =3 Giả sử G muốn gửi thông báo x = 3 cho N, G phải tính: eK(x, k) = (y1, y2) Trong đó: y1 = αk mod p = 33 mod 7 = 6 y2 = x βk mod p = 3* 23 mod 7 = 3 Khi N thu được bản mã (y1, y2) = (6, 3) , anh ta sẽ tính: x = dK(y1, y2) = y2(y1a)-1 mod p = 3* (62)-1 mod 7 = 3 Đó chính là bàn rõ mà G đã mã hoá Sinh viên: Phạm Thị Hiểu 19 Lớp CT702 Đồ án tốt nghiệp... dụ: Giả sử p = 467, α = 2, a = 127 Khi đó β = 2127mod467= 132 Cho x =100; ta chọn ngẫu nhiên k =2 13 (∈ Z*466 ) và được k-1mod466 = 431 Chữ ký trên văn bản x=100 với số ngẫu nhiên k =2 13 là (γ , δ), trong đó γ =2213mod467 = 29 và δ = (100 - 127.29). 431 mod466 =51 Để kiểm thử ta tính : β γ γ δ = 132 29.2951 ≡ 189 (mod467), Sinh viên: Phạm Thị Hiểu 23 Lớp CT702 Đồ án tốt nghiệp Tìm hiểu Chữ kí nhóm và ứng... “mavingenere” m a v i n g e n e r e x 12 0 21 8 13 6 4 13 4 17 4 k 2 8 15 7 4 17 2 8 15 7 4 y 14 8 10 15 17 23 6 21 19 24 8 o i k p r x g v t y i Bản mã “ oikprxgvtyi ” Từ bản mã đó, dùng phép giải mã dk tương ứng, ta lại thu được bản rõ Chú ý: Mã Vingenere với m = 1 sẽ trở thành mã Dịch chuyển Tập hợp các khoá trong mã Vingenere mới m ≥ 1 có tất cả là 26 m khoá có thể có Với m = 6, số khoá đó là 30 8.915.776,... được chữ ký của mình Một sơ đồ chữ ký không thể chối bỏ có 3 phần:  Một thuật toán ký  Một giao thức kiểm thử ( giao thức xác nhận )  Một giao thức chối bỏ Sinh viên: Phạm Thị Hiểu 25 Lớp CT702 Đồ án tốt nghiệp Tìm hiểu Chữ kí nhóm và ứng dụng trong giao dịch điện tử 2 .3 Chứng minh không tiết lộ thông tin Phép chứng minh không tiết lộ thông tin đã được mô hình hóa bởi Quisquater and Guillou trong ví... mod 26 Với mã Affine, số các khoá có thể có bằng (số các số ≤ 26 và nguyên tố với 26) × 26, tức là 12 × 26 = 31 2 Việc thử tất cả các khoá để thám mã trong trường hợp này tuy khá mất thì giờ nếu tính bằng tay, nhưng không khó khăn gì nếu dùng máy tính Do vậy, mã Affine cũng không phải là mã an toàn 1.2.1.4 Mã Vingenere Định nghĩa Mã Vingenere: (P, C, K, E, D) Cho m là số nguyên dương Sinh viên: Phạm Thị... = 10 φ(n)= (p – 1).(q – 1) = 1*4 = 4 Do UCLN(φ(n), b) = 1 nên chọn b = 3 a.b ≡ 1 mod φ(n) nên chọn a = 7 Giả sử G muốn gửi bản rõ x = 3 tới N, G phải tính: y = eK(x)= xb mod n = 33 mod 10 = 7 Khi N nhận được bản mã y = 7, anh ta sử dụng số mũ a mật để tính: x = dK(y) = ya mod n = 77 mod 10 = 3 Đó chính là bản rõ mà G đã mã hoá Sinh viên: Phạm Thị Hiểu 17 Lớp CT702 Đồ án tốt nghiệp Tìm hiểu Chữ kí nhóm... 1.2.1 .3 Mã Affine Sinh viên: Phạm Thị Hiểu 11 Lớp CT702 Đồ án tốt nghiệp Tìm hiểu Chữ kí nhóm và ứng dụng trong giao dịch điện tử Định nghĩa Mã Affine: (P, C, K, E, D) P = C = Z26, K = { (a, b) є Z26 x Z26 : (a, 26) = 1 } với mỗi k = (a, b) є K ta định nghĩa: ek(x) = ax + b mod 26 dk(y) = a-1(y – b) mod 26 trong đó x, y є Z26 Ví dụ: Lấy k = (5, 6) Bản rõ: “maaffine” m x a a f f i n e 12 0 0 5 5 8 13 4... điệp ban đầu lớn hơn 264 thì chỉ có những bit nhỏ hơn 64 mới được sử dụng Hai bước trên để đáp ứng yêu cầu độ dài của thông điệp là một bội số của 512 bit Bước 3 : Khởi tạo bộ đệm của MD Một bộ đệm 128 bit được khởi tạo để lưu giữ kết quả của hàm băm Bộ đệm được biểu diễn bởi thanh ghi 32 bit Các giá trị khởi tạo của 4 thanh ghi là : A = 0x01 234 567 B = 0x89abcdef C = 0xfedcba98 D = 0x765 432 10 Sinh viên: . v i vt 1 2 3 4 1 2 3 4 Sinh viên: Phạm Thị Hiểu Lớp CT702 1 2 3 4 2 3 4 1 1 2 3 4 4 1 2 3 15 Đồ án tốt nghiệp Tìm hiểu Chữ kí nhóm và ứng dụng trong giao dịch điện tử π 1 → 2 2 → 3 3 → 4 4 → 1. p = 3 3 mod 7 = 6 y 2 = x. β k mod p = 3* 2 3 mod 7 = 3 Khi N thu được bản mã (y 1 , y 2 ) = (6, 3) , anh ta sẽ tính: x = d K (y 1 , y 2 ) = y 2 (y 1 a ) -1 mod p = 3* (6 2 ) -1 mod 7 = 3 Đó. thông tin đưa ra đều nhằm đáp ứng 3 yêu cầu: bảo mật thông tin, xác thực thông tin và toàn vẹn thông tin trên đường truyền. Các hệ mã hóa thông tin bảo đảm tính bí mật nội dung thông tin, các

Ngày đăng: 28/07/2014, 03:20

Mục lục

  • LỜI NÓI ĐẦU

    • Chương I

    • CÁC KHÁI NIỆM CƠ BẢN

      • 1.1 Cơ sở toán học

      • 1.1.1. Ước số - Bội số

      • 1.1.7. Các thuật toán trong Z

      • 1.1.9. Thuật toán Euclide mở rộng

      • 1.1.10. Định nghĩa hàm Φ Euler

      • 1.1.13. Nhóm nhân Z*n

      • 1.1.14. Định nghĩa thặng dư bậc 2

      • 1.1.15. Phần dư China CRT ( Chinese Remainder Theorem)

      • 1.1.16. Độ phức tạp tính toán

      • 1.1.17. Các thuật toán trong Zn

      • 1.1.18. Thuật toán ( Tính các nghịch đảo trong Zn )

      • 1.1.19. Hàm một phía - Hàm một phía có cửa sập

      • 1.2 Tìm hiểu về mật mã

      • CHỮ KÍ ĐIỆN TỬ

        • 2.1. Tìm hiểu về chữ ký điện tử ( electronic signature )

        • 2.1.1. Khái quát về chữ ký điện tử ?

        • 2.1.2. Định nghĩa về sơ đồ ký điện tử

        • 2.1.3. Sơ đồ chữ ký RSA

        • 2.1.4. Sơ đồ chữ ký Elgamal

        • 2.1.5. Sơ đồ chữ ký DSS

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

Tài liệu liên quan