Эффект лавины - Avalanche effect
В криптография, то лавинный эффект желаемое свойство криптографических алгоритмы, обычно блочные шифры[1] и криптографические хеш-функции, при этом, если вход изменяется незначительно (например, переворачивается один бит), выход значительно изменяется (например, половина выходных битов переворачивается). В случае высококачественных блочных шифров такое небольшое изменение либо в ключ или простой текст должно вызвать резкое изменение зашифрованный текст. Фактический термин был впервые использован Хорст Фейстель,[1] хотя концепция восходит как минимум к Шеннон с распространение.
Если блочный шифр или криптографическая хеш-функция не демонстрируют в значительной степени лавинного эффекта, то он имеет плохую рандомизацию и, следовательно, криптоаналитик может делать прогнозы о вводе, получая только вывод. Этого может быть достаточно, чтобы частично или полностью нарушить алгоритм. Таким образом, лавинный эффект является желательным условием с точки зрения разработчика криптографического алгоритма или устройства.
Построение шифра или хэша для демонстрации существенного лавинного эффекта является одной из основных задач проектирования, и математически при построении используются преимущества эффект бабочки.[2] Вот почему большинство блочных шифров товарные шифры. По этой же причине хэш-функции имеют большие блоки данных. Обе эти функции позволяют небольшим изменениям быстро распространяться по итерациям алгоритма, так что каждый кусочек вывода должна зависеть от каждого бита ввода до завершения алгоритма.[нужна цитата ]
Строгий лавинный критерий
В строгий лавинный критерий (SAC) является формализацией лавинного эффекта. Он удовлетворен, если всякий раз, когда один входной бит дополнен, каждый из выходных битов изменяется с вероятностью 50%. SAC основывается на концепции полнота и лавина, и была представлена Вебстером и Таваресом в 1985 году.[3]
Обобщения SAC более высокого порядка включают несколько входных битов. Булевы функции, которые удовлетворяют SAC высшего порядка, всегда изогнутые функции, также называемые максимально нелинейными функциями, также называемые «совершенными нелинейными» функциями.[4]
Критерий битовой независимости
В критерий битовой независимости (BIC) утверждает, что выходные биты j и k должен изменяться независимо, когда любой единственный входной бит я инвертировано, для всех я, j и k.[5]
Смотрите также
Рекомендации
- ^ а б Фейстель, Хорст (1973). «Криптография и компьютерная конфиденциальность». Scientific American. 228 (5): 15–23. Bibcode:1973SciAm.228e..15F. Дои:10.1038 / scientificamerican0573-15.
- ^ Аль-Кувари, Саиф; Давенпорт, Джеймс Х .; Брэдфорд, Рассел Дж. (2011). Криптографические хеш-функции: последние тенденции дизайна и концепции безопасности. Inscrypt '10.
- ^ Вебстер, А. Ф .; Таварес, Стаффорд Э. (1985). «О конструкции S-боксов». Достижения в криптологии - Crypto '85. Конспект лекций по информатике. 218. Нью-Йорк, штат Нью-Йорк: Springer-Verlag New York, Inc., стр. 523–534. ISBN 0-387-16463-4.
- ^ Адамс, К.; Таварес, С.Э. (Январь 1990 г.). Использование изогнутых последовательностей для достижения строгого критерия лавинности более высокого порядка в дизайне S-box (отчет). Технический отчет TR 90-013. Королевский университет. CiteSeerX 10.1.1.41.8374.
- ^ Уильям, Столлингс (2016). Криптография и сетевая безопасность: принципы и практика (Седьмое изд.). Бостон. п. 136. ISBN 9780134444284. OCLC 933863805.