Người B chỉ có khóa chung, tệp, chữ ký và hàm băm, liệu việc xác minh chữ ký bằng khóa chung có đủ để chứng minh người A đã ký vào tệp thực không?
Người B không cần hàm băm. Nếu họ nhận được nó, họ có thể sử dụng nó cho mục đích gỡ lỗi hoặc hủy xác minh sớm, nhưng họ không nên tin tưởng vào nó. Trong phần sau đây, tôi bỏ qua bất kỳ hàm băm nào mà người B có thể đã nhận được.
Người B sẽ băm tệp và kiểm tra xem hàm băm đó, khóa công khai và chữ ký có được xác minh hay không.Điều đó được cho là để chứng minh người A đã ký vào hồ sơ.
Băm là một phần của quá trình xác minh chữ ký thường được nêu là: Người B sẽ kiểm tra xem tệp, khóa chung và chữ ký có được xác minh hay không.
Một ngoại lệ đối với đoạn trên là khi, bên trên hệ thống chữ ký đã phù hợp để ký một tin nhắn/tệp có độ dài bất kỳ bằng cách sử dụng hàm băm $H_1$, nó đã thêm một lớp băm khác với hàm băm $H_2$. Trong trường hợp này, người ta sẽ nói: Người B sẽ băm tệp với $H_2$và kiểm tra xem hàm băm đó, khóa công khai và chữ ký hay không, xác minh (ngầm định: với hàm băm $H_1$ áp dụng cho kết quả của $H_2$ như một phần của xác minh chữ ký). Băm tổng hợp như vậy đôi khi được thực hiện vì lý do hiệu suất, bởi vì $H_2$ là do thiết kế nhanh hơn $H_1$; hoặc/và bởi vì $H_1$ được thực hiện bởi một thiết bị (ví dụ: Thẻ thông minh) và $H_2$ được thực hiện bởi người khác (ví dụ: máy tính sử dụng Thẻ thông minh).
Băm và thuật toán nào (thích hợp cho) điều này?
Từ quan điểm lý thuyết, chữ ký cần một thuật toán băm có khả năng chống va chạm (ngụ ý khả năng chống ảnh hưởng thứ hai) và có chiều rộng phù hợp với hệ thống chữ ký đang được xem xét.
Nếu chiều rộng đó tối đa là 512-bit, SHA-512 cắt ngắn thích hợp sẽ làm. Đối với kích thước tùy ý, có LẮC256. Để có tốc độ tốt hơn, có Blake2.
Từ quan điểm thực tế, hàm băm thường được chỉ định bởi hệ thống chữ ký hoặc tham số của nó và thông số kỹ thuật đó thường được nhúng với khóa chung trong chứng chỉ khóa chung.
Một ví dụ về thuật toán chữ ký và hàm băm được sử dụng phổ biến là ECDSA với đường cong secp256r1 và băm SHA-256. Một ví dụ khác là Ed25519, chỉ định thuật toán, đường cong và hàm băm (lưu ý Ed25519ph giống như Ed25519, ngoại trừ hàm băm kép trong ngoại lệ ở trên).
¹ Không có gì giống như bằng chứng tuyệt đối: có lẽ khóa công khai không phải của người A; hoặc khóa cá nhân của một người đã bị đánh cắp; hoặc PC của họ nằm dưới sự kiểm soát của một tác nhân độc hại nên A muốn ký một cái gì đó hoàn toàn khác; hoặc hệ thống chữ ký hoặc hàm băm bị hỏng...