Các thuật toán băm với đầu vào là các bức thông điệp có dung lượng, kích thước tùy ý (vài KB đến vài chục MB thậm chí hơn nữa) – các bức thông điệp có thể là dạng văn bản, hình ảnh, âm thanh, file ứng dụng v.v… – và với các thuật toán băm: MD2, MD4, MD5, SHA cho các bản băm đầu ra có kích thước cố định: 128 bit với dòng MD, 160 bit với SHA. Như vậy, bức thông điệp kích thước tùy ý sau khi băm sẽ được thu gọn thành những bản băm – được gọi là các “văn bản đại diện” – có kích thước cố định (128 bit hoặc 160 bit).
Đặc điểm:
- Với mỗi thông điệp đầu vào chỉ có thể tính ra được một văn bản đại diện – giá trị băm tương ứng – duy nhất.
- Hai thông điệp khác nhau chắc chắn có hai văn bản đại diện khác nhau. Khi đã có văn bản đại diện duy nhất cho bức thông điệp, áp dụng các sơ đồ chữ ký số ký trên văn bản đại diện đó.
Tính chất của hàm băm:
Tính chất 1: Hàm hash h là hàm không va chạm yếu nếu khi cho trước một bức điện x, không thể tiến hành về mặt tính toán để tìm một bức điện x ¹ x’ sao cho h (x’) = h(x).
Tính chất 2: Hàm Hash h là không va chạm mạnh nếu không có khả năng tính toán để tìm ra bức điênk x và x’ sao cho x ¹ x’ và h(x) = h(x’).
Tính chất 3: Hàm Hash h là một chiều nếu khi cho trước một bản tóm lược thông báo z, không thể thực hiện về mặt tính toán để tìm bức điện x sao cho h(x) = z.
Chữ kí số.
Chữ kí số là một giao thức tạo ra một hiệu quả tương tự như chữ kí thực:
- Nó là một dấu hiệu mà chỉ có người gửi mới có thể tạo ra nhưng những người khác có thể nhận thấy được rằng nó là của người gửi.
- Giống như chữ kí thực, chữ kí số dùng để xác nhận nội dung thông báo
Chữ kí số phải thỏa mãn điều kiện sau đây:
- Không thể giả mạo: Nếu P kí thông báo M bằng chữ kí S(P, M) thì không một ai có thể tạo được cặp [M, S(M,P)]
- Xác thực: Nếu R nhận được cặp [M, S(M,P)] được coi là của P thì R có thể kiểm tra được rằng chữ kí có thực sự là của P hay không. Chỉ P mới có thể tạo được chữ kí này và chữ kí được “gắn chặt” với M.
- Không thể thay đổi: sau khi được phát M không thể bị thay đổi bởi S, R hoặc bởi một kẻ thu trộm nào
- Không thể sử dụng lại: Một thông báo trước đó đã được đưa ra sẽ ngay lập tức bị R phát hiện