Blowfish

  • 17 янв. 2014 г.
  • 2850 Слова
СОДЕРЖАНИЕ
Введение 6
1. Технический проект 7
1.1. Симметричные алгоритмы 7
1.2. Блочные шифры 7
1.3. Сеть Фейстеля 8
1.4. Описание алгоритма Blowfish 9
1.4.1. Формирование подключей 10
1.4.2. Шифрование 11
1.4. Достоинства и недостатки алгоритма Blowfish 11
1.5. Сравнительный анализ симметричных алгоритмов 13
1.5.1. DES (Data Encryption Standard) 13
1.5.2. IDEA (InternationalDecryption-Encryption Algorithm) 13
1.5.3. ГОСТ 28147-89 13
2. Рабочий проект 15
2.1.Общие сведения о работе системы 15
2.1.1. Используемые средства разработки 15
2.1.2. Требования к техническому обеспечению 15
2.1.3. Состав исполняемых модулей 15
2.2. Функциональное назначение 15
2.3. Руководство пользователя 15
Заключение 20
Список литературы 22

ВВЕДЕНИЕ
В наши дни информация– это самое ценное, чем может располагать организация. В некоторых корпорациях и учреждениях утечка информации равносильна краху. Поэтому с вниманием стоит относиться к безопасности данных, хранящихся на компьютерах или передаваемых по сети, а также к их целостности и сохранности.
Проблема безопасного обмена сообщениями по сути стала основной проблемой, которая обусловила зарождениекриптографии как науки. Появление симметричных криптосистем было шагом к решению данной проблемы.
Для современной криптографии характерно использование открытых алгоритмов шифрования, предполагающих использование вычислительных средств. Известно более десятка проверенных алгоритмов шифрования, которые при использовании ключа достаточной длины и корректной реализации алгоритма, криптографически стойки.
Целью курсовогопроекта является наглядно изобразить реализацию симметричного алгоритма шифрования Blowfish.
Для достижения данной цели поставлены следующие задачи:
* Рассмотрение алгоритмов симметричного шифрования и их сравнительный анализ;
* Детально разобрать алгоритм Blowfish;
* Реализовать шифрование и расшифрование текста при помощи алгоритма Blowfish в виде программного продукта.1.ТЕХНИЧЕСКИЙ ПРОЕКТ
1.1. Симметричные алгоритмы
Существует два основных типа алгоритмов, основанных на ключах: симметричные и с открытым ключом. Симметричные алгоритмы, иногда называемые условными алгоритмами, представляют собой алгоритмы, в которых ключ шифрования может быть рассчитан по ключу дешифрирования и наоборот. В большинстве симметричных алгоритмов ключи шифрования и дешифрирования однии те же. Эти алгоритмы, также называемые алгоритмами с секретным ключом или алгоритмами с одним ключом, требуют, чтобы отправитель и получатель согласовали используемый ключ перед началом безопасной передачи сообщений. Безопасность симметричного алгоритма определяется ключом, раскрытие ключа означает, что кто угодно сможет шифровать и дешифрировать сообщения. Пока передаваемые сообщения должныбыть тайными, ключ должен храниться в секрете. Шифрование и дешифрирование с использованием симметричного алгоритма обозначается как:
EKM=C
DKM=C
Симметричные алгоритмы делятся на две категории. Одни алгоритмы обрабатывают открытый текст побитно (иногда побайтно), они называются потоковыми алгоритмами или потоковыми шифрами. Другие работаю с группами битов открытого текста. Группы битовназываются блоками, а алгоритмы - блочными алгоритмами или блочными шифрами. Для алгоритмов, используемых в компьютерных модемах, типичный размер блока составляет 64 бита - достаточно большое значение, чтобы помешать анализу, и достаточно небольшое и удобное для работы.
1.2. Блочные шифры
Алгоритм Блочный шифр — разновидность симметричного шифра, оперирующего группами бит фиксированной длины — блоками,характерный размер которых меняется в пределах 64 — 256 бит. Если исходный текст (или его остаток) меньше размера блока, перед шифрованием его дополняют. Фактически, блочный шифр представляет собой подстановку на алфавите блоков, которая, как следствие, может быть моно- или полиалфавитной. Блочный шифр является важной компонентой многих криптографических протоколов и широко...