Криптография и шифрование
Содержание:
Введение...................... .............................. .............................. .............................. .. 3
1 Криптография и шифрование.................... .............................. ........................... 4
1.1Что такое шифрование.................... .............................. ...........................4
1.2Симметричные и асимметричные криптосистемы................. ............. 5
1.3Основные современные методы шифрования.................... .................. 6
2 Алгоритмы шифрования.................... .............................. .............................. ......6
2.1 Алгоритмы замены (подстановки) .............................. ..........................6
2.2 Алгоритмы перестановки.................. .............................. .......................8
2.3 Алгоритмы гаммирования.................. .............................. ......................9
2.4 Алгоритмы, основанные на сложных математических
преобразованиях............... .............................. .............................. ...............11
3 Комбинированные методы шифрования.................... .............................. ........12
3.1Криптографический стандарт DES........................... ............................12
3.2ГОСТ 28147-89...................... .............................. .............................. .....14
4 Программные шифраторы..................... .............................. .............................. 15
4.1PGP 6.5.3......................... .............................. .............................. ............16
4.2BestCrypt 6.04.......................... .............................. .............................. ....17
5 Аппаратные шифраторы..................... .............................. .............................. ...18
5.1 Что такое аппаратный шифратор...................... .............................. ...............18
5.2 Структура шифраторов.................... .............................. .............................. ...19
5.3 Шифраторы для защиты сетей......................... .............................. ................21
5.4 Загрузка ключей шифрования.................... .............................. ......................22
5.5 Проблемы применения аппаратных шифраторов.................... ....................22
Заключение.................... .............................. .............................. ...........................24
Литература.................... .............................. .............................. ............................25
Введение
То, что информация имеет ценность, люди осознали очень давно - недаром переписка сильных мира сего издавна была объектом пристального внимания их недругов и друзей. Тогда-то и возникла задача защиты этой переписки от чрезмерно любопытных глаз. Древние пытались использовать для решения этой задачи самые разнообразные методы, и одним из них была тайнопись - умение составлять сообщения таким образом, чтобы его смысл был недоступен никому кроме посвященных в тайну. На протяжении всей своей многовековой истории, вплоть до совсем недавнего времени, это искусство служило немногим, в основном верхушке общества, не выходя за пределы резиденций глав государств, посольств и - конечно же - разведывательных миссий. И лишь несколько десятилетий назад все изменилось коренным образом - информация приобрела самостоятельную коммерческую ценность и стала широко распространенным, почти обычным товаром. Ее производят, хранят, транспортируют, продают и покупают, а значит - воруют и подделывают - и, следовательно, ее необходимо защищать.
Среди всего спектра методов защиты данных от нежелательного доступа особое место занимают криптографические методы. В отличие от других методов, они опираются лишь на свойства самой информации и не используют свойства ее материальных носителей, особенности узлов ее обработки, передачи и хранения.
Широкое применение компьютерных технологий и постоянное увеличение объема информационных потоков вызывает постоянный рост интереса к криптографии. В последнее время увеличивается роль программных средств защиты информации, просто модернизируемых не требующих крупных финансовых затрат в сравнении с аппаратными криптосистемами. Современные методы шифрования гарантируют практически абсолютную защиту данных, но всегда остается проблема надежности их реализации.
1 Криптография и шифрование
1.1 Что такое шифрование
Шифрование — способ преобразования открытой информации в закрытую и обратно. Применяется для хранения важной информации в ненадёжных источниках или передачи её по незащищённым каналам связи. Шифрование подразделяется на процесс зашифровывания и расшифровывания.
В зависимости от алгоритма преобразования данных, методы шифрования подразделяются на: гарантированной или временной криптостойкости.
В зависимости от структуры используемых ключей методы шифрования подразделяются на:
симметричное шифрование: посторонним лицам может быть известен алгоритм шифрования, но неизвестна небольшая порция секретной информации — ключа, одинакового для отправителя и получателя сообщения;
асимметричное шифрование: посторонним лицам может быть известен алгоритм шифрования, и, возможно, открытый ключ, но неизвестен закрытый ключ, известный только получателю.
Шифровать можно не только текст, но и различные компьютерные файлы - от файлов баз данных и текстовых процессоров до файлов изображений.
Идея шифрования состоит в предотвращении просмотра истинного содержания сообщения теми, у кого нет средств его дешифрования. А прочесть файл сможет лишь тот, кто сможет его дешифровать.
Шифрование появилось примерно четыре тысячи лет тому назад.
Один из самых известных методов шифрования носит имя Цезаря, который если и не сам его изобрел, то активно им пользовался. Не доверяя своим посыльным, он шифровал письма элементарной заменой А на D, В на Е и так далее по всему латинскому алфавиту. При таком кодировании комбинация XYZ была бы записана как АВС, а слово «ключ» превратилось бы в неудобоваримое «нобъ» (прямой код N+3).
1.2 Симметричные и асимметричные криптосистемы
Прежде чем перейти к отдельным алгоритмам, рассмотрим вкратце концепцию симметричных и асимметричных криптосистем. Сгенерировать секретный ключ и зашифровать им сообщение – это еще полдела. А вот как переслать такой ключ тому, кто должен с его помощью расшифровать исходное сообщение? Передача шифрующего ключа считается одной из основных проблем криптографии.
Оставаясь в рамках симметричной системы, необходимо иметь надежный канал связи для передачи секретного ключа. Но такой канал не всегда бывает, доступен, и потому американские математики Диффи, Хеллман и Меркле разработали в 1976 г. концепцию открытого ключа и асимметричного шифрования.
В таких криптосистемах общедоступным является только ключ для процесса шифрования, а процедура дешифрования известна лишь обладателю секретного ключа. Например, когда я хочу, чтобы мне выслали сообщение, то генерирую открытый и секретный ключи. Открытый посылаю вам, вы шифруете им сообщение и отправляете мне. Дешифровать сообщение могу только я, так как секретный ключ я никому не передавал. Конечно, оба ключа связаны особым образом, и распространение открытого ключа не разрушает криптостойкость системы.
В асимметричных системах должно удовлетворяться следующее требование: нет такого алгоритма, который бы из криптотекста и открытого ключа выводил исходный текст.
1.3 Основные современные методы шифрования
Среди разнообразнейших способов шифровании можно выделить следующие основные методы:
* Алгоритмы замены или подстановки – символы исходного текста заменяются на символы другого (или того же) алфавита в соответствии с заранее определенной схемой, которая и будет ключом данного шифра. Отдельно этот метод в современных криптосистемах практически не используется из-за чрезвычайно низкой криптостойкости.
* Алгоритмы перестановки – символы оригинального текста меняются местами по определенному принципу, являющемуся секретным ключом. Алгоритм перестановки сам по себе обладает низкой криптостойкостью, но входит в качестве элемента в очень многие современные криптосистемы.
* Алгоритмы гаммирования – символы исходного текста складываются с символами некой случайной последовательности.
* Алгоритмы, основанные на сложных математических преобразованиях исходного текста по некоторой формуле. Многие из них используют нерешенные математические задачи.
* Комбинированные методы. Последовательное шифрование исходного текста с помощью двух и более методов.
2 Алгоритмы шифрования
2.1 Алгоритмы замены (подстановки)
В этом наиболее простом методе символы шифруемого текста заменяются другими символами, взятыми из одного - (одно - или моноалфавитная подстановка) или нескольких (много - или полиалфавитная подстановка) алфавита.
Самой простой разновидностью является прямая (простая) замена, когда буквы шифруемого сообщения заменяются другими буквами того же самого или некоторого другого алфавита. Таблица замены может иметь следующий вид (таблица 3.1.1):
| |||||||||||||||||||||||||||
Исходные символы шифруемого текста | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | р | q | r | s | t | u | v | w | x | y | z |
|
Заменяющие символы | s | р | x | l | r | z | i | m | a | y | e | d | w | t | b | g | v | n | j | o | c | f | h | q | u | k |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблица 3.1.1 Таблица простой замены
Однако такой шифр имеет низкую стойкость, так как зашифрованный текст имеет те же статистические характеристики, что и исходный. Например, текст на английском языке содержит символы со следующими частотами появления (в порядке убывания): Е – 0,13 , Т – 0,105 , А – 0,081 , О – 0,079 и т.д. В зашифрованном тексте наибольшие частоты появления в порядке убывания имеют буквы R – 0,12 , O – 0,09 , A и N по 0,07.
Естественно предположить, что символом R зашифрована буква Е, символом О – буква Т и т.д. Это действительно соответствует таблице замены. Дальнейшая расшифровка не составляет труда.
Если бы объем зашифрованного текста был намного больше, чем в рассмотренном примере, то частоты появления букв в зашифрованном тексте были бы еще ближе к частотам появления букв в английском алфавите и расшифровка была бы еще проще. Поэтому простую замену используют редко и лишь в тех случаях, когда шифруемый текст короток.
Для повышения стойкости шрифта используют полиалфавитные подстановки, в которых для замены символов исходного текста используются символы нескольких алфавитов. Известно несколько разновидностей полиалфавитной подстановки, наиболее известными из которых являются одно - (обыкновенная и монофоническая) и многоконтурная.
При полиалфавитной одноконтурной обыкновенной подстановке для замены символов исходного текста используется несколько алфавитов, причем смена алфавитов осуществляется последовательно и циклически, т.е. первый символ заменяется соответствующим символом первого алфавита, второй – символом второго алфавита и т.д., пока не будут использованы все выбранные алфавиты. После этого использование алфавитов повторяется.
2.2 Алгоритм перестановки
Этот метод заключается в том, что символы шифруемого текста переставляются по определенным правилам внутри шифруемого блока символов. Рассмотрим некоторые разновидности этого метода, которые могут быть использованы в автоматизированных системах.
Самая простая перестановка – написать исходный текст задом наперед и одновременно разбить шифрограмму на пятерки букв. Например, из фразы
ПУСТЬ БУДЕТ ТАК, КАК МЫ ХОТЕЛИ.
получится такой шифротекст:
ИЛЕТО ХЫМКА ККАТТ ЕДУБЪ ТСУП
В последней группе (пятерке) не хватает одной буквы. Значит, прежде чем шифровать исходное выражение, следует его дополнить незначащей буквой (например, О) до числа, кратного пяти:
ПУСТЬ-БУДЕТ-ТАККА-КМЫХО-ТЕЛИО.
Тогда шифрограмма, несмотря на столь незначительные изменения, будет выглядеть по-другому:
ОИЛЕТ ОХЫМК АККАТ ТЕДУБ ЬТСУП
Кажется, ничего сложного, но при расшифровке проявляются серьезные неудобства.
Во время Гражданской войны в США в ходу был такой шифр: исходную фразу писали в несколько строк. Например, по пятнадцать букв в каждой (с заполнением последней строки незначащими буквами).
П У С Т Ь Б У Д Е Т Т А К К А
К М Ы Х О Т Е Л И К Л М Н О П
После этого вертикальные столбцы по порядку писали в строку с разбивкой на пятерки букв:
ПКУМС ЫТХЬО БТУЕД ЛЕИТК ТЛАМК НКОАП
Если строки укоротить, а количество строк увеличить, то получится прямоугольник-решетка, в который можно записывать исходный текст. Но тут уже потребуется предварительная договоренность между адресатом и отправителем посланий, поскольку сама решетка может быть различной длины-высоты, записывать в нее можно по строкам, по столбцам, по спирали туда или по спирали обратно, можно писать и по диагоналями, а для шифрования можно брать тоже различные направления. В общем, здесь масса вариантов.
2.3 Алгоритм гаммирования
Суть этого метода состоит в том, что символы шифруемого текста последовательно складываются с символами некоторой специальной последовательности, которая называется гаммой. Иногда такой метод представляют как наложение гаммы на исходный текст, поэтому он получил название «гаммирование». Процедуру наложения гаммы на исходный текст можно осуществить двумя способами. При первом способе символы исходного текста и гаммы заменяются цифровыми эквивалентами, которые затем складываются по модулю k, где k – число символов в алфавите, т.е.
Ri = ( Si + G) mod (k -1), где Ri, Si, G – символы соответственно зашифрованного, исходного текста и гаммы.
При втором методе символы исходного текста и гаммы представляются в виде двоичного кода, затем соответствующие разряды складываются по модулю 2. Вместо сложения по модулю 2 при гаммировании можно использовать и другие логические операции, например преобразование по правил логической эквивалентности и неэквивалентности.
| |||||
Шифруемый текст | Б | У | Д | Ь … |
|
| 010010 | 100000 | 110010 | 100000 |
|
Знаки гаммы | 7 | 1 | 8 | 2 … |
|
| 000111 | 000001 | 001000 | 000010 |
|
Шифрованный текст | 010101 | 1000001 | 111010 | 100010 |
|
Рис. 3.3.1 Пример шифрования гаммированием
Такая замена равносильна введению еще одного ключа, который является выбор правила формирования символов зашифрованного сообщения из символов исходного текста и гаммы (Рис 3.3.1).
Стойкость шифрования методом гаммирования определяется главным образом свойством гаммы – длительностью периода и равномерностью статистических характеристик. Последнее свойство обеспечивает отсутствие закономерностей в появлении различных символов в пределах периода.
Обычно разделяют две разновидности гаммирования – с конечной и бесконечной гаммами. При хороших статистических свойствах гаммы стойкость шифрования определяется только длинной периода гаммы. При этом если длина периода гаммы превышает длину шифруемого текста, то такой шифр теоретически является абсолютно стойким, т.е. его нельзя вскрыть при помощи статистической обработки зашифрованного текста. Это, однако, не означает, что дешифрование такого текста вообще невозможно: при наличии некоторой дополнительной информации исходный текст может быть частично или полностью восстановлен даже при использовании бесконечной гаммы.
В качестве гаммы может быть использована любая последовательность случайных символов, например, последовательность цифр числа и т.п. При шифровании с помощью, например, аппаратного шифратора последовательность гаммы может формироваться с помощью датчика псевдослучайных чисел (ПСЧ). В настоящее время разработано несколько алгоритмов работы таких датчиков, которые обеспечивают удовлетворительные характеристики гаммы.
2.4 Алгоритмы, основанные на сложных математических преобразованиях
Алгоритм RSA (по первым буквам фамилий его создателей Rivest-Shamir-Adleman) основан на свойствах простых чисел (причем очень больших). Для начала выберем два очень больших простых числа (большие исходные числа нужны для построения больших криптостойких ключей.
Определим параметр 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)e) mod n.
В результате получается последовательность C(i), которая и составит криптотекст. Декодирование информации происходит по формуле
M(i) = ( C(i)d ) mod n.
Как видите, расшифровка предполагает знание секретного ключа.
Криптосистема RSA широко применяется в Интернете. С момента своего создания RSA постоянно подвергалась атакам типа Brute-force attack (атака методом грубой силы, т. е. перебором). В 1978 г. авторы алгоритма опубликовали статью, где привели строку, зашифрованную только что изобретенным ими методом. Первому, кто расшифрует сообщение, было назначено вознаграждение в размере 100 долл., но для этого требовалось разложить на два сомножителя 129-значное число. Это был первый конкурс на взлом RSA. Задачу решили только через 17 лет после публикации статьи.
Криптостойкость RSA основывается на том предположении, что исключительно трудно, если вообще реально, определить закрытый ключ из открытого. Для этого требовалось решить задачу о существовании делителей огромного целого числа. До сих пор ее аналитическими методами никто не решил, и алгоритм RSA можно взломать лишь путем полного перебора.
3 Комбинированные методы шифрования
Одним из важнейших требований, предъявляемых к системе шифрования, является ее высокая стойкость. Однако повышение стойкости любого метода шифрования приводит, как правило, к существенному усложнению самого процесса шифрования и увеличению затрат ресурсов (времени, аппаратных средств, уменьшению пропускной способности и т.п.).
Достаточно эффективным средством повышения стойкости шифрования является комбинированное использование нескольких различных способов шифрования, т.е. последовательное шифрование исходного текста с помощью двух или более методов.
Как показали исследования, стойкость комбинированного шифрования не ниже произведения стойкостей используемых способов.
Вообще говоря, комбинировать можно любые методы шифрования и в любом количестве, однако на практике наибольшее распространение получили следующие комбинации:
1) подстановка + гаммирование;
2) перестановка + гаммирование;
3) гаммирование + гаммирование;
4) паодстановка + перестановка;
Типичным примером комбинированного шифра является национальный стандарт США криптографического закрытия данных (DES).
3.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.2 ГОСТ 28147-89
В 1989 году в СССР был разработан блочный шифр для использования в качестве государственного стандарта шифрования данных. Разработка была принята и зарегистрирована как ГОСТ 28147-89. Алгоритм был введен в действие в 1990 году. И хотя масштабы применения этого алгоритма шифрования до сих пор уточняются, начало его внедрения, в частности в банковской системе , уже положено. Алгоритм несколько медлителен, но обладает весьма высокой стойкостью.
В общих чертах ГОСТ 28147 аналогичен DES. Блок-схема алгоритма ГОСТ отличается от блок-схемы DES-алгоритма лишь отсутствием начальной перестановки и число циклов шифрования (32 в ГОСТ против 16 в DES-алгоритме).
Ключ алгоритма ГОСТ – это массив, состоящий из 32-мерных векторов X1, X2,…X8. Цикловой ключ i-го цикла Ki равен Xs, где ряду значений i от 1 до 32 соответствует следующий ряд значений s:
1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,
В шифре ГОСТ используется 256-битовый ключ и объем ключевого пространства составляет 2256. Ни на одной из существующих в настоящее время или предполагаемых к реализации в недалеком будущем компьютерной системе общего применения нельзя подобрать ключ за время, меньшее многих сотен лет. Российский стандарт проектировался с большим запасом, по стойкости он на много порядков превосходит американский стандарт DES с его реальным размером ключа в 56 бит о и объемом ключевого пространства всего 256( и неудивительно: его ключ длиной 32 байта (256 бит) вчетверо больше ключа DES. Необходимое же на перебор всех ключей время при этом возрастает не в четыре раза, а в 25632-8=25624, что выливается уже в астрономические цифры), чего явно недостаточно. В этой связи DES может представлять скорее исследовательский или научный, чем практический интерес.
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 выполняет удаление файлов без возможности восстановления.

- Криптография с открытым ключом
- Криптография. Сравнительный анализ алгоритмов симметричного шифрования
- Криптология
- Криптосистемы открытого шифрования
- Кристалдық байланыс түрлері және кристалдық торлар
- Кристаллография
- Кристаллография и минералогия
- Криптографические методы защиты информации
- Криптографические протоколы
- Криптографические системы с закрытым ключом
- Криптографические средства защиты информации
- Криптографические средства защиты информации
- Криптографические средства защиты информации
- Криптография в первую мировую войну