Программная реализация алгоритма шифрования IDEA - Программирование, компьютеры и кибернетика курсовая работа

Главная
Программирование, компьютеры и кибернетика
Программная реализация алгоритма шифрования IDEA
Исследование симметричных алгоритмов блочного шифрования. Минусы и плюсы алгоритма IDEA. Разработка программы аутентификации пользователя и сообщений на основе алгоритма IDEA. Выбор языка программирования. Тестирование и реализация программного средства.
посмотреть текст работы
скачать работу можно здесь
полная информация о работе
весь список подобных работ
Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
1.2 Сравнение аналогов алгоритма IDEA
1.2.4 Достоинства IDEA перед аналогами
1.3 Режим Cipher Block Chaining - сцепление блоков по шифротексту
1.4 Сравнение аналогов режима шифрования CBC
1.4.1 Electronic Code Book - Электронная кодовая книга
1.4.2 Cipher Feed Back - обратная загрузка шифротекста
1.4.3 Output Feed Back - обратная загрузка выходных данных
1.4.4 Counter - шифрование со счётчиком
1.4.5 Достоинства Cipher Block Chaining перед аналогами
2.2 Алгоритмическое конструирование
· блочные шифры. Обрабатывают информацию блоками определённой длины (обычно 64, 128 бит), применяя к блоку ключ в установленном порядке, как правило, несколькими циклами перемешивания и подстановки, называемыми раундами. Результатом повторения раундов является лавинный эффект - нарастающая потеря соответствия битов между блоками открытых и зашифрованных данных.
· поточные шифры, в которых шифрование проводится над каждым битом либо байтом исходного (открытого) текста с использованием гаммирования. Поточный шифр может быть легко создан на основе блочного (например, ГОСТ 28147-89 в режиме гаммирования), запущенного в специальном режиме.
Существует множество алгоритмов симметричных шифров, существенными параметрами которых являются:
· сложность аппаратной/программной реализации;
· режим электронной кодовой книги (ECB -- Electronic Code Book)
· режим сцепления блоков (СВС -- Cipher Block Chaining)
· режим обратной связи по шифртексту (CFB -- Cipher Feed Back)
· режим обратной связи по выходу (OFB -- Output Feed Back).
В данной курсовой работе рассматривается программная реализация алгоритма шифровании IDEA (режим Cipher Feed Back).
где A, B, C, D - текущие значения обрабатываемых 32-битных субблоков, а K 0 ...K 43 - фрагменты расширенного ключа.
Аналогичным образом выполняется частичное выходное отбеливание:
В каждом раунде алгоритма выполняются следующие действия:
o A = ((A Е t 1 ) <<< t 2 ) + K 2i mod 2 32 ,
o C = ((C Е t 2 ) <<< t 1 ) + K 2i+1 mod 2 32 ,
где t 1 и t 2 -- временные переменные, количество бит вращения на переменное число бит определяется значением 5 младших бит параметра (t 1 или t 2 ),функция f() выполняет следующее квадратичное преобразование:
В конце каждого раунда выполняется сдвиг субблоков.
· Простая структура алгоритма облегчает его анализ.
· Самый быстрый из алгоритмов - финалистов AES на 32-битных платформах.
· Зашифрование и расшифрование в алгоритме RC6 практически идентичны. Недостатки алгоритма:
· Скорость шифрования при программной реализации сильно зависит от того, поддерживает ли платформа 32-битное умножение и вращение на переменное число бит.
· RC6 сложно реализуем аппаратно и в условиях ограниченных ресурсов.
· Достаточно сложно защищается от атак по времени выполнения и потребляемой мощности.
· Недостаточно полно поддерживает расширение ключей «на лету».
· Распараллеливание вычислений при шифровании алгоритмом RC6 реализуемо с ограничениями.
Рис. 4. Алгоритм шифрования ГОСТ 28147-89
Блочный шифроалгоритм. При использовании метода шифрования с гаммированием, может выполнять функции поточного шифроалгоритма. ГОСТ 28147-89 -- блочный шифр с 256-битным ключом и 32 циклами преобразования, оперирующий 64-битными блоками. Основа алгоритма шифра -- сеть Фейстеля. Выделяют четыре режима работы ГОСТ 28147-89: простой замены, гаммирование, гаммирование с обратной связью, режим выработки имитовставки.
Преимущества алгоритма: бесперспективность силовой атаки, эффективность реализации и соответственно высокое быстродействие на современных компьютерах, наличие защиты от навязывания ложных данных (выработка имитовставки) и одинаковый цикл шифрования во всех четырех алгоритмах ГОСТа, больший ключ по сравнению с алгоритмом DESX.
Недостатки алгоритма: Основные проблемы ГОСТа связаны с неполнотой стандарта в части генерации ключей и таблиц замен. Считается, что у ГОСТа существуют «слабые» ключи и таблицы замен, но в стандарте не описываются критерии выбора и отсева «слабых». Также стандарт не специфицирует алгоритм генерации таблицы замен (S-блоков). С одной стороны, это может являться дополнительной секретной информацией (помимо ключа), а с другой, поднимает ряд проблем: нельзя определить криптостойкость алгоритма, не зная заранее таблицы замен; реализации алгоритма от различных производителей могут использовать разные таблицы замен и могут быть несовместимы между собой; возможность преднамеренного предоставления слабых таблиц замен лицензирующими органами РФ.
Проблема дополнения сообщения для OFB решается просто: для последнего, возможно неполного, блока сообщения используется ровно столько бит выходных данных функции, сколько бит в этом блоке. Таким образом, в этом режиме, в отличие от предыдущих, длина сообщения остаётся неизменной в процессе шифрования и, главное, при передаче.
Режим CTR обладает всеми достоинствами режима ECB (параллельное исполнение, простота и возможность непосредственного шифрования любого блока сообщения по отдельности и независимо от других блоков). Но кроме того, режим CTR исправляет все недостатки шифрования в режиме электронной кодовой книги: одинаковые блоки открытого текста теперь уже не будут преобразованы в одинаковые блоки шифротекста; отпадает необходимость дополнения последнего блока шифротекста. К тому же в этом режиме (как в любом поточном режиме) используется только функция зашифрования, а для некоторых блочных шифров (например для AES - нового американского стандарта блочного шифра), это даёт некоторый выигрыш в производительности. Вот почему этот режим зачастую является наиболее эффективным.
· Регистрация пользователя с полями:
· Авторизация пользователя с полями:
· Дешифрация зашифрованного текста;
· Отображение пользователю конечных этапов шифрования и дешифрования при удачной авторизации.
· public static int idea_hash_cbс (char *s, int len, int k, int iv) функция вычисления хэша CBС. В данной функции мы получаем текущее значение для XOR'а (iv), создаем указатель на массив хешируемых данных, делим размер массива на 8 (делаем проверку на кратность 8), шифруем по формуле: C(i) = IDEA(C(i-1) ^ S(i), KEY), и возвращаем полученный хэш.
· private static string ShiftByteLeft(string s) сдвиг на 25 битов циклически влево
· private static string ShiftbyteRight(string s) сдвиг на 25 битов циклически вправо
· private static string Sum(string a1, string a2) суммирование по модулю 2^16
· private static string Multi(string a1, string a2) умножение по модулю 2^16+1 private static string XOR(string a1, string a2) исключающее ИЛИ
· inline T setBit (T v, int nBitNumber) функция установки бита. Биты считаются от 0, нумерация идет слева-направо.
· inline bool getBit (T v, int nBitNumber) функция получения значения бита(true/false).
· map*> keys_archive; архив таблиц "раундовых" ключей, чтобы каждый раз не генерировать ключи заново (функция включает в себя: начальную перестановку ключа, конечную перестановку ключа, сдвиги, таблицу подстановок). private void idea_Encryption (string st1, string st2) алгоритм IDEA. Вход - 2 строки: 1) набор битов считанного блока (длина 64). 2) набор битов нашего ключа (длина 128). Выход - шифроблок (64 символа) public string idea_Decryption (string st1, string st2) функция дешифрования по алгоритму IDEA.
· bool CheckLogin(int hash) функция читает логин, если хеш из аргументов равен считанному логину, то закрывает файл и выдает положительный результат. Если нет - выдает сообщение «Неверный логин»
· bool CheckPass(int login_hash, int pass_hash) функция читает логин и пароль, если логин равен запрошенному, но пароль не совпадает, то закрывает файл и выдает сообщение «Неверный пароль». Если логин и пароль совпадают, то функция возвращает «истина».
Программа состоит из трех форм: форма регистрации (рис. 7.), форма авторизации (рис.8.) и форма с выводом зашифрованного и расшифрованного текста (рис. 9.). Данные формы представлены ниже.
программный блочный шифрование аутентификация
· Нажатие на кнопку Вход при не введенном логине
· Сообщение об ошибке. Просьба ввести логин
Вывод: функция проверки работает корректно.
Тест 2. Тестирование проверки введенного пароля пользователя
· Нажатие на кнопку Вход при не введенном пароле
· Сообщение об ошибке. Просьба ввести пароль
Вывод: функция проверки работает корректно.
Тест 3. Тестирование функции шифрования при длине текста не более 50 символов.
Вывод: функция шифрования работает корректно.
Тест 4. Тестирование функции шифрования при длине текста более 50 символов.
· ФИО: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Вывод: функция шифрования работает корректно.
Тест 4. Добавление символа в начало зашифрованного хэша.
Вывод: авторизация не была успешной.
Тест 5. Добавление символа в середину зашифрованного хэша.
· Авторизация пройдет успешно. При дешифрации информации возникнут ошибки. Часть текста, после внесенных изменений, будет испорчена.
Вывод: дешифрация части текста не будет произведена.
1. Википедия. Алгоритм IDEA [Электронный ресурс]. - Режим доступа: - http://ru.wikipedia.org/wiki/IDEA.
2. MSDN [Электронный ресурс]. - Режим доступа: - http://msdn.microsoft.com/ru-ru/.
3. Википедия. Режим сцепления блоков шифротекста [Электронный ресурс]. - Режим доступа: - https://ru.wikipedia.org/wiki/Режим_сцепления_блоков_шифротекста.
4. [Электронный ресурс] - Олег Зензин -- Режимы шифрования, раздел Накопление ошибок в различных режимах шифрования - Режим доступа: - http://citforum.ru/security/cryptography/rejim_shifrov/
5. [Электронный ресурс] - Сравнительный обзор алгоритмов PGP - Режим доступа: - https://www.pgpru.com/biblioteka/statji/sravniteljnyjjobzoralgoritmovpgp
Реализация алгоритма DES и режимов шифрования для любой длины сообщения и любой длины ключа. Шифрование сообщений различной длины и ключа с замериванием времени и скорости шифрования. Реализация алгоритма RSA. Сохранение зашифрованного файла на диск. курсовая работа [398,4 K], добавлен 26.01.2010
Разработка приложения для шифрования данных с помощью алгоритма DES5: процесс шифрования, расшифрования, получение ключей. Спецификация программы, процедуры и функции; описание интерфейса пользователя. Реализация задачи в среде программирования DELPHI. курсовая работа [812,6 K], добавлен 27.03.2012
История появления симметричных алгоритмов шифрования. Роль симметричного ключа в обеспечении степени секретности сообщения. Диффузия и конфузия как способы преобразования бит данных. Алгоритмы шифрования DES и IDEA, их основные достоинства и недостатки. лабораторная работа [335,9 K], добавлен 18.03.2013
Симметричные криптосистемы; алгоритмы шифрования и дешифрования данных, их применение в компьютерной технике в системах защиты конфиденциальной и коммерческой информации. Основные режимы работы алгоритма DES, разработка программной реализации ключа. курсовая работа [129,6 K], добавлен 17.02.2011
История возникновения алгоритма симметричного шифрования, условия и особенности его применения на современном этапе. Принципы и функции исследуемой технологии. Анализ главных преимуществ и недостатков использования алгоритма, оценка его уязвимости. курсовая работа [301,9 K], добавлен 29.10.2017
Исследование системы распределения ключей на основе линейных преобразований. Описание компонентов сети конфиденциальной связи. Характеристика отечественного алгоритма шифрования данных. Обзор результатов расчетов криптостойкости алгоритма шифрования. контрольная работа [56,5 K], добавлен 26.09.2012
Разработка программы, реализующей процедуры шифрования и расшифрования текста по стандарту DES (Data Encryption Standard). Структура алгоритма шифрования, схема выработки ключевых элементов. Использование криптографического программного средства. курсовая работа [1,7 M], добавлен 15.06.2013
Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д. PPT, PPTX и PDF-файлы представлены только в архивах. Рекомендуем скачать работу .
© 2000 — 2021
Программная реализация алгоритма шифрования IDEA курсовая работа. Программирование, компьютеры и кибернетика.
Физическая Нагрузка Реферат По Физкультуре
Дипломная работа по теме Технологія комерційної діяльності туристичних підприємств
Реферат: Анализ финансовой отчетности по предприятию ОАО "Родинский сырзавод". Скачать бесплатно и без регистрации
Проектирование Производства Курсовая Работа
Доклад по теме Регистрация недвижимости: разрешение арбитражными судами споров, возникающих из административных правоотношений
Реферат по теме Середовище навчання Moodle. Його переваги та недоліки
Пример Дневника Отчета По Производственной Практике
Дипломная работа по теме Направления совершенствования маркетинговой деятельности предприятия (на примере ООО 'Электротовары')
Эссе По Обществознанию Социальные Роли
Сетевая Организация В Психологии Курсовая
Курсовая работа по теме Теоретические основы иностранного инвестирования в экономику страны на примере РФ
Дипломная работа по теме Педагогические условия нравственно-экономического воспитания детей 6-7 лет в игровой деятельности
Трудовые Отношения Реферат
Курсовая работа по теме Формування вмінь та навичок самостійної роботи в учнів початкових класів
Контрольная Работа Цели Бухгалтерского Учета
Реферат по теме Деловые контакты
Реферат: Машины для содержания дорог
Реферат: А. Ф. Аменд проблемы воспитания, обучения
История Сестринского Дела За Рубежом Реферат
Реферат по теме Правовое регулирование физкультуры и спорта
Демократичний політичний режим - Политология презентация
Сенсорное развитие детей дошкольного возраста в процессе познавательно-речевой деятельности - Педагогика дипломная работа
Разработка стратегии развития инфокоммуникационной компании - Менеджмент и трудовые отношения курсовая работа