Организация криптозащищенного обмена информацией на основе протокола PGP
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
РЕФЕРАТ
Отчет 36 c., 5 рис., 8 табл., 7 источников, 1 прил.
КРИПТОГРАФИЧЕСКИЙ АЛГОРИТМ, РЮКЗАЧНЫЙ АЛГОРИТМ, ANUBIS(АНУБИС), СИММЕТРИЧНОЕ ШИФРОВАНИЕ, АССИМЕТРИЧНОЕ ШИФРОВАНИЕ.
Объектом исследования являются два алгоритма - симметричного и ассиметричного шифрования.
Цель работа - изучение и реализация алгоритмов для защищенной передачи данных.
В процессе работы проводились исследования правильности работы алгоритмов.
В результате работы получено программное средство, шифрующее и дешифрующее произвольный файл.
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
ПОДРОБНЫЙ ОБЗОР РЮЗКАЧНОГО АЛГОРИТМА И АЛГОРИТМА ANUBIS
.1 Рюкзачный алгоритм.
.2 Алгоритм ANUBIS
. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ РЮКЗАЧНОГО АЛГОРИТМА И АЛГОРИТМА ANUBIS. Выбор языка программирования.. Используемые модули.. Пример работы программы.
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ
ПРИЛОЖЕНИЕ А. ТЕХНИЧЕСКОЕ ЗАДАНИЕ НА ПРОГРАММНОЕ СРЕДСТВО
ВВЕДЕНИЕ
Проблема защиты информации путем ее преобразования, исключающего ее прочтение посторонним лицом, волновала человеческий ум с давних времен. С широким распространением письменности криптография стала формироваться как самостоятельная наука. Первые криптосистемы встречаются уже в начале нашей эры. Бурное развитие криптографические системы получили в годы первой и второй мировых войн. Начиная с послевоенного времени и по нынешний день появление вычислительных средств ускорило разработку и совершенствование криптографических методов [1].
Проблема использования криптографических методов в информационных системах (ИС) стала в настоящий момент особо актуальна, т.к. расширилось использование компьютерных сетей, в частности глобальной сети Internet, по которым передаются большие объемы информации государственного, военного, коммерческого и частного характера, не допускающего возможность доступа к ней посторонних лиц.
В первой главе рассмотрены два алгоритма шифрования - асимметричный (РЮКЗАЧНЫЙ) и симметричный (ANUBIS). Эти алгоритмы были разработаны в конце прошлого века. Первый из них широко используется в настоящий момент. Второй разрабатывался специально для участия в конкурсе NESSIE, и является аналогом нового стандарта шифрования США под названием AES.
Во второй главе подробно описаны и методы, используемые для получения зашифрованных сообщений и их расшифрования.
В третьей главе описывается программное средство, выполняющее шифрование сообщения и ключа и передачу их абоненту.
1.1ПОДРОБНЫЙ ОБЗОР РЮЗКАЧНОГО АЛГОРИТМА И АЛГОРИТМА ANUBIS
В данном разделе рассмотрены основы, лежащие в построении рюкзачного алгоритма и алгоритма 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)
Получим:= 11 * 4 = 44;= 11 * 1 = 11;= 11 * 30 = 330 mod (60) = 30;= 11 * 6 = 66 mod (60) = 6;= 11 * 14 = 154 mod (60) = 34;
Открытый ключ: = (44, 11, 30, 6 34);
Закрытый ключ является совокупностью (?, w, m, b).
Пусть необходимо зашифровать последовательность
M = 01011
С = ? Mi ai = 11 + 6 + 34 = 51 - число, которое передается в канал.
Получатель, приняв сообщение, расшифровывает его:
= w-1 * C mod (m);= 11; w -1 = 11;= 11 * 51 mod 60 = 21; = ? zi bi ;
= _ * 1 + _ * 4 + _ * 6 + _ * 14 + _ * 30 = 21
Коэффициенты(0 или 1) восстанавливаются справа налево в соответствие с тем, входит ли число, для которого необходимо вычислить коэффициент в результат.
Вычислим коэффициенты:
Для 21:
коэффициент 0:
H = _ * 1 + _ * 4 + _ * 6 + _ * 14 + 0 * 30 = 21
Для 14:
коэффициент 1
Если число меньше результата (коэффициент равен 1) , его необходимо вычесть из результата:
- 14 = 7
H = _ * 1 + _ * 4 + _ * 6 + 1 * 14 + 0 * 30 = 7
Для 6:
> 6 => коэффициент 1;
- 6 = 1
H = _ * 1 + _ * 4 + 1 * 6 + 1 * 14 + 0 * 30 = 1
Для 4:
коэффициент 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-байтового массива, который для удобства описания представлен в виде квадрата