Криптология. Реализация алгоритмов шифрования в Delphi

Автор: Пользователь скрыл имя, 23 Ноября 2011 в 21:33, курсовая работа

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

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

Содержание

1 Введение 3
1.1 Исторические основы криптологии 3
1.2 Криптология в современном мире 4
2 Криптология 5
2.1 Основные понятия криптологии 5
2.2 Требования к криптосистемам 8
2.3 Симметрические криптосистемы 9
2.3.1 Метод Цезаря 10
2.3.2 Системы шифрования Гронсфельда 12
3 Практическое применение криптологии 13
3.1 Цифровая подпись 13
3.1.1 Общие положения 13
4 Постановка задачи 14
5 Реализация задачи 14
5.1 Краткая характеристика среды Embarcadero® Delphi® XE 14
5.2 Алгоритм решения задачи 14
5.2.1 Модуль шифровки/дешифровки 15
5.3 Дополнения 16
5.4 Блок-Схема 17
6 Заключение 18
7 Список литературы: 19

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

курсовая.docx

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

    Криптосистемы разделяются на симметричные и с открытым ключом.

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

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

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

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

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

    -количество  всех возможных ключей;

    -среднее  время, необходимое для криптоанализа. 

    Преобразование Tk определяется соответствующим алгоритмом и значением параметра k. Эффективность шифрования с целью защиты информации зависит от сохранения тайны ключа и криптостойкости шифра.

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

    1.   Требования к криптосистемам

    Для современных криптографических систем защиты информации сформулированы следующие общепринятые требования:

    -зашифрованное сообщение должно поддаваться чтению только при наличии ключа;

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

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

    -знание алгоритма шифрования не должно влиять на надежность защиты;

    -незначительное изменение ключа должно приводить к существенному изменению вида зашифрованного сообщения даже при использовании одного и того же ключа;

    -структурные элементы алгоритма шифрования должны быть неизменными;

    -дополнительные биты, вводимые в сообщение в процессе шифрования, должен быть полностью и надежно скрыты в шифрованном тексте;

    -длина шифрованного текста должна быть равной длине исходного текста;

    -не  должно быть простых и легко устанавливаемых зависимостью между ключами, последовательно используемыми в процессе шифрования;

    -любой ключ из множества возможных должен обеспечивать надежную защиту информации;

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

     

    1. Симметрические  криптосистемы

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

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

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

    Все многообразие существующих криптографических  методов можно свести к следующим  классам преобразований:

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

    Перестановки - несложный метод криптографического преобразования. Используется как правило в сочетании с другими методами.

    Гаммирование - этот метод заключается в наложении на исходный текст некоторой псевдослучайной последовательности, генерируемой на основе ключа.

    Блочные шифры  представляют собой последовательность (с возможным повторением и чередованием) основных методов преобразования, применяемую к блоку (части) шифруемого текста. Блочные шифры на практике встречаются чаще, чем “чистые” преобразования того или иного класса в силу их более высокой криптостойкости, а также потому, что этот метод позволяет шифровать тексты практически любой длины, разбивая их на блоки. Российский и американский стандарты шифрования основаны именно на этом классе шифров.

      1. Метод Цезаря

    Метод Цезаря является самым простым вариантом  шифрования.

      Он назван по имени римского  императора Гая Юлия Цезаря, который  поручал Марку Туллию Цицерону  составлять послания с использованием 50-буквенного алфавита, сдвигая его  на 3 символа вперед.

    Подстановка определяется по таблице замещения, содержащей пары соответствующих букв “исходный текст – шифрованный  текст”.

    Например, ВЫШЛИТЕ_НОВЫЕ_УКАЗАНИЯ посредством  подстановки  преобразуется в  еюыолхиврсеюивцнгкгрлб.  
 

    Аàг     Йàм     Тàх     Ыàю
    Бàд     Кàн     Уàц     Ьàя
    Вàе     Лàо     Фàч     Эà_
    Гàж     Мàп     Хàш     Юàа
    Дàз     Нàр     Цàщ     Яàб
    Еàи     Оàс     Чàъ     _àв
    Жàй     Пàт     Шàы      
    Зàк     Рàу     Щàь      
    Иàл     Сàф     Ъàэ      

    Таблица 1.1: Применение подстановки Цезвря.

    При своей несложности система легко  уязвима. Если злоумышленник имеет 

    1) шифрованный и соответствующий  исходный текст или 

    2) шифрованный текст выбранного  злоумышленником исходного текста,

    то  определение ключа и дешифрование исходного текста тривиальны.

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

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

      1. Системы шифрования Гронсфельда

Этот шифр сложной  замены, называемый шифром Гронсфельда, представляет собой модификацию  шифра Цезаря числовым ключом. Для  этого под буквами исходного  сообщения записывают цифры числового  ключа. Если ключ короче сообщения, то его запись циклически повторяют. Шифртекст  получают примерно, как в шифре  Цезаря, но отсчитывают по алфавиту не третью букву (как это делается в шифре Цезаря), а выбирают ту букву, которая смещена по алфавиту на соответствующую цифру ключа. Например, применяя в качестве ключа  группу из четырех начальных цифр числа e (основания натуральных логарифмов), а именно 2718, получаем для исходного  сообщения ВОСТОЧНЫЙ ЭКСПРЕСС следующий  шифртекст:

Сообщение   В О С Т О Ч Н Ы Й   Э К С П Р Е С С
Ключ   2 7 1 8 2 7 1 8 2   7 1 8 2 7 1 8 2
Шифр  Текст   Д Х Т Ь Р Ю О Г Л   Д Л Щ С Ч Ж Щ У

Информация о работе Криптология. Реализация алгоритмов шифрования в Delphi