Остается только догадываться, что такое функция сжатия и как она использует раунды. Это не указано, нет, увеличение количества раундов в последней функции сжатия не гарантирует предотвращения атаки с увеличением длины, даже если функция сжатия изменена и улучшена путем добавления к ней большего количества раундов.
Доказательство контрпримером: измените SHA-512 на
- удаление исключающего ИЛИ в конце каждой функции сжатия, фактически используя блочный шифр Дэвис-Мейер функция сжатия непосредственно как функция сжатия;
- и изменить расписание ключей этого шифра так, чтобы оно повторялось после количества раундов, используемых в блочном шифре функции сжатия (но в остальном этот блочный шифр является безопасным).
- и удвоение количества раундов в этом блочном шифре в последней функции сжатия, повторное использование тех же констант, что и в первой половине
Эта комбинация фактически дважды хеширует последний блок расширенного сообщения и использует функцию сжатия, которая является обратимой. Это делает хэш теоретически ослабленным против некоторых атак, но по-прежнему неуязвимым со всех практических точек зрения. И это делает его уязвимым для атак с расширением длины в некоторых случаях. Например, когда неизвестный ввод представляет собой один блок сообщений (128 байтов), и мы знаем его хэш, мы можем с уверенностью вычислить хэш ввода из 3 блоков (384 байта), начиная с исходного, за которым следует удвоенное известное значение. блок равен блоку заполнения SHA-512 для 128-байтового ввода.
С другой стороны, если изменение, которое мы вносим в последнюю функцию сжатия, делает ее по существу не связанной с обычным сжатием, да, мы явно защищены от атаки с расширением длины. Изменение констант, используемых в каждом раунде блочного шифра Дэвиса-Мейера или Матиас-Мейер-Осеас функция сжатия, как в SHA-2 (без изменения количества раундов), вне всяких разумных сомнений. Так же как и удвоение количества раундов и использование новых констант во второй половине. Я не делаю заявлений об удвоении количества раундов с теми же константами.