26
BÀI TP LN MÔN CƠ SỞ LÝ THUYT MT Mà ĐỀ TÀI : Tìm hiu lược đồ chữ ký số  Nhóm 2: Nguyn Văn Hin Nguyn Đăng Định Nguyn Quc Hiếu Giáo viên hướ ng dn : Hoàng Thu Phương 1.1 GIỚ I THIU Trong đề tài này, chúng ta xem xét các sơ đồ chkí s(còn được gi là chkí s). Chkí viết tay thông thường trên tài  liu thường được dùng để xác người kí nó. Chđược dùng hàng ngày chng hn như trên mt bc thư nhn tin tnhà băng, kí hp đồng... Sơ đồ chkí là phương pháp kí mt bc đin lưu dưới dang điên t. Chng hn mt bc đin có ký hiu được truyn trên mng máy tinh.  Chương trình này nghiên cu vài sơ đồ chkí. Ta stho lun trên mt và i  khác bit cơ bn gia các chkí thông thường và chkí s.  Đầu tiên là mt vn đề mt tài liu. Vi chkí thông thường, nó là mt  phn vt lý ca tà i liu. Tuy nhiên, m t chkí skhông gn theo kiu vt lý vào  bc đin nên thut toán được dùng phi ”không nhìn thy” theo cách nào đó trên  bc đin. Thhai là vn đề vkim tra. Ch thông thường được kim tra bng cách so sánh nó vi các chxác thc khác. ví d, ai đó kí mt tm séc để mua hàng, người bán phi so sánh chkí trên mnh giy vi chkí nm mt sau ca thtín dng để kim tra. Dĩ nhiên, đây không phi  là phươg pháp an toàn vì nó ddàng gimo. Mt khác, các chscó thđược kim tra nhdùng mt thut toán kim tra công khai. Như vy, bt kai cũng có thkim tra dược chs. Vic dùng mt sơ đồ chkí an toàn có thsngăn chn dược khnăng gimo.  Skhác bit cơ bn khác gia chsvà chkí thông thường bn copy tà i liu được kí băng chkí sđồng nht vi bn gc, còn copy tài  liu có chkí trên giy thường có thkhác vi bn gc. Điu này có nghĩa là phi  cn thn ngăn chăn mt bc kí skhi bdung lI. Ví d, Bob kí mt bc đIn xác nhn Alice có khnăng làm đIũu đó mt ln. Vì thế, bn thân bc đin  cn cha thông tin (chng hn như ngày tháng) để ngăn nó khi bdng li. 

Lược đồ chữ ký số

  • Upload
    hienact

  • View
    238

  • Download
    4

Embed Size (px)

Citation preview

8/4/2019 Lược đồ chữ ký số

http://slidepdf.com/reader/full/luoc-do-chu-ky-so 1/26

BÀI TẬP LỚN MÔN CƠ SỞ LÝ THUYẾT MẬT Mà

 ĐỀ TÀI : Tìm hiểu lược đồ chữ ký số  

Nhóm 2: Nguyễn Văn HiểnNguyễn Đăng ĐịnhNguyễn Quốc Hiếu

Giáo viên hướ ng dẫn : Hoàng Thu Phương 

1.1 GIỚ I THIỆU

Trong đề tài này, chúng ta xem xét các sơ đồ chữ kí số (còn được gọi là chữkí số ). Chữ kí viết tay thông thường trên tài liệu thường được dùng để xác ngườikí nó. Chữ kí được dùng hàng ngày chẳng hạn như trên một bức thư nhận tiền từnhà băng, kí hợp đồng...

Sơ đồ chữ kí là phương pháp kí một bức điện lưu dưới dang điên từ. Chẳnghạn một bức điện có ký hiệu được truyền trên mạng máy tinh. Chương trình nàynghiên cứu vài sơ đồ chữ kí. Ta sẽ thảo luận trên một vài khác biệt cơ bản giửa cácchữ kí thông thường và chữ kí số. 

Đầu tiên là một 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áchso sánh nó với các chữ kí xác thực khác. 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 của thẻ tíndụng để kiểm tra. Dĩ nhiên, đây không phải là phươg pháp an toàn vì nó dể dànggiả 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ánkiểm tra công khai. Như vậy, bất kỳ ai cũng có thể kiểm tra dược chữ kí số. Việcdùng một sơ đồ chữ kí an toàn có thể sẽ ngăn chặn dược khả năng giả mạo. 

Sự khác biệt cơ bản khác giữa chữ kí số và chữ kí thông thường bản copy tàiliệu được kí băng chữ kí số đồng nhất với bản gốc, còn copy tài liệu có chữ kí trêngiấy thường có thể khác với bản gốc. Điều này có nghĩa là phải cẩn thận ngăn chănmột bức kí số khỏi bị dung lạI. Ví dụ, Bob kí một bức đIửn xác nhận Alice 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 thông tin (chẳng hạnnhư ngày tháng) để ngăn nó khỏi bị dựng lại. 

8/4/2019 Lược đồ chữ ký số

http://slidepdf.com/reader/full/luoc-do-chu-ky-so 2/26

1.2 ĐỊNH NGHĨA CHỮ KÝ SỐ 

Một sơ đồ chữ kí số thường chứa hai thành phần: thuật toán kí và thuận toánxác minh. Bob có thể kí đIửn x dùng thuật toán kí an toàn. Chữ kí sig(x) nhận đượccó 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 có giá trị TRUE hay FALSE tuỳ thuộc vào chữ kí được thựcnhư thế nào. Dưới đây là đị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 dưới đây: 1.  P là tập hữu hạn các bứ đ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í sigk  S và là một thuật toán

xác minh verk  V. Mỗi sigk : P A và verk : PA true,false là những hàm saocho mỗi bức đIửn x P và mối chữ kí y A thoả mãn phương trình dưới đây. 

True nếu y=sig(x) verk  

False nếu y# sig(x)

Với mỗi k thuộc K hàm sigk  và verk   là các hàm thơì than đa thức. Verk   sẽlà hàm công khai sigk  là mật. Không thể dể dàng tính toán để giả mạo chữ kí củaBob trên bức điện x. Nghĩa là x cho trước, chỉ có Bob mới có thể tính được y đểverk  = True. Một sơ đồ chữ kí không thể an toàn vô đIêu kiện vì Oscar có thể kiểmtra tất cả các chữ số y có thể có trên bức đIửn x nhờ dung thuât toán ver công khai

cho đến khi anh ta tìm thấy một chữ kí đúng. Vi thế, nếu có đủ thời gian. Oscarluô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ốngmã khoá công khai, mục đích của chúng ta là tìm các sơ đồ chữ kí số an toan vềmặt tính toán. 

Xem thấy rằng, hệ thống mã khoá công khai RSA có thể dùng làm sơ đồ chữkí số, Xem hình 6.1. 

 Như vậy, Bob kí bức đIửn x dùng qui tắc giảI mã RSA là dk ,. Bob là ngườitạo ra chữ kí vì dk = sigk  là mật. Thuật toán xác minh dùng qui tắc mã RSA ek . Bấtkì ai củng có xác minh chữ kí vi ek  được công khai. 

Chú ý rằng, ai đó có thể giả mạo chữ kí của Bob trên một bức điện “ ngẩu

nhiên” x bằng cách tìm x=ek (y) với y nào đó; khi đó y= sigk (x). Một pháp xungquanh vấn đề khó khăn này là yêu cầu bức điện chưa đủ phần dư để chữ kí giả mạokiểu này không tương ứng với bức điện đây nghĩa là x trừ một xác suất rất bé. Cóthể dùng các hàm hash trong việc kết nối với các sơ đồ chữ kí số sẽ loại trừ được

 phương pháp giả mạo này (các hàm hash được xét trong chương 7). Hình 6.1 sơ đồ chữ kí RSA

8/4/2019 Lược đồ chữ ký số

http://slidepdf.com/reader/full/luoc-do-chu-ky-so 3/26

 

Cuối cùng, ta xét tóm tắt các 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 ta y= sigAlice(x) và sau đó mã cả x và y bằng hàmmã khoá công khai eBob của Bob, khi đó cô ta nhận được z = eBob(x,y). Bản mã z

sẽ được truyền tới Bob. Khi Bob nhận được z, anh ta sẽ trước hết sẽ giảI mã hàmdBob để nhận được (x,y). Sau đó anh ta dung 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 nếu đầu tiên Alice mã x rồi sau đó mới kí tên bản mã nhận được thìsao?. Khi đó cô tính :

y= sigAlice(eBob(x)).

Alice sẽ truyền cặp (z,y) tới Bob. Bob sẽ giải mã z, nhận 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 Oscar nhận được cặp (x,y) kiểu này, được ta có thay chữ kí y của Alice bằng chữ kí củamình.

y , = sigOscar(eBob(x)). 

(chú ý rằng,Oscar có thể kí bản mã eBob(x) ngay cả khi anh ta không biết bản rõ x).

Khi đó nếu Oscar truyền(x, y’  ) đến Bob thì chữ kí Oscar được Bob xác minh bằng

verOscar và Bob có thể suy ra rằng, bản rõ x xuất phát từ Oscar. Do khó khăn này,hầu hết người sử dụng được khuyến nghị nếu kí trước khi mã.

1.3 CHUẨN CHỮ KÍ SỐ. 

Chuẩn chữ kí số(DSS) là phiên bản cải tiến của sơ đồ chữ kí Elgamal. Nóđược công bố trong Hồ Sơ trong liên bang vào ngày 19/5/94 và được làm chuẩnvoà 1/12/94 tuy đã được đề xuất từ 8/91. Trước hết ta sẽ nêu ra những thay đổi củanó so với sơ đồ Elgamal và sau đó sẽ mô tả cách thực hiện nó. 

Cho n= pq, p và q là các số nguyên tố. Cho P =A= Zn và địnhnghĩa P= {(n,p,q,a,b):=n=pq,p và q là nguyên tố, ab 1(mod( (n))) }.

Các giá trị n và b là công khai, ta địng nghĩa : sigk (x)= xa mod n

và verk (x,y)= true x yb

(mod n)

(x,y Zn)

8/4/2019 Lược đồ chữ ký số

http://slidepdf.com/reader/full/luoc-do-chu-ky-so 4/26

Trong nhiều tinh huống, thông báo có thể mã và giải mã chỉ một lần nên nó phù hợp cho việc dùng với hệ mật Bất kì (an toàn tại thời điểm được mã). Songtrên thực tế, nhiều khi một bức điện được dùng làm một tài liệu đối chứng, chẳnghạn như bản hợp đồng hay một chúc thư và vì thế cần xác minh chữ kí sau nhiềunăm kể từ lúc bức điện được kí. Bởi vậy, điều quan trọng là có phương án dự

 phòng liên quan đến sự an toàn của sơ đồ chữ kí khi đối mặt với hệ thống mã. Vìsơ đồ Elgamal không an toàn hơn bài toán logarithm rời rạc nên cần dung modulo

 p lớn. Chắc chắn p cần ít nhất là 512 bít và nhiều người nhất trí là p nên lấy p=1024 bít để có độ an toàn tốt. 

Tuy nhiên, khi chỉ lấy modulo p =512 thì chữ kí sẽ có 1024 bít. Đối với nhiềuứng dụng dùng thẻ thông minh thì cần lại có chữ kí ngắn hơn. DSS cải tiến sơ đồElgamal theo hướng sao cho một bức điện 160 bít được kí bằng chữ kí 302 bít song

lại p = 512 bít. Khi đó hệ thống làm việc trong nhóm con Zn* kích thước 2160. Độ

mật của hệ thống dựa trên sự an toàn của việc tìm các logarithm rời rạc trong nhómcon Zn

*.

Sự thay đổi đầu tiên là thay dấu “ - “ bằng “+” trong định nghĩa , vì thế:

= (x +  )k -1

mod (p-1)

thay đổi kéo theo thay đổi điều kiện xác minh như sau: 

x   

 (mod p) (6.1)

 Nếu UCLN (x + , p-1) =1thì -1

mod (p-1) tồn tại và ta có thể thay đổi điềukiện (6.1) như sau: 

x-1

-1   (mod )p (6.2)

Đây là thay đổi chủ yếu trong DSS. Giả sử q là số nguyên tố 160 bít sao cho q (q-

1) và  là căn bậc q của một modulo p. (Dễ dàng xây dựng một  như vậy: cho 0 

là phần tử nguyên thuỷ của Zp và định nghĩa = 0(p-1)/q

mod p).

Khi đó và  cũng sẽ là căn bậc q của 1. vì thế các số mũ Bất kỳ của , và

 có thể rút gọn theo modulo q mà không ảnh hưởng đến điều kiện xác minh (6.2).Điều rắc rối ở  đây là  xuất hiện dưới dạng số mũ ở vế trái của (6.2) song khôngnhư vậy ở vế phải. Vì thế, nếu  rút gọn theo modulo q thì cũng phải rút gọn toàn

 bộ vế trái của (6.2) theo modulo q để thực hiện phép kiểm tra. Nhận xét rằng, sơ đồ(6.1) sẽ không làm việc nếu thực hiện rút gọn theo modulo q trên (6.1). DSS đượcmô tả đầy đủ trong hinh 6.3. 

8/4/2019 Lược đồ chữ ký số

http://slidepdf.com/reader/full/luoc-do-chu-ky-so 5/26

Chú ý cần có   0 (mod q) vì giá trị -1

 mod q cần thiết để xác minh chữ kí(điều này tương với yêu cầu UCLN(, p-1 ) =1 khi biến đổi (6.1) thành (6.2). NếuBob tính   0 (mod q) theo thuật toán chữ kí, anh ta sẽ loại đi và xây dựng chữ kímới với số ngẫu nhiên k mới. Cần chỉ ra rằng, điều này có thể không gần vấn đề

trên thực tế: xác xuất để   0 (mod q) chắc sẽ xảy ra cở 2-160

 nên nó sẽ hầu nhưkhông bao giờ xảy ra. 

Dưới đây là một ví dụ minh hoạ nhỏHình 6.3. Chuẩn chữ kí số.

Giả sử p là số nguyên tố 512 bít sao cho bài toán logarithm rờ i rạc

trong Zp khong Giải đượ c, cho p là số nguyên tố 160 bít là ướ c của (p-1).

Giả thiết   Zp là căn bậc q của 1modulo p: Cho P =Zp . A = Zq Zp và

định nghĩa : A = (p,q, ,a, ) :   a

(mod p) 

các số p, q, và là công khai, có a mật.

Vớ i K = (p,q, ,a, )và vớ i một số ngẫu nhiên (mật) k ,1 k  q-1,

ta định nghĩa: 

sigk (x,k) = ( ,)

trong đó =(k mod p) mod q

và = (x +a )k -1

mod q

Vớ i x Zp và ,  Zq , qua trình xác minh sẽ hoàn toàn sau các

tính toán :

e1= x-1mod q

e2=

-1

mod q

verk (x, , ) = true ( e1e2mod p) mod q =  

8/4/2019 Lược đồ chữ ký số

http://slidepdf.com/reader/full/luoc-do-chu-ky-so 6/26

 

Ví dụ 6.3: Giả sử q =101, p = 78 q+1 =7879.3 là phần tử nguyên thuỷ trong Z7879 nên

ta có thể lấy: = 378

mod 7879 =170

Giả sử a =75, khi đó : 

= a

mod 7879 = 4576

Bây giờ giả sữ Bob muốn kí bức điện x = 1234 và anh ta chọn số ngẫu nhiên k =50, vì thế : 

k -1

mod 101 = 99

khi đó =(17030

mod 7879) mod 101

= 2518 mod 101

= 94

và = (1234 +75 94) mod 101

= 96

Chữ kí (94, 97) trên bức điện 1234 được xác minh bằng các tính toán sau: 

-1= 97

-1mod 101 =25

e1 = 1234 25mod 101 = 45

e2 = 94 25 mod 101 =27

(170

45

4567

27

mod 7879)mod =2518 mod 101 = 94vì thế chữ kí hợp lệ. 

Khi DSS được đề xuất năm 1991, đã có một vài chỉ trích đưa ra. Một ý kiếncho rằng, việc xử lý lựa chọn của NIST là không công khai. Tiêu chuẫn đã đượcCục An ninh Quốc gia (NSA) phát triển mà không có sự tham gia của khôi công

8/4/2019 Lược đồ chữ ký số

http://slidepdf.com/reader/full/luoc-do-chu-ky-so 7/26

nghiệp Mỹ. Bất chấp những ưu thế của sơ đồ, nhiều người đã đóng chặt cửa khôngtiếp nhận. 

Còn những chỉ trích về mặt kĩ thuật thì chủ yếu là về kích thước modulo p bịcố định = 512 bít. Nhiều người muốn kích thước này có thể thay đổi được nếu cần,có thể dùng kích cỡ lớn hơn. Đáp ứng những đòi hỏi này, NIST đã chọn tiêu chuẩncho phép có nhiều cở modulo, nghĩa là cỡ modulo bất kì chia hết cho 64 trong

 phạm vi từ 512 đến 1024 bít. 

Một phàn nàn khác về DSS là chữ kí được tạo ra nhanh hơn việc xác minhnó. Trong khi đó, nếu dùng RSA làm sơ đồ chữ kí với số mũ xác minh công khainhỏ hơn (chẳng hạn = 3) thì có thể xác minh nhanh hơn nhiều so với việc lập chữkí. Điều này dẫn đến hai vấn đề liên quan đến những ứng dụng của sơ đồ chữ kí: 

1.Bức điện chỉ được kí một lần, song nhiều khi lại cần xác minh chữ kí nhiềulần trong nhiều năm. Điều này lại gợi ý nhu cầu có thuật toán xác minh nhanh hơn. 

2.Những kiểu máy tính nào có thể dùng để kí và xác minh ?. Nhiều ứng dụng,chẳng hạn các thẻ thông minh có khả năng xử lý hạn chế lại liên lạc với máy tínhmạnh hơn. Vi thế có nhu cầu nhưng thiết kế một sơ đồ để có thực hiện trên thẻ mộtvài tính toán. Tuy nhiên, có những tình huống cần hệ thống mình tạo chữ kí, trongnhững tình huống khác lại cần thẻ thông minh xác minh chữ kí. Vì thế có thể đưara giải pháp xác định ở đây. Sự đáp ứng của NIST đối với yêu cầu về số lần tạo xác minh chữ kí thực ra khôngcó vấn đề gì ngoài yêu cầu về tốc độ, miễn là cả hai thể thực hiện đủ nhanh.

1.4 SƠ ĐỒ CHỮ KÍ ELGAMAL 

Sau đây ta sẽ mô tả sơ đồ chữ kí Elgamal đã từng dưới thiệu trong bài báonăm 1985. Bản cả tiến của sơ đồ này đã được Viện Tiêu chuẩn và Công NghệQuốc Gia Mỹ (NIST) chấp nhận làm chữ kí số. Sơ đồ Elgamal (E.) được thiết kếvới mục đích dành riêng cho chữ kí số, khác sơ đồ RSA dùng cho cả hệ thống mãkhoá công khai lẫn chữ kí số. 

Sơ đồ E, là không tất định giống như hệ thống mã khoá công khai Elgamal.

Điều này có nghĩa là có nhiều chữ kí hợp lệ trên bức điện cho trươc bất kỳ. Thuậttoán xác minh phải cố khải năng chấp nhận bất kì chữ kí hợp lệ khi xác thực. Sơ đồE. được môt tả trên hình 6.2 

 Nếu chữ kí được thiết lập đúng khi xác minh sẽ thành công vì :  

   a  k 

(mod p)

 x(mod p)

8/4/2019 Lược đồ chữ ký số

http://slidepdf.com/reader/full/luoc-do-chu-ky-so 8/26

là ở đây ta dùng hệ thức : a + k   x (mod p-1)

Hình 6.2 sơ đồ chữ kí số Elgamal. 

Bob tính chữ kí bằng cách dùng cả gía trị mật a (là một phần của khoá) lẫnsố ngẫu nhiên mật k (dùng để kí lên bức điện x ). Việc xác minh có thực hiện duynhất bằng thông báo tin công khai.

Chúng ta hãy xét một ví dụ nhỏ minh hoạ.

Ví dụ 6.1 

Giả sử cho p = 467,  =2,a = 127; khi đó:  =

amod p

= 2127

mod 467

= 132

Cho p là số nguyên tố sao cho bài toán log rời rạc trên Zp là khó

và giả sử   Zn là phần tử nguyên thuỷ P = Zp* , A = Zp

*  Zp-1 và

định nghĩa : 

K =(p, ,a, ):  a(mod p).

Giá trị p, , là công khai, còn a là mật.

Vớ i K = (p, ,a, ) và một số ngẫu nhiên (mật) k  Zp-1. định

nghĩa : Sigk (x,y) =( ,),

trong đó  = k 

mod p

và =(x-a) k -1

mod (p-1).

Với x,  Zp và   Zp-1 , ta định nghĩa : Ver(x, , ) = true     x

(mod p). 

8/4/2019 Lược đồ chữ ký số

http://slidepdf.com/reader/full/luoc-do-chu-ky-so 9/26

 Nếu Bob muốn kí lên bức điện x = 100 và chọn số ngẫu nhiên k =213 (chú ý

là UCLN(213,466) =1 và 213-1

 mod 466 = 431. Khi đó

=2213

mod 467 = 29

và =(100-127 29) 431 mod 466 = 51.

Bất kỳ ai củng có thể xác minh chữ kí bằng các kiểm tra : 132

2929

51  189 (mod 467)

và 2100

  189 (mod 467)

Vì thế chữ kí là hợp lệ. 

Xét độ mật của sơ đồ chữ kí E. Giả sử, Oscar thử giả mạo chữ kí trên bứcđiện x cho trước không biết a. Nếu Oscar chọn  và sau đó thử tìm giá trị  tương

ứng, anh ta phải tính logarithm rời rạc log x

-. Mặt khác, nếu đầu tiên ta chọn  

và sau đó thử tim  và thử giải phương trình: 

   x(mod p).

để tìm . Đây là bài toán chưa có lời giải nào: Tuy nhiên, dường như nó chưa đượcgắn với đến bài toán đã nghiên cứu kĩ nào nên vẫn có khả năng có cách nào đó đểtính và  đồng thời để (, )là một chữ kí. Hiện thời không ai tìm được cách giảisong củng ai không khẳng định được rằng nó không thể giải được. 

 Nếu Oscar chọn và  và sau đó tự giải tìm x, anh ta sẽ phảI đối mặt với bài

toán logarithm rời rạc, tức bài toán tính log ??? Vì thế Oscar không thể kí một bứcđiện ngẫu nhiên bằng biện pháp này. Tuy nhiên, có một cách để Oscar có thể kí lên

 bức điện ngẫu nhiên bằng việc chọn ,  và x đồng thời: giả thiết i và j là các sốnguyên 0 i p-2, 0 j p-2 và UCLN(j,p-2) = 1. Khi đó thực hiện các tính toánsau:

= i 

 jmod p

= - j-1

mod (p-1)

x = - i j-1

mod (p-1)

trong đó j

-1

 được tính theo modulo (p-1) (ở đây đòi hỏi j nguyên tố cùng nhau vớip-1).

Ta nói rằng (,  )là chữ kí hợp lệ của x. Điều này được chứng minh quaviệc kiểm tra xác minhTa sẽ minh hoạ bằng một ví dụ : 

Ví dụ 6.2. 

8/4/2019 Lược đồ chữ ký số

http://slidepdf.com/reader/full/luoc-do-chu-ky-so 10/26

 

Giống như ví dụ trước cho p = 467, = 2,  =132. Giả sữ Oscar chọn i =

99,j = 179; khi đó j-1

mod (p-1) = 151. Anh ta tính toán như sau:  = 2

99132

197mod 467 = 117

=-117 151 mod 466 = 51.x = 99 41 mod 466 = 331

Khi đó (117, 41) là chữ kí hợp lệ trên bức điện 331 hư thế đã xác minh qua phépkiểm tra sau: 

132117

11741

  303 (mod 467)

và 2331

  303 (mod 467)

Vì thế chữ kí là hợp lệ. 

Sau đây là kiểu giả mạo thứ hai trong đó Oscar bắt đầu bằng bức điện đượcBob kí trước đây. Giả sử (,  ) là chữ kí hợp lệ trên x. Khi đó Oscar có khả năngkí lên nhiều bức điện khác nhau. Giả sử i, j, h là các số nguyên, 0 h, i, j p-2 và

UCLN (h - j , p-1) = 1. Ta thực hiện tính toán sau: 

= h 

 jmod p

= (h -j)-1

mod (p-1)

x,= (hx+i )

-1mod (p-1),

trong đó (h -j)-1 được tính theo modulo (p-1). Khi đó dễ dàng kiểm tra điệu kiệnxác minh :

 

   

x’ (mod p)

vì thế (, )là chữ kí hợp lệ của x’.Cả hai phương pháp trên đều tạo các chữ kí giả mạo hợp lệ song không xuất

hiện khả năng đối phương giả mạo chữ kí trên bức điện có sự lựu chọn của chínhhọ mà không phải giải bài toán logarithm rời rạc, vì thế không có gì nguy hiểm vềđộ an toàn của sơ đồ chữ kí Elgamal. 

Cuối cùng, ta sẽ nêu vài cách có thể phái được sơ đồ này nếu không áp dụngnó một cách cẩn thận (có một số ví dụ nữa về khiếm khuyết của giao thức, một sốtrong đó là xét trong chương 4). Trước hết, giá trị k ngẫu nhiên được dùng để tínhchữ kí phải giữ kín không để lộ. vì nếu k bị lộ, khá đơn giản để tính : 

A = (x-k  )-1

mod (p-1).

8/4/2019 Lược đồ chữ ký số

http://slidepdf.com/reader/full/luoc-do-chu-ky-so 11/26

Dĩ nhiên, một khi a bị lộ thì hệ thống bị phá và Oscar có thể dễ dang giả mạo chữkí.

Một kiểu dung sai sơ đồ nữa là dùng cùng giá trị k để kí hai bức điện khácnhau. điều này cùng tạo thuận lợi cho Oscar tinh a và phá hệ thống. Sau đây là

cách thực hiện. Giả sử (, 1) là chữ kí trên x1 và (, 2) là chữ kí trên x2. Khi đó tacó:

 1  

x1 (mod p)

và 2  

x2(modp).

 Như vậy 

x1-x2  

1-2 (mod p).

 Nếu viết = k , ta nhận được phương trình tìm k chưa  biết sau. 

x1-x2  

k(1 -2)(mod p)

tương đương với phương trình

x1- x2  k( 1- 2) (mod p-1).

Bây giờ giả sử d =UCLN(1- 2, p-1). Vì d (p-1) và d (1-2) nên suy ra d (x1-

x2). Ta định nghĩa:

x’= (x1- x2)/d

= (1- 2)/dp

’= ( p -1 )/d

Khi đó đồngdư thức trở thành:x

’  k ’

(mod p’)

vì UCLN(’, p

’ ) = 1,nên có thể tính: 

= (’)-1

mod p’ 

Khi đó giá trị k xác định theo modulo p’

 sẽ là: k = x’  mod p

’ 

Phương trình này cho d giá trị có thể của k k = x’  +i p’ mod p

8/4/2019 Lược đồ chữ ký số

http://slidepdf.com/reader/full/luoc-do-chu-ky-so 12/26

với i nào đó, 0  i d-1. Trong số d giá trị có có thế này, có thể xác định được mộtgiá trị đúng duy nhất qua việc kiểm tra điều kiện 

  k 

(mod p)

1.5 CHỮ KÝ SỐ SHAMIR

Chuỗi bít thông báo trướ c hết đượ c tách thành các vecto k bit M

Giả sử M [0,n-1], M = (m1, m2, …., mi ….mk )

Một ma trận nhị phân bí mật k x 2k ( ma trận H ) đượ c chọn ngẫu nhiên

cùng vớ i một giá trị modulo n, trong đó n là một số nguyên tố ngẫu nhiên k bit (

thông thườ ng k = 100 bit). Một vecto A 2K bit ( đượ c dùng làm khóa công khai )

đượ c chọn tern cơ sở giải hệ  phương trình tuyến tính sau:

Nói cách khác, các hệ số {hij} đượ c chọn là ngẫu nhiên sao cho thỏa mãn hệ  phương trình tuyến tính sau:

Đây là hệ K phương trình tuyến tính modulo 2k ẩn. Bở i vậy k giá trị đầu của vecto

A được xác định theo các phương trình tern. Vecto A cùng vớ i n ( tức là cặp (A,n))là các thông tin công khai trong khi đó ma trận H đượ c giữ kín.

8/4/2019 Lược đồ chữ ký số

http://slidepdf.com/reader/full/luoc-do-chu-ky-so 13/26

Xác thực thông báo dùng sơ đồ chữ ký Shamir

 Xác thực thông báo người dùng sơ đồ Shamir Ngườ i A có thể chứng tỏ cho một ngườ i dùng khác tern mạng B tính xác

thực của thông báo M bằng các dùng khóa riêng của mình (HA, nA) đối vớ i thông

báo M.

Trong đó Mrbiểu thị vecto đảo bít của M, tức là M

r=( mk , mk-1, …, m2, m1 )

Các bít của thông báo đã ký là: 

Chỉ có A có thể tạo ra 2Kbít {si} từ k bít của thông báo {mi} vì chỉ có A mớ itạo đượ c 2.k 

2phần tử của ma trận {hi, j}

 Kiể  m tra thông báoMỗi ngườ i dùng tern mạng có thể kiểm tra tính xác thực của thông báo do A

gửi bằng các dùng thông tin công khai (AA, nA):

8/4/2019 Lược đồ chữ ký số

http://slidepdf.com/reader/full/luoc-do-chu-ky-so 14/26

 

Sơ đồ chữ ký số Shamir đc mô tả ở trên là không an toàn vì vớ i một cặp bản rõ-

bản mã thích hợ p thám mã mớ i có thể xác định đượ c ma trận H. Bằng cách ngẫu

nhiên hóa thông báo M trướ c khi ký ta có thể tránhd dược nguy cơ này: 

Véctơ A sẽ đượ c nhân vớ i một vectơ ngẫu nhiên R có 2Kbít: R=(r1,….,r 2k )rồi thực hiện phép biến đổi sau: M’=(M-R*A) mod n hay M=(M’+R*A) mod n. 

Để ký cho thông báo đã biến đổi M’ ta cũng đảo ngượ c các bít và nhân nó

vớ i H. Tuy nhiên k ết quả này lại đượ c cộng với vectơ R.

Ở điểm thu, ngườ i sử dụng kiểm tra tính xác thực của thông báo S’ bằng

cách vectơ khóa công khai A: 

Cần chú ý rằng, vào năm 1984 Odlyzko đã phá được sơ đồ chữ ký này.

 Sơ đồ xác thự  c Ong-Schnorr-Shamir

Sơ đồ xác thực này được Ong, Schnorr và Shamir đưa ra vào năm 1984.Trong sơ đồ này, ngườ i gửi (ngườ i sử dụng A) chọn một số nguyên lớ n nA (nA 

không nhất thiết là một số nguyên tố ). Sau đó A chọn một số ngẫu nhiên k A 

nguyên tốt cùng nhau vớ i nA (tức là UCLN (k A,nA)=1. Khóa công khai k A đượ c tính

như sau: 

KA = -(k A)-2 mod nA 

Cặp (k A, nA) được đưa công khai cho mọi ngườ i dùng trong mạng. Để xác

thực một thông báo M (M nguyên tố cùng nhau vớ i nA ), ngườ i gửi sẽ chọn một số 

ngẫu nhiên RA (RA cũng nguyên tố cùng nhau vớ i nA) rồi tính thông báo xác thực

là cặp S=(S1, S2) sau:

Sau đó A gửi S cho bên thu qua mạng.

Việc kiểm tra tính xác thực ở   bên thu đượ c thự hiện như sau:

1.6 SƠ ĐỒ CHỮ KÝ DIFFIE-LAMPORT

8/4/2019 Lược đồ chữ ký số

http://slidepdf.com/reader/full/luoc-do-chu-ky-so 15/26

1. Chọn n cặp khóa ngẫu nhiên ( chẳng hạn như khóa 56bit của DES) đượ c gửi bí 

mật:

i=1 => (K1,0, K1,1 )

i=1 => (K2,0, K2,1 )

……………….. ……………….. i=n => (Kn,0, Kn,1 )

2. Chọn một dãy S gồm n cặp vecto ngẫu nhiên ( chẳng hạn như các khối đầu vào

64bit của DES), dãy này được đưa ra công khai: S= {(S1,0,S1,1), (S2,0,S2,1), ……(Sn,0,Sn,1)}

3. Tính R là dãy các khóa mã ( chẳng hạn là các dãy ra của DES)

R= {(R1,0,R1,1), (R2,0,R2,1),………., (R n,0,Rn,1)}

trong đó R ij = EKij (Si,j) vớ i 1<= 1<=n và j=0,1Dãy R cũng được đưa công khai.Chữ ký SG(M) của một bản tin n bít M = (m1, m2,…….. mn ) chính là dãy khóa

sau :

M = (K1,i1 , K2,i2 , ……., K n,in ) trong đó chỉ số khóa i j = m j.

Ví dụ: Nếu thông báo M là:

M = m1 m2 m3 m4 …. mn-1 mn

M = 1 0 0 1 … 1 1

Thì chữ ký SG(M) là:

SG(M) = K1,i1 K2,i2 K3,i3 K4,i4 …  Kn-1,i(n-1) Kn,in

SG(M) = K1,1 K2,0 K3,0 K4,1 …  Kn-1,1 Kn,1 

8/4/2019 Lược đồ chữ ký số

http://slidepdf.com/reader/full/luoc-do-chu-ky-so 16/26

Sơ đồ chữ ký Diffie-Lamport đượ c mô tả trên hình sau :

Sơ đồ chữ ký D-L (đầu phát)

B ản tin M và chữ ký SG(M) đều đc gửi tới nơi thu. Bản tin có thể kiểm tra tính xác thực của thông báo bằng việc mã hóa các vecto

tương ứng của dãy S đã biết vớ i chữ ký SG(M) đã nhận đươc và so sánh vớ i bản

mã tạo ra với dãy R đã biết.

EK1,i1 (S1,i1) = R1,i1

EK2,i2 (S2,i2) = R2,i2

………. 

EKn,in (Sn,in) = Rn,in

Nếu dãy n vecto này bằng nhau thì chữ ký được xem là đã xác thực.

(R1,i1, R1,i1, …, R 1,i1) = [EK1,i1(S1,i1), …, EKn,in(Sn,in)]

Cần chú ý rằng sơ đồ chữ ký D-L sẽ mở rộng độ dài chữ ký chứ không phải nén

nó. Nếu DES đượ c sử dụng thì một bản tin n bít sẽ cần một chữ ký số SG(M) có độ 

dài là 56.n bít. Vì vậy, để khắc phục nhược điểm này bản tin n cần đượ c nén thànhmột bản tóm lượ c thông báo r bít ( r<<n ) bằng một hàm băm H(M) trướ c khi áp

dụng sơ đồ D-L

8/4/2019 Lược đồ chữ ký số

http://slidepdf.com/reader/full/luoc-do-chu-ky-so 17/26

Hình dướ i chỉ ra quá trình kiểm tra chữ ký.

Kiểm tra chữ ký D-L (đầu thu)

cần chú ý rằng chữ ký ở  đây chỉ còn là tập r khóa

Một hạn chế nữa cần phải nói tớ i là: vì nửa số khóa đã bị lộ sau khi kiểm tra nên sơ đồ này chỉ có thể đượ c sử dụng một lần vớ i một cặp khóa cho trước. Để khắc phục

nhược điểm này ta có để sử dụng sơ đồ chữ ký dựa tern các hệ mật khóa công khai.

1.7 SƠ ĐỒ CHỮ KÝ SỐ RSAChữ ký số đượ c xây dựng tern cơ sở k ết hợ p mã hóa khóa công khai vớ i hàm

 băm. Tuy nhiên cách sử dụng khóa ở  đấy khác vớ i trong các hệ mật khóa côngkhai.

Các bướ c tạo chữ ký và kiểm tra chữ ký đượ c mô tả trên hình sau:

8/4/2019 Lược đồ chữ ký số

http://slidepdf.com/reader/full/luoc-do-chu-ky-so 18/26

 

Tạo một thông báo có ký bằng chữ 

Các bướ c kiểm tra một thông báo đã ký 

Ví dụ: sơ đồ chữ ký số RSA

Có thể coi bài toán xác thực là bài toán “ đối ngẫu” vớ i bài toán bảo mật. Vì

vậy, sử dụng ngượ c thuật toán RSA ta có thể có đượ c một sơ đồ chữ ký số RSA

như sau: Giả sử n=p.q, trong đó p và q là các số nguyên tố lớn có kích thước tương

đương. 

8/4/2019 Lược đồ chữ ký số

http://slidepdf.com/reader/full/luoc-do-chu-ky-so 19/26

K={ (n, e, d ) : d Zn*, ed 1mod(n) }

Vớ i K= (n, e, d ) ta có D=d là khóa bí mật, E=(n, e) là khóa công khai, m là

bản tin cần ký.

Tạo chữ ký: S=sigD (m) = md

mod n

Kiểm tra chữ ký: verE (m, s) = đúng m Sc mod n.Hoạt động của sơ đồ chữ ký RSA có thể mô tả như sau: 

a. Trườ  ng hợ  p bả n tin rõ m không cầ n bí mậ tA ký bản tin m và gửi cho B

B kiểm tra chữ ký của A

Sơ đồ chữ ký số RSA ( K bí mật bản tin )

Giả sử A muốn gửi cho B bản tin rõ m có xác thực bằng chữ ký số của mình.

Trướ c tiên A tính chữ ký số:

SA = sigDA(m)= mdA mod nA

Sau dó A gửi cho B bộ đôi (m, SA). B nhận đượ c (m, SA) và kiểm tra xem điều kiện

mSeA

A mod nA có thỏa mãn không. Nếu thỏa mãn, thì khi đó B khẳng định rằng

verEA (m, SA) nhận giá trị Đúng và chấp nhận chữ ký của A trên m.

b. Trườ  ng hợ  p bả n tin rõ m cầ n giữ bí mậ tA ký bản rõ m để đc chữ ký SA. Sau đó A dùng khóa mã công khai EB của B

để lập bản mã M=EB(m, SA) rồi gửi đến B. Khi nhận đượ c bản mã M, B dùng khóa

bí mật DB của mình để giải mã cho M và thu đượ c m, SA. Tiếp đó dùng thuật toán

8/4/2019 Lược đồ chữ ký số

http://slidepdf.com/reader/full/luoc-do-chu-ky-so 20/26

kiểm tra verEa để xác nhận chữ ký của A.

1.8 CÁC CHỮ KÝ FAIL- STOP

Sơ đồ chữ ký Fail- stop dùng để tăng độ mật trước khả năng một đối thủmạnh có thể giả mạo chữ ký. Nếu Oscar khả năng giả mạo chữ ký của Bob thì Bob

có khả năng chứng minh được (với xác suất cao) rằng chữ ký của Oscar là giả mạo. 

Phần này sẽ mô tả một sơ đồ Fail- stop do Van Heyst va Pedersen đua ranăm 1992. Đầu là sơ đồ chữ ký 1 lần (chỉ một bức điện có thể ký bằng một chotrước chỉ 1 lần). Hệ thống gồm các thuật toán ký, thuật toán xác minh và thuật toán“chứng minh giả mạo”. Hình 6.9 mô tả các thuật toán ký và xác minh của sơ đồFail- stop của Van Heyst va Pedersen. 

Không khó khăn nhận thấy rằng, chữ ký do Bob tao ra sẽ thoả mãn điều kiệnxác minh nên ta lại trở các kía cạnh an toàn toàn của sơ đồ này và các thức làm

việc của tính chất Fail- Safe (tự động ngừng khi có sai số). Trước hết, ta thiết lậpvài yếu tố quan trọng có liên quan đến các khoá của sơ đồ. Đầu tiên đưa ra một

định nghĩa: Hai khoá (1, 2, a1, a2, b1, b2) và (1’, 2’, a1’, a2’, b1’, b2’) là tương

đương nếu 1 =1’,2= 2’. Và dễ dàng nhận thấy tồi tại q2 khoá trong lớp tương

đương bất kỳ. Sau đây là vài bổ đề. 

8/4/2019 Lược đồ chữ ký số

http://slidepdf.com/reader/full/luoc-do-chu-ky-so 21/26

 

Bổ đề 6.4 Giả sử K và K’là các khoá tương đương và giả thiết chữ ký ver K(x,y) =

true(đúng). Khi đó chữ ký verK’(x,y) = true.

Chứng minh

Giả sử K =(1, 2, a1, a2, b1, b2) và K’= (1’, 2’, a1’, a2’, b1’, b2’) trong đó:

1= a1

a2 mod p =a’1

a’2 mod p

2= b1

b2 mod p = b’1

 b’2 mod p

Giả sử x được bằng cách dùng K và tạo ra các chữ ký y =(y1, y2) trong đó: 

y1= a1+xb1mod q

y2= a2+xb2mod q

Hình 6.9 Sơ đồ chữ ký Fail- stop.

8/4/2019 Lược đồ chữ ký số

http://slidepdf.com/reader/full/luoc-do-chu-ky-so 22/26

 

Bây giờ giả sử ta xác minh y bằng cách dùng K’ 

y1

y2  a’1+ xb’1

a’ + xb’2 (mod p)

 a’1

a’2 ( b’1

 b’2 )x

(mod p)

 12

x

mod p Như vậy, y cũng sẽ được xác minh bằng K’. 

Bổ đề 6.5 

Cho p = 2q+1 là số nguyên tố sao q là nguyên tố và bài toán logarithm rờ i rạc

trong Zp là khó giải. cho  Zp*

là phần tử bậc q. Giả sử 1 a0 q-1và định nghĩa  

=a0mod p. Các giá trị p, q, , và a0 đều do ngườ i có thẩm quyền (đượ c tin cậy)

chọn. Các số p, q, và công khai và cố định còn a0 đượ c giữ bí mật.

Cho P =Zp và A = Zq Zq. khoá có dạng:

K =(1, 2, a1, a2, b1, b2)

trong đó a1, a2, b1, b2 Zq

1= a1

a2mod p

còn 2=

b1

b2

mod p

Vớ i K =(1, 2, a1, a2, b1, b2) và x Zp*, ta định nghĩa

sigk (x) =(y1, y2)

trong đó

y1= a1+xb1mod q

còn y2= a2+xb2mod q

Vớ i y =(y1, y2) Zq Zq ta có:

Xác minh ver(x,y) = true  12x  y1y2

(mod p) 

8/4/2019 Lược đồ chữ ký số

http://slidepdf.com/reader/full/luoc-do-chu-ky-so 23/26

Giả sử K là khoá còn y = sigK’(x). Khi đó tồn tại đúng q khoá K’ tương

đương với K sao cho y= sigK’(x).

Chứng minh

Giả sử 1và 2là các thành phần công khai của K. Ta muốn xác định số bội 4

(a1, a2, b1, b2)sao cho các đồng dư thức sau đây được thoả mãn. 

1  a1

a2 (mod p)

2  b1

b2 (mod p)

y1 a1+xb1(mod q)

y2 a2+xb2(mod q).

Vì  sinh ra G nên tồn tại các số mũ duy nhất c1, c2, a0   Zq sao cho

1  c1 (mod p)

2  c2 (mod p)

và    a0 (mod p)

vì thế nó điều kiện cần và đủ để hệ các đồng dư thức sau đây được thoả mãn: 

c1 a1+a0a2(mod q)

c2 b1+a0b2(mod q)

y1 a1+ xb1(mod q)

y2 a2+ xb2(mod q)

Hệ thống này có thể viết dưới dạng phương trình ma trận trong Zq như sau: 

=

có thể thấy ma trận hệ thống số của phương trình có hạng là 3( hạng của một matrận là số cực đậi của các hàng độc lập tuyến tính mà nó có). Rõ ràng, hạng ít nhất

 bằng 3 vì các hàng 1, 2 và 4 là độc lập tuyến tính trên Zp. còn hạng nhiều nhất cũng bằng 3 v ì:r1 +x r2-r3-a0r4= (0,0,0,0).

Với r 1  chỉ hàng thứ i của ma trận.

 

 

 

 

x 0

 0 x

 0

a 1

0 0

 

1 0

 0 1

0 0

0a 1

 

 

 

 

 

2b

1b

2a

1a

 

 

 

 

 

2y

1y

2c

1c

 

8/4/2019 Lược đồ chữ ký số

http://slidepdf.com/reader/full/luoc-do-chu-ky-so 24/26

  Hệ phương trình này có ít nhâts một nghiệm nhận được bằng cách dùngkhoá K.Vì hàng của ma trận hệ số bằng 3 nên suy ra rằng chiều của không giannghiệm là 4-3=1 và có chính xác q nghiệm.

Tương tự như vậy ta có thể chứng minh được kết qủa sau: 

Bổ đề 6.6 

Giả sử K là khoá y=sigK(x) còn verK (x’,y’)=true, trong đó x’ # x. Khi đó tồn tạiít nhất một khoá K ’ tương đương với K sao cho y=sigK’(x) và y’= sigK’(x

’)

Ta hãy làm sáng tỏ hai bổ đề trên về độ mật của sơ đồ. Khi cho trước y là chữ kíhợp lệ của x, sẽ tồn tại q khoá có thể để x sẽ được kí bằng y. Song với bức điện bấtkì x’ x, q khoá này sẽ tạo ra q khoá khác nhau trên x’. Điều đó dẫn đến định lí sau

đây: 

 Định lí 6.7: 

 Nếu cho trước sigK(x)=y và x’ x. Oscar có thể tính sig K(x

’) với xác suất là

1/q.

Chú ý rằng, định lí này không phụ thuộc vào khả năng tính toán của Oscar: Mức

an toàn qui định đạt được vì Oscar không thể nói về q khoá có thể mà Bob đangdùng. Như vậy độ an toàn ở đây là vô điều kiện. 

Tiếp tục xem xét về khái niệm Fail- Stop. Khi cho trước chữ ký y trên bứcđiện x. Oscar không thể tính ra được chữ ký y’ của Bob trên bức điện x’ khác.

Điều này cũng có thể hiểu rằng, Oscar có thể tính được chữ ký giả mạo y’’=

sigK(x’)(sẽ được chứng minh ). Tuy nhiên, nếu đưa cho Bob một chữ ký giả mạohợp lệ, thì anh ta có thể tạo ra “một bằng chứng về sự giả mạo ” với xác suất 1-

1/q. Bằng chứng về sự giả mạo là giá trị a0=log  (chỉ người có thẩm quyền trungtâm biết ). 

Giả sử Bob sở hữu cặp (x’,y

’’) sao cho ver(x

’,y

’’)= true và y

’’sigK(x’).

 Nghĩa là: 

8/4/2019 Lược đồ chữ ký số

http://slidepdf.com/reader/full/luoc-do-chu-ky-so 25/26

  12x’

  y”1

y”2(mod p)

trong đó :y’’=(y’’1,y

’’2). Bây giờ Bob có thể tính chữ ký của mình trên x’ là y’ =

(y’1,y2

’). Khi đó : 

12x’  y’1y’2(mod p)

vì thế y”1

y”2  y’1

y’2(mod p)

 Nếu viết = a0mod p, ta có :

y”1+ a0 y”2  

y’1+ a0 y’2(mod p)

hay:

y”+a0y”2 y’1+a0y

’(mod q)

hoặc: 

y’’

1- y1’ a0(y’2-y”2

’)(mod q)

Xét thấy y’1 y’’

2(mod q) vì y’ là giả mạo. Vì thế (y’2-y

’’2)

-1 mod q tồn tại và 

a0 =log  = (y’’1-y

’1) (y

’2-y

’’2)

-1  mod q

Dĩ nhiên, bằng việc chấp nhận bằng chứng về sự giả mạo như vậy,ta giảthiết Bob không thểt ự tính được logarithm rời rạc log . Đây là gải thiết về mặttính toán.

Cuối cùng, chú ý rằng,sơ đồ chữ kí là một lần vì khóa k của Bob có thể tínhdễ dàng nếu hai bức điện đều dùng K để ký. Dưới đây là ví dụ minh hoạ cách Bobtạo một bằng chứng về sự giả mạo. 

Vi dụ 6.7 

Cho p=4367=2.1733+1. Phần tử  =4 có bậc là 1733 trong Z3467* 

Giả sử ao =1567, ta có:

= 41567

mod 346=514

8/4/2019 Lược đồ chữ ký số

http://slidepdf.com/reader/full/luoc-do-chu-ky-so 26/26

(Bob biết và  song không biết a0). Giả sử Bob tập khoá bằng cách dùng a1 =

888, a2 = 1042, b1 = 786, b2 = 999. Khi đó 1=4

888514

1024mod 3476=3405

và  2=4786

514999

mod 3476=2281

Tiếp theo, giả sử Bob nhận được chữ kí giả mạo (822,55) trênê bức điện3383. Đây là chữ ký hơp lệ vì thoả mãn điều kiện xác minh. 3405 2281

3384 2282 (mod 3476)

và 4822

51455 2282(mod 3476)

Mặt khác đây không phải là chữ kí đã được Bob xây dựng. Bob có thể tíng chữ kícủa mình như sau: 

(888+3383786 mod 1733.1024+3383999 mod 1733 )=(1504.1291)

Sau đó anh ta tính tiếp log rời rạc bí mậta0 =(822-1504)(1291-55)

-1mod 1733 =1567.

Đây là bằng chứng về sự giả mạo