chữ kí số elgamal

13 583 5
chữ kí số elgamal

Đ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

chữ kí số elgamal tài liệu, giáo án, bài giảng , luận văn, luận án, đồ án, bài tập lớn về tất cả các lĩnh vực kinh tế, k...

LUẬN VĂN TỐT NGHIỆP SƠ ĐỒ CHỮ KÍ SỐ CHƯƠNG I GIỚI THIỆU VỀ SƠ ĐỒ CHỮ KÍ SỐ I. Giới thiệu chung. Hàng ngày chúng ta vẫn thường hay dùng chữ kí để xác minh một vấn đề, hay để xác nhận quyền của mình đối với một vật thông qua những giấy tờ hoặc là một hợp đồng nào đó. Chẳng hạn như trên một bức thư nhận tiền từ ngân hàng, hay những hợp đồng kí kết mua bán , chuyển nhượng. Những chữ kí như vậy còn được gọi là chữ kí viết tay , bởi nó được viết bởi chính tay người kí không thể sao chụp được . Thông thường chữ kí viết tay trên các văn bản , trên các tài liệu hay trên các hợp đồng kinh tế v.v thì được dùng để xác nhận người kí nó . Sơ đồ chữ kí ( hay còn gọi là chữ kí số ) là phương pháp kí một bức điện lưu dưới dạng điện tử . Chẳng hạn một bức điện có chữ kí được truyền trên mạng máy tính Một vài khác biệt cơ bản giữa các chữ kí thông thường và chữ kí số : +Đầu tiên là vấn đề kí một tài liệu .Với chữ kí thông thường , nó là một phần vật lý của tài liệu . Tuy nhiên , một chữ kí số không gắn theo kiểu vật lí vào bức điện nên thuật toán được dùng phải “ không nhìn thấy “ theo cách nào đó trên bức điện . +Thứ hai là vấn đề về kiểm tra . Chữ kí thông thường được kiểm tra bằng cách so sánh nó với các chữ kí xác thực khác ( còn gọi là chữ kí mẫu ) . Ví dụ ai đó kí một tấm séc để mua hàng , người bán phải so sánh chữ kí trên mảnh giấy đó với chữ kí nằm ở mặt sau thẻ tín dụng để kiểm tra . Dĩ nhiên , đây không phải là phương pháp an toàn vì nó dễ dàng bị giả mạo . Mặt khác , các chữ kí số có thể được kiểm tra nhờ dùng một thuật toán kiểm tra công khai . Bùi Lê Trung – Lớp CT96B 5 LUẬN VĂN TỐT NGHIỆP SƠ ĐỒ CHỮ KÍ SỐ Như vậy , bất kì ai cũng có thể kiểm tra được chữ kí số . Việc dùng một sơ đồ chữ kí an toàn có thể sẽ ngăn chặn được khả năng giả mạo. +Sự khác biệt cơ bản khác giữa chữ kí thông thường và chữ kí số là bản copy tài liệu được kí bằng chữ kí số đồng nhất với bản gốc. Điều này có nghĩa là phải cẩn thận ngăn chặn một bức điện kí số khỏi bị dùng lại . Ví dụ nếu một người A nào đó kí một bức điện số xác nhận một người B nào đó lấy một số tiền là một triệu từ tài khoản ngân hàng của anh ta ( ví dụ sec ) , người A chỉ muốn người B chỉ có khả năng làm điều đó một lần.Vì thế , bản thân bức điện cần chứa một số thông tin gì đó ( chẳng hạn như ngày tháng ) để ngăn nó khỏi bị dùng lại. Một sơ đồ chữ kí số thường chứa hai thành phần : Thuật toán kí và thuật toán xác minh . Người A có thể kí bức điện x dùng thuật toán kí an toàn . Chữ kí Sig(x) nhận được có thể kiểm tra bằng thuật toán xác minh công khai Ver . Khi cho trước cặp (x,y) thuật toán xác minh cho giá trị TRUE hay FALSE tuỳ thuộc vào việc chữ kí được xác thực như thế nào . Định nghĩa hình thức của chữ kí Một sơ đồ chữ kí số là bộ 5 ( P,A,K,S,V) thoả mãn các điều kiện sau : 1. P : là tập hữu hạn các bức điện có thể. 2. A : là tập hữu hạn các chữ kí có thể . 3. K : không gian khoá là tập hữu hạn các khoá có thể 4.Với mỗi K thuộc K tồn tại một thuật toán kí Sig K ∈ S và một thuật toán xác minh Ver K ∈ V . Mỗi Sig K : P -> A và Ver K :P x A -> { TRUE ,FALSE } là những hàm sao cho mỗi bức điện x ∈ P và mỗi bức điện y ∈ A thoả mãn phương trình sau đây TRUE nếu y= Sig(x) Ver (x,y) = FALSE nếu y #Sig(x) Bùi Lê Trung – Lớp CT96B 6 LUẬN VĂN TỐT NGHIỆP SƠ ĐỒ CHỮ KÍ SỐ Với mỗi K ∈ K , hàm Sig K và Ver K là các hàm thời gian đa thức . Ver K sẽ là hàm công khai còn Sig K là hàm mật . Ta gọi Alice là người gửi còn Bob là người nhận . Không thể dễ dàng tính toán để giả mạo chữ kí của Bob trên bức điện x . Nghĩa là với x cho trước , chỉ có Bob mới có thể tính được chữ kí y để Ver (x,y) = True . Một sơ đồ chữ kí không thể an toàn vô điều kiện vì một người tò mò nào đó có thể kiểm tra tất cả các chữ số y có thể trên bức điện x nhờ dùng thuật toán Ver công khai cho đến khi anh ta có thể tìm thấy một chữ kí đúng.Vì thế , nếu có đủ thời gian anh ta luôn luôn có thể giả mạo chữ kí của Bob. Như vậy , giống như trường hợp hệ thống mã khoá công khai , mục đích của chúng ta là tìm các sơ đồ chữ kí số an toàn về mặt tính toán. Tóm lại ta xét cách kết hợp chữ kí và mã khoá công khai . Giả sử rằng Alice tính toán chữ kí của cô ta y =Sig Alice (x) và sau đó mã cả x và y bằng hàm mã khoá công khai e Bob của Bob , khi đó cô nhận được z=e Bob (x,y). Bản mã z sẽ được truyền tới Bob. Khi Bob nhận được z , anh ta trước hết sẽ giải mã hàm d Bob để nhận được (x,y) . Sau đó anh ta dùng hàm xác minh công khai của Alice để kiểm tra xem Ver Alice (x,y) có bằng TRUE hay không . Song đầu tiên Alice mã x rồi sau đó mới kí lên bản mã nhận được thì sao? Khi đó cô tính : y= Sig Alice (e Bob (x)). Alice sẽ truyền cặp (z,y) tới Bob . Bob sẽ giải mã z , nhận được x và sau đó xác minh chữ kí y trên x nhờ dùng Ver Alice . Một vấn đề tiềm ẩn trong biện pháp này là nếu một người tò mò nào đó (ta gọi là người đó Oscar ) nhận được cặp (z,y) kiểu này , anh ta có thể thay chữ kí y của Alice bằng chữ kí của chính mình: y’=Sig Oscar (e Bob (x)) . ( Chú ý rằng , Oscar có thể kí bản mã e Bob (x) ngay cả khi anh ta không biết bản rõ x ). Khi đó nếu Oscar truyền (z,y’) đến Bob thì chữ kí của Oscar được Bob xác minh bằng Ver Oscar và Bob có thể suy ra rằng , bản rõ x xuất từ Bùi Lê Trung – Lớp CT96B 7 LUẬN VĂN TỐT NGHIỆP SƠ ĐỒ CHỮ KÍ SỐ Oscar . Do khó khăn này , hầu hết người sử dụng được khuyến nghị nên kí trước khi mã. Trước khi nghiên cứu về sơ đồ chữ kí Elgamal ta có thể cần phải xem xét lại một số vấn đề sâu hơn về lý thuyết số. II. Một số vấn đề về lý thuyết số Trước tiên ta cần phải xem xét một số yếu tố liên quan đến lý thuyết số và số học modulo. Sau đây là một số kết quả cơ bản cần biết là thuật toán Euclide và định lý phần dư China. 1. Thuật toán 1 ( thuật toán Euclide ). Thuật toán này được dùng để tính ước số chung lớn nhất (USCLN) của hai số nguyên dương r 0 và r 1 với r 0 >r 1 . Thuật toán Euclide bao gồm việc thực hiện dãy các phép chia sau : r 0 = q 1 r 1 + r 2 , 0 < r 2 < r 1 r 1 = q 2 r 2 + r 3 , 0 < r 3 < r 2 r m-2 = q m-1 r m –1 + r m , 0 < r m < r m-1 r m-1 = q m r m . Khi đó dễ dàng chứng tỏ được rằng : USCLN ( r 0 , r 1 ) = USCLN ( r 1 , r 2 ) = =USCLN ( r m , r m-1 ) = r m Bởi vậy USCLN ( r 0 , r 1 ) = r m Vì thuật toán Euclide tính các USCLN nên có thể dùng nó để xác định xem liệu có một số nguyên dương b < n có nghịch đảo theo modulo n không, Bùi Lê Trung – Lớp CT96B 8 LUẬN VĂN TỐT NGHIỆP SƠ ĐỒ CHỮ KÍ SỐ bằng cách bắt đầu với r 0 = n và r 1 = b . Tuy nhiên thuật toán này không cho phép tính giá trị của phần tử nghịch đảo ( nếu nó tồn tại ). Bây giờ giả sử định nghĩa một dãy số t 0 , t 1 , , t m theo công thức truy toán sau ( trong đó các giá trị q i đã được xác định ở trên . t 0 = 0 t 1 = 1 t j = t j-2 – q j -1 t j -1 mod r 0 , nếu j ≥ 2 Ta có kết quả quan trọng sau: Định lý 1: Với 0 ≤ j ≤ m , ta có r j ≡ t j r 1 ( mod r 0 ), trong đó các giá trị q i và r i được xác định theo thuật toán Euclide còn các giá trị t j được xác định theo công thức truy toán ở trên .  Chứng minh : Ta chứng minh băng cách quy nạp theo j . Định lý hiển nhiên đúng với j = 0 và j =1 . Giả sử rằng định lý cũng đúng với j = i – 1 và j = i –2 , trong đó i ≥ 2 sau đây sẽ chứng tỏ định lý đúng đối với j = i . Theo qui nạp ta có r i-2 ≡ t i-2 r 1 ( mod r 0 ) và r i-1 ≡ t i-1 r 1 ( mod r 0 ) Bây giờ ta tính r i = r i -2 – q i -1 r i-1 ≡ t i -2 – q i -1 t i-1 r 1 ( mod r 0 ) ≡ (t i -2 – q i -1 t i-1 ) r 1 (mod r 0 ) ≡ t i r 1 (mod r 0 ). Bùi Lê Trung – Lớp CT96B 9 LUẬN VĂN TỐT NGHIỆP SƠ ĐỒ CHỮ KÍ SỐ Bởi vậy theo quy nạp định lý là đúng./ Hệ quả sau rút từ định lý trên. Hệ quả 1: Giả sử USCLN ( r 0 , r 1 ) =1 . Khi đó t m = r i -1 mod r 0 .  Xét thấy dãy các số t 0 , t 1 , t n có thể được tính toán trong thuật toán Euclide đồng thời như các gía trị q i và r i . Dưới đây trình bày thuật toán Euclide mở rộng để tính nghịch đảo của b theo modulo n ( Nếu nó tồn tại ) . Trong thuật toán này không phải dùng mảng ( aray ) để ghi các giá trị q j , r j và t j vì chỉ cần nhớ hai giá trị cuối cùng trong trong mỗi dãy này ở một điểm bất kỳ trong thuật toán . Thuật toán Euclide mở rộng 1. n 0 = n 2. b 0 = b 3. t 0 = 0 4. t = 1 5. q=       bo no 6. r = n 0 – q × b 0 7. While r > 0 do 8. Temp = t 0 – q × t 9. if temp ≥ 0 then temp = temp mod n 10. if temp < 0 then temp = n – ((-temp) mod n ) 11. t 0 = t 12. t = temp 13. n 0 = b 0 14. b 0 = r 15. q =       bo no 16. r = n 0 – q × b 0 17. if b 0 = 1 then b không có nghịch đảo theo modulo n else Bùi Lê Trung – Lớp CT96B 10 LUẬN VĂN TỐT NGHIỆP SƠ ĐỒ CHỮ KÍ SỐ b -1 = t mod n .  Trong bước 10 của thuật toán ta đã viết biểu thức cho biến temp theo cách để phép rút gọn theo modulo n được thực hiện i với đối số dương . ( Trước đây đã biết rằng việc rút gọn theo modulo của các số âm sẽ dẫn tới các kết quả âm ở nhiều ngôn ngữ máy tính , còn ở đây ta muốn kết thúc bằng một kết quả dương . Ở bước 12 luôn có tb ≡ r ( mod n ) ( Kết quả này đã được chứng minh ở định lý trên ). Sau đây là ví dụ minh hoạ : Giả sử ta cần tính 28 -1 mod 75 . Thuật toán Euclide mở rộng thực hiện như sau : 75 = 2 × 28 + 19 ( bước 6 ) 73 × 28 mod 75 = 19 ( bước 12 ) 28 = 1 × 19 + 9 ( bước 16 ) 3 × 28 mod 75 = 9 ( bước 12 ) 19 = 2 × 9 +1 ( bước 16 ) 67 × 28 mod 75 =1 ( bước 12 ) 9 = 9 × 1 ( bước 16 ) Vì thế 28 -1 mod 75 = 67 2. Định lý phần dư China Định lý này thực sự là một phương pháp giải các hệ phương trình đồng dư. Giả sử m 1 , ,m r là các nguyên tố cùng nhau từng đôi một ( tức USCLN(m i ,m j )=1 nếu i ≠ j ). Giả sử a 1 , , a r là các số nguyên , xét hệ các phương trình đồng dư sau : x ≡ a 1 ( mod m 1 ) Bùi Lê Trung – Lớp CT96B 11 LUẬN VĂN TỐT NGHIỆP SƠ ĐỒ CHỮ KÍ SỐ x ≡ a 2 ( mod m 2 ) x ≡ a r ( mod m r ) Định lý phần dư China khẳng định rằng hệ này có nghiệm duy nhất theo modulo M = m 1 × m 2 × × m r . Ta sẽ chứng minh kết quả đó trong phần này và cũng mô tả một thuật toán hữu hiệu để giải hệ đồng dư thức dạng trên . Để thuận tiện , Xét hàm π : Z M -> Z m1 × ×Z mr . Hàm này được định nghĩa như sau: π (x) = ( x mod m 1 , , x mod m r ) Vídụ : Giả sử r =2 , m 1 = 5 và m 2 = 3, bởi vậy M = 15 . Khi đó hàm π có các giá trị sau : π (0) = (0,0) π(1) = (1,1) π (2) = (2,2) π (3) = (3,0) π(4) = (4,1) π (5) = (0,2) π (6) = (1,0) π(7) = (2,1) π (8) = (3,2) π (9) = (4,0) π(10) = (0,1) π (11) = (1,2) π (12) = (2,0) π(13) = (3,1) π (14) = (4,2) Việc chứng minh định lý phần dư China tương đương với việc chứng minh rằng hàm π này là một song ánh . Điều này có thể dễ dàng thấy được ở ví dụ trên . Trong thực tế có thể đưa ra một công thức tường minh tổng quát cho hàm ngược π -1 Với 1 ≤ i ≤ r , định nghĩa : M i = i m M Bùi Lê Trung – Lớp CT96B 12 LUẬN VĂN TỐT NGHIỆP SƠ ĐỒ CHỮ KÍ SỐ Khi đó , dễ dàng thấy rằng : USCLN (M i ,m i ) =1 với 1 ≤ i ≤ r . Tiếp theo , với 1 ≤ i ≤ r , định nghĩa y i = M i -1 mod m i (phần tử nghịch đảo này tồn tại do USCLN (M i ,m i ) = 1 và có thể tìm được bằng thuật toán Euclide ). Cần để ý rằng M i y i ≡ 1 ( mod m i ) với 1 ≤ i ≤ r Bây giờ ta định nghĩa hàm ρ : Z m1 × × Z mr -> Z M như sau ρ ( a 1 , ,a r ) = ∑ = r i 1 a i M i y i mod M Ta sẽ chứng tỏ rằng ρ = π -1 , tức là nó cho một công thức tường minh để giải hệ đồng dư thức ban đầu. Kí hiệu X = ρ ( a 1 , , a r ) và cho 1 ≤ j ≤ r . Xét số hạng a i M i y i trong tổng trên khi rút gọn theo modulo mj . Nếu i = j thì : a i M i y i ≡ a i ( mod m i ). vì M i y i ≡ 1 ( mod m i ) Mặt khác , nếu i ≠ j thì: a i m i y i ≡ 0 ( mod m i ) do m j | M i trong trường hợp này . Bởi vậy , chúng ta có : X ≡ ∑ = r i 1 a i M i y i ( mod m j ). ≡ a i ( mod m j ) Bùi Lê Trung – Lớp CT96B 13 LUẬN VĂN TỐT NGHIỆP SƠ ĐỒ CHỮ KÍ SỐ Do điều này đúng đối với mọi j , 1 ≤ j ≤ r, nên X là nghiệm của hệ phương trình đồng dư. Tới lúc này , cần phải chứng tỏ rằng nghiệm x là duy nhất theo modulo M và điều này có thể được chứng tỏ bằng cách tính toán đơn giản . π là một hàm từ một miền có lực lượng M sang một miền có lực lượng M. Ta vừa mới chứng tỏ rằng π là một toàn ánh . Bởi vậy π cũng phải là một đơn ánh ( tức là phép tương ứng 1 –1 ) do miền xác định và miền giá trị có cùng lực lượng . Điều đó kéo theo π là một song ánh và π -1 = p . Cũng cần chú ý là π -1 là một hàm tuyến tính của các biến a 1 , ,a r . Ví dụ : Giả sử r = 3, m 1 = 7, m 2 = 11 và m 3 = 13. Khi đó M = 1001. Ta tính M 1 = 143, M 2 = 91 và M 3 = 77 và sau đó tính y 1 = 5 , y 2 = 4 và y 3 =12 . khi đó hàm π -1 : Z 7 × Z 11 × Z 13 -> Z 1001 có dạng : π -1 (a 1 , a 2 , a 3 ) =715 a 1 + 364 a 2 +924 a 3 mod 1001 Ví dụ , nếu x ≡ 5 ( mod 7 ) , x ≡ 3 ( mod 11 ) , và x ≡ 10 ( mod 13 ) thì công thức trên sẽ cho ta biết rằng : x = 715 × 5 + 364 × 3 + 924 × 10 mod 1001 = 13907 mod 1001 = 894 mod 1001 Điều này có thể kiểm tra được bằng cách rút gọn 894 theo modulo 7, 11 và 13. Để tham khảo sau này, ta sẽ phải ghi các kết quả của phần này dưới dạng một định lý : Bùi Lê Trung – Lớp CT96B 14 [...]... NGHIỆP SƠ ĐỒ CHỮ KÍ SỐ Định lý 2 : Định lý phần dư China Giả sử m1, ,mr là các số nguyên dương nguyên tố cùng nhau từng đôi một và cho a1, ,ar là các số nguyên Khi đó , hệ r đồng dư thức x ≡ ai ( mod mi ) , ( 1 ≤ i ≤ r ) sẽ có một nghiệm duy nhất theo modulo M = m1 × × mr được cho theo công thức r x= ∑ aiMiyi ( mod M ) i= 1 trong đó Mi = M/mi và yi = Mi-1 mod mi , với 1 ≤ i ≤ r 3 Một số định lý cần... c Hệ quả 2 ( Ferma ) Giả sử p là số nguyên tố và b ∈ Zp Khi đó bn ≡ b ( mod p ) Chứng minh: Bùi Lê Trung – Lớp CT96B 15 LUẬN VĂN TỐT NGHIỆP SƠ ĐỒ CHỮ KÍ SỐ Nếu p là số nguyên tố thì φ(n) = p – 1 Bởi vậy , với b ≡ 0 ( mod p ) , kết quả trên được rút ra từ hệ quả 1 Với b ≡ 0 ( mod p ), kết quả trên vẫn đúng do 0p ≡ 0 ( mod 0 ) Cho tới giờ ta đã biết rằng , nếu p là số nguyên tố thì Z p* là một nhóm... USCLN(p-1,i) = 1 Điều đó dẫn đến là số các phần tử nguyên thuỷ theo modulo p = φ ( p-1 ) Ví dụ: Giả sử p =13 Bằng cách tính các luỹ thừa liên tiếp của 2 ta có thể thấy rằng , 2 là phần tử nguyên thuỷ theo modulo 13 : 20 mod 13 = 1 21 mod 13 = 2 22 mod 13 = 4 23 mod 13 = 8 24 mod 13 = 3 25 mod 13 = 6 Bùi Lê Trung – Lớp CT96B 16 LUẬN VĂN TỐT NGHIỆP SƠ ĐỒ CHỮ KÍ SỐ 26 mod 13 = 12 27 mod 13 = 11 28 mod... có bậc là ước của p –1 Tuy nhiên, nếu p là số nguyên tố thì nhóm Zp* là nhóm cyclic tồn tại một phần tử α ∈ Zp* có cấp bằng p –1 Định lý 4: Nếu p là số nguyên tố thì Zp* là nhóm cyclic Một phần tử α có cấp p-1 được gọi là phần tử nguyên thuỷ modulo p Xét thấy α là một phần tử nguyên thuỷ khi và chỉ khi : {α i : 0 ≤ i ≤ p – 2 } = Zp* Bây giờ giả sử p là số nguyên tố và α là phần tử nguyên thuỷ modulo . cơ bản giữa các chữ kí thông thường và chữ kí số : +Đầu tiên là vấn đề kí một tài liệu .Với chữ kí thông thường , nó là một phần vật lý của tài liệu . Tuy nhiên , một chữ kí số không gắn theo. SƠ ĐỒ CHỮ KÍ SỐ Như vậy , bất kì ai cũng có thể kiểm tra được chữ kí số . Việc dùng một sơ đồ chữ kí an toàn có thể sẽ ngăn chặn được khả năng giả mạo. +Sự khác biệt cơ bản khác giữa chữ kí thông. tra . Chữ kí thông thường được kiểm tra bằng cách so sánh nó với các chữ kí xác thực khác ( còn gọi là chữ kí mẫu ) . Ví dụ ai đó kí một tấm séc để mua hàng , người bán phải so sánh chữ kí trên

Ngày đăng: 19/02/2015, 16:58

Từ khóa liên quan

Mục lục

  • II. Một số vấn đề về lý thuyết số

    • 2. Định lý phần dư China

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

Tài liệu liên quan