Nếu văn bản cần được ký quá dài thì số lượng chữ ký được tạo ra sẽ rất nhiều và kết quả nhận được là một thông điệp có kích thước rất lớn. Chẳng hạn như khi sử dụng phương pháp DSS thì thông điệp sau khi được ký sẽ có độ dài gấp đôi văn bản nguyên thủy ban đầu! | Hàm băm mật mã đoạn nhỏ có độ dài thích hợp và ký trên từng mảnh thông điệp này. Tuy nhiên giải pháp này lại có nhiều khuyết điểm và không thích hợp áp dụng trong thực tế o Nếu văn bản cần được ký quá dài thì số lượng chữ ký được tạo ra sẽ rất nhiều và kết quả nhận được là một thông điệp có kích thước rất lớn. Chẳng hạn như khi sử dụng phương pháp DSS thì thông điệp sau khi được ký sẽ có độ dài gấp đôi văn bản nguyên thủy ban đầu o Hầu hết các phương pháp chữ ký điện tử có độ an toàn cao đều đòi hỏi chi phí tính toán cao và do đó tốc độ xử lý rất chậm. Việc áp dụng thuật toán tạo chữ ký điện tử nhiều lần trên một văn bản sẽ thực hiện rất lâu. o Từng đoạn văn bản sau khi được ký có thể dễ dàng bị thay đổi thứ tự hay bỏ bớt đi mà không làm mất đi tính hợp lệ của văn bản. Việc chia nhỏ văn bản sẽ không thể bảo đảm được tính toàn vẹn của thông tin ban đầu cần được ký. Hàm băm mật mã Hàm băm mật mã là hàm toán học chuyển đổi một thông điệp có độ dài bất kỳ thành một dãy bit có độ dài cố định tùy thuộc vào thuật toán băm . Dãy bit này được gọi là thông điệp rút gọn message digest hay giá trị băm hash value đại diện cho thông điệp ban đầu. Dễ dàng nhận thấy rằng hàm băm h không phải là một song ánh. Do đó với thông điệp x bất kỳ tồn tại thông điệp x x sao cho h x h x . Lúc này ta nói rằng có sự đụng độ xảy ra . 223 Chương 9 Một hàm băm h được gọi là an toàn hay ít bị đụng độ khi không thể xác định được bằng cách tính toán cặp thông điệp x và x thỏa mãn x x và h x h x . Trên thực tế các thuật toán băm là hàm một chiều do đó rất khó để xây dựng lại thông điệp ban đầu từ thông điệp rút gọn. Hàm băm giúp xác định được tính toàn vẹn dữ liệu của thông tin mọi thay đổi dù là rất nhỏ trên thông điệp cho trước ví dụ như đổi giá trị 1 bit đều làm thay đổi thông điệp rút gọn tương ứng. Tính chất này hữu ích trong việc phát sinh kiểm tra chữ ký điện tử các đoạn mã chứng nhận thông điệp phát sinh số ngẫu nhiên tạo ra khóa cho quá trình mã hóa. Hàm băm là nền tảng cho nhiều ứng .