Алгоритм, который вычисляет все раундовые ключи из ключа
В криптографии так называемые шифры-продукты представляют собой определенный вид шифра, где (де)шифрование данных обычно выполняется как итерация раундов . Настройка для каждого раунда, как правило, одинакова, за исключением фиксированных значений, специфичных для раунда, называемых константой раунда , и данных, специфичных для раунда, полученных из ключа шифра, называемого ключом раунда . Расписание ключей представляет собой алгоритм, который вычисляет все ключи раунда из ключа.
Некоторые типы ключевых графиков
Некоторые шифры имеют простые схемы ключей. Например, блочный шифр TEA разбивает 128-битный ключ на четыре 32-битных части и использует их многократно в последовательных раундах.
DES имеет ключевой график, в котором 56-битный ключ делится на две 28-битные половины; каждая половина затем обрабатывается отдельно. В последовательных раундах обе половины вращаются влево на один или два бита (указанных для каждого раунда), а затем 48 битов раундового ключа выбираются с помощью Permuted Choice 2 (PC-2) – 24 бита из левой половины и 24 из правой. Ротации приводят к тому, что в каждом раундовом ключе используется другой набор бит; каждый бит используется примерно в 14 из 16 раундовых ключей.
Чтобы избежать простых отношений между ключом шифра и ключами раунда, чтобы противостоять таким формам криптоанализа, как атаки со связанным ключом и атаки со скольжением , многие современные шифры используют более сложные ключевые расписания для генерации «расширенного ключа», из которого извлекаются ключи раунда. Некоторые шифры, такие как Rijndael (AES) и Blowfish , используют те же операции, что и те, которые используются в пути данных алгоритма шифра для их расширения ключа, иногда инициализируемые некоторыми числами « ничего-в-моем-рукаве ». Другие шифры, такие как RC5 , расширяют ключи с функциями, которые несколько или полностью отличаются от функций шифрования.
Примечания
Кнудсен и Матиассен (2004) приводят некоторые экспериментальные доказательства, указывающие на то, что ключевой график играет роль в обеспечении стойкости против линейного и дифференциального криптоанализа . Для игрушечных шифров Фейстеля было замечено, что те, у кого сложные и хорошо разработанные ключевые графики, могут достигать равномерного распределения вероятностей дифференциалов и линейных оболочек быстрее, чем те, у кого плохо разработанные ключевые графики.
Ссылки
Ларс Р. Кнудсен и Джон Эрик Матиассен, О роли ключевых расписаний в атаках на итеративные шифры, ESORICS 2004, стр. 322–334.
Ури Блюменталь и Стивен М. Белловин, Лучшая схема ключей для шифров типа DES, Труды PRAGOCRYPT '96.