Чи існує клас хеш-алгоритмів, теоретичний чи практичний, такий, що алгоритм у класі може вважатися "рефлексивним" відповідно до визначення, наведеного нижче:
- hash1 = algo1 ("вхідний текст 1")
- hash1 = algo1 ("вхідний текст 1" + хеш1)
Оператор + може бути конкатенацією або будь-якою іншою заданою операцією для об'єднання виводу (хеш1) назад у вхід ("вхідний текст 1"), щоб алгоритм (algo1) дав точно такий же результат. тобто зіткнення на вході та вході + виході. Оператор + повинен поєднувати весь вхід і обидва входи, і algo може не відкидати частину вводу.
Алгоритм повинен створювати високу ентропію на виході. Криптографічно може бути важко повернути висновок на один або обидва можливі входи.
Я не математик, але хороша відповідь може містити докази того, чому такий клас алгоритмів не може існувати. Однак це не абстрактне питання. Мені щиро цікаво використовувати такий алгоритм у своїй системі, якщо такий існує.
Це дублікат запитання, яке вперше було розміщено на веб- сайті /programming/4823680/reflexive-hash