Реализация зашифрования/расшифрования произвольного двоичного файла с использованием шифра М-ичного гаммирования при М=28

Автор: Пользователь скрыл имя, 22 Ноября 2012 в 23:45, курсовая работа

Описание работы

В связи с развитием информационных технологий, актуальными являются задачи обеспечения безопасности документов, хранимых в компьютерах и передаваемых по каналам связи. Для решения этих задач, наряду с другими методами, эффективно применяются криптографические методы. Долгое время они в основном применялись для нужд дипломатии, военного дела, спецслужб, и были известны только узкому кругу профессионалов - криптографов. Изобретение новых принципов криптографии, и появление так называемой криптографии с открытым (или общедоступным) ключом, дало мощный импульс для использования криптографии для нужд гражданского общества, для нужд бизнеса, банковского дела, и позволило обеспечить безопасность взаимодействия широкому кругу не обязательно доверяющих друг другу субъектов.

Содержание

ВСТУПЛЕНИЕ……………………………………………………………………
1 РАССМОТРЕНИЕ ТЕОРЕТИЧЕСКИХ ОСНОВ ШИФРОВАНИЯ ..............
1.1 Шифры. Их виды и свойства…………………………………………..
1.1.1Симметричные криптографические системы…………….…..
1.1.2Ассимметричные криптографические системы…….……..….
1.2 Гаммирование …………………………………………………………..
1.2.1 Метод гаммирования.…………………………………………..
1.2.2 Основные свойства ЛРР и ЛРПМ………………………………
2 ОПИСАНИЕ ПРОГРАММНОЙ МОДЕЛИ ШИФРОВАНИЯ.......................
ВЫВОДЫ…………………………………………………………………………
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ …….. ……………………...
ПРИЛОЖЕНИЕ А………………………………………………………………...

Работа содержит 1 файл

Lozovoy.docx

— 86.09 Кб (Скачать)

МИНИСТЕРСТВО ОБРАЗОВАНИЯ  И НАУКИ  УКРАИНЫ

Харьковский национальный университет  радиоэлектроники

 

Факультет Компьютерной инженерии  и управления

Кафедра Безопасности информационных технологий

 

 

 

 

 

КУРСОВАЯ РАБОТА

по предмету «Технологии  программирования» на тему:

РЕАЛИЗАЦИЯ ЗАШИФРОВАНИЯ/РАСШИФРОВАНИЯ  ПРОИЗВОЛЬНОГО ДВОИЧНОГО ФАЙЛА  С ИСПОЛЬЗОВАНИЕМ ШИФРА М-ИЧНОГО ГАММИРОВАНИЯ ПРИ М=28

 

 

 

Выполнил:

студент І курса 

группы БИКС-11-2

Лозовой Алексей

Научный руководитель:

 

 

 

 

Харьков-2011

РЕФЕРАТ

 

 

Курсовая работа содержит 19 страницы, 1 рисунок, 1 приложение, 6 источников.

Объектом исследования являются методы шифрования

Предмет исследования – шифрование данных с использованием шифра двоичного гаммирования

Основная цель состоит  в написании программы, выполняющей зашифрование/расшифрование произвольного двоичного файла с использованием шифра шифра m- ичного гаммирования при m = 28.

 ГАММИРОВАНИЕ, ШИФРОВАНИЕ, ДВОИЧНЫЙ ФАЙЛ, ФОРМИРОВАНИЕ КЛЮЧЕВЫХ  ДАННЫХ,  ЛРР.  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

СОДЕРЖАНИЕ

 

ВСТУПЛЕНИЕ……………………………………………………………………

1 РАССМОТРЕНИЕ ТЕОРЕТИЧЕСКИХ ОСНОВ ШИФРОВАНИЯ ..............

    1. Шифры. Их виды и свойства…………………………………………..

1.1.1Симметричные криптографические  системы…………….…..

1.1.2Ассимметричные криптографические системы…….……..….

1.2  Гаммирование …………………………………………………………..

1.2.1 Метод гаммирования.…………………………………………..

1.2.2 Основные свойства ЛРР и ЛРПМ………………………………

2  ОПИСАНИЕ ПРОГРАММНОЙ МОДЕЛИ ШИФРОВАНИЯ....................... 

ВЫВОДЫ…………………………………………………………………………

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ …….. ……………………...

ПРИЛОЖЕНИЕ А………………………………………………………………...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ВСТУПЛЕНИЕ

 

 

В связи с развитием информационных технологий, актуальными являются задачи обеспечения безопасности документов, хранимых в компьютерах и передаваемых по каналам связи. Для решения  этих задач, наряду с другими методами, эффективно применяются криптографические  методы. Долгое время они в основном применялись для нужд дипломатии, военного дела, спецслужб, и были известны только узкому кругу профессионалов - криптографов. Изобретение новых принципов криптографии, и появление так называемой криптографии с открытым (или общедоступным) ключом, дало мощный импульс для использования криптографии для нужд гражданского общества, для нужд бизнеса, банковского дела, и позволило обеспечить безопасность взаимодействия широкому кругу не обязательно доверяющих друг другу субъектов.

Современная криптография образует отдельное научное направление  на стыке математики и информатики  — работы в этой области публикуются  в научных журналах, организуются регулярные конференции. Практическое применение криптографии стало неотъемлемой частью жизни современного общества — её используют в таких отраслях как электронная коммерция, электронный  документооборот (включая цифровые подписи), телекоммуникации и других.

В истории развития криптографии выделены три периода:

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

Второй период, начало которого условно определено с 1949г., когда впервые появилась работа американского инженера и математика, одного из создателей теории информации, К.Шеннона "Теория связи в секретных системах". Именно с этого периода криптография сформировалась как отрасль науки прикладной математики.

Третий период имеет свое начало с появлением работ У.Диффи и М.Хелмана "Новые направления в криптографии" (1976), "Защищенность и имитостойкость: введение в криптографию" (1979), которые показали возможности организации секретной связи без предварительной передачи секретного ключа (ключа дешифрования).

Дальнейшее развитие наука  криптография как научно-прикладное направление современного развития многих научных и технических  школ, особенно на этапе развития современных  информационных технологий, получила в системах цифровой обработки информации. Это положение относится к  организации обмена как в компьютерных системах, так и в системах передачи аналоговой информации цифровыми методами (аудио- и видеотехника, системы телеизмерений и т. д.).

В нашей работе будет подробнее рассмотрена одна  из широко применяемых систем криптографического  преобразования  - гаммирование.

В процессе шифрования цифровые эквиваленты знаков криптографически закрываемого сообщения складываются с псевдослучайной последовательностью чисел, именуемой гаммой, и приводятся по модулю k, где k – объем алфавита знаков. Таким образом, псевдослучайная последовательность, полученная аппаратным или программным способом, выполняет здесь роль ключа.

Наиболее широко гаммирование используется для криптографического закрытия сообщений, уже выраженных в двоичном коде.

Использование псевдослучайных последовательностей оправдано тем, что, с одной стороны, они удовлетворяют ряду основных тестов на случайность, что существенно затрудняет раскрытие такого ключа, а с другой – являются детерминированными, что позволяет обеспечить однозначность дешифрования сообщения.

Процесс дешифрования данных сводится к повторной генерации  гаммы шифра при известном  ключе и наложении такой гаммы  на зашифрованные данные.

Надежность криптографического закрытия методом гаммирования определяется главным образом длиной неповторяющейся части гаммы. Если она превышает длину закрываемого текста, то раскрыть криптограмму, опираясь только на результаты статистической обработки этого текста, теоретически невозможно. ]

История этого шифра достаточно давняя. Алгоритм, положенный в его  основу (схема однократного использования), чаще всего связывают с именем инженера американской компании ат&т Г.С. Вернама. В 1917 году он опубликовал замечательную систему побитового  шифрования открытого текста, представленного в коде Бодо, когда каждый бит преобразуется с использованием соответствующего ему бита ключа по следующему алгоритму:

, , , .

Это так называемое сложение по модулю два ("XOR"). Расшифрование осуществляется той же операцией, что очень удобно для реализации. Вернам предлагал использовать ключ только один раз (one - time pad), несмотря на трудности передачи по секретному каналу этого ключа, длина которого равна длине шифруемого открытого текста. Однако это дает, как показал впоследствии К.Шеннон, действительно нераскрываемый шифр.

Таким образом формируется n-разрядная случайная двоичная последовательность — ключ шифра, известный отправителю и получателю сообщения. Отправитель производит побитовое сложение по модулю два ключа.

Однако метод гаммирования становится бессильным, если злоумышленнику удастся получить некоторое число двоичных символов исходного текста и соответствующих им двоичных символов криптограммы. Тогда сообщение нетрудно раскрыть, так как преобразование, осуществляемое при гаммировании, является линейным. Для полного раскрытия достаточно всего 2п двоичных символов зашифрованного и соответствующего ему исходного текста. Простым вычитанием по модулю получается отрезок псевдослучайной последовательности и по нему восстанавливается вся последовательность.

 

 

 

1 РАССМОТРЕНИЕ ТЕОРЕТИЧЕСКИХ ОСНОВ  ШИФРОВАНИЯ 

 

 

1.1 Шифры, их виды и свойства

 

Шифр – это совокупность инъективных отображений множества  открытых текстов во множество шифрованных  текстов, проиндексированная элементами из множества ключей: {Fk : X → S, K ∈ K}.

Криптографическая система, или шифр представляет собой семейство  Т обратимых преобразований открытого  текста в шифрованный. Членам этого  семейства можно взаимно однозначно сопоставить число k, называемое ключом. Преобразование Тk определяется соответствующим  алгоритмом и значением ключа k.

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

В криптографии криптографические  системы (или шифры) классифицируются следующим образом:

1) симметричные криптосистемы

2) асимметричные криптосистемы

 

      1. Симметричные криптографические системы

 

Под симметричными криптографическими системами понимаются такие криптосистемы, в которых для шифрования и  расшифрования используется один и  тот же ключ, хранящийся в секрете. Все многообразие симметричных криптосистем основывается на следующих базовых  классах:

  1. Моно - и многоалфавитные подстановки.

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

2) Перестановки - также несложный метод криптографического преобразования, заключающийся в перестановке местами символов исходного текста по некоторому правилу. Шифры перестановок в настоящее время не используются в чистом виде, так как их криптостойкость недостаточна, но они входят в качестве элемента в очень многие современные криптосистемы.

3) Блочные шифры - семейство обратимых преобразований блоков (частей фиксированной длины) исходного текста. Фактически блочный шифр - это система подстановки на алфавите блоков. Она может быть моно - или многоалфавитной в зависимости от режима блочного шифра. Иначе говоря, при блочном шифровании информация разбивается на блоки фиксированной длины и шифруется поблочно. Блочные шифры бывают двух основных видов: шифры перестановки (transposition, permutation, P-блоки) и шифры замены (подстановки, substitution, S-блоки) 5. В настоящее время блочные шифры наиболее распространены на практике.

4) Гаммирование - преобразование исходного текста, при котором символы исходного текста складываются с символами псевдослучайной последовательности (гаммы), вырабатываемой по некоторому правилу. Достаточно эффективным средством повышения стойкости шифрования является комбинированное использование нескольких различных способов шифрования.

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

 

1.1.2 Асcимметричные криптографические системы

 

Еще одним обширным классом криптографических  систем являются так называемые аcсимметричные или двухключевые системы. Эти системы характеризуются тем, что для шифрования и для расшифрования используются разные ключи, связанные между собой некоторой зависимостью. Применение таких шифров стало возможным благодаря К. Шеннону, предложившему строить шифр таким способом, чтобы его раскрытие было эквивалентно решению математической задачи, требующей выполнения объемов вычислений, превосходящих возможности современных ЭВМ (например, операции с большими простыми числами и их произведениями). Один из ключей (например, ключ шифрования) может быть сделан общедоступным, и в этом случае проблема получения общего секретного ключа для связи отпадает. Если сделать общедоступным ключ расшифрования, то на базе полученной системы можно построить систему аутентификации передаваемых сообщений. Поскольку в большинстве случаев один ключ из пары делается общедоступным, такие системы получили также название криптосистем с открытым ключом. Первый ключ не является секретным и может быть опубликован для использования всеми пользователями системы, которые зашифровывают данные. Расшифрование данных с помощью известного ключа невозможно. Для расшифрования данных получатель зашифрованной информации использует второй ключ, который является секретным. Разумеется, ключ расшифрования не может быть определен из ключа зашифрования.

 

    1. Гаммирование

 

Остановимся подробнее на рассмотрении шифрования методом гаммирования, относящегося к  симметричным криптосистемам.

 

      1. Метод гаммирования

 

Как  было сказано выше, гаммирование – это такое преобразование текста, при котором символы исходного  текста складываются с символами  псевдослучайной последовательности (гаммы), вырабатываемой по некоторому правилу. В качестве гаммы может  быть использована любая последовательность случайных символов. Процедуру наложения  гаммы на исходный текст можно  осуществить двумя способами. При  первом способе символы исходного  текста и гаммы заменяются цифровыми  эквивалентами, которые затем складываются по модулю k, где k - число символов в алфавите. При втором методе символы исходного текста и гаммы представляются в виде двоичного кода, затем соответствующие разряды складываются по модулю 2 (вместо сложения по модулю 2 при гаммировании можно использовать и другие логические операции).

Информация о работе Реализация зашифрования/расшифрования произвольного двоичного файла с использованием шифра М-ичного гаммирования при М=28