Giao thức chối bỏ

Một phần của tài liệu Tìm hiểu về chữ ký số (digital signature) và ứng dụng (Trang 43)

Một vấn đề đặt ra, nếu sự cộng tác của Bob là cần thiết trong việc kiểm tra chữ ký thì điều gì đã ngăn cản Bob từ chối chữ ký do chính anh tạo ra trong thời gian gần đây? Tất nhiên, Bob có thể cho rằng chữ ký đúng đó là giả mạo và từ chối kiểm tra nó hoặc Bob thực hiện một giao thức mà theo đó chữ ký sẽ không được kiểm tra.

Vì vậy, một lược đồ chữ ký chống chối bỏ được kết hợp chặt chẽ với một giao thức bỏ và nhờ điều đó Bob có thể chứng minh rằng chữ ký đó là giả mạo. (Nếu anh ta từ chối thực hiện một phần trong giao thức chối bỏ, điều đó đồng nghĩa với dấu hiệu chứng minh chữ ký đó là xác thực trên thực tế và anh ta đang cố gắng từ chối chữ ký của mình).

Giao thức chối bỏ gồm 2 tiến trình của giao thức kiểm tra và có các bước sau:

1. Alice chọn e1, e2 ngẫu nhiên, e1, e2 Zq *

.

2. Alice tính c = ye1 e2 mod p và gửi nó cho Bob. 3. Bob tính d = ca1modq

mod p và gửi nó cho Alice. 4. Alice kiểm tra d  xe1e2mod p.

5. Alice chọn f1, f2 ngẫu nhiên, f1, f2 Zq *

.

6. Alice tính C = yf1f2 mod p và gửi nó cho Bob. 7. Bob tính D = ca1modq

mod p và gửi nó cho Alice. 8. Alice kiểm tra D  xf1f2mod p

9. Alice kết luận rằng y là chữ ký giả mạo khi và chỉ khi (de2

)f1  (Df2 )e1

Đỗ Thị Xuân Thắm K31 B – Khóa luận tốt nghiệp – Chuyên ngành Tin học 44

Các bước 1 – 4 và 5 – 8 là hai tiến trình không thành công của giao thức kiểm tra. Bước 9 là bước “kiểm tra tính chính xác” cho phép Alice xác định rõ chữ ký đó có xác thực hay không nếu sự trả lời của Bob được tạo ra như giao thức theo lý thuyết. Ví dụ: Ta lấy tương tự như ví dụ trước.

Lấy p = 467,  = 4, a = 101,  = 449.

Ký thông báo x = 286 với chữ ký y = 83 (là giả mạo). Bob muốn thuyết phục Alice rằng chữ ký đó là không đúng. Vậy phải thực hiện như sau:

Alice chọn ngẫu nhiên e1 = 45, e2 = 237. Alice tính c = 305 và Bob trả lời với d = 109. Alice tính: 28645

. 4237mod 467 = 149.

Vì 149  109 nên Alice thực hiện tiếp giao thức chối bỏ.

Alice chọn tiếp f1 = 125, f2 = 9, ngẫu nhiên, Alice tính C = 270 và Bob trả lời với D = 68. Alice tính: 286125

.49mod 467 = 25.

Vì 25  68 nên Alice thực hiện bước cuối cùng của giao thức tức là thực hiện kiểm tra tính xác thực.

Ta có: (109.4-237)125  188 mod 467 và (68.4-9)45 188 mod 467

(de2)f1  (Df2)e1 mod p

Vậy Alice tin chắc rằng chữ ký đó là không đúng. Bây giờ, chúng ta cần chứng minh 2 điều là:

a. Bob có thể thuyết phục Alice rằng chữ ký không đúng đó là giả mạo. b. Bob không thể làm cho Alice bị thuyết phục rằng chữ ký đúng đó là giả mạo ngoại trừ xác suất rất nhỏ. (Xem trong [6], [8])

Một phần của tài liệu Tìm hiểu về chữ ký số (digital signature) và ứng dụng (Trang 43)