Анализ алгоритмов шифрования в сетях передачи данных

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

°ния (или один вычисляется из другого). Существуют два основных типа симметричных алгоритмов: блочные шифры и потоковые шифры. Блочные шифры работают с блоками открытого текста и шифротекста - обычно длиной 64 бита, но иногда длиннее. Потоковые шифры работают с битовыми или байтовыми потоками открытого текста и шифротекста (иногда даже с потоками 32-битных слов). Блочный шифр, использующий один и тот же ключ, при шифровании всегда превращает один и тот же блок открытого текста в один и тот же блок шифротекста. [1]

Стойкость симметричный алгоритмов определяется как стойкость ко всем известным на данный момент методам криптоанализа. При этом, конечно, остается вероятность, что существуют неопубликованные методы вскрытия или что новые методы будут изобретены в ближайшем будущем. С этой реальностью приходится мириться, так как других вариантов нет.

Другой класс алгоритмов - ассиметричные. Данные шифры используют разные ключи для шифрования и дешифрования. При этом, один ключ может открыто передаваться по незащищенным каналам, поскольку с его помощью можно только зашифровать сообщение, но не расшифровать. Схема использования таких алгоритмов следующая. Отправитель зашифровывает сообщение своим закрытым ключом, и затем открытым ключом получателя. После, получатель расшифровывает сообщение сначала своим закрытым ключом, а потом открытым ключом отправителя. Таким образом, гарантируется подлинность сообщения (потому что закрытый ключ отправителя известен только ему). При этом, коммуникантам не нужен защищенный канал связи для передачи ключей.

Ассиметричные шифры достаточно ресурсоемки, поэтому на практике используют комбинацию из ассиметричного и симметричного алгоритмов. Сначала с помощью асинхронного алгоритма стороны обмениваются ключами, после чего общение ведется посредством синхронного алгоритма.

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

Стоит отметить, что существует симметричный алгоритм шифрования, который доказано является абсолютно стойким. В прикладной криптографии шифр носит название Одноразовый блокнот [7]. Этот алгоритм был предложен Шенноном в его статье Теория связи в секретных системах [6]. Суть алгоритма в простом наложении ключа сложением по модулю 2. Однако должно выполняться 3 ограничения:

Длина ключа должна быт не меньше длины сообщения;

Ключ должен представлять случайную последовательность (ни один статистический тест не должен выявлять в нем закономерности [1]);

Ключ должен использоваться один единственный раз.

Выполнение всех этих условий на практике достаточно затруднительно, поэтому данный алгоритм имеет очень ограниченное применение.

 

.6 Современный криптоанализ

 

Как было сказано в предыдущем разделе, единственной характеристикой стойкости алгоритма, есть его стойкость ко всем известным методам криптоанализа. То есть, чем больше методов криптоанализа будет известно, тем меньше вероятность, что злоумышленник найдет непредусмотренный способ вскрытия шифра. Кроме того, отсюда следует, что для того, чтобы разработать стойкий алгоритм, необходимо знать все известные на данный момент методы криптоанализа. В связи с этим, криптоанализ в настоящее время, достаточно активно развиваемое направление в науке.

В зависимости от данных, которые криптоаналитик может добыть у шифратора, существуют следующие виды атак [8]:

. Атака с известным открытым текстом. Предполагает наличие у криптоаналитика некоторого количества пар текстов, каждая из которых представляет собой открытый текст и соответствующий ему шифротекст.

. Атака с выбранным открытым текстом. У криптоаналитика есть возможность выбора открытых текстов для получения соответствующих им шифротекстов (как это может быть полезно криптоаналитику, будет рассмотрено ниже).

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

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

. Адаптивная атака с выбором шифротекста. По аналогии с описанными ранее атаками ясно, что криптоаналитик может многократно выбирать шифротексты для их расшифрования с учетом предыдущих результатов.

Стоит отметить, что современные шифры достаточно стойки, и их криптоанализ зачастую носит чисто теоретический характер. Так, наилучшее вскрытие полного 16-раундового DES методом дифференциального криптоанализа требует 247 выбранных открытых текстов [9]. Очевидно, что такая атака трудноосуществима на практике. Тем не менее, производительность вычислительных средств постоянно растет, и не исключено, что в ближайшем будущем будут разработаны квантовые компьютеры или ЭВМ основанные на электромагнитных световых волнах. Поэтому, криптоанализ ставит задачу сд?/p>