New Data Seal (NDS) — блочный шифр, основанный на алгоритме Люцифера, который позже стал стандартом DES. Шифр был разработан в компании IBM в 1975 году. Для шифрования NDS использует делит входные (незашифрованные) данные на блоки по 128 бит и использует очень длинный ключ размером 2048 бит. Структура шифра точно такая же, как и у DES: cеть Фейстеля с 16 раундами.
Принцип работы Шифр NDS является достаточно простым в частности из-за того, что в каждом раунде сети Фейстеля в его основе используется один и тот же ключ.
Ключ представляет собой отображение: то есть размерность пространства таких ключей что более чем достаточно для предотвращения перебора ключей. Система использует 2 заранее известных (не динамичных) S-блока: ключевое расписание состоит из одного ключа Блок открытого текста делится на 2 подблока размером 64 бита каждый. Для того, чтобы посчитать разбивается на восемь 8-битных частей. За обозначим байт, образованный первым битом каждого байта в каждая часть разбивается на два 4-битных ниббла к левому нибблу применяется к правому — в случае, если -ый бит равен 1, поменяются местами нибблы -ой части после преобразования к 64-битному результату (после объединения всех частей) применяется заранее известная перестановка. Она позволяет защитить шифр от взлома и анализа как системы более простых независимых подшифров.
Алгоритм взлома Использование одного и того же ключа в каждом раунде является слабым местом данного шифра и используется в атаке на основе подобранного открытого текста. С ее помощью можно полностью восстановить ключ шифрования: обозначим за преобразование, соответствующее одному раунду NDS, то есть Далее, будет обозначать все 16 раундов. Заметим, что и коммутируют: В соответствии с принципом Керкгоффса мы знаем все об алгоритме шифрования, кроме ключа Тогда если мы будем знать для каждого возможного ключ будет считаться взломанным.
Процедура атаки следующая:
Подобрать сообщение так, чтобы Взломщик получает зашифрованное сообщение соответствующее открытому тексту Пусть — один из возможных 8-битных ключей (всего комбинаций). И пусть есть результат после работы от 1 раунда с ключом . Если то и Следовательно левая половина согласована с правой половиной Взломщик получает зашифрованное сообщение соответствующее заранее выбранному тексту Если правая половина соответствует левой половине то можно считать допустимым значением для В худшем случае нужно будет перебрать комбинаций для нахождения нужного значения. Повторяем процедуру для каждого получая значение ключа с помощью заранее выбранных открытых текстов.
Атаки на шифр В 1977 Эдна Гроссман и Брайант Такермен впервые продемонстрировали атаку на NDS с помощью сдвиговой атаки. Этот метод использует не более 4096 подобранных открытых текстов. В их лучшем испытании они смогли восстановить ключ только с 556 подобранными открытыми текстами.
Примечания
Категория:Блочные шифры Категория:Сеть Фейстеля