Để bảo toàn thông tin, bạn cần làm cho đầu ra lớn hơn.
Lượng thông tin tối đa chúng ta có thể lưu giữ là tất cả.
Điều này có thể đạt được bằng cách: ví dụ: chức năng nhận dạng. $h(m)=m$
Rõ ràng điều này không cung cấp nén nào cả.
Lý thuyết thông tin dạy chúng ta rằng chúng ta không thể nén dữ liệu chung, một số dữ liệu có thể nén được với một số chức năng nhưng không chức năng nào có thể nén tất cả dữ liệu.
Nếu bạn đang tìm cách nén mất dữ liệu, điều này yêu cầu bạn quyết định thông tin nào ít quan trọng hơn, điều này được hiểu khá rõ trong video và âm thanh hình ảnh, tuy nhiên không dành cho dữ liệu chung.
Đối với dữ liệu chung nếu bạn không quan tâm đến những gì bạn mất, bạn có thể cắt bớt tin nhắn và giữ lại một số thông tin, bạn sẽ không nhận được nhiều hơn thế vì lý do lý thuyết thông tin. một đầu ra băm của n bit có thể có không quá n bit thông tin.
Nếu bạn đang hy vọng giữ được nhiều thông tin về các thông báo không ngẫu nhiên có cấu trúc không xác định, thì các hàm băm mật mã là rất tốt. Áp dụng ví dụ SHA3-256 cho một thông báo có thể nén tùy ý và bạn có khả năng nhận được rất gần 256 bit thông tin.
Đáng buồn thay (May mắn thay) việc tìm kiếm tập hợp các thông báo có thể tạo ra một hàm băm như vậy hoặc nói bất cứ điều gì thú vị về chúng nằm ngoài khả năng của chúng tôi.