Содержание
"…Полиалфавитный шифр (многоалфавитный шифр) — это совокупность шифров простой замены, которые используются для шифрования очередного символа открытого текста согласно некоторому правилу. В шифре Гронсфельда такое правило описывается следующим образом [14].
1. Ключ – набор цифр, при помощи которого и осуществляется шифрование. Длина ключа должна равняться длине сообщения, поэтому в случае необходимости (если длина ключа меньше длины сообщения), ключ зацикливается до тех пор, пока его длина не будет соответствовать длине сообщения. Например, слово, которое необходимо зашифровать – «легенда», ключ – «2017». Длина сообщения – 7 символов, а длина ключа – 4. Зацикливая ключ до длины в 7 символов мы получаем «2017201». В реализуемой программе длина ключа по умолчанию равняется 9…"
"…Само шифрование происходит следующим образом. Происходит проверка зашифрованности всех символов сообщения. При полной шифрации сообщения программа переходит к своему завершению, иначе переходит к следующему символу сообщения. Далее символ сверяется с символами алфавита до тех пор, пока символ алфавита не будет равен символу сообщения. После этого программа опять переходит к проверке зашифрованности всего сообщения (Рис.3)…
Выдержка из текста
Данная курсовая работа ставит своей целью программную реализацию шифра Гронсфельда.
Задачами курсовой работы является:
• Изучение теоретической части – шифра Гронсфельда и методов, позволяющих реализовать данный шифр.
• Разработка алгоритма реализации шифра.
• Реализация шифрования сообщения согласно правилам шифра Гронсфельда.
• Реализация дешифрования сообщения согласно правилам шифра Гронсфельда.
• Апробация программы.
Реализация шифра осуществляется при помощи компилятора GCC и среды разработки программного обеспечения Qt Creator.
Список использованной литературы
1. Баранова Т., Карпов Б. С++. Специальный справочник (2-е издание). — СПб.: Питер, 2005. — 381с.: ил.
2. Бруно Б. Просто и ясно о Borland C++: Пер. с англ. — М.: БИНОМ, 1994. — 400с.
3. Васильев В. Самоучитель С++ с задачами и примерами — СПб.: Наука и Техника, 2010. — 480 с.
4. Дейтел Х., Дейтел П. Как программировать на C++: Пер. с англ. — М.: ЗАО "Издательство БИНОМ", 1998. — 1024 с.
5. Джамса К. Учимся программировать на языке C++: Пер. с англ. — Москва: Мир, 1997. — 320 с.
6. Ирэ П., Объектно-ориентированное программирование с использованием C++: Пер. с англ. — Киев: НИИПФ ДиаСофт Лтд, 1995. — 480 с.
7. Красиков И.В., Красикова И.Е. Алгоритмы. Просто как дважды два. — М.: Эксмо, 2006. — 256 с.: ил.
8. Культин Н.Б. Самоучитель С++ Builder. — СПб.: БХВ-Петербург, 2005. — 320 с.: ил.
9. Культин Н.Б. С/С++ в задачах и примерах. — СПб.: БХВ-Петербург, 2006. — 288 с.: ил.
10. Лаптев В.В., Морозов А.В., Бокова А.В. С++ объектно-ориентированное программирование — СПб.: Питер, 2007. — 288 с.
11. Павловская Т. С/С++ Программирование на языке высокого уровня — СПб.: Питер, 2003. — 461 с.
12. Подбельский В. Язык C++: Учебное пособие. — М.: Финансы и статистика, 1995. — 560 с.
13. Сван Т. Освоение Borland C++ 4.5: Пер. с англ. — Киев: Диалектика, 1996. — 544 с.
14. Сингх С. Книга шифров: Тайная история шифров и их расшифровки: Пер. с англ. – М.: Астрель, 2007. – 448 с.
15. Скляров В. Язык C++ и объектно-ориентированное программирование: Справочное издание. — Минск: Вышэйшая школа, 1997. — 480 с.
16. Сэвитч У. C++ в примерах: Пер. с англ. — М.: ЭКОМ, 1997. — 736 с.