Организация криптозащищенного обмена информацией на основе протокола PGP

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

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

ВВЕДЕНИЕ

 

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

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

В первой главе рассмотрены два алгоритма шифрования - асимметричный (РЮКЗАЧНЫЙ) и симметричный (ANUBIS). Эти алгоритмы были разработаны в конце прошлого века. Первый из них широко используется в настоящий момент. Второй разрабатывался специально для участия в конкурсе NESSIE, и является аналогом нового стандарта шифрования США под названием AES.

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

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

 

1. ПОДРОБНЫЙ ОБЗОР РЮЗКАЧНОГО АЛГОРИТМА И АЛГОРИТМА ANUBIS

 

1.1 Рюкзачный алгоритм

криптографический метод информационная система

Наиболее наглядным способом рассмотрения работы алгоритма является разбор примера его работы:

Этап вычисления ключей

b = (1, 4, 6, 14, 30) - супервозрастающая последовательность;

m = 60 - случайное число, большее, чем сумма bi, i = 1..6;

w = 11 - случайное число, взаимно простое с m;

? = (2, 1, 5, 3, 4) - массив перестановок, выбирается произвольно (в данном случае элемент b2 - будет идти первым, b1 - вторым и т.д.). Введен для повышения криптостойкости алгоритма;

Открытый ключ вычисляется по формуле:

 

ai = w * b?(i) mod (m)

 

Получим:

 

a1 = 11 * 4 = 44;2 = 11 * 1 = 11;3 = 11 * 30 = 330 mod (60) = 30;4 = 11 * 6 = 66 mod (60) = 6;5 = 11 * 14 = 154 mod (60) = 34;

 

Открытый ключ:

 

a = (44, 11, 30, 6 34);

Закрытый ключ является совокупностью (?, w, m, b).

Пусть необходимо зашифровать последовательность

 

M = 01011

С = ? Mi ai = 11 + 6 + 34 = 51 - число, которое передается в канал.

 

Получатель, приняв сообщение, расшифровывает его:

 

H = w-1 * C mod (m);= 11; w -1 = 11;= 11 * 51 mod 60 = 21; = ? zi bi ;

H = _ * 1 + _ * 4 + _ * 6 + _ * 14 + _ * 30 = 21

 

Коэффициенты(0 или 1) восстанавливаются справа налево в соответствие с тем, входит ли число, для которого необходимо вычислить коэффициент в результат.

Вычислим коэффициенты:

Для 21:

коэффициент 0:

 

H = _ * 1 + _ * 4 + _ * 6 + _ * 14 + 0 * 30 = 21

 

Для 14:

коэффициент 1

Если число меньше результата (коэффициент равен 1) , его необходимо вычесть из результата:

 

21- 14 = 7

H = _ * 1 + _ * 4 + _ * 6 + 1 * 14 + 0 * 30 = 7

Для 6:

 

7 > 6 => коэффициент 1;

- 6 = 1

H = _ * 1 + _ * 4 + 1 * 6 + 1 * 14 + 0 * 30 = 1

 

Для 4:

 

1 коэффициент 0;

H = 1 * 1 + 0 * 4 + 1 * 6 + 1 * 14 + 0 * 30 = 1

 

Соответственно, для 1 коэффициент равен 1.

 

H = 1* 1 + 0 * 4 + 1 * 6 + 1 * 14 + 0 * 30 = 0

 

М = 01011

 

Переставив восстановленные коэффициенты в соответствие с массивом перестановок, получим последовательность M = 01011, которую необходимо было передать.

 

1.2 Алгоритм ANUBIS

 

Блочный шифр Anubis разработан специально для участия в конкурсе NESSIE интернациональным дуэтом авторов: бельгийцем Винсентом Рид-жменом и бразильцем Пауло Баррето (Paulo S. L. М. Barreto).

Алгоритм назван в честь древнеегипетского бога Анубиса- бога бальзамирования (embalming) и погребения (entombment); к его ведению авторы алгоритма решили отнести и криптографию. шифрует данные блоками по 128 битов с использованием ключа размером от 128 до 320 битов; размер ключа должен быть кратен 16 битам.

Данный алгоритм продолжает серию алгоритмов, соавтором которых является Винсент Риджмен: Square, SHARK и Rijndael. Все эти алгоритмы объединяет их относительно редко встречающаяся (напротив, частая среди алгоритмов- участников конкурса NESSIE) структура типа квадрат и весьма схожий набор выполняемых преобразований.

Структура алгоритма

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

 

Рисунок 1. Операция ? алгоритма Anubis

 

Табличная замена ? (рисунок 1), выполняемая согласно таблице S (таблица 1, указаны шестнадцатеричные значения).

 

Таблица 1

Таблица шестнадцатеричных значений

А7D3Е671DOАС4 D79ЗАС991FCIE4754BDЗСА57АFB63ВЗDDD4Е5ВЗ05BEА933ОСА239DF29DA2ВA3СВ404В22АА244170А 6F95АЕ 2ВО367DЕ433FF602003ЗВ5ЕАВ7 F737С2С57-D2DC6D7 Е0D5394032327065 FAD67505543ОЕ52ЕА425В5 D30535159ЗС4Е33ЗА7214Е706DE50ЗЕ92D17793459 АСЕ2D0362В6В9BF966В3F0712АЕ403446ЗЕDBOFЕСОСС1А1СОD61DF461ЗВ10D363АОВ1OA696049FA76049Е9 В6Е9902В793ВС3F35IFВ4F31 12 Е00251 С2А3D054F7 ВВ23290AF19A3F7739D1574EEOA9FOF1 В7536349C4 A971A65F6ED09BB2633EB6 F31046 A430117El37F53DE3233044166621FED531D935130264F2F 156CD32C3BAFOFED531D935130264F2F 156CD32C3BAFO

Значения таблицы выбраны псевдослучайным образом с учетом необходимости ее со