Почему 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.
Юкка Суомела

Связанный вопрос на 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.