Методы криптографического преобразования данных

Автор работы: Пользователь скрыл имя, 22 Февраля 2012 в 22:46, контрольная работа

Краткое описание

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

Содержание работы

1. Введение
2. Криптография и шифрование
2.1 Что такое шифрование
2.2 Основные понятия и определения криптографии
2.3 Симметричные и асимметричные криптосистемы
2.4 Основные современные методы шифрования
3. Алгоритмы шифрования
3.1 Алгоритмы замены(подстановки)
3.2 Алгоритмы перестановки
3.3 Алгоритмы гаммирования
3.4 Алгоритмы основанные на сложных математических
преобразованиях
3.5 Комбинированные методы шифрования
3.5.1 Криптографический стандарт DES
3.5.2 ГОСТ 28147-89
3.6 Выводы
4. Программные шифраторы
4.1 PGP 6.5.3
4.2 BestCrypt 6.04
4.3 Плюсы и минусы программных шифраторов
5. Аппаратные шифраторы
5.1 Что такое аппаратный шифратор
5.2 Структура шифраторов
5.3 Шифропроцессор
5.4 Быстродействие
5.5 Шифраторы для защиты сетей
5.6 Загрузка ключей шифрования
5.7 Как программы используют шифратор
5.8 Аппаратный шифратор «М-506»
5.9 Проблемы применения аппаратных шифраторов
6. Совет и рекомендации
7. Заключение
Литература

Содержимое работы - 1 файл

кр.docx

— 102.22 Кб (Скачать файл)

Исходные символы шифруе-мого текста 

р 

Заменяющие символы 

р 





 

    
Таблица 3.1.1 Таблица простой замены      
Используя эту таблицу, зашифруем  текст: In this book the reader will find a comрrehensive survey... Получим следующее зашифрованное сообщение:  At omiy рbbe omr nrsirn fadd zail s xbwgnrmrtjafr jcnfru... Однако такой шифр имеет низкую стойкость, так как зашифрованный текст имеет те же статистические характеристики, что и исходный. Например, текст на английском языке содержит символы со следующими частотами появления (в порядке убывания): Е — 0,13 , Т — 0,105 , А — 0,081 , О — 0,079 и т.д. В зашифрованном тексте наибольшие частоты появления в порядке убывания имеют буквы R — 0,12 , O — 0,09 , A и N по 0,07. 
Естественно предположить, что символом R зашифрована буква Е, символом О — буква Т и т.д. Это действительно соответствует таблице замены. Дальнейшая расшифровка не составляет труда. 
Если бы объем зашифрованного текста был намного больше, чем в рассмотренном примере, то частоты появления букв  в зашифрованном тексте были бы еще ближе к частотам появления букв в английском алфавите и расшифровка была бы еще проще. Поэтому простую замену используют редко и лишь в тех случаях, когда шифруемый текст короток. 
Для повышения стойкости шрифта используют полиалфавитные подстановки, в которых для замены символов исходного текста используются символы нескольких алфавитов. Известно несколько разновидностей полиалфавитной подстановки, наиболее известными из которых являются одно- (обыкновенная и монофоническая) и многоконтурная. 
При полиалфавитной одноконтурной обыкновенной подстановке для замены символов исходного текста используется несколько алфавитов, причем смена алфавитов осуществляется последовательно и циклически, т.е. первый символ заменяется соответствующим символом первого алфавита, второй — символом второго алфавита и т.д., пока не будут использованы все выбранные алфавиты. После этого использование алфавитов повторяется. 
Схема шифрования Вижинера. Таблица Вижинера представляет собой квадратную матрицу с nэлементами, где n — число символов используемого алфавита. На  Рис.3.1.2  показана верхняя часть таблицы Вижинера для кириллицы. Каждая строка получена циклическим сдвигом алфавита на символ. Для шифрования выбирается буквенный ключ, в соответствии с которым формируется рабочая матрица шифрования.

а

б

в

г

д

е

ё

ж

з

и

й

к

л

м

н

о

п

р

с

т

у

ф

х

ц

ч

ш

щ

ъ

ы

ь

э

ю

я

б

в

г

д

е

ё

ж

з

и

й

к

л

м

н

о

п

р

с

т

у

ф

х

ц

ч

ш

щ

ъ

ы

ь

э

ю

я

а

в

г

д

е

ё

ж

з

и

й

к

л

м

н

о

п

р

с

т

у

ф

х

ц

ч

ш

щ

ъ

ы

ь

э

ю

я

а

б

г

д

е

ё

ж

з

и

й

к

л

м

н

о

п

р

с

т

у

ф

х

ц

ч

ш

щ

ъ

ы

ь

э

ю

я

а

б

в

д

е

ё

ж

з

и

й

к

л

м

н

о

п

р

с

т

у

ф

х

ц

ч

ш

щ

ъ

ы

ь

э

ю

я

а

б

в

г

е

ё

ж

з

и

й

к

л

м

н

о

п

р

с

т

у

ф

х

ц

ч

ш

щ

ъ

ы

ь

э

ю

я

а

б

в

г

д

И т.д. до 33-ей строки..                                                                                     


Рис. 3.1.2 Таблица Вижинера  
 

а

б

в

г

д

е

ё

ж

з

и

й

к

л

м

н

о

п

р

с

т

у

ф

х

ц

ч

ш

щ

ъ

ы

ь

э

ю

я

к

л

м

н

о

п

р

с

т

у

ф

х

ц

ч

ш

щ

ъ

ы

ь

э

ю

я

а

б

в

г

д

е

ё

ж

з

и

й

н

о

п

р

с

т

у

ф

х

ц

ч

ш

щ

ъ

ы

ь

э

ю

я

а

б

в

г

д

е

ё

ж

з

и

й

к

л

м

и

й

к

л

м

н

о

п

р

с

т

у

ф

х

ц

ч

ш

щ

ъ

ы

ь

э

ю

я

а

б

в

г

д

е

ё

ж

з

г

д

е

ё

ж

з

и

й

к

л

м

н

о

п

р

с

т

у

ф

х

ц

ч

ш

щ

ъ

ы

ь

э

ю

я

а

б

в

а

б

в

г

д

е

ё

ж

з

и

й

к

л

м

н

о

п

р

с

т

у

ф

х

ц

ч

ш

щ

ъ

ы

ь

э

ю

я





 

   
Осуществляется это следующим  образом. Из полной таблицы выбирается первая строка и те строки, первые буквы  которых соответствуют буквам ключа. Первой размещается первая строка, а под нею — строки, соответствующие  буквам ключа в порядке следования этих букв в ключе шифрования.  Пример  такой  рабочей  матрицы для ключа «книга» приведен на Рис. 3.1.3. 
Процесс шифрования осуществляется следующим образом: 
       Рис. 3.1.3 Рабочая матрица шифрования для ключа «книга». 
1.    под каждой буквой шифруемого текста записываются буквы ключа. Ключ при  
      этом повторяется необходимое число раз. 
2.    каждая буква шифруемого текста заменяется по подматрице буквами находящимися на пересечении линий, соединяющих буквы шифруемого текста   в первой строке подматрицы и находящимися под ними букв ключа. 
3.    полученный текст может разбиваться на группы по несколько знаков.  
Пусть, например, требуется зашифровать сообщение: максимально допустимой ценой является пятьсот руб. за штуку. В соответствии с первым правилом записываем под буквами шифруемого текста буквы ключа. Получаем:   
      
                максимально  допустимой   ценой  является пятьсот руб. за штуку 
                книгакнигак    нигакнигак   нигак   нигакниг акнигак ниг  ак нигак 
Дальше осуществляется непосредственное шифрование в соответствии со вторым правилом, а именно: берем первую букву шифруемого текста (М) и соответствующую ей букву ключа (К); по букве шифруемого текста (М) входим в рабочую матрицу шифрования и выбираем под ней букву, расположенную в строке, соответствующей букве ключа (К),— в нашем примере такой буквой является Ч; выбранную таким образом букву помещаем в зашифрованный текст. Эта процедура циклически повторяется до зашифрования всего текста.  
Эксперименты показали, что при использовании такого метода статистические характеристики исходного текста практически не проявляются в зашифрованном сообщении. Нетрудно видеть, что замена по таблице Вижинера эквивалентна простой замене с циклическим изменением алфавита, т.е. здесь мы имеем полиалфавитную подстановку, причем число используемых алфавитов определяется числом букв в слове ключа. Поэтому стойкость такой замены определяется произведением стойкости прямой замены на число используемых алфавитов, т.е. число букв в ключе. 
Расшифровка текста производится в следующей последовательности:  
1.    над буквами зашифрованного текста последовательно надписываются буквы         ключа, причем ключ повторяется необходимое число раз. 
2.    в строке подматрицы Вижинера, соответствующей букве ключа отыскивается                                                    буква, соответствующая  знаку  зашифрованного  текста.  Находящаяся   под ней буква первой строки подматрицы и будет буквой исходного  текста. 
3.    полученный текст группируется в слова по смыслу. 
      
Нетрудно видеть, что процедуры как прямого, так и обратного преобразования являются строго формальными, что позволяет реализовать их алгоритмически. Более того, обе процедуры легко реализуются по одному и тому же алгоритму. 
Одним из недостатков шифрования по таблице Вижинера является то, что при небольшой длине ключа надежность шифрования остается невысокой, а формирование длинных ключей сопряжено с трудностями. 
Нецелесообразно выбирать ключи с повторяющимися буквами, так как при этом стойкость шифра не возрастает. В то же время ключ должен легко запоминаться, чтобы его можно было не записывать. Последовательность же букв не имеющих смысла, запомнить трудно. 
С целью повышения стойкости шифрования можно использовать усовершенствованные варианты таблицы Вижинера. Приведу только некоторые из них: 
·         во всех (кроме первой) строках таблицы буквы располагаются в произвольном порядке. 
·         В качестве ключа используется случайность последовательных чисел. Из таблицы Вижинера выбираются десять произвольных строк, которые кодируются натуральными числами от 0 до 10. Эти строки используются в соответствии с чередованием цифр в выбранном ключе. 
     
 Известны также и многие другие модификации метода.  
3.2 Алгоритм перестановки  
Этот метод заключается в том, что символы шифруемого текста переставляются по определенным правилам внутри шифруемого блока символов. Рассмотрим некоторые разновидности этого метода, которые могут быть использованы в автоматизированных системах.  
Самая простая перестановка — написать исходный текст задом наперед и одновременно разбить шифрограмму на пятерки букв. Например, из фразы  
     ПУСТЬ БУДЕТ ТАК, КАК МЫ ХОТЕЛИ.  
получится такой шифротекст:  
     ИЛЕТО ХЫМКА ККАТТ ЕДУБЪ ТСУП  
В последней группе (пятерке) не хватает одной буквы. Значит, прежде чем шифровать исходное выражение, следует его дополнить незначащей буквой (например, О ) до числа, кратного пяти:  
     ПУСТЬ-БУДЕТ-ТАККА-КМЫХО-ТЕЛИО.  
Тогда шифрограмма, несмотря на столь незначительные изменения, будет выглядеть по-другому:  
      ОИЛЕТ ОХЫМК АККАТ ТЕДУБ ЬТСУП  
Кажется, ничего сложного, но при расшифровке проявляются серьезные неудобства.  
Во время Гражданской войны в США в ходу был такой шифр: исходную фразу писали в несколько строк. Например, по пятнадцать букв в каждой (с заполнением последней строки незначащими буквами).  
   
     П  У  С  Т  Ь  Б  У  Д  Е  Т  Т  А  К  К  А  
     К  М  Ы Х  О  Т  Е  Л  И  К Л  М  Н О  П  
После этого вертикальные столбцы по порядку писали в строку с разбивкой на пятерки букв:  
    ПКУМС  ЫТХЬО  БТУЕД  ЛЕИТК  ТЛАМК  НКОАП  
Если строки укоротить, а количество строк увеличить, то получится прямоугольник-решетка, в который можно записывать исходный текст. Но тут уже потребуется предварительная договоренность между адресатом и отправителем посланий, поскольку сама решетка может быть различной длины-высоты, записывать к нее можно по строкам, по столбцам, по спирали туда или по спирали обратно, можно писать и по  диагоналями, а для шифрования можно брать тоже различные направления. В общем, здесь масса вариантов.  
 
3.3 Алгоритм гаммирования  
   Суть этого метода состоит в том, что символы шифруемого текста последовательно складываются с символами некоторой специальной последовательности, которая называется гаммой. Иногда такой метод представляют как наложение гаммы на исходный текст, поэтому он получил название «гаммирование».Процедуру наложения гаммы на исходный текст можно осуществить двумя способами. При первом способе символы  исходного текста и гаммы заменяются цифровыми эквивалентами, которые затем складываются по модулю k,  где k — число символов в алфавите, т.е. 
                    R= ( S+ G ) mod (k –1),  
 где Ri, Si, G — символы соответственно зашифрованного, исходного текста и гаммы.

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

Шифруемый текст

Б

У

Д

 Ь      …

010010

100000

110010

100000 

Знаки гаммы

7

1

8

2      …

000111

000001

001000

000010

Шифрованный текст

010101

1000001

111010

100010





Такая замена равносильна  введению еще одного ключа, который  является выбор правила формирования символов зашифрованного сообщения  из символов исходного текста и гаммы(Рис 3.3.1). 
Стойкость шифрования методом гаммирования определяется главным образом свойством гаммы  — длительностью периода и равномерностью статистических характеристик. Последнее свойство обеспечивает отсутствие закономерностей в появлении различных символов в пределах периода. 
Обычно разделяют две разновидности гаммирования — с конечной и бесконечной гаммами. При хороших статистических свойствах гаммы стойкость шифрования определяется только длинной периода гаммы. При этом, если длина периода гаммы превышает длину шифруемого текста, то такой шифр теоретически является абсолютно стойким, т.е. его нельзя вскрыть при помощи статистической обработки зашифрованного текста. Это, однако, не означает, что дешифрование такого текста вообще невозможно: при наличии некоторой дополнительной информации исходный текст может быть частично или полностью восстановлен даже при использовании бесконечной гаммы. 
В качестве гаммы может быть использована любая последовательность случайных символов, например, последовательность цифр числа p и т.п. При шифровании с помощью, например, аппаратного шифратора последовательность гаммы может формироваться с помощью датчика псевдослучайных чисел (ПСЧ). В настоящее время разработано несколько алгоритмов работы таких датчиков, которые обеспечивают удовлетворительные характеристики гаммы.  
3.4 Алгоритмы, основанные на сложных математических            преобразованиях  
Алгоритм RSA  
    Алгоритм RSA (по первым буквам фамилий его создателей Rivest-Shamir-Adleman) основан на свойствах простых чисел (причем очень больших). Простыми называются такие числа, которые не имеют делителей, кроме самих себя и единицы. А взаимно простыми называются числа, не имеющие общих делителей, кроме 1.  
 Для начала выберем два очень больших простых числа (большие исходные числа нужны для построения больших криптостойких ключей. Например, Unix-программа ssh-keygen по умолчанию генерирует ключи длиной 1024 бита).Определим параметр n как результат перемножения р и q. Выберем большое случайное число и назовем его d, причем оно должно быть взаимно простым с результатом умножения (р -1)*(q -1). Отыщем такое число e, для которого верно соотношение  
(e*d) mod ((р -1) *(q -1)) = 1  
(mod — остаток от деления, т. е. если e, умноженное на d, поделить на ((р -1) *(q -1)), то в остатке получим 1).  
 Открытым ключом является пара чисел e и n, а закрытым — d и n. При шифровании исходный текст рассматривается как числовой ряд, и над каждым его числом мы совершаем операцию  
C(i)= ( M(i)) mod n.  
В результате получается последовательность C(i), которая и составит  криптотекст. Декодирование информации происходит по формуле  
M(i) = ( C(i)) mod n.  
Как видите, расшифровка предполагает знание секретного ключа.  
  Давайте попробуем на маленьких числах. Установим р=3, q=7. Тогда n=р*q=21. Выбираем d как 5. Из формулы (e*5) mod 12=1 вычисляем e=17. Открытый ключ 17, 21, секретный — 5, 21.                                                                     
  Зашифруем последовательность «2345»:       
C(2)= 217 mod 21 =11  
C(3)= 317 mod 21= 12  
C(4)= 417 mod 21= 16  
C(5)= 517 mod 21= 17  
Криптотекст — 11 12 16 17.  
Проверим расшифровкой:  
M(2)= 11mod 21= 2  
M(3)= 12mod 21= 3  
M(4)= 16mod 21= 4  
M(5)= 17mod 21= 5  
Как видим, результат совпал.  
   
Криптосистема RSA широко применяется в Интернете. Когда вы подсоединяетесь к защищенному серверу по протоколу SSL, устанавливаете на свой ПК сертификат WebMoney либо подключаетесь к удаленному серверу с помощью Oрen SSH или SecureShell, то все эти  программы применяют шифрование открытым ключом с использованием идей алгоритма RSA. Действительно ли эта система так надежна?  
С момента своего создания RSA постоянно подвергалась атакам типа Brute-force attack (атака методом грубой силы, т. е. перебором). В 1978 г. авторы алгоритма опубликовали статью, где привели строку, зашифрованную только что изобретенным ими методом. Первому, кто расшифрует сообщение, было назначено вознаграждение в размере 100 долл., но для этого требовалось разложить на два сомножителя 129-значное число. Это был первый конкурс на взлом RSA. Задачу решили только через 17 лет после публикации статьи.  
  Криптостойкость RSA основывается на том предположении, что исключительно трудно, если вообще реально, определить закрытый ключ из открытого. Для этого требовалось решить задачу о существовании делителей огромного целого числа. До сих пор ее аналитическими методами никто не решил, и алгоритм RSA можно взломать лишь путем полного перебора. Строго говоря, утверждение, что задача разложения на множители сложна и что взлом системы RSA труден, также не доказано.  
  Компания RSA (httр://www.rsa.ru) регулярно проводит конкурсы на взлом собственных (и не только собственных) шифров. Предыдущие конкурсы выиграла организация Distributed.net (httр://www.distributed. net/), являющаяся Интернет-сообществом добровольцев.  
Участники Distributed.net загружают к себе на ПК небольшую программу-клиент, которая подсоединяется к центральному серверу и получает кусочек данных для вычислений. Затем все данные загружаются на центральный сервер, и клиент получает следующий блок исходной информации. И так происходит до тех пор, пока все комбинации не будут перебраны. Пользователи, участники системы, объединяются в команды, а на сайте ведется рейтинг как команд, так и стран. Например, участвующей в конкурсе по взлому RC5-64 (блочный шифр компании RSA, использующий ключ длиной 64 бита) организации Distributed.net удалось осуществить взлом через пять лет (1757 дней) работы. За это время в проекте участвовали 327 856 пользователей и было перебрано 15 268 315 356 922 380 288 вариантов ключа. Выяснилось, что была (не без юмора) зашифрована фраза «some things are better left unread» («некоторые вещи лучше оставлять непрочтенными»). Общие рекомендации по шифру RC5-64 таковы: алгоритм достаточно стоек для повседневных нужд, но шифровать им данные, остающиеся секретными на протяжении более пяти лет, не рекомендуется».  
3.5 Комбинированные методы шифрования  
Одним из важнейших требований, предъявляемых к системе шифрования, является ее высокая стойкость. Однако повышение стойкости любого метода шифрования приводит, как правило, к существенному усложнению самого процесса шифрования и увеличению затрат ресурсов (времени, аппаратных средств, уменьшению пропускной способности и т.п.).  
Достаточно эффективным средством повышения стойкости шифрования является комбинированное использование нескольких различных способов шифрования, т.е. последовательное шифрование исходного текста с помощью двух или более методов.  
Как показали исследования, стойкость комбинированного шифрования не ниже произведения стойкостей используемых способов.  
Вообще говоря, комбинировать можно любые методы шифрования и в любом количестве, однако на практике наибольшее распространение получили следующие комбинации:  
1)   подстановка + гаммирование;  
2)   перестановка + гаммирование;  
3)   гаммирование + гаммирование;  
4)   паодстановка + перестановка;  
Типичным примером комбинированного шифра является национальный стандарт США  криптографического закрытия данных (DES). 
3.5.1 Криптографический стандарт DES  
В 1973 г. Национальное бюро стандартов США начало разработку программы по созданию стандарта шифрования данных на ЭВМ. Был объявлен конкурс среди фирм разработчиков  США, который выиграла фирма IBM, представившая в 1974 году алгоритм шифрования, известный под названием DES(Data Encryption Standart).  
В этом алгоритме входные 64-битовые векторы, называемые блоками открытого текста, Преобразуются в выходные 64-битовые векторы, называемые блоками шифротекста, с помощью двоичного 56-битового ключа К. Число различных ключей DES-алгоритма равно 256>7*1016.  
Алгоритм реализуется в течение 16 аналогичных циклов шифрования, где на I-ом цикле используется цикловой ключ Ki , представляющий собой алгоритмически вырабатываемую выборку 48 битов из 56 битов ключа Ki, I=1,2,…,16.  
Алгоритм обеспечивает высокую стойкость, однако недавние результаты показали, что современная технология позволяет создать вычислительное устройство стоимостью около 1 млн. долларов США, способное вскрыть секретный ключ с помощью полного перебора в среднем за 3,5 часа.  
Из-за небольшого размера ключа было принято решение использовать DES-алгоритм для  закрытия коммерческой(несекретной) информации. Практическая реализация перебора всех ключей в данных условиях экономически не целесообразна, так как затраты на реализацию перебора не соответствуют ценности информации, закрываемой шифром.  
DES-алгоритм явился первым примером широкого производства и внедрения технических средств в области защиты информации. Национальное бюро стандартов США проводит проверку аппаратных реализаций  DES-алгоритма,  предложенных фирмами-разработчиками, на специальном тестирующем стенде. Только после положительных результатов проверки производитель получает от Национального бюро стандартов сертификат на право реализации своего продукта. К настоящему времени аттестовано несколько десятков изделий, выполненных на различной элементарной базе.  
Достигнута высокая скорость шифрования. Она составляет в лучших изделиях 45 Мбит/с. Цена некоторых  аппаратных изделий ниже 100 долларов США.  
Основные области применения DES-алгоритма:  
1)   хранение данных на компьютерах (шифрование файлов, паролей);  
2)   аутентификация сообщений (имея сообщение и контрольную группу, несложно убедиться в подлинности сообщения;  
3)   электронная система платежей (при операциях с широкой клиентурой и между банками);  
4)   Электронный обмен коммерческой информацией( обмен данными между покупателями, продавцом и банкиром защищен от изменений и перехвата.  
Позднее появилась модификация  DESa — Triple Des («тройной DES» — так как трижды шифрует информацию «обычным» DESом) свободен от основного недостатка прежнего варианта — короткого ключа; он здесь в два раза длиннее. Но зато, как оказалось, Triple DES унаследовал другие слабые стороны своего предшественника: отсутствие возможности для параллельных вычислений при шифровании и низкую скорость.  
 
 3.5.2  ГОСТ 28147-89  
В 1989 году в СССР был разработан блочный шифр для использования в качестве государственного стандарта шифрования данных. Разработка была принята и зарегистрирована как ГОСТ 28147-89. Алгоритм был введен в действие в 1990 году. И хотя масштабы применения этого алгоритма шифрования до сих пор уточняются, начало его внедрения, в частности в банковской системе , уже положено. Алгоритм несколько медлителен, но обладает весьма высокой стойкостью.  
В общих чертах ГОСТ 28147 аналогичен DES. Блок-схема алгоритма ГОСТ отличается от блок-схемы  DES-алгоритма лишь отсутствием начальной перестановки и число циклов шифрования (32 в ГОСТ против 16 в DES-алгоритме).  
Ключ алгоритма ГОСТ — это массив, состоящий из 32-мерных векторов X1, X2,…X8. Цикловой ключ i-го цикла Kравен Xs,  где ряду значений  i от 1 до 32 соответствует следующий ряд значений s:  
1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,8,7,6,5,4,3,2,1.  
В шифре ГОСТ используется 256-битовый ключ и объем ключевого пространства составляет 2256. Ни на одной из существующих в настоящее время или предполагаемых к реализации в недалеком будущем  компьютерной системе общего применения нельзя подобрать ключ за время, меньшее многих сотен лет. Российский стандарт проектировался с большим запасом, по стойкости он на много порядков превосходит американский стандарт DES с его реальным размером ключа в 56 бит о и объемом ключевого пространства всего 256( и неудивительно: его ключ длиной 32 байта (256 бит)  вчетверо больше ключа DES. Необходимое же на перебор всех ключей время при этом возрастает не в четыре раза, а в 25632-8=25624, что выливается  уже в астрономические цифры), чего явно недостаточно. В этой связи DES может представлять скорее исследовательский или научный, чем практический интерес.    
 
3.6 Выводы  
В 3 главе были рассмотрены несколько различных методов шифрования. Алгоритмы 3.1-3.4  в «чистом виде» использовались раньше, а в наши дни они заложены практически в любой, даже самой сложной программе шифрования. Каждый из рассмотренных методов  реализует собственный способ криптографической защиты информации и  имеет собственные достоинства и недостатки, но их общей важнейшейхарактеристикой является стойкость. Под этим понимается минимальный объем зашифрованного текста, статистическим анализом которого можно вскрыть исходный текст. Таким образом, по стойкости шифра можно определить предельно допустимый объем информации, зашифрованной при использовании одного ключа. При выборе криптографического алгоритма для использования в конкретной разработке его стойкость является одним из определяющих факторов. 
Все современные криптосистемы спроектированы таким образом, чтобы не было пути вскрыть их более эффективным способом, чем полным перебором по всему ключевому пространству, т.е. по всем возможным значениям ключа. Ясно, что стойкость таких шифров определяется размером используемого в них ключа. 
Приведу оценки стойкости рассмотренных выше методов шифрования. Моноалфавитная подстановка является наименее стойким шифром, так как при ее использовании сохраняются все статистические закономерности исходного текста. Уже при длине в 20-30 символов указанные закономерности проявляются в такой степени, что, как правило, позволяет вскрыть исходный текст. Поэтому такое шифрование считается пригодным только для закрывания паролей, коротких сигнальных сообщений и отдельных знаков. 
Стойкость простой полиалфавитной подстановки (из подобных систем была рассмотрена подстановка по таблице Вижинера) оценивается значением 20n, где  n — число различных алфавитов используемых для замены. При использовании таблицы Вижинера число различных алфавитов определяется числом букв в ключевом слове. Усложнение полиалфавитной подстановки существенно повышает ее стойкость. 
Стойкость гаммирования однозначно определяется длинной периода гаммы. В настоящее время реальным становится использование бесконечной гаммы, при использовании которой теоретически стойкость зашифрованного текста также будет бесконечной. 
Можно отметить, что для надежного закрытия больших массивов информации наиболее пригодны гаммирование и усложненные перестановки и подстановки. 
При использовании комбинированных методов шифрования стойкость шифра равна произведению стойкостей отдельных методов. Поэтому комбинированное шифрование является наиболее надежным способом криптографического закрытия. Именно такой метод был положен в основу работы всех известных в настоящее время шифрующих аппаратов. 
Алгоритм DES был утвержден еще долее 20 лет назад, однако за это время компьютеры сделали немыслимый скачок в скорости вычислений, и сейчас не так уж трудно сломать этот алгоритм путем полного перебора всех возможных вариантов ключей (а в DES  используется всего 8-байтный ),что недавно казалось совершенно невозможным. 
ГОСТ 28147-89 был разработан еще спецслужбами Советского Союза, и он моложе DES всего на 10 лет; при разработке в него был заложен такой запас прочности, что данный ГОСТ является актуальным до сих пор.  
Рассмотренные значения стойкости шифров являются потенциальными величинами. Они могут быть реализованы при строгом соблюдении правил использования криптографических средств защиты. Основными из этих првил являются: сохранение в тайне ключей, исключения дублирования(т.е. повторное шифрование одного и того же отрывка текста с использованием тех же ключей) и достаточно частая смена ключей. 

4.  Программные шифраторы  
Иногда необходимо зашифровать отдельный файл, чтобы передать его кому-нибудь или просто  скрыть от посторонних. Это может быть личная переписка, фотоальбом, результат собственного труда. Возможно, вам необходимо обмениваться конфиденциальной информацией по электронной почте с коллегами. Очевидно, что конфиденциальности можно добиться двумя способами: применяя аппаратные шифраторы или специальные программы для шифрования. О программах как раз и пойдет речь в этой главе.  
4.1   РGР 6.5.3 (www.рgрi.com, www.рgр.com), freeware  
РGР (Рretty Good Рrivacy) —  пожалуй , самый известный и самый надежный шифровальщик. Автор программы , Рhiliр Zimmermann, практически всю свою жизнь посвятил шифрованию данных. Эта программа представляет целый ряд весьма мощных утилит. В папке Автозагрузкапоявляется РGРtray, который загружает РGР и отвечает за управление остальными элементами программы. Первым делом после установки программы необходимо зайти в  РGРkeys и создать пару ключей — публичный и приватный. Ключи можно создавать по алгоритмам  DSS и RSA , причем первый предпочтительнее. Длина ключа может находиться в пределах 1024-4096 бит. При создании ключей вам предстоит ввести строку символов, которой вы будете   пользоваться в дальнейшем при расшифровке данных. Специалисты рекомендуют вводить строку из 100-200 символов, но учтите, что программа не работает с буфером обмена, так что эту последовательность вам предстоит вводить вручную каждый раз, когда вы будете расшифровывать какой-либо файл. Если вы забудете эту строку или испортите свой приватный ключ, то все, что было зашифровано предыдущим ключом, будет безвозвратно утеряно. Работает это все следующим образом: вы обмениваетесь публичными ключами со своими друзьями, поле чего можно переписываться по e-mail. Имея ваш публичный ключ, получатель сможет открыть письмо, но уже своим приватным кодом. При создании закодированного файла необходимо указать тех, кто сможет открыть этот файл. В появившееся окошко необходимо внести свой ключ, а так же ключи тех, кто также должен иметь доступ к шифруемой информации. Из программы  РGРtools можно зашифровывать (шифрование осуществляется при помощи алгоритмов CAST, IDEA, и Triрe DES), подписывать, расшифровывать файлы, вызывать РGРkeys и Wiрe. Утилита Wiрe выполняет удаление файлов без возможности восстановления.  
4.2    BestCryрt 6.04(httр://www.jetico.com) , freeware  
Данная программа финской фирмы Jetico обеспечивает безопасность данных при помощи создания виртуальных контейнеров. Под контейнерами понимается зашифрованный файл, хранящийся на логическом диске, который подключается к системе как еще один логический диск. При работе с программой первым делом придется создать контейнер. Для этого требуется указать имя файла, в котором будет содержаться информация, его размер, описание и логический диск, на котором он будет располагаться, а также алгоритм шифрования. Программа предоставляет на выбор четыре алгоритма: BLOWFISH, DES, ГОСТ 28147-89, TWOFISH. Все ключи, кроме DES, имеют длину 256 бит, длина ключа DES — 64 бита. Сегодня этого уже откровенно недостаточно для обеспечения по-настоящему высокого уровня конфиденциальности. Эти ключи могут остановить хакера, но если кому-то действительно понадобиться получить доступ к вашей информации , то он его получит. Для открытия диска можно установить режим «только для чтения», что запретит любой программе записывать на него информацию. Как обычно, можно попросить программу  подключить диск каждый раз при загрузке и отключать по истечении какого-то времени или по комбинации горячих клавиш. При этом виртуальный диск может обслуживаться программами Norton Utilites и Nuts & Bolts как обычный логический диск. Вместе с программой BestCryрt устанавливается freeware утилита BCWiрe. Она предназначена для того, чтобы после удаления каких-либо файлов с жесткого диска их невозможно было восстановить.  
В программе есть еще одна замечательная утилита под названием BestCrytр Service Manager. Она предназначена для того, чтобы вы могли добавлять нужные и удалять ненужные алгоритмы шифрования и модули генерации ключей. Но это нужно лишь для тех, кто не доверяет алгоритму шифрования DES. Так что, если у вас есть другой алгоритм, то можно смело удалять старые алгоритмы шифрования и удалять новые.  
4.3    Плюсы и минусы программных шифраторов.  
 
Программы РGР и BesyCryрt во всем мире зарекомендовали себя как надежные , безошибочно реализующие криптографические алгоритмы. Но кроме этих программ существует масса других,  менее известных, зачастую никем не проверяемых на надежность и стойкость от взлома, и это обстоятельство порождает недоверие к программам, ведь «программа, она и есть программа»: в коде программ нередко допускаются грубые ошибки, которые обнаруживаются лишь только после их поступления в продажу или свободное распространение. Хакерам значительно легче взломать программу, даже имея доступ к вашему компьютеру через сеть. Наконец, случается даже такое, что разработчики программ специально добавляют в  программы такие функции (наличие которых, разумеется, не разглашается) , чтобы иметь беспрепятственный доступ к информации, зашифрованной даже на секретном ключе, который пользователи никому и никогда не отдали бы.  
Еще одно обстоятельство, явно не в пользу программных средств,— это их существенно меньшее быстродействие. Например, при аппаратной реализации национального стандарта (ГОСТа) время на обработку одного блока составляет примерно 5 мкс, при программной реализации, в среднем, 50-100 мкс. Поэтому при больших объемах защищаемой информации аппаратные методы представляются более предпочтительными. Программные методы, кроме того, могут быть реализованы только при наличии в составе компьютера мощного процессора, тогда как шифрующие аппараты с помощью стандартных интерфейсов могут подключаться практически к любым системам.  
Но есть также и плюсы. Один из них — это цена(а иногда и ее отсутствие) программного шифратора — зачастую перевешивает все минусы, т.к. аппаратные шифраторы стоят на несколько порядков дороже. Также достоинством программных методов реализации криптографической защиты  является их гибкость, т.е. возможность быстрого изменения алгоритма шифрования. При этом можно предварительно создать пакет шифрования, содержащий программы для различных методов шифрования и их комбинаций. Смена программ будет производиться оперативно в процессе функционирования системы.   
5.  Аппаратные шифраторы  
Известно, что алгоритмы защиты информации(прежде всего шифрования) можно реализовать как программным, так и аппаратным методом. Рассмотрим аппаратные шифраторы: почему они считаются более надежными и обеспечивающими лучшую защиту.  
 5.1  Что такое аппаратный шифратор  
Аппаратный шифратор по виду и по сути представляет собой обычное компьютерное «железо», чаще всего это плата расширения, вставляемая в разъем ISA или  РCI системной платы ПК. Бывают и другие варианты,  например в виде USB-ключа с криптографическими функциями, но мы здесь рассмотрим классический вариант – шифратор для шины РCI.  
 Использовать целую плату только для функций шифрования – непозволительная роскошь, поэтому производители аппаратных шифраторов обычно стараются насытить их различными дополнительными возможностями, среди которых:  

Информация о работе Методы криптографического преобразования данных