Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VOPROS_K_EKZAMYeNU_PO_INFORMATIKYe (Автосохране....doc
Скачиваний:
14
Добавлен:
17.04.2019
Размер:
738.3 Кб
Скачать

60. Шифрование данных

Рассмотрим, как зашифровать сообщение методом замены (другими словами методом подстановки). Вначале используем шифр Цезаря. Предположим, что требуется зашифровать сообщение «ГДЕ АББА».

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

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

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

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

Более высокую криптостойкость по сравнению с шифром Цезаря имеют аффинные криптосистемы.

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

Аффинные криптосистемы задаются при помощи двух чисел a и b. Для русского алфавита эти числа выбираются из условия a ≥ 0, b ≤ 32. Максимальное число символов в используемом алфавите обозначаются символом . Причем числа a и  = 33 должны быть взаимно простыми. Если это условие не будет выполняться, то две разные буквы могут отображаться (превращаться) в одну. Каждый код буквы открытого текста  заменяется кодом  буквы криптограммы по следующему правилу. Вначале вычисляется число  = a + b, а затем выполняется операция целочисленного деления числа  на число  = 33, то есть  = (mod ()). В качестве кода символа шифрограммы используется остаток от целочисленного деления .

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

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

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

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

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

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

Система Плейфейра создает многоалфавитные шифры. Рассмотрим основную идею этой системы.

Шифрование производится с помощью квадрата (или прямоугольника) в который занесены буквы соответствующего национального алфавита. Буквы записываются в квадрат или прямоугольник в произвольном порядке. Этот порядок и конфигурация таблицы являются секретным ключом. Для определенности возьмем прямоугольную таблицу размером 8x4,  в качестве букв алфавита – кириллицу, а буквы расположим в алфавитном порядке. Так как  число русских букв 33, а число клеток – 32, исключим из таблицы букву Ё. 

Предположим, что требуется зашифровать слово КРИПТОГРАФИЯ.

Блок ЖЦ будет преобразован в символы ОЮ, а блок ТЪ в символы ЪВ.

В соответствии с описанными правилами слово КРИПТОГРАФИЯ будет преобразовано в криптограмму ИТЙИЦКАУДРПШ.

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

Здесь уместно рассмотреть криптографическую систему Хилла, в которой шифрование осуществляется с использованием математических преобразований: вычислений с помощью приемов  линейной алгебры [4].

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

Первоначально открытый текст методом замены следует преобразовать в совокупность чисел. Предположим, что шифруется текст, написанный  с использованием 26-ти латинских букв.  Выберем следующий алгоритм замены букв на числа: латинские буквы A, B, C, D, …, Z  будем заменять соответственно числами 1, 2, 3, 4,…, 26. Другими словами: пронумеруем буквы в порядке их расположения в алфавите, и при замене будем использовать их порядковые номера. В данном случае выбран такой алгоритм замены, но понятно, что он может быть любым..

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

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

Для пояснения идеи возьмем квадратную таблицу (матрицу) 8  8, будем записывать текст последовательно по строкам сверху вниз, а считывать по столбцам последовательно слева направо.

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

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

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

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

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

Для повышения криптостойкости методы замены и перестановки нередко используют в сочетании с аддитивным методом.

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

 Генератор потока ключей – гаммы  выдает поток битов:1, 2, 3,…, i.   Этот поток битов и поток битов открытого текста p1, p2, p3,…, pi подвергаются поразрядно логической операции Исключающее ИЛИ. В результате получается поток битов шифротекста:

ci = pi  i.

При дешифровании операция Исключающее ИЛИ выполняется над битами шифротекста и тем же самым потоком гаммы:

pi = ci  i.

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

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

 Рассматриваемый метод закрытия информации разработали в 1976 г. американцы Уитфилд Диффи и Мартин Хеллман.

Опишем пример использования такой системы.

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

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

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

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

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

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

61

62. Криптография и стеганография.

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

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

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

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

Акростих — стихотворение, в котором начальные буквы строк составляют слово или фразу.

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

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

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

При шифровании сообщений методами компьютерной стеганографии чаще всего используют информацию, запрятанную в последнем (наименьшем) значащем бите LSB (Least Significant Bits). При цифровом представлении графики и звука последний бит контейнера считается малозначимым, часто изменяющимся по случайному закону. Шумы, возникающие при аналогово-цифровом преобразовании звука и изображения (шумы квантования), случайным образом изменяют последний бит каждого отсчета.

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

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

В настоящее время проблемами защиты информации занимается криптология (kryрtos — тайный, logos — наука). Криптология разделяется на два направления — криптографию и криптоанализ. Цели этих двух направлений криптологии прямо противоположны.

Криптография — наука о защите информации от несанкционированного получения ее посторонними лицами. Сфера интересов криптографии — разработка и исследование методов шифрования информации.

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

Сфера интересов криптоанализа противоположная — разработка и исследование методов дешифрования (раскрытия) шифрограммы даже без знания секретного ключа.

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

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

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

Существует несколько классификаций шифров.

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]