Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Криптография / ОБУЧАЮЩИЕ ПРОГРАММЫ / Пояснительная записка.doc
Скачиваний:
39
Добавлен:
01.05.2014
Размер:
411.65 Кб
Скачать
  1. Выбор алгоритмов и атак

    1. Критерии выбора алгоритмов

Как уже сказано, главным критерием является рабочая программа курса. Дополнительными критериями выбора симметричных и асимметричных алгоритмов шифрования, а также алгоритмов цифровой подписи являются:

  • Распространенность и популярность алгоритма.

  • Стойкость.

  • Простота программной реализации.

    1. Выбор симметричных алгоритмов шифрования

Симметричные алгоритмы шифрования делятся на блочные и потоковые алгоритмы. В качестве примеров блочных алгоритмов программа курса использует DES(DataEncryptionStandard) иBlowfish.

Требования программы

Распространенность

Стойкость

Простота программной реализации

DES

Очень широкая

Недостаточна

Очень неудобен

Blowfish

Широкая

Высока

Очень удобен

В настоящее время DESвыходит из употребления, что связано с малой длиной ключа – 56 бит. Еще в 1993 г. была спроектирована ЭВМ, которая позволяла взломатьDESпутем простого подбора ключей за 1 ч. Стоимость этой машины составляла 1 млн. $, но со временем эта стоимость будет только стремительно уменьшаться [3]. Кроме того, шифрDESнеудобен для программной реализации, что связано с большим количеством перестановок отдельных битов и подстановок над 6-битовыми блоками.

Алгоритм Blowfishбыл разработан таким образом, чтобы его можно было очень легко реализовать на серийных 32-битных микропроцессорах. Поэтому в нем используются только операции сложения, побитового исключающего ИЛИ и получение элемента массива по его индексу. Атака путем простого подбора ключей не может быть произведена, т.к. длина ключа может достигать 448 бит. Кроме того, этот алгоритм является стойким к другим методам криптоанализа [2].

Из приведенной таблицы следует, что единственным алгоритмом, который целесообразно реализовывать является Blowfish. Но одного алгоритма недостаточно, т.к. надо продемонстрировать общие принципы построения блочных шифров:

  • Применение итеративной схемы Фейстеля.

  • Применение таблиц подстановок.

В качестве второго примера решено взять российский стандарт шифрования ГОСТ 28147-89. Этот алгоритм проще для программной реализации, чем DES, хотя большое число операций над 4-битовыми подблоками остается [2]. Атака, основанная на переборе всех возможных значений ключа, исключена из-за его большой длины – 256 бит.

    1. Выбор алгоритмов шифрования с открытым ключом

Программа курса содержит 2 алгоритма шифрования с открытым ключом: алгоритм шифрования RSAи схема шифрования Эль-Гамаля. Оба эти алгоритма, особенно первый, распространены очень широко. В обучающей программе должны быть реализованы оба этих алгоритма. Необходимо продемонстрировать учащемуся, что стойкость асимметричных алгоритмов основана на вычислительной сложности решения какой-либо задачи [3]. В настоящее время используется не так уж много таких задач. Стойкость алгоритмаRSAоснована на вычислительной сложности разложения числа на два больших простых множителя, а стойкость алгоритма Эль-Гамаля – на вычислительно сложной задаче дискретного логарифмирования. Последняя заключается в том, чтобы для заданных целых чиселgиMи простого числаpнайтиx, такой чтоgxM(modp).