Có một lớp học của các thuật toán băm, cho dù lý thuyết hay thực tiễn, như vậy mà một algo trong lớp có thể được coi là 'phản' Theo một định nghĩa đưa ra dưới đây:băm phản xạ?
- hash1 = algo1 ("nhập văn bản 1")
- hash1 = algo1 ("text input 1" + hash1)
toán tử + có thể nối hoặc bất kỳ hoạt động quy định khác để kết hợp các đầu ra (hash1) trở lại vào đầu vào ("nhập văn bản 1") để thuật toán (algo1) sẽ tạo ra kết quả tương tự. tức là xung đột trên đầu vào và đầu vào + đầu ra. Toán tử + phải kết hợp toàn bộ cả hai đầu vào và bản ngã có thể không loại bỏ một phần của đầu vào.
Thuật toán phải tạo 128 bit entropy trong đầu ra. Nó có thể, nhưng không cần, phải khó mã hóa để đảo ngược đầu ra trở lại một hoặc cả hai đầu vào có thể.
Tôi không phải là nhà toán học, nhưng câu trả lời hay có thể bao gồm bằng chứng về lý do tại sao một lớp thuật toán không thể tồn tại. Tuy nhiên, đây không phải là một câu hỏi trừu tượng. Tôi thực sự quan tâm đến việc sử dụng một thuật toán như vậy trong hệ thống của tôi, nếu một trong những tồn tại.
Câu hỏi này, vì nó là phù hợp hơn với yêu cầu lý thuyết, có thể là tốt hơn trên: http://cstheory.stackexchange.com/ (một trang web chị) – Orbling
Added a new post, tại http: // cstheory.stackexchange.com/questions/4609/reflexive-hash-algorithm-exists – henchan
@henchan, Bạn sẽ nhận được câu trả lời tốt hơn nếu bạn hỏi điều này trên http://crypto.stackexchange.com – Pacerier