Tìm hiểu về Chữ ký nhóm và ứng dụng trong giao dịch điện tử
Trang 1LỜ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ử, truycậ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 tinqua 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âmphạ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 ứngdụ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 tinkinh 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ácthự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ữngthà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ủanhó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ủaTS.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
Trang 21.1.7 Các thuật toán trong Z
1.1.8 Thuật toán Euclide
1.1.9 Thuật toán Euclide mở rộng
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ã
Trang 3Sơ đồ 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
Trang 41.2.1.1 Mã dịch chuyển
Định nghĩa : Mã dịch chuyển: (P, C, K, E, D)
P = C = K = Z26 với k K, định nghĩa ek(x) = (x + k) mod 26
dk(y) = (y – k) mod 26 (x, y Z26)
Trang 5Trong đó π-1 là hoán vị nghịch đảo của π
1.2.2 Mã khóa công khai
Trong mô hình mật mã cổ điển trước đây mà hiện nay đang được nghiên cứu, A(ngườigửi) và B (người nhận) chọn khóa bí mật K Sau đó dùng K để tạo luật mã hóa ek và luậtgiải mã dk Trong hệ mật này dk hoặc giống ek hoặc khác, nếu để lộ ek thì làm cho hệ thốngmất an toàn
Nhược điểm của hệ mật này là nó yêu cầu phải có thông tin trước về khóa K giữa A và
B qua một kênh an toàn trước khi gửi một bản mã bất kỳ
Ưu điểm của hệ mật khóa công khai là ở chỗ A (hoặc bất kỳ A) có thể gửi một bản tin
đã mã hóa cho B (mà không cần thông tin trước về khóa mật) bằng cách dùng mật mãcông khai ek Người nhận A sẽ là người duy nhất có thể giải mã được bản mã này bằngviệc sử dụng luật giải bí mật dk của mình Có thể hình dung hệ mật này tương tự như sau:
A đặt một vật vào một hộp kim loại và rồi khóa nó lại bằng một khóa số do B để lại Chỉ
có B là người duy nhất có thể mở được hộp vì chỉ có anh ta mới biết tổ hợp mã của khóa
số của mình
Nơi ứng dụng
Sử dụng chủ yếu trên các mạng công khai như Internet, khi mà việc trao chuyển khóa
bí mật tương đối khó khăn Đặc trưng nổi bật của hệ mã hóa khóa công khai là cả khóacông khai và bản mã đều có thể gửi đi trên một kênh thông tin không an toàn
1.2.2.1 Mã RSA
Hệ mật này sử dụng tính toán trong Zn, trong đó n là tích của 2 số nguyên tố phân biệt
p và q Ta thấy rằng (n) = (p – 1).(q – 1)
Trang 6Định nghĩa
Cho n = p.q trong đó p và q là các số nguyên tố Đặt P = C = Zn và định nghĩa:
K = {(n, p, q, a, b): n = p.q, p, q là các số nguyên tố, a.b 1 mod (n)}
Bài toán logarithm rời rạc trong Zp:
Đặc trưng của bài toán: I = (p, , ) trong đó p là số nguyên tố, Z p là
phần tử nguyên thuỷ (hay phần tử sinh), *
Các giá trị p, , được công khai, còn a giữ kín
Với K =(p, , a, ) và một số ngẫu nhiên bí mật k Z p 1, ta xác định:
Trang 7Chương II
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ử ?
Về căn bản, khái niệm chữ ký điện tử (electronic signature) cũng giống như chữ viết
tay Bạn dùng nó để xác nhận lời hứa hay cam kết của mình và sau đó không thể rút lạiđược Chữ ký điện tử không đòi hỏi phải sử dụng giấy mực
Hiện nay, chữ ký điện tử có thể bao hàm các cam kết gửi bằng email, nhập các số địnhdạng cá nhân (PIN) vào các máy ATM, ký bằng bút điện tử với thiết bị màn hình cảm ứngtại các quầy tính tiền, chấp nhận các điều khoản người dùng (EULA) khi cài đặt phầnmềm máy tính, ký các hợp đồng điện tử online
Chữ ký điện tử được tạo ra bằng cách áp dụng thuật toán Băm một chiều trên văn bản,sau đó mã hóa bằng private key tạo ra chữ ký số đính kèm với văn bản gốc để gửi đi Khinhận, văn bản được tách làm 2 phần
So sánh chữ ký thông thường và chữ ký diện tử
Vấn đề ký một tài liệu
Chữ ký chỉ là một phần vật lý của tài
liệu
Vấn đề ký một tài liệu Chữ ký điện tử không gắn kiểu vật lývào bức thông điệp nên thuật toán đượcdùng phải “không nhìn thấy” theo mộtcách nào đó trên bức thông điệp
Vấn đề về kiểm tra
Chữ ký được kiểm tra bằng cách so
sánh nó với chữ ký xác thực khác Tuy
nhiên, đây không phải là một phương
pháp an toàn vì nó dễ bị giả mạo
Vấn đề về kiểm tra Chữ ký điện tử có thể kiểm tra nhờdùng một thuật toán “kiểm tra côngkhai” Như vậy, bất kì ai cũng có thểkiểm tra được chữ ký điện tử Việc dùngchữ ký điện tử an toàn có thể chặn đượcgiả mạo
Bản copy thông điệp được ký bằng
chữ ký thông thường lại có thể khác với
bản gốc
Bản copy thông điệp được ký bằng chữ
ký điện tử thì đồng nhất với bản gốc,điều này có nghĩa là cần phải ngăn chặnmột bức thông điệp ký số không bị dùnglại
Trang 82.1.2 Định nghĩa về sơ đồ ký điện tử
Một sơ đồ chữ ký S là một bộ năm
S = (P , A , K , S , V)
A là một tập hữu hạn các chữ ký có thể có,
K là một tập hữu hạn các khoá, mỗi khoá K K gồm có hai
phần K=(K’,K''), K' là khoá bí mật dành cho việc ký, còn K'' là khoácông khai dành cho việc kiểm thử chữ ký
Với mỗi K =(K’,K''), trong S có một thuật toán ký sig k’ : P → A , và trong V có một thuật toán kiểm thử ver k” : PxA → {đúng,sai} thoả mãn điều kiện sau đây đối với mọi thông báo x P và mọi chữ ký y A :
ver k” (x, y) = đúng ↔ y = sig k’ (x )Với sơ đồ trên, mỗi chủ thể sở hữu một bộ khoá K =(K’,K''), công bố công khai khoáK'' để mọi người có thể kiểm thử chữ ký của mình, và giữ bí mật khoá K’ để thực hiện
chữ ký trên các thông báo mà mình muốn gửi đi Các hàm ver k” và sig k’ (khi biết K’) phải
tính được một cách dễ dàng (trong thời gian đa thức), tuy nhiên hàm y = sig k’ (x ) là khótính được nếu không biết K’ - điều đó bảo đảm bí mật cho việc ký, cũng tức là bảo đảmchống giả mạo chữ ký
Các chữ ký số phải thỏa mãn điều kiện cơ bản sau :
n thoả mãn a.b ≡ 1(mod (n))
Các hàm sig k’ và ver k” được xác định như sau:
sig k’ (x) = x a modn ,
ver k” (x,y ) = đúng ↔ x ≡ y b (modn).
Dễ chứng minh được rằng sơ đồ được định nghĩa như vậy là hợp thức, tức là với mọi x
P và mọi chữ ký y A:
ver k” (x,y ) = đúng ↔ y = sig k’ (x)Chú ý rằng tuy hai vấn đề xác nhận và bảo mật theo sơ đồ RSA là có bề ngoài giốngnhau, nhưng nội dung của chúng là hoàn toàn khác nhau: Khi A gửi thông báo x cho B, để
Trang 9B có căn cứ xác nhận đó đúng thực là thông báo do A gửi, A phải gửi kèm theo chữ ký
sig k’ (x), tức là A gửi cho B (x, sig k’ (x)), trong các thông tin gửi đi đó, thông báo x hoàntoàn không được giữ bí mật Cũng tương tự như vậy, nếu dùng sơ đồ mật mã RSA, khi
một chủ thể A nhận được một bản mật mã e k’(x) từ B thì A chỉ biết rằng thông báo x đượcbảo mật, chứ không có gì để xác nhận x là của B
Nếu ta muốn hệ truyền tin của ta vừa có tính bảo mật vừa có tính xác nhận, thì ta phải
sử dụng đồng thời hai hệ mật mã và xác nhận (bằng chữ ký) Giả sử trên mạng truyền tin
công cộng, ta có cả hai hệ mật mã khoá công khai S 1 và hệ xác nhận bằng chữ ký S 2 Giả
sử B có bộ khoá mật mã K = (K', K'') với K' = (n, e) và
K'' = d trong hệ S 1, và A có bộ khoá chữ ký Ks = (K’s , K''s) với
K’s = a và K''s = (n,b) trong hệ S 2 A có thể gửi đến B một thông báo vừa bảo mật vừa cóchữ ký để xác nhận như sau: A ký trên thông báo x trước, rồi thay cho việc gửi đến B văn
bản cùng chữ ký (x,sig k’s(x)) thì A sẽ gửi cho B bản mật mã của văn bản đó được lập theo
khoá công khai của B, tức là gửi cho B e k’ ((x, sig k’s (x)) Nhận được văn bản mật mã đó B
sẽ dùng thuật toán giải mã dk’’ của mình để thu được (x, sig k’s (x)), sau đó dùng thuật toán
kiểm thử chữ ký công khai ver k”s của A để xác nhận chữ ký sig k’s(x) đúng là của A trên x
2.1.4 Sơ đồ chữ ký Elgamal
Sơ đồ chữ ký ElGamal được đề xuất năm 1985, gần như đồng thời với sơ đồ hệ mật
mã ElGamal, cũng dựa trên độ khó của bài toán lôgarit rời rạc Sơ đồ được thiết kế đặcbiệt cho mục đích ký trên các văn bản điện tử, được mô tả như một hệ:
S = (P , A , K , S , V)
Trong đó P = Z * , A = Z *
p x Z p-1, với p là một số nguyên tố sao cho bài toán tính
lôgarit rời rạc trong Z * là rất khó Tập hợp K gồm các cặp khoá K=(K’,K''), với K’=a là một số thuộc Z * , K'' =(p, α , β), α là một phần tử nguyên thuỷ của Z * , và β=αamodp K’
là khoá bí mật dùng để ký, và K'' là khoá công khai dùng để kiểm thử chữ ký Các thuậttoán ký và kiểm thử chữ ký được xác định như sau: Với mỗi thông báo x, để tạo chữ ký
trên x ta chọn thêm môt số ngẫu nhiên k Z *
Trang 10p là một số nguyên tố lớn có độ dài biểu diễn 512 ≤ lp ≤ 1024 bit (với l là
bội của 64) sao cho bài toán tính logarit rời rạc trong Z p là khó
q là một ước số nguyên tố của p -1 có lq biểu diễn cỡ 160 bit
= (α (x+a.γ).w mod p) mod q (1)
Trang 11Như vậy ver k” (x,(γ ,δ)) = đúng
2.2 Chữ ký không thể chối bỏ
Chữ ký không chối bỏ được công bố bởi Chaum và Van Antverpen vào năm 1989 Nó
có một nét riêng mới lạ và thú vị Quan trọng nhất trong số đó là chữ ký không thể kiểm trakhi không có sự cộng tác của người ký, A(giả sử người ký là A)
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ỏ
2.3 Chứng minh không tiết lộ thông tin
Từ bây giờ chúng ta sẽ coi Peggy là Prover (người chứng minh), còn Victor làVerifier (người kiểm thử) như nhiều tài liệu Mật mã Peggy(P) muốn chứng minhvới Victor(V) rằng cô ta biết câu thần chú có thể mở được cánh cửa bí mật tại cácđiểm R-S, nhưng cô ta không muốn tiết lộ bí mật đó với Victor
Quá trình đến nơi đó diễn ra như sau: Victor đi tới P và đợi đến khi Peggy đi khỏi
R hoặc S Sau đó Victor di chuyển đến Q và gọi Peggy ra ngoài từ bên trái hoặcbên phải của đường hầm( kỹ thuật cut and choose) Nếu Peggy không biết câu thầnchú, cô ta chỉ có 50% khả năng ra ngoài từ bên đúng
Giao thức có thể được lặp lại nhiều lần đến khi Victor tin rằng Peggy đã biết câuthần chú Nếu giao thức được lặp lại k lần, xác suất lừa gạt của Peggy là 2k Và nókhông có nghĩa là giao thức đã được lặp bao nhiêu lần Victor vẫn không biết được
bí mật
2.3 Vấn đề ký số trên đại diện văn bản
Khái niệm : Việc sử dụng các hệ mật mã và các sơ đồ chữ ký số thường là mã hóa và
ký số trên từng bit của thông tin, thời gian để mã hóa và ký sẽ tỷ lệ thuận với dung lượngcủa thông tin Thêm vào đó có thể xảy ra trường hợp với nhiều bức thông điệp đầu vàokhác nhau, sử dụng hệ mật mã, sơ đồ ký số giống nhau (có thể khác nhau) thì cho ra kếtquả bản mã, bản ký số giống nhau
2.3.1 Sơ lược về hàm băm (Hash Function)
2.3.1.1 Giới thiệu
Theo các sơ đồ chữ ký ở trên thì chữ ký của thông điệp cũng có độ dài bằng độ dài củathông điệp, đó là một điều bất tiện Ta mong muốn như trong trường hợp chữ ký viết tay,chữ ký có độ dài ngắn và hạn chế cho dù văn bản có độ dài bằng bao nhiêu Vì chữ ký số
Trang 12được ký cho từng bit của thông điệp, nếu muốn chữ ký có độ dài hạn chế trên thông điệp
có độ dài tuỳ ý thì ta phải tìm cách rút gọn độ dài thông điệp Nhưng bản thân thông điệpkhông thể rút ngắn được, nên chỉ còn cách là tìm cho mỗi thông điệp một thông điệp thugọn có độ dài hạn chế và thay việc ký trên thông điệp, ta ký trên thông điệp thu gọn.Dovậy các hàm băm đóng vai trò cơ bản trong mã khóa công khai Hàm băm sẽ tạo ra một
đầu ra từ bản tin đầu vào Đầu ra này được định nghĩa là một mã băm.
Nếu x1 ≠ x thì x1 và x va chạm dưới h( thành công)
Ngược lại là thất bại
Hàm Hash có tính chất một chiều: Hàm Hash có tính chất một chiều nếu cho trướcthông điệp rút gọn z thì về mặt tính toán không tìm ra được thông điệp x sao cho :
2.3.1.3 Tính chất của hàm băm
Hàm băm h phải thỏa mãn tính chất không va chạm yếu
Hàm băm h không va chạm mạnh nghĩa là không có khả năng tính toán dễ tìm rahai thông điệp x và x’ mà x’ ≠ x và h(x’) = h(x)
Hàm băm h là hàm một chiều nghĩa là khi cho trước một bản tóm lược thông điệp zthì không thể thực hiện về mặt tính toán để tìm ra thông điệp ban đầu x sao choh(x)= z
Trang 132.3.1.4 Thuật toán MD5
Thuật toán MD5 được Ron Rivest đưa ra vào năm 1991 Đầu vào của thuật toán là cáckhối có độ dài 512 bit và đầu ra là một bản băm đại diện cho văn bản gốc có độ dài128bit
Các bước tiến hành :
Bước 1 : Độn thêm bit
Bước 2 : Thêm độ dài
Bước 3 : Khởi tạo bộ đệm của MD
Bước 4 : Tiến trình thực hiện
Trang 14Chương III
CHỮ KÝ NHÓM
3.1 Khái niệm về chữ ký nhóm( Groups Signature )
Chữ ký nhóm là chữ ký điện tử đại diện cho một nhóm người, một tổ chức
Các thành viên của một nhóm người được phép ký trên thông điệp với tư cách làngười đại diện cho nhóm
Chữ ký nhóm được David Chaum và Van Heyst giới thiệu lần đầu tiên vào năm 1991
Kể từ đó đến nay đã có nhiều nhà khoa học nghiên cứu và đưa ra một số sơ đồ chữ kýnhóm khác như sơ đồ chữ ký nhóm của Chen và Pedersen năm 1994, sơ đồ chữ ký nhómcủa Camenisch và Stadler năm 1997
3.2 Những đặc điểm của chữ ký nhóm
Chỉ có thành viên trong nhóm mới có thể ký tên vào bản thông báo đó
Người nhận thông điệp có thể kiểm tra xem chữ ký đó có đúng là của nhóm đó haykhông, nhưng người nhận không thể biết được người nào trong nhóm đã ký vàothông điệp đó
Trong trường hợp cần thiết chữ ký có thể được “mở” (có hoặc là không có sự giúp
đỡ của thành viên trong nhóm) để xác định người nào đã ký vào thông điệp đó
3.2.3 Một sơ đồ chữ ký nhóm thường bao gồm 5 thủ tục
KeyGen → (pk,gmsk) Trong đó pk là khóa công khai của nhóm (dùng để xác
minh chữ ký của nhóm), gmsk là khóa bí mật của nhóm
Join : Cho phép một người không phải là thành viên nhóm gia nhập nhóm Khi gia
nhập nhóm, thành viên i sẽ nhận được khóa bí mật của mình là ski , người quản lýnhóm sẽ lưu thông tin của thành viên mới này
Sig : Khi thành viên i muốn ký thông điệp m đại diện cho nhóm, anh ta sẽ sử dụng
thủ tục Sig: Sig(m, ski)→ Chữ ký trên thông điệp m là δ
Trang 15 Verify : Khi muốn kiểm tra chữ ký δ có phải là chữ ký đại diện cho nhóm trên
thông điệp m sử dụng thủ tục Verify(m, δ,pk) =
False True
Open : Với mỗi chữ ký trên thông điệp m, người quản lý nhóm có thể xác định
được thành viên nào đã ký vào thông điệp bằng việc sử dụng thủ tụcOpen(gmsk,m, δ), đầu ra của thủ tục là thông tin về thành viên đã ký
3.2.4 Hiệu quả của chữ ký nhóm
Khi đánh giá hiệu quả của một sơ đồ chữ ký nhóm ta cần quan tâm đến các thông sốsau:
Độ lớn của khóa công khai nhóm γ (số bit)
Độ lớn của chữ ký trên một thông điệp (số bit)
Hiệu quả của các thủ tục Setup, Join, Sign, Verify, Open
3.2.5 Việc đảm bảo an ninh đối với chữ ký nhóm.
Không thể giả mạo
Người ký nặc danh có thể tính toán được
Không thể chối bỏ
Không thể phân tích quan hệ
Ngăn chặn framing Attacks
Ngăn chặn sự liên minh
3.3 Các sơ đồ chữ ký nhóm của David Chaum và Van Heyst
3.3.1 Sơ đồ chữ ký nhóm thứ nhất.
Z ( là người quản lý nhóm hoặc là người tin cậy được ủy nhiệm ) chọn một hệ thốngkhóa công khai và đưa cho mỗi thành viên một danh sách các khóa bí mật (các danh sáchnày là khác nhau) và công bố một danh sách đầy đủ các khóa công khai tương ứng ( theothứ tự ngẫu nhiên ) trong một Trusted Public Directory – TPD
Mỗi thành viên có thể ký một thông điệp bằng một khóa bí mật trong danh sách củaanh ta, và người nhận có thể kiểm tra chữ ký bằng một khóa công khai tương ứng từ danhsách khóa công khai Mỗi khóa chỉ được sử dụng một lần, nói cách khác các chữ ký đãđược tạo bằng khóa này được liên kết Z biết tất cả các danh sách khóa bí mật, vì thếtrong trường hợp cần thiết, Z có thể biết được ai đã tạo ra chữ ký đó Để làm được điềunày Z phải “mở” chữ ký
Nếu mỗi người có cùng một số lượng các khóa bí mật, thì chiều dài của khóa côngkhai của nhóm là tuyến tính với số thành viên, nhưng số thông điệp của mỗi thành viên ký
là không đổi
Một vấn đề đối với sơ đồ này là Z biết tất cả các khóa bí mật của các thành viên và có
Trang 16khai mù Lấy g là phần tử sinh của nhóm nhân Z*
p với p là một số nguyên tố Thành viênthứ I lấy khóa bí mật của mình là si và tính gs i mod p rồi gửi cho Z, Z có một danh sáchcác khóa công khai khác nhau này cùng với tên của các thành viên Mỗi tuần Z đưa chothành viên I một số ngẫu nhiên ri 1 , 2 , , p 1 và công bố danh sách tất cả các khóacông khai mù là s i r i
g Trong suốt tuần này thành viên I sẽ sử dụng siri mod (p-1) làmkhóa bí mật
Ưu điểm của việc cải biên này là Z không thể giả mạo chữ ký, và mỗi thành viên sẽ
có một “ khóa bí mật thực sự ” Nếu ri chẳng may bị lộ thì vẫn không có một thông tin nào
về khóa bí mật si bị lộ
Trong một cải biên khác, không cần phải có người ủy quyền tin cậy, mỗi người dùnggửi một (hoặc nhiều hơn ) các khóa công khai tới một danh sách công khai sẽ là khóacông khai của nhóm Nhưng chỉ những thành viên của nhóm mới có thể gửi các khóacông khai vào danh sách này
3.3.2 Sơ đồ chữ ký nhóm thứ hai
Z chọn hai số nguyên tố lớn p, q khác nhau và một hàm một chiều và tính N=p*q
Z đưa cho thành viên thứ I một khóa bí mật si ,là một số nguyên tố lớn ngẫu nhiên thuộctập hợp N , ,2 N 1, và tính v = s i, và công bố N, v và f Nếu thành viên
I muốn ký thông điệp m, chữ ký của anh ta sẽ là s i
m
Z phải chứng minh cho người nhận rằng si là ước của v, và si mà không để lộ bất
kì thông tin nào về si Trong trường hợp có xảy ra tranh cãi sau đó, người nhận có thể sửdụng giao thức xác nhận hoặc giao thức chống chối bỏ yêu cầu bên gửi phải chứng minhrằng chữ ký không phải của bên gửi
3.3.2.1 Giao thức xác nhận
Người ký P sẽ phải chứng minh rằng S là chữ ký của anh ta trên thông điệp m với V
mà không để lộ thông tin nào về khóa bí mật s của anh ta, việc này sẽ được giải quyết bởigiao thức 1, chúng ta sẽ phải tính toán các blob an toàn B
Ta coi bản thu gọn của thông điệp là m