Чому важливо, щоб секрет був у кінці підпису з MD5?


16

часто кажуть, що при використанні алгоритму MD5 для підписання якоїсь довільної інформації загальний секрет повинен бути в кінці. Чому?


2
Чи можете ви, будь ласка, бути більш конкретними замість того, щоб говорити "часто говорять". Чи можете ви навести посилання, а також розширити питання, чому це питання актуальне?
Суреш Венкат

У назві запитання є помилка друку: чи можете ви змінити "і" на "закінчити"?
Карлос Шейдеггер

Відповіді:


16

Дивіться "напади на розширення" в будівництві Меркле-Дамгард . Ця проблема виникає при використанні хеш-функцій для аутентифікації повідомлень .

Коротше кажучи, введення секрету на початку дозволяє зловмиснику, давши повідомлення та його хеш, підробляти будь-яке повідомлення, яке має це повідомлення як префікс. Це проблема для наївних кодів, але її уникають відомі коди, як HMAC .


1
З того, що я розумію, якщо ви порушите вхідний потік, а загальний ключ - це початок потоку, тоді перший блок майже завжди отримає той самий хеш, і тому про спільний ключ можна здогадатися, використовуючи райдужні атаки, правда?
Олександру
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.