Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект часть2-Криптография.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.29 Mб
Скачать

3.2. Основные классы симметричных криптосистем

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

Моно- и многоалфавитные подстановки.

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

Перестановки.

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

Блочные шифры.

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

Гаммирование.

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

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

3.3. Шифр замены

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

XOR

0

1

0

0

1

1

1

0

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

Эта функция достигает минимума при p=0,5. Это означает равновероятный выбор значений 1 и 0 в случайной последовательности. Если биты в случайной последовательности с одинаковой вероятностью принимают значения 0 и 1, то и биты в шифровке будут обладать тем же свойством. Действительно, пусть вероятность нулевого бита в тексте равна p, а единичного бита 1-p. Нулевой бит в шифровке появляется, когда соответствующие биты текста и последовательности равны или 0, или 1. Следовательно, вероятность появления нулевого бита в шифровке равна:

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

Из-за специфики операции XOR процедура шифрования совпадает с процедурой расшифровывания. Действительно, обозначим через t вектор бит сообщения,  - вектор случайной последовательности, s – вектор шифровки. Шифровку получаем следующим образом:

,

а сообщение из шифровки

,

т.к.

Такой шифр представляет собой многоалфавитные шифры замены.

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

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

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

Найдем их сумму: . Исходный текст может быть получен путем подбора s0, которое неизвестно, в выражении:

tn = s0 + s1 + s2 + s3 + … sn

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

Другая неприятность с машинными многоалфавитными шифрами замены может возникнуть, если в сообщении встречаются большие участки пробелов или нулевых символов. Например, линия связи недозагружена, но когда нет сообщений, аппаратура шифрования не отключается. Поэтому когда сообщений нет (t=0) шифровка будет представлять собой "чистую" последовательность ключа. Если в это время с помощью специальной аппаратуры перехватить шифровку, представляющую собой ключ s= , то можно положить на нее текст своего сообщения s'=s+t=t+ и передать искаженную шифровку по каналу связи. Получатель, расшифровав ее:

s' + = s + t + = t + + = t

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