Часто говорят, что при использовании алгоритма MD5 для подписания некоторой произвольной информации общий секрет должен быть в конце. Почему?
hash-function
cr.crypto-security
Хендрик Бруммерманн
источник
источник
Ответы:
См. «Удары расширения» в конструкции Меркле-Дамгарда . Эта проблема возникает при использовании хеш-функций для аутентификации сообщений .
Короче говоря, установка секрета в начале позволяет злоумышленнику, учитывая сообщение и его хеш, подделать любое сообщение, которое имеет данное сообщение в качестве префикса. Это проблема для наивных кодов, но ее избегают хорошо известные коды, такие как HMAC .
источник