Виды шифров. Криптография и виды шифрования

Основные алгоритмы шифрования

Основные понятия и определения

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

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

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

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

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

2. Криптосистемы с открытым ключом.

3. Системы электронной подписи.

4. Управление ключами.

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

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

Алфавит – конечное множество используемых для кодирования информации знаков. Примеры:

ü алфавит Z33 – содержит 32 буквы русского алфавита и пробел;

ü алфавит Z256 – символы, входящие в стандартные коды ASCII и КОИ-8;

ü бинарный алфавит Z2 – два символа (0 и 1);

ü восьмеричный или шестнадцатеричный алфавиты.

Текст – упорядоченный набор из элементов алфавита.

Шифрование – преобразовательный процесс замены исходного (открытого) текста на шифрованный текст.

Дешифрование (обратный шифрованию) – преобразовательный процесс замены на основе ключа шифрованного текста на исходный текст.

Ключ – информация, необходимая для беспрепятственного шифрования и дешифрования текстов.

Криптографическая система представляет собой семейство Т [Т 1 , Т 2 , …, Т к ] преобразований открытого текста. Члены этого семейства индексируются или обозначаются символом к ; параметр к является ключом. Пространство ключей К – это набор возможных значений ключа. Обычно ключ представляет собой последовательный ряд знаков алфавита.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Основные алгоритмы шифрования

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

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

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

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



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

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

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

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

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

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

Криптографические системы с открытым ключом используют так называемые необратимые или односторонние функции, которые обладают свойством: при заданном значении х относительно просто вычислить значение f(x) , однако, если yM = j(x) , то нет простого пути вычисления значения х . Множество классов необратимых функций и порождает все разнообразие систем с открытым ключом.

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

Подготовительный этап :

· абонент В генерирует пару ключей: секретный ключ k в и открытый ключ К в;

· открытый ключ К в посылается абоненту А и остальным абонентам (или делается доступным, например на разделяемом ресурсе).

Использование (обмен информацией между А и В):

· абонент А зашифровывает сообщение с помощью открытого ключа К в абонента В и отправляет шифротекст абоненту В;

· абонент В расшифровывает сообщение с помощью своего секретного ключа k в; никто другой не может расшифровать данное сообщение, т.к. не имеет секретного ключа абонента В.

Защита информации в асимметричной криптосистеме основана на секретности ключа k в получателя сообщения.

Преимущества асимметричных криптографических систем перед симметричными криптосистемами:

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

ü исчезает квадратичная зависимость числа ключей от числа пользователей; в асимметричной криптосистеме число используемых ключей связано с числом абонентов линейной зависимостью (в системе из N пользователей используется 2N ключей), а не квадратичной, как в симметричных системах;

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

Недостатки асимметричных криптосистем:

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

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

ü необходимость защиты открытых ключей от подмены.

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

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

Многие качественные криптографические алгоритмы доступны широко. Наиболее известными симметричными алгоритмами являются DES и IDEA; лучший асимметричный алгоритм – RSA. В России за стандарт шифрования принят ГОСТ 28147-89.

В таблице 1 приведена классификации криптографического закрытия информации.

Таблица 1

Виды преобразования Способы преобразований Разновидности способа Способ реализации
Шифрование Замена (подстановка) Простая (одноалфавитная) Прогр.
Многоалфавитная одноконтурная обыкновенная Прогр.
Многоалфавитная одноконтурная монофоническая Прогр.
Прогр.
Перестановка Простая Прогр.
Усложненная по таблице Прогр.
Усложненная по маршрутам Прогр.
Аналитическое преобразование По правилам алгебры матриц Прогр.
По особым зависимостям Прогр.
Гаммирование С конечной короткой гаммой Аппар.-прогр.
С конечной длинной гаммой Аппар.-прогр.
С бесконечной гаммой Аппар.-прогр.
Комбинированные Замена+перестановка Аппар.-прогр.
Замена+гаммирование Аппар.-прогр.
Перестановка+гаммирование Аппар.-прогр.
Гаммирование+гаммирование Аппар.-прогр.
Кодирование Смысловое По специальным таблицам (словарям) Прогр.
Символьное По кодовому алфавиту Прогр.
Другие виды Рассечение-разнесение Смысловое Аппар.-прогр.
Механическое Прогр.
Сжатие-расширение

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

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

Разновидности способа замена (подстановка ):

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

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

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

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

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

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

Шифрование простой перестановкой осуществляется следующим образом:

· выбирается ключевое слово с неповторяющимися символами;

· шифруемый текст записывается последовательными строками под символами ключевого слова;

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

Пример:

открытый текст: БУДЬТЕ ОСТОРОЖНЫ

ключ: 5 8 1 3 7 4 6 2

схема шифрования:

Б У Д Ь Т Е q О (где q – пробел)

С Т О Р О Ж Н Ы

Группируем по 2 символа и получаем зашифрованный текст:

ДООЫЬРЕЖБСqНТОУТ

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

Усложненная перестановка по таблицам заключается в том, что для записи символов шифруемого текста используется специальная таблица, в которую введены некоторые усложняющие элементы. Таблица представляет собой матрицу, размеры которой могут быть выбраны произвольно. В нее, как в случае простой перестановки, записываются знаки шифруемого текста. Усложнение заключается в том, что определенное число клеток таблицы не используются. Количество и расположение неиспользуемых элементов является дополнительным ключом шифрования. Шифруемый текст блоками по (m x n S ) элементов записывается в таблицу (m x n – размеры таблицы, S – количество неиспользуемых элементов). Далее процедура шифрования аналогична простой перестановке.

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

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

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

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

t c = (t p + t g) mod K , где t c , t p ,t g – символы соответственно зашифрованного текста, исходного текста и гаммы.

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

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

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

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

Типичным примером комбинированного шифра является национальный стандарт США криптографического закрытия данных (DES).

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

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

При правильном использовании коды намного сложнее раскрыть, чем другие классические системы. Это объясняется тремя причинами. Во-первых , большая длина используемого кода (при шифровании – несколько сотен бит; кодовая книга – сотни тысяч – миллион бит). Во-вторых , коды удаляют избыточность – работа криптоаналитика осложняется. В-третьих , коды работают с относительно большими блоками открытого текста (словами и фразами) и, следовательно, скрывают локальную информацию, которая, в противном случае, могла бы дать ценные «зацепки» для криптоаналитика.

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

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

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

Хеш-функции

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

Изначально функции хеширования использовались как функции создания уникального образа информационных последовательностей произвольной длины, с целью идентификации и определения их подлинности. Сам образ должен быть небольшим блоком фиксированной длины, как правило, 30, 60, 64, 128, 256, или 512 бит. Поэтому операции поиска сортировки и другие с большими массивами или базами данных существенно упрощаются, т.е. занимают гораздо меньшее время. Для обеспечения требуемой вероятности ошибки необходимо обеспечивать ряд требований к функции хеширования:

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

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

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

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

Большинство хеш-функций строится на основе однонаправленной функции f( ) , которая образует выходное значение длиной n при задании двух входных значений длиной n . Этими входами являются блок исходного текста Mi и хеш-значение Hi–1 предыдущего блока текста (рис.1):

Hi = f (Mi, Hi–1) .

Хеш-значение, вычисляемое при вводе последнего блока текста, становится хеш-значением всего сообщения M.

Рис.1. Схема однонаправленной хэш-функции

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

Методы: объяснительно-иллюстративный, частично-поисковый.

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

Задачи:

образовательные:

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

развивающие:

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

воспитательные:

  • воспитывать коммуникативную культуру;
  • развивать познавательный интерес.

Предлагаемая разработка может быть использована для учащихся 7–9 классов. Презентация помогает сделать материал наглядным и доступным.

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

А все ли и всегда должны знать всё?

Конечно, нет.

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

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

Тайнопись – криптография - является ровесницей письменности. История криптографии насчитывает не одно тысячелетие. Идея создания текстов с тайным смыслом и зашифрованными сообщениями почти так же стара, как и само искусство письма. Этому есть много свидетельств. Глиняная табличка из Угарита (Сирия) – упражнения обучающие искусству расшифровки (1200 год до н.э.). “Вавилонская теодицея” из Ирака – пример акростиха (середина II тысячелетия до н.э.).

Один из первых систематических шифров был разработан древними евреями; этот метод называется темура - “обмен”.

Самый простой из них “Атбаш”, алфавит разделялся посередине так, чтобы первые две буквы, А и Б, совпадали с двумя последними, Т и Ш. Использование шифра темура можно обнаружить в Библии. Это пророчество Иеремии, сделанное в начале VI века до нашей эры, содержит проклятие, всем правителям мира, заканчивая “царем Сесаха” который при дешифровки с шифра “Атбаш” оказывается царём Вавилона.

(Слайд 3) Более хитроумный способ шифрования был изобретён в древней Спарте во времена Ликурга (V век до н.э.) Для зашифровывания текста использовалась Сциталла - жезл цилиндрической формы, на который наматывалась лента из пергамента. Вдоль оси цилиндра построчно записывался текст, лента сматывалась с жезла и передавалась адресату, имеющему Сциталлу такого же диаметра. Этот способ осуществлял перестановку букв сообщения. Ключом шифра служил диаметр Сциталлы. АРИСТОТЕЛЬ придумал метод вскрытия такого шифра. Он изобрёл дешифровальное устройство “Антисциталла”.

(Слайд 4) Задание “Проверь себя”

(Слайд 5) Греческий писатель ПОЛИБИЙ использовал систему сигнализации, которая применялась как метод шифрования. С его помощью можно было передавать абсолютно любую информацию. Он записывал буквы алфавита в квадратную таблицу и заменял их координатами. Устойчивость этого шифра была велика. Основной причиной этого являлась возможность постоянно менять последовательность букв в квадрате.

(Слайд 6) Задание “Проверь себя”

(Слайд 7) Особую роль в сохранении тайны сыграл способ шифрования, предложенный ЮЛИЕМ ЦЕЗАРЕМ и описанный им в “Записках о галльской войне.

(Слайд 8) Задание “Проверь себя”

(Слайд 9) Существует несколько модификаций шифра Цезаря. Один из них алгоритм шифра Гронсфельда (созданный в 1734 году бельгийцем Хосе де Бронкхором, графом де Гронсфельд, военным и дипломатом). Шифрование заключается в том, что величина сдвига не является постоянной, а задается ключом (гаммой).

(Слайд 10) Для того, кто передаёт шифровку, важна её устойчивость к дешифрованию. Эта характеристика шифра называется криптостойкостью. Повысить криптостойкость позволяют шифры много алфавитной или многозначной замены. В таких шифрах каждому символу открытого алфавита ставятся в соответствие не один, а несколько символов шифровки.

(Слайд 11) Научные методы в криптографии впервые появились в арабских странах. Арабского происхождения и само слово шифр (от арабского "цифра"). Арабы первыми стали заменять буквы цифрами с целью защиты исходного текста. О тайнописи и её значении говорится даже в сказках “Тысячи и одной ночи”. Первая книга, специально посвящённая описанию некоторых шифров, появилась в 855 г., она называлась “Книга о большом стремлении человека разгадать загадки древней письменности”.

(Слайд 12) Итальянский математик и философ ДЖЕРОЛАМО КАРДАНО написал книгу "О тонкостях", в которой имеется часть, посвященная криптографии.

Его вклад в науку криптография содержит два предложения:

Первое - использовать открытый текст в качестве ключа.

Второе - он предложил шифр, называемый ныне "Решетка Кардано".

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

Решётка Кардано представляет собой лист из твердого материала, в котором через неправильные интервалы сделаны прямоугольные вырезы высотой для одной строчки и различной длины. Накладывая эту решетку на лист писчей бумаги, можно было записывать в вырезы секретное сообщение. Оставшиеся места заполнялись произвольным текстом, маскирующим секретное сообщение. Этим методом маскировки пользовались многие известные исторические лица, кардинал Ришелье во Франции и русский дипломат А. Грибоедов. На основе такой решетки Кардано построил шифр перестановки.

(Слайд 13) Задание “Проверь себя”

(Слайд 14) Увлекались тайнописью и в России. Используемые шифры - такие же, как в западных странах - значковые, замены, перестановки.

Датой появления криптографической службы в России следует считать 1549 год (царствование Ивана IV), с момента образования "посольского приказа", в котором имелось "цифирное отделение".

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

(Слайд 15) Задание “Проверь себя”

(Слайд 16) Много новых идей в криптографии принес XIX век. ТОМАС ДЖЕФФЕРСОН создал шифровальную систему, занимающую особое место в истории криптографии - "дисковый шифр". Этот шифр реализовывался с помощью специального устройства, которое впоследствии назвали шифратором Джефферсона.

В 1817 г. ДЕСИУС УОДСВОРТ сконструировал шифровальное устройство, которое внесло новый принцип в криптографию. Нововведение состояло в том, что он сделал алфавиты открытого и шифрованного текстов различных длин. Устройство, с помощью которого он это осуществил, представляло собой диск, с двумя подвижными кольцами с алфавитами. Буквы и цифры внешнего кольца были съемными и могли собираться в любом порядке. Эта шифрсистема реализует периодическую многоалфавитную замену.

(Слайд 17) Способов кодирования информации можно привести много.

Капитан французской армии ШАРЛЬ БАРБЬЕ разработал в 1819 году систему кодирования ecriture noctrume – ночное письмо. В системе применялись выпуклые точки и тире, недостаток системы её сложность, так как кодировались не буквы, а звуки.

ЛУИ БРАЙЛЬ усовершенствовал систему, разработал собственный шифр. Основы этой системы используются поныне.

(Слайд 18) СЭМЮЕЛЬ МОРЗЕ разработал в 1838 году систему кодирования символов с помощью точки и тире. Он же является изобретателем телеграфа (1837год) – устройства в котором использовалась эта система. Самое важное в этом изобретении – двоичный код, то есть использованием для кодирования букв только двух символов.

(Слайд 19) Задание “Проверь себя”

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

В истории криптографии XIX в. ярко запечатлелось имя ОГЮСТА КЕРКГОФФСА. В 80-х годах XIX века издал книгу "Военная криптография" объемом всего в 64 страницы, но они обессмертили его имя в истории криптографии. В ней сформулированы 6 конкретных требований к шифрам, два из которых относятся к стойкости шифрования, а остальные - к эксплуатационным качествам. Одно из них ("компрометация системы не должна причинять неудобств корреспондентам") стало называться "правилом Керкгоффса". Все эти требования актуальны и в наши дни.

В XX веке криптография стала электромеханической, затем электронной. Это означает, что основными средствами передачи информации стали электромеханические и электронные устройства.

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

В семидесятых годах произошло два события, серьезно повлиявших на дальнейшее развитие криптографии. Во-первых, был принят (и опубликован!) первый стандарт шифрования данных (DES), "легализовавший" принцип Керкгоффса в криптографии. Во-вторых, после работы американских математиков У. ДИФФИ и М. ХЕЛЛМАНА родилась "новая криптография"- криптография с открытым ключом.

(Слайд 22) Задание “Проверь себя”

(Слайд 23) Роль криптографии будет возрастать в связи с расширением ее областей приложения:

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

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

Решение задачи определения ключа путем простого перебора всех возможных вариантов, как правило, является непрактичным, за исключением использования очень короткого ключа. Следовательно, если криптоаналитик хочет иметь реальные шансы на вскрытие шифра, он должен отказаться от «лобовых» методов перебора и применить другую стратегию. При раскрытии многих схем шифрования может применяться статистический анализ, использующий частоту появления отдельных символов или их комбинаций. Для усложнения решения задачи вскрытия шифра с использованием статистического анализа К. Шеннон предложил две концепции шифрования, получившие название смешения (confusion ) и диффузии (diffusion ). Смешение – это применение такой подстановки, при которой взаимосвязь между ключом и шифрованным текстом становится как можно более сложной. Применение данной концепции усложняет применение статистического анализа, сужающего область поиска ключа, и дешифрование даже очень короткой последовательности криптограммы требует перебора большого количества ключей. В свою очередь диффузия – это применение таких преобразований, которые сглаживают статистические различия между символами и их комбинациями. В результате использование криптоаналитиком статистического анализа может привести к положительному результату только при перехвате достаточно большого отрезка шифрованного текста.

Реализация целей провозглашаемых данными концепциями достигается путем многократного применения элементарных методов шифрования таких, как метод подстановки, перестановки и скремблирования.

10.4.1. Метод подстановки.

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

Рис. 10.3 , а )

Исходный текст

Криптограмма

Рис. 10.3 , б )

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

Другим примером классической схемы, основанной на методе подстановки, может служить система шифрования, называемая квадратом Полибиуса . Применительно к русскому алфавиту данная схема может быть описана следующим образом. Первоначально объединяются в одну буквы Е, Ё; И, Й и Ъ, Ь, истинное значение которых в дешифрованном тексте легко восстанавливается из контекста. Затем 30 символов алфавита размещаются в таблицу размером 65, пример заполнения которой представлен на рис. 10.4.

Рис. 10.4.

Шифрование любой буквы открытого текста осуществляется заданием ее адреса (т.е. номера строки и столбца или наоборот) в приведенной таблице. Так, например, слово ЦЕЗАРЬ шифруется с помощью квадрата Полибиуса как 52 21 23 11 41 61. Совершенно ясно, что изменение кода может быть осуществлено в результате перестановок букв в таблице. Следует также заметить, что те, кто посещал экскурсию по казематам Петропавловской крепости, должно быть памятны слова экскурсовода о том, как заключенные перестукивались между собой. Очевидно, что их способ общения полностью подпадает под данный метод шифрования.

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

Рис. 10.5.

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

Открытый текст

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

Рис. 10.6.

Известны несколько интересных вариантов шифров, основанных на прогрессивном ключе Тритемиуса. В одном из них, называемом методом ключа Вижинера , применяется ключевое слово, которое указывает строки для шифрования и расшифрования каждого последующего символа открытого текста: первая буква ключа указывает строку таблицы на рис. 10.5, с помощью которой шифруется первый символ сообщения, вторая буква ключа определяет строку таблицы, шифрующей второй символ открытого текста и т.д. Пусть в качестве ключа выбрано слово «ТРОМБ», тогда сообщение, зашифрованное с помощью ключа Вижинера, может быть представлено следующим образом (рис. 10.7). Очевидно, что вскрытие ключа возможно осуществить на основе статистического анализа шифрограммы.

Открытый текст

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

Рис. 10.7.

Разновидностью этого метода является т.н. метод автоматического (открытого ) ключа Вижинера , в котором в качестве образующего ключа используется единственная буква или слово. Этот ключ дает начальную строку или строки для шифрования первого или нескольких первых символов открытого текста аналогично ранее рассмотренному примеру. Затем в качестве ключа для выбора шифрующей строки используются символы открытого текста. В приведенном ниже примере в качестве образующего ключа использована буква «И» (рис. 10.8):

Открытый текст

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

Рис. 10.8.

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

Еще одной разновидностью метода Вижинера служит метод автоматического (шифрованного ) ключа Вижинера . В нем, подобно шифрованию с открытым ключом, также используется образующий ключ и обратная связь. Отличие состоит в том, что после шифрования с помощью образующего ключа, каждый последующий символ ключа в последовательности берется не из открытого текста, а из получаемой криптограммы. Ниже представлен пример, поясняющий принцип применения данного метода шифрования, в котором, как и ранее, в качестве образующего ключа использована буква «И» (рис. 10.9):

Открытый текст

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

Рис. 10.9.

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

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

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

Рис. 10.10.

Не составляет труда показать, что существует
различных подстановок или связанных с ними возможных моделей. В связи, с чем при больших значенияхm задача криптоаналитика становится в вычислительном плане практически невозможной. Например, при
число возможных подстановок определяется как
, т.е. представляет собой астрономическое число. Очевидно, что при подобном значенииm данное преобразование с помощью блока подстановки (substitution block , S –блок) можно считать обладающим практической секретностью. Однако его практическая реализация вряд ли возможна, поскольку предполагает существование
соединений.

Убедимся теперь, что S –блок, представленный на рис. 10.10, действительно осуществляет нелинейное преобразование, для чего воспользуемся принципом суперпозиций: преобразование
является линейным, если. Предположим, что
, а
. Тогда, а, откуда следует, чтоS –блок является нелинейным.

10.4.2. Метод перестановки.

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

Простейшим вариантом реализации данного метода шифрования может служить рассмотренный ранее алгоритм перемежения, суть которого заключается в разбиении потока информационных символов на блоки длиной
, построчной записи его в матрицу памяти размеромстрок истолбцов и считывании по столбцам. Иллюстрацией данному алгоритму служит пример с
на рис. 10.11, в ходе которого производится запись фразыX =«скоро начнется экзаменационная пора». Тогда на выходе устройства перестановки будет получена криптограмма вида

Рис. 10.11.

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

Рис. 10.12.

На рис. 10.13 приведен пример бинарной перестановки данных (линейная операция), из которого видно, что данные просто перемешиваются или переставляются. Преобразование осуществляется с помощью блока перестановки (permutation block , P –блок). Технология перестановки, реализуемая этим блоком, имеет один основной недостаток: она уязвима по отношению к обманным сообщениям. Обманное сообщение изображено на рис. 10.13 и заключается в подаче на вход одной единственной единицы при остальных нулях, что позволяет обнаружить одну из внутренних связей. Если криптоаналитику необходимо осуществить анализ подобной схемы с помощью атаки открытого текста, то он отправит последовательность подобных обманных сообщений, смещая при каждой передаче единственную единицу на одну позицию. В результате подобной атаки будут установлены все связи входа и выхода. Данный пример демонстрирует, почему защищенность схемы не должна зависеть от ее архитектуры.

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

Попытки приблизиться к совершенной секретности демонстрируют многие современные телекоммуникационные системы, использующие операцию скремблирования. Подскремблированием понимается процесс наложения на коды символов открытого текста кодов случайной последовательности чисел, которую называют также гаммой (по названию буквы  греческого алфавита, используемой в математических формулах для обозначения случайного процесса). Гаммирование относится к поточным методам шифрования, когда следующие друг за другом символы открытого текста последовательно превращаются в символы шифрограммы, что повышает скорость преобразования. Так, например, поток информационных бит поступает на один вход сумматора по модулю 2, изображенного на рис. 10.14, тогда как на второй – скремблирующая двоичная последовательность
. В идеале последовательность
должна быть случайной последовательностью с равновероятными значениями нулей и единиц. Тогда выходной шифрованный поток
будет статистически независимым от информационной последовательности
, а значит, будет выполняться достаточное условие совершенной секретности. В действительности абсолютная случайность
не является необходимой, поскольку в противном случае получатель не сможет восстановить открытый текст. Действительно, восстановление открытого текста на приемной стороне должно производиться по правилу
, так что на приемной стороне должна генерироваться точно такая же скремблирующая последовательность и с той же фазой. Однако вследствие абсолютной случайности
данная процедура становится невозможной.

На практике в качестве скремблирующих широкое применение нашли псевдослучайные последовательности (ПСП), которые могут быть воспроизведены на приемной стороне. В технологии поточного шифрования для формирования ПСП обычно используют генератор на основелинейного регистра сдвига с обратной связью (linear feedback shift register (LFSR)). Типичная структура генератора ПСП, представленная на рис. 10.15, включает регистр сдвига, который состоит из – ичных элементов задержки или разрядов, имеющихвозможных состояний и хранящих некоторый элемент поля
в течение тактового интервала, схема обратной связи, включающей умножители элементов (состояний), хранящихся в разрядах, на константы, и сумматоров. Формирование ПСП описывается рекуррентным соотношением вида

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

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

Пример 10.4.1. На рис. 10.16, a , представлена реализация генератора на основе регистра сдвига с линейной обратной связью, формирующего двоичную псевдослучайную последовательность периода
. Отметим, что в случае двоичной ПСП умножение на единицу эквивалентно простому соединению выхода разряда с сумматором. Рис. 10.16,b , иллюстрирует следующие друг за другом содержания регистра (состояния разрядов), а также состояния выхода обратной связи (точка ОС на схеме) при подаче тактовых импульсов. Последовательность считывается в виде последовательных состояний крайнего правого разряда. Считывание состояний других разрядов приводит к копиям той же самой последовательности, сдвинутой на один или два такта.

На первый взгляд можно предположить, что использование ПСП большого периода может обеспечить достаточно высокую защищенность. Так, например, в сотовой системе мобильной связи стандарта IS-95 в качестве скремблирующей используется ПСП периода
в числе элементарных чипов. При чиповой скорости 1.228810 6 симв/сек ее период составляет:

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

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

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

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

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

где символ ПСП, который вырабатывается схемой обратной связи и подается на вход первого разряда регистра, а
определяет отсутствие или наличиеi –го соединения между выходом разряда регистра сдвига и сумматором, т.е. схему обратной связи.

Анализируя состояния регистра сдвига в четыре последовательные момента времени можно составить следующую систему четырех уравнений с четырьмя неизвестными:

Решение данной системы уравнений дает следующие значения коэффициентов:

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

Обобщив рассмотренный пример на случай произвольного регистра сдвига памяти n , исходное уравнение может быть представлено в виде

,

а система уравнений записана в следующей матричной форме

,

где
, а
.

Можно показать, что столбцы матрицы линейно независимы и, значит, существует обратная матрица
. Следовательно

.

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

Чтобы затруднить аналитику вычисление элементов ПСП при сопоставлении фрагментов открытого текста и шифровки, применяется обратная связь по выходу и шифротексту. На рис. 10.17 поясняется принцип введения обратной связи по шифротексту.

Рис. 10.17. Поточное шифрование с обратной связью.

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

Шифрование информации

Основным видом криптографического преобразования информации в КС является шифрование и дешифрование. Шифрование – это преобразование информации из открытой формы в закрытую (зашифрованную). Существует и обратный процесс - расшифрование.

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

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

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

В качестве примера удачного метода шифрования можно привести шифр DES (DataEncryptionStandard), применяемый в США с 1978 г. в качестве государственного стандарта. Алгоритм шифрования не является секретным и был опубликован в открытой печати. За время своего использования этого шифра не было обнародовано ни одного случая обнаружения слабых мест в алгоритме шифрования.

Методы шифрования-дешифрования подразделяются на две группы: методы шифрования с симметричными ключами и системы шифрования с открытыми ключами.

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

К методам шифрования с симметричными ключами относятся:

· методы замены;

· методы перестановки;

· аналитические методы;

· аддитивные методы (гаммирование);

· комбинированные методы.

К системам шифрования с открытыми ключами относятся:

· системаRSA (Rivest, Shamir and Aldeman – изобретателиалгоритма);

· система Эль-Гамаля;

· криптосистема Мак-Элиса.

Математически процесс шифрования сообщения М с помощью алгоритма шифрования Е выглядит так:

С=Е к1 (М), где

С – полученное в результате шифрования сообщение;

к1 – ключ шифрования.

Обычно алгоритмы шифрования не являются секретными. Например, современный российский алгоритм шифрования ГОСТ 28147-89 опубликован как стандарт.

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

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

Формула для расшифрования

М=D к2 (С), где

D – алгоритм расшифрования, которым ваш адресат обрабатывает сообщение с целью получить посланное ему сообщение М;

к2 – ключ для расшифрования.

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

Алгоритмы шифрования делятся на два вида:

1. Симметричные ;

2. Асимметричные .

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

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

Шифры перестановки. При шифровании перестановкой символы шифруемого текста переставляются по определенному правилу в пределах блока этого текста. Шифры перестановки являются самыми простыми и, вероятно, самыми древними шифрами.

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

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


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

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

Число вариантов двойной перестановки быстро возрастает при увеличении размера таблицы: для таблицы 3×3 - 36 вариантов, для таблицы 4×4 - 576 вариантов, для таблицы 5×5 - 14400 вариантов. Однако двойная перестановка не отличается высокой стойкостью и сравнительно просто "взламывается" при любом размере таблицы шифрования.

Шифры простой замены. При шифровании заменой (подстановкой) символы шифруемого текста заменяются символами того же или другого алфавита с заранее установленным правилом замены. В шифре простой замены каждый символ исходного текста заменяется символами того же алфавита по одному правилу на всем протяжении текста. Часто шифры простой замены называют шифрами одноалфавитной подстановки.

Система шифрования Цезаря . Шифр Цезаря является частным случаем шифра простой замены (одноалфавитной подстановки). Свое название этот шифр получил по имени римского императора Гая Юлия Цезаря, который использовал этот шифр при переписке.

При шифровании исходного текста каждая буква заменялась на другую букву того же алфавита по следующему правилу. Заменяющая буква определялась путем смещения по алфавиту m от исходной буквы на k букв. При достижении конца алфавита выполнялся циклический переход к его началу. Цезарь использовал латинский алфавит m = 26 и шифр замены при смещении k = 3. Такой шифр замены можно задать таблицей подстановок, содержащей соответствующие пары букв открытого текста и шифротекста. Совокупность возможных подстановок для k = 3 показана в таблице 6.1.

Таблица 6.1 - Одноалфавитные подстановки (k = 3, m = 26)

Система шифрования Цезаря образует, по существу, семейство одноалфавитных подстановок для выбираемых значений ключа k , причем 0 £ k < m . Достоинством системы шифрования Цезаря является простота шифрования и расшифрования.

К недостаткам системы Цезаря можно отнести следующее:

Подстановки, выполняемые в соответствии с системой Цезаря, не маскируют частот появления различных букв исходного открытого текста;

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

Число возможных ключей k мало;

Шифр Цезаря легко вскрывается на основе анализа частот появления букв в шифротексте.

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

Аффинная система подстановок Цезаря. В данном преобразовании буква, соответствующая числу t , заменяeтся на букву, соответствующую числовому значению (at + b ) по модулю m . Такое преобразование является взаимно однозначным отображением на алфавите тогда и только тогда, когда НОД (a , m ) - наибольший общий делитель чисел a и m равен единице, т. e. если a и m - взаимно простые числа.

Достоинством аффинной системы является удобное управление ключами: ключи шифрования и дешифрования представляются в компактной форме в виде пары чисел (a , b ). Недостатки аффинной системы аналогичны недостаткам системы шифрования Цезаря. На практике аффинная система использовалась несколько веков назад.

Шифры сложной замены . Шифры сложной замены называют многоалфавитными, так как для шифрования каждого символа исходного сообщения применяют свой шифр простой замены. Многоалфавитная подстановка последовательно и циклически меняет используемые алфавиты. При r -алфавитной подстановке символ x 0 исходного сообщения заменяется символом y 0 из алфавита B 0 , символ x 1 - символом y 1 из алфавита B 1 , и т. д.; символ x r -1 заменяется символом y r -1 из алфавита B r -1 , символ x r заменяется символом y r снова из алфавита B 0 , и т. д.

Эффект использования многоалфавитной подстановки заключается в том, что обеспечивается маскировка естественной статистики исходного языка, так как конкретный символ из исходного алфавита A может быть преобразован в несколько различных символов шифровальных алфавитов B j . Степень обеспечиваемой защиты теоретически пропорциональна длине периода r в последовательности используемых алфавитов B j .

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

Она имеет два входа:

Верхнюю строку подчеркнутых символов, используемую для считывания очередной буквы исходного открытого текста;

Крайний левый столбец ключа.

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

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

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

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

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

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

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

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

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

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

Перед шифрованием открытые данные разбивают на блоки одинаковой длины, обычно по 64 бита. Гамма шифра вырабатывается в виде последовательности аналогичной длины. Процесс расшифрования сводится к повторной генерации гаммы шифра и наложению этой гаммы на принятые данные.

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



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: