Разработка приложения для шифрования данных с помощью алгоритма DES5: процесс шифрования, расшифрования, получение ключей. Спецификация программы, процедуры и функции; описание интерфейса пользователя. Реализация задачи в среде программирования DELPHI.
В данной работе рассматривается разработка приложения для шифрования данных с помощью алгоритма DES. Данное приложение предназначено для шифрования и защиты информации. В результате выполнения задания была создана программа, которая сочетает в себе: легкость в обращении, простоту интерфейса, возможность легко протестировать. DES является симметричным алгоритмом: для шифрования и дешифрования используются одинаковые алгоритм и ключ (за исключением небольших отличий в использовании ключа). (Ключ обычно представляется 64-битовым числом, но каждый восьмой бит используется для проверки четности и игнорируется.) Безопасность полностью определяется ключом.Схема шифрования алгоритма DES указана на Рис.1 Процесс шифрования данных поясняется Рис.2 Процесс шифрования состоит в начальной перестановке, 16 циклах шифрования и конечной перестановке . Сначала 64 бита входной последовательности перестанавливаются в соответствии с таблицей 1. Таким образом, бит 58 входной последовательности становится битом 1, бит 50 - 2 и т.д.Это означает, что расшифровываемые данные сначала переставляются в соответствии с таблицей 1, а затем над последовательностью бит R(16)L(16) выполняется те же действия, что и в процессе зашифрования, но в обратном порядке. На последнем шаге итерации будут получены последовательности L(0) и R(0), которые конкатенируются в 64 битовую последовательность L(0)R(0). В полученной последовательности 64 бита перестанавливаются в соответствии с таблицей 2. Для вычисления значения функции F используется функция E (расширение 32 бит до 48), функции S(1), S(2),...,S(8) преобразование 6-битового числа в 4-битовое) и функция P (перестановка бит в 32-битовой последовательности). Таким образом, получается 48-битовая последовательность, которая рассматривается, как конкатенация 8 строк длиной по 6 бит (т.е.)Чтобы завершить описание алгоритма шифрования данных, осталось привести алгоритм получение ключей K(i), i=1,2,...,16, размерностью в 48 бит. Ключи K(i) определяются по 64-битовому ключу шифра как это показано на рисунке 4. В начале над ключом шифра выполняется операция B, которая сводится к выбору определенных бит и их перестановке, как это показано в таблице 6. Причем, первые четыре строки определяют, как выбираются биты последовательности C(0) (первым битом C(0) будет бит 57 бит ключа шифра, затем бит 49 и т.д., а последними битами биты 44 и 36 ключа шифра), а следующие четыре строки - как выбираются биты последовательности D(0) (т.е. последовательность D(0) будем состоять из битов 63,55,...,12, 4 ключа шифра). Например, последовательность C(3) получается, посредством сдвига влево на две позиции последовательности C(2), а последовательность D(3) - посредством сдвига влево на две позиции последовательности D(2).· PROCEDURETFORM1.Button1Click - выполняется при нажатии кнопки "Encode". · PROCEDURETFORM1.Button2Click - выполняется при нажатии кнопки "Decode". · PROCEDURETFORM1.Memo1Change - выполняется при изменении содержимого ТМЕМО1. · PROCEDURETFORM1.Memo1Change - выполняется при изменении содержимого ТМЕМО2. · Procedure TFORM1.Edit1Change - выполняется при изменении содержимого TEDIT1.Интерфейс программы состоит из одного, главного окна. В верхней части находится поле, в которое необходимо ввести ключ (пароль). Пароль обязательно должен состоять из 8 символов (особенность алгоритма DES). Количество символов должно быть кратно 8, причем переход на новую строку считается как 2 символа.Данная программа разрабатывалась в качестве курсовой работы, и не воспроизводит все возможности данного алгоритма.procedure Edit1Change(Sender: TOBJECT); IF ((Length(Memo1.Text)mod 8 0) OR (Length(Edit1.Text)mod 8 0)) Data:=CONCATBITS([Data,DESENCODE(S,Edit1.Text)]); IF ((Length(Memo2.Text)mod 8 0) OR (Length(Edit1.Text)mod 8 0)) Data:=CONCATBITS([Data,DESDECODE(Copy(Memo2.Text,I,8),Edit1.
План
Содержание
Введение
1. Процесс шифрования алгоритма DES5
1.1 Процесс расшифрования
1.2 Процесс получения ключей
2. Спецификация программы
2.1 Список процедур и функций
2.2 Описание интерфейса пользователя
Заключение
Список использованной литературы
Приложение А Приложение Б
Введение
В данной работе рассматривается разработка приложения для шифрования данных с помощью алгоритма DES. Данное приложение предназначено для шифрования и защиты информации. Полученное индивидуальное задание по курсовой работе было выполнено в среде программирования DELPHI 7. Эта среда выбрана, так как она глубоко изучалась во время обучения, и хорошо отражает современные возможности программирования. В результате выполнения задания была создана программа, которая сочетает в себе: легкость в обращении, простоту интерфейса, возможность легко протестировать.
Данная программа наглядно демонстрирует сущность работы алгоритма шифрования данных DES (DATAENCRYPTIONSYSTEM).
DES представляет собой блочный шифр, он шифрует данные 64-битовыми блоками. С одного конца алгоритма вводится 64-битовый блок открытого текста, а с другого конца выходит 64-битовый блок шифротекста. DES является симметричным алгоритмом: для шифрования и дешифрования используются одинаковые алгоритм и ключ (за исключением небольших отличий в использовании ключа).
Длина ключа равна 56 битам. (Ключ обычно представляется 64-битовым числом, но каждый восьмой бит используется для проверки четности и игнорируется.) Безопасность полностью определяется ключом.
При описании алгоритма шифрования используются следующие обозначения. Если L и R - последовательности бит, то через LR будем обозначать конкатенацию (операция склеивания объектов линейной структуры, обычно строк) последовательностей L и R, т.е. последовательность бит, размерность которой равна сумме размерностей L и R. В этой последовательности биты последовательности R следуют за битами последовательности L. Конкатенация битовых строк является ассоциативной, то есть запись ABCDE, означает, что за битами последовательности A, следуют, биты последовательности B, затем C и т.д. Символом будем обозначать операцию побитового сложения.
Вывод
Данная программа разрабатывалась в качестве курсовой работы, и не воспроизводит все возможности данного алгоритма. Тем не менее, она решает поставленную на этапе проектирования задачу - «Шифрование данных с помощью алгоритма DES».
Разработанная программа позволяет наглядно ознакомиться с основными принципами алгоритма DES.
Список литературы
1. Брюс Шнайер. Прикладная криптография. Наука (1983).
2. Диффи У., Хеллмен Э. Новое направление в криптографии //ТИ-ИЭР. IT-22 (1976).
3. Диффи У., Хеллмен Э. Защищенность и имитостойкость: введение в криптографию (1979).
4. Система обработки информации. Защита криптографическая. Алгоритм криптографического преобразования. ГОСТ 28147-89 (1989).
5.
6. des
7. http://protect.htmlweb.ru/des.htm
Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность своей работы