Theo các sơ đồ chữ ký số, chữ ký đƣợc xác định cho từng khối của văn bản, và nếu bản gồm nhiều khối thì chữ ký cho toàn văn bản phải do ghộp chữ ký trên từng khối lại với nhau mà thành; chữ ký trên từng khối văn bản thƣờng có độ dài bằng (hoặc thậm chí gấp đôi) độ dài của khối văn bản, do đó chữ ký chung cũng có độ dài tƣơng đƣơng với độ dài văn bản, đó là một điều bất tiện. Ta mong muốn, nhƣ trong trƣờng hợp viết tay, chữ ký chỉ có độ dài ngắn và hạn chế cho văn bản có độ dài bất kỳ. Đối với chữ ký điện tử, vì chữ ký phải đƣợc “ký” cho từng bit của văn bản, nến muốn có chữ ký độ dài hạn chế trên văn bản có độ dài bất kỳ thì phải tìm cách rút ngắn độ dài văn bản. Nhƣng bản thân văn bản không thể rút ngắn đƣợc, nên chỉ còn cách là tìm cho mỗi văn bản một bản “tóm lƣợc” có độ dài hạn chế, rồi thay cho việc ký trên toàn bộ văn bản, ta ký trên bản tóm lƣợc đó, xem chữ ký trên bản tóm lƣợc có tƣ cách là chữ ký trên văn bản. Giả sử là tập hợp tất cả các văn bản có thể có (tất nhiên, trong một lĩnh vực nào đó), và là tập hợp tất cả các bản “tóm lƣợc” có thể đƣợc sử dụng. Việc tìm cho mỗi văn bản một bản tóm lƣợc tƣơng ứng xác định một hàm h: . Một hàm h nhƣ vậy ngƣời ta gọi là một hàm băm (hash function). Thông thƣờng, là tập hợp các dãy bit có độ dài tuỳ ý, và là tập hợp các dãy bit có một độ dài n cố định, nên ngƣời ta cũng định nghĩa hàm băm là các hàm h: (tức các hàm h: )
Một ứng dụng quan trọng khác của các hàm băm bảo mật là sự kiểm tra tính bảo toàn dữ liệu. Việc xác định xem một file hay một thông điệp có bị sửa đổi hay không có thể thực hiện bằng cách so sánh tóm lƣợc đƣợc tính trƣớc và sau khi gửi nhờ hàm băm. Nếu hai tóm lƣợc khác nhau có nghĩa là thông điệp đã bị thay đổi trên đƣờng truyền. Một số hàm băm đƣợc sử dụng phổ biến trong việc bảo mật dữ liệu cũng nhƣ kiểm tra tính bảo toàn của dữ liệu là MD5 và SHA-1.
37