Разработка криптографической программы (стандарт DES) - Курсовая работа

бесплатно 0
4.5 97
Разработка программы, реализующей процедуры шифрования и расшифрования текста по стандарту DES (Data Encryption Standard). Структура алгоритма шифрования, схема выработки ключевых элементов. Использование криптографического программного средства.

Скачать работу Скачать уникальную работу

Чтобы скачать работу, Вы должны пройти проверку:


Аннотация к работе
Разработать программу, реализующую процедуры шифрования и расшифрования по стандарту DES (Data Encryption Standard).DES (Data Encryption Standard) симметричный алгоритм шифрования, разработанный фирмой IBM и утвержденный правительством США в 1977 году как официальный стандарт (FIPS 46-3). Для шифрования использует ключ с длиной 56 бит. Для DES рекомендовано несколько режимов использования: · режим электронной кодовой книги (ECB - Electronic Code Book), · режим сцепления блоков (СВС - Cipher Block Chaining), · режим обратной связи по шифротексту (CFB - Cipher Feed Back), · режим обратной связи по выходу (OFB - Output Feed Back).В этом режиме исходный файл M разбивается на 64-битовые блоки (по 8 байтов): M = M(1)M(2)...M(n). В частности, не рекомендуется использовать данный режим работы для шифрования EXE файлов, потому что первый же блок - заголовок файла, является вполне удачным началом для взлома всего шифра.Все перестановки и коды в таблицах подобраны разработчиками таким образом, чтобы максимально затруднить процесс расшифровки путем подбора ключа. Из шифруемой последовательности байт выбирается очередной 8-байтовый блок T, который преобразуется с помощью матрицы начальной перестановки IP (таблица 1) следующим образом: бит 58 блока T становится битом 1, бит 50 - битом 2 и т.д., что даст в результате: T(0) = IP(T). Полученная последовательность битов T(0) разделяется на две последовательности по 32 бита каждая: L(0) - левые или старшие биты, R(0) - правые или младшие биты. Матрицы IP-1 и IP соотносятся следующим образом: значение 1-го элемента матрицы равно 40, а значение 40-го элемента матрицы IP равно 1, значение 2-го элемента матрицы равно 8, а значение 8-го элемента матрицы IP равно 2 и т.д. Для вычисления функции f последовательно используются функция расширения E, сложение по модулю 2 с ключом , преобразование S, состоящее из 8 преобразований S-блоков , перестановка P.Ключ из 56 бит: 0101000__0011000__0101110__1100110__0101011__0110001__1011000__1101100__ Ключ из 64 бита, после добавления бит четности: 01010000 00110000 01011100 11001100 01010110 01100011 10110001 11011000 Перестановка РС1: 11001000 10111101 01100010 11010011 00000001 11001000 11000111 ключ (28C (Left)): 1100 1000 1011 1101 0110 0010 1101 ключ (28D (Right)): 0011 0000 0001 1100 1000 1100 0111 Ключ из 56 бит после циклического сдвига, итерация 1: 1001000101111010110001011011 0110000000111001000110001110 Перестановка РС1: 11001000 10111101 01100010 11010011 00000001 11001000 11000111 ключ (28C (Left)): 1100 1000 1011 1101 0110 0010 1101 ключ (28D (Right)): 0011 0000 0001 1100 1000 1100 0111В этом режиме исходный набор байт M также, как и в режиме ECB, разбивается на 64-битовые блоки: M = M(1)M(2)...M(n). Первый блок M(1) складывается по модулю 2 с 64-битовым начальным вектором IV, который меняется ежедневно и держится в секрете. Полученный 64-битовый блок шифртекста C(1) складывается по модулю 2 со вторым блоком исходного текста, результат шифруется и получается второй 64-битовый блок шифртекста C(2) и т.д.Ключ из 56 бит: 0101000__0011000__0101110__1100110__0101011__0110001__1011000__1101100__ Ключ из 64 бита, после добавления бит четности: 01010000 00110000 01011100 11001100 01010110 01100011 10110001 11011000 Перестановка РС1: 11001000 10111101 01100010 11010011 00000001 11001000 11000111 ключ (28C (Left)): 1100 1000 1011 1101 0110 0010 1101 ключ (28D (Right)): 0011 0000 0001 1100 1000 1100 0111 Ключ из 56 бит после циклического сдвига, итерация 1: 1001000101111010110001011011 0110000000111001000110001110 Перестановка РС1: 11001000 10111101 01100010 11010011 00000001 11001000 11000111 ключ (28C (Left)): 1100 1000 1011 1101 0110 0010 1101 ключ (28D (Right)): 0011 0000 0001 1100 1000 1100 0111Triple DES (3DES) - симметричный блочный шифр, созданный Уитфилдом Диффи, Мартином Хеллманом и Уолтом Тачманном в 1978 году на основе алгоритма DES, с целью устранения главного недостатка последнего - малой длины ключа (56 бит), который может быть взломан методом полного перебора ключа. 3DES используется чаще, чем DES, который легко ломается при помощи сегодняшних технологий (в 1998 году организация Electronic Frontier Foundation, используя специальный компьютер DES Cracker, вскрыла DES за 3 дня).Схема алгоритма (рисунок 6) 3DES имеет такой вид: где - ключи для каждого DES-шага, M - входные данные, которые нужно шифровать. Существует 3 типа алгоритма 3DES: · DES-EEE3: Шифруется три раза с тремя разными ключами (операции шифрование-шифрование-шифрование). Самый популярная разновидность 3DES - это DES-EDE3, для него алгоритм выглядит так: Шифровка: Расшифровка: 4.2. Ключ из 56 бит: 0011000__1001100__1000110__0110011__0100001__1010100__1101100__0110111__ Ключ из 64 бита, после добавления бит четности: 00110000 10011001 10001101 01100110 01000010 10101001 11011000 01101111Разработчик - Пинаев Павел Сергеевич, студент группы 23К.Программа предназначена для шифрования и дешифрования текстовых сообщений с использованием алгоритма шифрования DES.

План
Оглавление

1. Краткие сведения о стандарте шифрования DES

2. Режим DES-ECB

2.1 Общая схема шифрования

2.2 Пример шифрования и расшифрования

3. Режим DES-CBC

3.1 Общая схема шифрования

3.2 Пример шифрования и расшифрования

4. Режим тройной DES

4.1 Общие схемы шифрования

4.2 Пример шифрования и расшифрования

5. Руководство пользователя программы

5.1 Общие сведения

5.2 Назначение программы

5.3 Используемые технические средства

5.4 Входные и выходные данные

5.5 Ввод в действие программного средства

5.5.1 Интерфейс

5.5.2 Использование программного средства

6. Код программы

Задание на выполнение курсового проекта

Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность
своей работы


Новые загруженные работы

Дисциплины научных работ





Хотите, перезвоним вам?