logo
Криптология: точки соприкосновения математики и языкознания

РОЛЬ ЯЗЫКА В СОСТАВЛЕНИИ И РАЗГАДКЕ ШИФРОВ

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

Буква

Относит. частота

Буква

Относит. частота

Буква

Относит. частота

0

1

2

3

4

5

6

7

8

9

а

б

в

г

д

е, ё

ж

з

и

й

0,062

0,014

0,038

0,013

0,025

0,072

0,007

0,016

0,062

0,010

10

11

12

13

14

15

16

17

18

19

к

л

м

н

о

п

р

с

т

у

0,028

0,035

0,026

0,053

0,090

0,023

0,040

0,045

0,053

0,021

20

21

22

23

24

25

26

27

28

29

30

ф

х

ц

ч

ш

щ

ы

ь, ъ

э

ю

я

0,002

0,009

0,004

0,012

0,006

0,003

0,016

0,014

0,003

0,006

0,018

Итак, в русском тексте чаще всего встречается буква «О», затем буква «Е» и на третьем месте стоят буквы «И» и «А». Реже всего - буквы «Щ» и «Ф».

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

В процессе шифрования (и дешифрования) используется таблица («таблица Виженера»), которая устроена следующим способом: в первой строке выписывается весь алфавит, в каждой следующей осуществляется циклический сдвиг на одну букву. Так получается квадратная таблица, число строк которой равно числу столбцов и равно числу букв в алфавите. Ниже представлена таблица, составленная из 31 буквы русского алфавита (без букв «Ё» и «Ъ»). Чтобы зашифровать какое-нибудь сообщение, поступают следующим образом. Выбирается слово - ключ (например, «монастырь») и подписывается с повторением над буквами сообщения.

Таблица Виженера

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ь

Ы

Э

Ю

Я

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ь

Ы

Э

Ю

Я

А

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ь

Ы

Э

Ю

Я

А

Б

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ь

Ы

Э

Ю

Я

А

Б

В

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ь

Ы

Э

Ю

Я

А

Б

В

Г

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ь

Ы

Э

Ю

Я

А

Б

В

Г

Д

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ь

Ы

Э

Ю

Я

А

Б

В

Г

Д

Е

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ь

Ы

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ь

Ы

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ь

Ы

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ь

Ы

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ь

Ы

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ь

Ы

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ь

Ы

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ь

Ы

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ь

Ы

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ь

Ы

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ь

Ы

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ь

Ы

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

У

Ф

Х

Ц

Ч

Ш

Щ

Ь

Ы

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

Ф

Х

Ц

Ч

Ш

Щ

Ь

Ы

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Х

Ц

Ч

Ш

Щ

Ь

Ы

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Ц

Ч

Ш

Щ

Ь

Ы

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ч

Ш

Щ

Ь

Ы

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ш

Щ

Ь

Ы

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Щ

Ь

Ы

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Ь

Ы

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ы

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ь

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ь

Ы

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ь

Ы

Э

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ь

Ы

Э

Ю

Чтобы получить шифрованный текст, находят очередной знак ключа, начиная с первого в вертикальном алфавите, а ему соответствующий знак сообщения в горизонтальном. В данном примере сначала находим столбец, отвечающий букве «М» ключа, а затем строку, соответствующую букве «Р» открытого текста. На пересечении выделенных столбца и строки находи букву «Э». Так продолжая дальше, находим шифрованный текст полностью:

м

о

н

а

с

т

ы

р

ь

м

о

н

а

с

т

ы

р

ь

м

о

н

р

а

с

к

и

н

у

л

о

с

ь

м

о

р

е

ш

и

р

о

к

о

э

о

я

к

щ

а

п

ы

й

ю

й

щ

о

в

ч

ф

ш

л

ь

ш

ы

Наконец, к сообщению можно применять несколько систем шифрования.

Аббат Тритемиус - автор первой печатной книги о тайнописи (1518 г.) - предложил несколько шифров и среди них шифр, который можно считать усовершенствованием шифра Г.Ю.Цезаря. Этот шифр устроен так. Все буквы алфавита нумеруются по порядку (от 1 до 33 в русском варианте). Затем выбирают какой-нибудь ключ, например «Вологда», и подписывают сообщением с повторением, как показано ниже:

о

п

е

р

а

ц

и

я

н

а

ч

и

н

а

е

т

с

я

в

в

о

с

к

р

е

с

е

н

ь

е

в

о

л

о

г

д

а

в

о

л

о

г

д

а

в

о

л

о

г

д

а

в

о

л

о

г

д

а

в

о

Чтобы получить шифрованный текст, складывают номер очередной буквы с номером соответствующей буквы ключа. Если полученная сумма больше 33, то из нее вычитают 33. В результате получается последовательность чисел от 1 до 33. Вновь заменяя числа этой последовательности соответствующими буквами, получают шифрованный текст. Разбивая этот текст на группы особой длины (например, по 5), получают шифрованное сообщение:

«СЯСАД ЫЙВЭМ ЖМТБЗ ВЮОЁЖ ПФЪЭФ ХЙОЯФ»

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

«СТЗУГ ЩЛВРГ ЪЛРГЗ ХФВНЕЕ СФНУЗ ФЗРЯЗ»

Появившийся в XVIII в. шифр «по книге» можно рассматривать как дальнейшее усовершенствование шифра Г.Ю.Цезаря. Чтобы воспользоваться этим шифром, два корреспондента договариваются об определенной книге, имеющейся у каждого из них. Например, Я.Гашек «Похождения бравого солдата Швейка» (Москва, 1997). В качестве ключа каждый из них может выбрать «слово» той же длины, что и передаваемое сообщение. Этот ключ кодируется парой чисел, а именно номером страницы и номером строки на ней, и передается вместе с шифрованным сообщением. Например, (287,2) определяет «слово», то есть текст избранной книги: «Внимательно прочитав эту страницу, офицеры ничего не поняли…». Этому ключу отвечает последовательность чисел (от 1 до 33):

В н и м а т е л ь н о п р о ч и т а в э т у с т р а н и ц у…

03 15 10 14 01 20 06 13 30 15 16 17 18 16 25 10 20 01 03 31 20 21 19 20 18 01 15 10 24 21…

Зная этот ключ, можно легко расшифровать переданное сообщение. Например,

«РОНЮП ЕЧХВШ РХЩЮЩ ХУШРМ ШВЧФА» «Над Россией безоблачное небо»

Примером нераскрываемого шифра может служить «одноразовый шифровальный блокнот» - шифр, в основе которого лежит та же идея, что и в алфавите Г.Ю.Цезаря. Назовем расширенным алфавитом совокупность букв алфавита, знака пробела между словами и знаков препинания [. , : ; ! ? ( ) - “]. Число символов расширенного алфавита в русском варианте равно 44. Занумеруем символы расширенного алфавита числами от 0 до 43. Тогда любой передаваемый текст можно рассматривать как числовую последовательность {an} множества А={0, 1, 2, …, 43}.

Предположим, что имеем случайную последовательность {сn} из чисел множества А той же длины, что и передаваемый текст (ключ). Складывая по модулю 44 число an передаваемого текста с соответствующим числом сn ключа

an + сn ? bn (mod 44), 0 ? bn ? 43,

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

an ? сn - bn (mod 44), 0 ? an ? 43,

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

Случайная последовательность чисел множества А может быть получена при помощи «вертушки со стрелкой». Обод вертушки разделен на 44 равные части (дуги). Каждая из них помечена числами от 0 до 43. Запуская вертушку, получим какое-нибудь из чисел множества А. Продолжая так дальше, можем получить случайную последовательность любой длины.

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