Россия, Санкт-Петербург, Северо-Западный заочный технический университет, 2007 |
Опубликован: 28.11.2014 | Уровень: для всех | Доступ: платный | ВУЗ: Московский государственный университет имени М.В.Ломоносова
Лекция 1:
Алгоритмы симметричного шифрования
Используемые критерии при разработке алгоритмов
Принимая во внимание перечисленные требования, обычно считается, что алгоритм симметричного шифрования должен:
- Иметь размер блока 64 или 128 бит.
- Иметь масштабируемый ключ до 256 бит.
- Использовать простые операции, которые эффективны на микропроцессорах, т.е. исключающее или, сложение, табличные подстановки, умножение по модулю. Не должно использовать-ся сдвигов переменной длины, побитовых перестановок или условных переходов.
- Должна быть возможность реализации алгоритма на 8-битном процессоре с минимальными требованиями к памяти.
- Использовать заранее вычисленные подключи. На системах с большим количеством памяти эти подключи могут быть зара-нее вычислены для ускорения работы. В случае невозможно-сти заблаговременного вычисления подключей должно произойти только замедление выполнения. Всегда должна быть возможность шифрования данных без каких-либо предварительных вычислений.
- Число итераций может варьироваться. Для приложений с маленькой длиной ключа нецелесообразно применять большое число итераций для противостояния дифференциальным и другим атакам. Следовательно, должна быть возможность уменьшить число итераций без существенной потери безопас-ности (не более чем на уменьшенный размер ключа).
- По возможности не иметь слабых ключей. Если это невозможно, то количество слабых ключей должно быть минимальным, чтобы уменьшить вероятность случайного выбора одного из них. Все слабые ключи должны быть заранее известны, чтобы их можно было отбраковать в процессе создания ключа.