Типы хэш-функций

Существует три типа построения хэш-функций:
• на основе какой-либо трудновычисляемой математической задачи;
• на основе алгоритмов блочного шифрования;
• разработанные с нуля.
Каждый из вышеперечисленных методов имеет свои достоинства и недостатки, однако наиболее распространенными на сегодняшний день оказались последние два. Это связано с тем, что при построении хэш-функций с нуля появляется возможность учитывать такое их свойство, как эффективная программная реализация. Широкое применение хэш-функций, построенных на основе алгоритмов блочного шифрования, является результатом тщательной проработки вопроса стойкости многих из существующих алгоритмов.
В данном разделе приведены два примера практической реализации хэш-функций (SHA, построенная с нуля, и ГОСТ Р 34.11-94 на основе блочного алгоритма шифрования ГОСТ 28147-89).