Программная реализация криптоанализа шифра Виженера методом Касиски.

Цели и задачи

цель данной работы напрямую связана с актуальностью проблемы скрытия и защиты информации.

Введение и актуальность


Собственные данные шифруются ключами шифрования данных. Они также используются для аутентификации сообщений и шифрования информации в каналах связи. Ключи шифрования ключей используются только для защиты ключей шифрования данных при их хранении и передаче по открытым каналам. Мастер-ключ применяют для защиты ключей шифрования ключей при их хранении на магнитном диске. Мастер-ключ распространяется среди участников неэлектронным способом. Ключи каждого уровня имеют свой срок службы. Распределение ключей осуществляется либо прямым обменом между пользователями, либо создаются специальные центры распределения ключей. 

1.2. Основные понятия
1.2.1. Конфиденциальность 
Традиционной задачей криптографии является проблема обеспечения конфиденциальности информации при передаче сообщений по контролируемому противником каналу связи. В простейшем случае эта задача описывается взаимодействием трех субъектов (сторон). Владелец информации, называемый обычно отправителем, осуществляет преобразование исходной (открытой) информации (сам процесс преобразования называется шифрованием) в форму передаваемых получателю по открытому каналу связи шифрованных сообщений с целью ее защиты от противника. 
Под противником понимается любой субъект, не имеющий права ознакомления с содержанием передаваемой информации. В качестве противника может выступать криптоаналитик, владеющий методами раскрытия шифров. Законный получатель информации осуществляет расшифрование полученных сообщений. Противник пытается овладеть защищаемой информацией (его действия обычно называют атаками). При этом он может совершать как пассивные, так и активные действия. Пассивные атаки связаны с прослушиванием, анализом трафика, перехватом, записью передаваемых шифрованных сообщений, дешифрованием, т.е. попытками «взломать» защиту с целью овладения информацией. 
При проведении активных атак противник может прерывать процесс передачи сообщений, создавать поддельные (сфабрикованные) или модифицировать передаваемые шифрованные сообщения. Эти активные действия называют имитации и подменысоответственно. 
Под шифром обычно понимается семейство обратимых преобразований, каждое из которых определяется некоторым параметром, называемым ключом, а также порядком применения данного преобразования, называемым режимом преобразования. Формальное определение шифра будет дано ниже. 
Ключ- это важнейший компонент шифра, отвечающий за выбор преобразования, применяемого для зашифрования конкретного сообщения. Обычно ключ представляет собой некоторую буквенную или числовую последовательность. Эта последовательность как бы «настраивает» алгоритм шифрования. 
Каждое преобразование однозначно определяется ключом и описывается некоторым криптографическим алгоритмом. Один и тот же криптографический алгоритм может применяться для шифрования в различных режимах. Тем самым реализуются различные способы шифрования (простая замена, гаммирование т.п.). Каждый режим шифрования имеет как свои преимущества, так и недостатки. Поэтому выбор режима зависит от конкретной ситуации. При расшифровании используется криптографический алгоритм, который в общем случае может отличаться от алгоритма, применяемого для зашифрования сообщения. Соответственно могут различать ключи зашифрования и расшифрования. Пару алгоритмов зашифрования и расшифрования обычно называютшифрсистемой, а реализующие их устройства - шифртехникой [2; c. 208].

Заключение и вывод


Цель данной работы заключалась в разработке приложения для решения задачи шифрования текста при помощи шифра Виженера. В ходе разработки приложения были изучены особенности шифрования при помощи данного метода, а именно алгоритм шифрования. Консольное приложение, решающее поставленную задачу, написано на языке программирования C++.
В ходе разработки был освоен новый класс регулярных выражений RegEx, который содержит методы поиска и сравнения для выполнения сопоставления шаблона с текстом. Этот метод в программе использовался при поиске латинских символов в строке. Также неоднократно использовался при написании адаптационного кода для латинского алфавита. Использовать методы класса RegEx намного проще и быстрее, чем, например, задавать диапазон чисел латинского алфавита и кириллицы, используя таблицу кодировки ACSII.

Нужна похожая работа?

Оставь заявку на бесплатный расчёт

Смотреть все Еще 421 дипломных работ