Чому SHA-224 і SHA-256 використовують різні початкові значення?


9

Вікіпедія - говорить SHA-2

SHA-224 ідентичний SHA-256, за винятком того, що:

  • початкові значення змінних h0 до h7 різні, і
  • вихід будується за допомогою опущення h7.

RFC3874 - 224-бітна одностороння хеш-функція: говорить SHA-224

Використання іншого початкового значення гарантує, що усічене значення дайджесту повідомлень SHA-256 не може бути помилково прийняте для обчисленого на одних і тих же даних значення дайджеста повідомлення SHA-224.

Мої запитання:

  1. Чи є наведена вище причина єдиною причиною, чому SHA-224 та SHA-256 використовують різні початкові значення?

  2. Чому важливо переконатися, що значення дайджесту повідомлення SHA-256 не може бути помилковим для значення дайджесту повідомлення SHA-224?

  3. Якщо ми використаємо однакові початкові значення для обох хеш-функцій, чи погіршиться безпека будь-якої хеш-функції? Якщо так, то як?


7
Це майже напевно краще підходить для crypto.SE .
Пітер Тейлор

1
Принаймні, питання 2, здається, тут поза темою. Адже це пов’язано з тим, як люди користуються комп’ютерами і що їм зручно; насправді не питання TCS.
Jukka Suomela

Питання, пов’язані з Crypto.SE: crypto.stackexchange.com/questions/3946/…
mikeazo

Відповіді:


4
  1. Це ми назвали розділенням домену, коли ми використовуємо один і той же алгоритм для різного розміру виводу.
  2. Розділення необхідно, тому що якщо я знайшов два повідомлення, які мають хеш-значення (SH256), відрізняється лише останнім октетом, і тоді я можу публікувати хеш-значення як перші 7 октетів, показуючи, що я використовував SHA224. оскільки у мене вже є два повідомлення, що стикаються на SHA224, які я можу використати пізніше для підробки підробки. Використовуючи розділення домену, ми можемо уникнути такої ситуації
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.