Добавил:
linker.pp.ua Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Листопад - Теоретические основы цифровой радиосвязи, (2012).pdf
Скачиваний:
84
Добавлен:
15.12.2018
Размер:
10.45 Mб
Скачать

6.ОСНОВЫ КРИПТОГРАФИИ

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

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

подписи (ЭЦП), хеш-функции, управление ключами, получение скрытой ин-

формации, квантовую криптографию.

 

Р

И

 

 

У

 

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

 

Г

Б

Симметричные криптосистемы – способ шифрования, в котором для

а

 

шифрования и расшифровывания применяется один и тот же криптографиче-

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

Алгоритмы шифрования и д шифрования данных широко применяются в компьютерной технике в сисемах сокрытия конфиденциальной и коммерческой информации зл намеренного использования сторонними лица-

ми. Главным принцип м в них является условие, что передатчик и приемник

 

 

 

т

заранее знают алгор тм ш фр вания, а также ключ к сообщению, без кото-

 

 

о

рых информация представляет собой всего лишь набор символов, не имею-

щих смысла.

и

 

 

 

 

Классическим примером таких алгоритмов являются симметричные

криптографическиелалгоритмы, перечисленные ниже:

– простая перестановка;

 

б

 

 

– од ночная перестановка по ключу;

– двойная перестановка;

и

 

 

– перестановка «Магический квадрат».

Простая перестановка без ключа – один из самых простых методов

Б

 

 

 

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

83

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

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

Магическими квадратами называются квадратные таблицы со вписан-

 

Р

ными в их клетки последовательными натуральными числами от 1, которые

И

У

 

дают в сумме по каждому столбцу, каждой строке и каждой диагонали одно и

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

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

руемого текста по приведенной в них нумерации. Если потом выписать со-

менее, их число очень быстро возраст ет с увеличением размера квадрата.

Б

3, если не при-

Так, существует лишь один магический кв др т размером 3

нимать во внимание его повороты. М гических квадратов 4 4 насчитывает-

ся уже 880, а число магических

а

размером 5 5 около 250 000. По-

этому магические квадраты большихквадратовразмеров были хорошей основой для

надежной системы шифрования, по ому что ручной перебор всех вариантов

 

 

 

 

 

 

е

 

 

 

ключа для этого шифра немыслим.

 

 

 

Рассмотрим пример шифрования короткого сообщения с использова-

нием квадрата 4 4.

 

т

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

о

 

 

 

 

 

 

 

16

 

 

3

2

13

 

 

 

 

и

 

 

 

 

 

 

 

 

5

 

10

11

8

 

 

 

 

9

 

 

6

7

12

 

 

 

л

 

 

 

 

 

 

 

б

4

 

 

15

14

1

 

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

и

 

 

 

 

 

 

 

 

зом. Например, требуется зашифровать фразу: «ПриезжаюCегодня.». Буквы

Б

 

 

 

 

 

 

 

 

 

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

84

16 .

3

и

2

р

13 д

5 з

10 е

11 г

8

ю

9 с

6

ж

7

а

12 о

4 е

15 я

14 н

1

п

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

При расшифровывании текст вписывается в квадрат, и открытый текст читается в последовательности чисел «магического квадрата».

В настоящее время известны следующие две разновидности симмет-

ричных шифров.

Р

 

Блочные шифры. Обрабатывают информацию блоками определѐнной дли-

 

И

ны (обычно 64, 128 символов). К блоку применяется ключ в установленном по-

рядке, как правило, несколькими циклами перемешивания и подстановки, назы-

– нарастающая потеря соответствия символов между блокамиУоткрытых и зашифрованных данных.

ваемыми раундами. Результатом повторения раундов является лавинный эффект

том исходного (открытого) текста с использованиемБГгаммирования. Гаммирование (gamma xoring) – метод шифрования, основанный на «наложении»

Поточные шифры. Шифрование проводится над каждым битом либо бай-

вид обычного «исключающего ИЛИ»)к. Приар сшифровке операция проводится повторно, в результате получается от рытый те ст.

гамма-последовательности на открытый текст. Обычно это суммирование в ка-

ком-либо конечном поле (например, в поле GF(2) т кое суммирование принимает

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

Большинство симметричных шифров используют сложную комбина-

проходе «ключ прох да». Мн жес во «ключей прохода» для всех проходов

называется «расписанием ключей» (key schedule). Как правило, оно создается

 

 

 

т

из ключа выполнен ем над ним неких операций, в том числе перестановок и

подстановок.

 

о

 

 

 

Операция перестановки перемешивает биты сообщения по некоему за-

 

и

 

кону. В аппаратных реализациях она тривиально реализуется как перепуты-

 

л

 

 

ван проводников. Именно операции перестановки дают возможность до-

б стиженБНаиболеея «эффекта лавины». Операция перестановки линейна – f(a) xor f(b) = = f(a xor b).

распространенные алгоритмы симметричных криптосистем:

– AES (Advanced Encryption Standard) – американский стандарт шифрова-

ния;

ГОСТ 28147-89 – отечественный стандарт шифрования данных;

DES (Data Encryption Standard) – стандарт шифрования данных в США до

AES;

3DES (Triple-DES, тройной DES);

RC6 (шифр Ривеста );

–Twofish;

85

IDEA (International Data Encryption Algorithm);

SEED – корейский стандарт шифрования данных;

Camellia – сертифицированный для использовании в Японии шифр;

CAST (по инициалам разработчиков Carlisle Adams и Stafford Tavares);

XTEA – наиболее простой в реализации алгоритм.

К основным недостаткам симметричных криптосистем следует отне-

сти:

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

вать, хранить и уничтожать в сети. Для сети в 10 абонентов требуется 45

ключей, для 100 – уже 4950, для 1000 – 499500 и т. д.;

 

Р

 

 

– сложность обмена ключами. Для применения необходимо решить про-

 

И

блему надѐжной передачи ключей каждому абоненту, так как нужен секретный

канал для передачи каждого ключа обеим сторонам.

У

 

Для компенсации недостатков симметричного шифрования в настоя-

щее время широко применяется комбинированная (гибридная) криптографи-

ческая схема, где с помощью асимметричного шифрованияГ передаѐтся сеан- Б

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

Важным свойством симметричных шифров является невозможность их

использования для подтверждения авторст , т к как ключ известен каждой

стороне.

 

 

ва

6.2.

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

 

 

т

Криптографическая сис емас открытым ключом (или асимметричное

 

по

 

шифрование, асимметричный шифр) – система шифрования, при которой от-

 

и

 

 

крытый ключ передаѐтся

 

ткрытому (то есть незащищѐнному, доступному

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

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

БНо сама односторонняя функция бесполезна в применении: ею можно зашифровать сообщение, но расшифровать нельзя. Поэтому криптография с открытым ключом использует односторонние функции с лазейкой. Лазейка – это некий секрет, который помогает при расшифровке. То есть существует такой y, что зная f(x) и y, можно вычислить x. К примеру, если разобрать часы на множество составных частей, то очень сложно собрать вновь работающие часы. Но если есть инструкция по сборке (лазейка), то можно легко решить эту проблему.

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

86

в сети имеет свой пароль. При входе он указывает имя и вводит секретный пароль. Но если хранить пароль на диске компьютера, то кто-нибудь его может считать (особенно легко это сделать администратору этого компьютера) и получить доступ к секретной информации. Для решения задачи используется односторонняя функция. При создании секретного пароля в компьютере сохраняется не сам пароль, а результат вычисления функции от этого пароля и имени пользователя. Например, пользователь Алиса придумала пароль «Гладиолус». При сохранении этих данных вычисляется результат функции f(ГЛАДИОЛУС), пусть результатом будет строка РОМАШКА, которая и будет сохранена в системе. В результате файл паролей примет следующий вид:

 

Имя

f(имя_пароль)

 

 

 

Р

 

АЛИСА

РОМАШКА

 

 

 

 

БОБ

НАРЦИСС

 

 

 

 

 

 

 

 

 

 

Вход в систему теперь выглядит так:

 

 

 

И

 

 

 

 

 

 

 

 

 

 

 

У

 

 

Имя:

АЛИСА

 

 

 

 

Пароль:

ГЛАДИОЛУС

 

 

 

Г

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Когда Алиса вводит «секретный»

, компьютер проверяет, даѐт

ли функция, применяемая к ГЛАДИОЛУС, пр вильный результат РОМАШ-

 

 

 

Б

 

 

 

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

ретный» пароль не хранится в компьют ре ни в каком виде. Файл паролей

имени или в пароле, и результат фун ции будет совершенно другим. «Сек-

 

пароль

к

е

 

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

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

ности, так как функция прак ически необратима.

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

справочник, состоящий из нескольких толстых томов (по нему очень легко

информации. лД я ш фрования текста можно взять большой абонентский

б етсяБмя, нач нающееся на ту же букву. Таким образом букве ставится в со-

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

ответств е номер телефона абонента. Отправляемое сообщение, например «КОРО КА», будет зашифровано следующим образом:

87