Có, thậm chí có thể thực hiện được mà không cần tương tác (Bob không cần gửi gì cho Alice). Phương pháp này được gọi là "chữ ký vòng".
Giả sử cô ấy muốn ký một tin nhắn như "Tôi là Alice, đây là bằng chứng cho Bob rằng tôi biết một trong các chìa khóa".
Cô băm nó để có được $m$.
Alice hiện tạo ra một giá trị ngẫu nhiên $r_i$ cho mọi khóa công khai $k_i$ và mã hóa chúng để có được $y_i$.
Lưu ý rằng tất cả chúng $y_i$ là các giá trị giả ngẫu nhiên không thể đoán trước. Duy nhất $y_i$ cô ấy có thể chọn cái thuộc về chìa khóa của mình $k_j$, cô ấy chỉ cần chọn $y_j$ và ký tên để nhận $r_j$ ($r_j$ trông giống như mọi dữ liệu ngẫu nhiên khác)
Bây giờ cô ấy có thể chọn $y_j$ để xor của tất cả $y_i$ bằng $m$.
Cô gửi tin nhắn và tất cả các $r_i$ cho Bob (nếu thứ tự không rõ ràng, hãy thêm ghi chú $r_i$ thuộc khóa nào)
Để xác minh, Bob chỉ cần mã hóa mọi $r_i$ với khóa công khai $k_i$ để có được $y_i$, xors tất cả chúng và kiểm tra xem nó có bằng không $m$.
Khi tất cả $y_i$ giống như các số ngẫu nhiên, khi bạn không biết khóa, không có cách nào để giả mạo chữ ký mà không biết khóa riêng.
Ngoài ra, không có cách nào để biết $y_i$ và $r_i$ không được tạo ngẫu nhiên, bởi vì tất cả chúng đều trông ngẫu nhiên.
CHỈNH SỬA quan trọng:
Tôi đã quên bước mã hóa đối xứng trong chữ ký vòng. Giữa các bước xor mã hóa đối xứng nên được áp dụng. Điều này vẫn cho phép allice khôi phục $y_i$ cô ấy cần, nhưng làm cho các cuộc tấn công khó khăn hơn.
Để biết thêm chi tiết nhìn vào Wikipedia