Тайнопись. Практическое пособие по шифрованию. 4

Евгений Александрович Лыгин
IV.   СРЕДСТВА  И СПОСОБЫ  ШИФРОВАНИЯ



СРЕДСТВА  ШИФРОВАНИЯ  И
 ОСНОВНЫЕ  ПОНЯТИЯ

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

Первый  источник.

     КОДИРОВАНИЕ  - когда элементы (слова, предложения) исходного текста заменяются цифровыми, буквенными  и  комбинированными  кодами.
     Под  ШИФРОВАНИЕМ  понимается такой вид закрытия, при котором преобразованию (изменению) подвергается   каждый  символ  защищаемого  сообщения.   
     КРИПТОГРАФИЕЙ   называется способ тайного письма  при  котором  используются  как  шифры,  так  и  коды.   

Другой  источник.

     КОДИРОВАНИЕ  обычно означает перевод информации из одной формы представления  в другую по некоторому  известному  всем  алгоритму. 
     При   ШИФРОВАНИИ   алгоритм  перевода   держится  в  тайне.

     Не могу полностью согласиться с такими определениями хотя бы потому,  что ещё 140 лет назад В.И.Даль раскрыл  эти  понятия  в  «Толковом  словаре  живого  великорусского языка».  Книга рассчитана на широкий круг читателей,  и не  важно,  как мы это назовём:  тайнопись, кодирование, шифрование, криптография, засекречивание, преобразование,  маскировка;  цель одна  -  защитить информацию,  скрыть  содержание  написанного,  сделать   сообщение   невидимым,  незаметным  или  (и)  непонятным   для   непосвящённых. 
     Предлагаю шифровку из детской книжки-раскраски  «Спортивная карусель» (Мин Воды, изд. «Кавказская здравница»):  14  16  20  16  19  17  16  18  20 .    На картинке изображены 9 мотоциклистов,  у каждого на спине номер.  Мотоциклисты  (номера)  расположены  в  таком  порядке:  14, 16,  20,  16,  19,  17,  16,  18,  20.  Прочти слово  (каждому  числу  соответствует  буква  алфавита). 
     Здесь даны две важные подсказки, которые облегчают дешифровку  (в настоящих  шифровках  подсказок не будет). Первая подсказка  в виде картинки  - тема,  речь идёт о  спорте,  гонках.  Вторая  -  принцип  кодирования,  каждая  буква кодируется двузначным числом (цифровой группой).  В шифровке  есть  одинаковые  числа,  значит,  в  тексте  некоторые  буквы  повторяются. 
     Существует множество шифров  (систем шифрования): шифр простой подстановки, дробные,  так называемые диграммные,  триграммные  и  n  - граммные,  шифры Виженера  с различными вариантами, шифр Плейфер,  разнообразные типы кодов.  Основными способами криптографического закрытия информации являются:  замена, перестановка, гаммирование,  преобразование с помощью  математических  формул  и  комбинирование  этих  методов. Каждый  из перечисленных  способов  имеет  несколько разновидностей. Открытый текст разбивается на элементарные части (элементы): отдельные буквы (монограммы), пары букв (биграммы, диграммы, двузначные буквенные группы), тройки букв (триграммы) или блоки (n-граммы). Элемент исходного текста преобразуется в элемент шифрованного текста. Наиболее древними считаются способы  замены  и  перестановки.  В  приложении  №  9   показан ребус  как простая  разновидность способа замены, где  элемент  исходного  текста  заменяется  на  рисунок.
     Для  передачи секретных сообщений существуют  средства ручного шифрования  -  документы  ручного кодирования  -  документы шифрованной связи  (СРШ-ДРК-ДШС):  кодовые таблицы сигналов, переговорные таблицы,  шифроблокноты  и т.п.  СРШ-ДРК-ДШС  могут быть разного принципа и назначения,  и у каждого есть свои особенности,  плюсы  и минусы.  По одним затрачивается больше времени для шифрования и расшифрования,  но они более надёжно обеспечивают сохранность секрета. При работе с другими  СРШ-ДРК,  время,  необходимое для кодирования,  расходуется меньше, но  максимально возможный объём передаваемой информации ограничен,  узкая специфика и гарантия защищённости  секрета  меньше.  СРШ-ДРК  разрабатываются и изготавливаются,  как  правило,  специально  персонально, индивидуально для работы какого-то подразделения,  службы или для проведения  мероприятия  с  учётом  специфики.  Кодируются  сразу  слова,  команды,  доклады, целые фразы (смысловое кодирование).  Такие документы шифрованной связи можно использовать там,  где работа идёт без изменений  постоянно  по конкретному  вопросу,  определённой  теме  с  узкой  спецификой  и  однотипная  информация  передаётся   в  небольшом  объёме.
     Но для того, чтобы можно было кодировать любой текст (в данном случае имеется в виду способ замены),  СРШ-ДРК  должны  обеспечивать  принцип  кодирования (преобразования) каждой  буквы  отдельно  (символьное  кодирование).
     Криптография обеспечивает конфиденциальность, целостность (подлинность) информации и идентификацию отправителя сообщения.
     Существуют криптографические системы традиционные (симметричные) и с открытым ключом (асимметричные).
     В симметричных шифрах и для шифрования отправителем, и для расшифрования  получателем применяется один и тот же ключ. Если ключ не был скомпрометирован, то при расшифровке автоматически выполняется аутентификация отправителя, так как только отправитель (и получатель) имеет ключ.
     В несимметричной системе создаются два ключа – открытый и секретный. Данные, зашифрованные одним ключом, могут быть расшифрованы только другим ключом.
     Шифрование может быть ручным и машинным, блочным и поточным. Машинное шифрование реализуется программно и аппаратно. Поточные шифры, как правило, более производительны, чем блочные.
 









СПОСОБЫ  ШИФРОВАНИЯ


1.  МЕТОД  ПЕРЕСТАНОВКИ

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

1.1.  ПЕРЕСТАНОВКА  ПО  ТАБЛИЦЕ

1.1.1.  ПРОСТАЯ  ПЕРЕСТАНОВКА

     При шифровании ПРОСТОЙ ПЕРЕСТАНОВКОЙ (приложение № 10) выбирается ключевое слово с неповторяющимися символами или цифровой ключ. Число колонок в таблице задаётся количеством символов в ключе, а число строк может быть фиксировано или может задаваться длиной сообщения. Шифруемый текст записывается последовательными строками под символами ключа.   Для заполнения пустых клеток (если объём текста меньше ёмкости таблицы) можно использовать любые символы. Затем текст выписывается колонками в той последовательности, в которой располагаются в алфавите буквы ключа или в порядке следования цифр, если ключ цифровой. В качестве примера рассмотрим шифрование сообщения: «БУДЬТЕ ОСТОРОЖНЫ С ПРЕДСТАВИТЕЛЕМ  ФИРМЫ  «СПЕКТР».  Применим  цифровой  ключ - 5 1 8 3 7 4 6 2.  Выписывая текст по колонкам,  получаем  абракадабру:  УОРТМССВИТЬОДЛСЕНТМЕБТПИРРОЫАФКТЖС
ЕПДРЕЕЫ.
     Расшифрование выполняется в следующем порядке.  Подсчитываем число знаков в зашифрованном тексте и делим на число знаков ключа (41: 8=5 и 1 знак в остатке). Под знаками ключа в соответствующей последовательности записываем вертикально (колонками) символы зашифрованного текста в определенном выше количестве. В каждой колонке по 5 символов, а в одной (первой слева) - 6 символов (5+1 буква в остатке). По строкам таблицы (горизонтально) читаем исходный текст.
     Выше, в «Истории тайнописи», упоминается шифр называемый «Скитала» (наматывание ленты на жезл). Это не что иное, как перестановка  по  таблице  с  простым  ключом  -  1 2 3 4 …

Вскрытие шифра.
     Общие принципы взлома криптосистемы, когда ключ неизвестен, таковы. Исследуя шифрограмму убеждаемся, что частоты появления отдельных букв в ней (О, Е …) не изменились, они близки к средним частотам встречаемости букв в русском языке (частоты употребления букв приведены под заголовком «Разработка средств шифрования»).  В то же время частоты пар букв (диграфов) отличаются от частот их встречаемости в русском языке. Это говорит о том, что применён не способ замены, а шифр перестановки.
     Первая задача – определить длину ключа. Подсказкой является длина шифрограммы (в нашем примере 41 символ). По количеству букв видно, что таблица перестановки не была заполнена полностью ни буквами сообщения, ни буквами-пустышками (41 не раскладывается на множители  без остатка). Раскладывая это число на множители, получим несколько возможных вариантов длины ключа. Здесь может помочь то, что две буквы, стоящие рядом в исходном сообщении, в шифрованном тексте будут отстоять друг от друга на число позиций кратное количеству строк в таблице (если только одна из букв не находится в конце одной строки, а другая – в начале следующей строки). Выбираем один из вариантов длины ключа, например 8 символов. Выписываем шифротекст подряд в 8 столбцов. Если длина ключа выбрана правильно, то буквы, стоящие рядом в открытом тексте, окажутся в одной строке. В каждой строке анализируем пары букв в разных сочетаниях, чтобы определить среди них наиболее вероятные диграфы. Наиболее часто встречающиеся в русском языке диграммы и их частоты следующие:  ТО – 0,0814;  НО – 0,0736;  ПО – 0,0607;  НИ – 0,0585;  РО – 0,0578; РА – 0,0562;  НА –0,0557;  ЕН - 0,0539;  КО – 0,0516;  АЛ – 0,0477.
     Отслеживая связи в парах, мы установим очерёдность следования букв в строках. Переставляем столбцы так, чтобы буквы в строках располагались в правильной (читаемой, смысловой) последовательности.
   

1.1.2.  УСЛОЖНЁННАЯ  ПЕРЕСТАНОВКА

     УСЛОЖНЕНИЕ ПЕРЕСТАНОВКИ ПО ТАБЛИЦЕ   заключается в том, что для записи символов шифруемого  текста используется специальная таблица, в которую введены некоторые усложняющие элементы. В приложении № 10 приведен пример такой таблицы. Таблица представляет собой матрицу размерами 10;10 элементов (ячеек). Верхняя строка - это цифровой ключ: 2618305947. Ниже построчно записан шифруемый текст. Усложнение состоит в том, что определенное число клеток таблицы не используется (они заштрихованы или затушёваны). Количество и расположение неиспользуемых ячеек является дополнительным ключом шифрования. Процедура шифрования аналогична простой перестановке. Зашифрованный текст будет выглядеть так: ДОДПБРЕСЬОТМКОСМЕНВИ
ТУТЕЛСПТЫРСЕЕЫИРРТЖАФ. 
     Для расшифрования отсчитываем по порядку 41 клетку (количество букв в тексте), исключая затушёванные. Это покажет границы текста в таблице и определит количество букв в каждом столбце. Буквы зашифрованного текста вписываются в таблицу колонками в порядке следования цифр ключа. Исходный текст считывается по строкам.
     Варьируя размерами таблицы, последовательностью символов ключа, количеством и расположением неиспользуемых клеток, можно получить требуемую стойкость зашифрованного текста.
     С целью повышения надежности закрытия информации можно подготовить 7 вариантов таблиц перестановки,  каждая из которых снабжена своим ключом. В каждый из дней недели будет использоваться соответствующая таблица. Пример использования таблиц показан в приложении № 11. В зависимости от дня недели сообщение будет иметь следующий вид: 

Понедельник:    ЕТЖСУТСРБЬООЫДОНП …
Вторник:           УТСНПДЕТЫБОРЖЬООС … 
Среда:                БСЖДЕРПЬОТОЫУТОНС ...   
       ……… :             …………………………………   
         
     Эти таблицы можно использовать по-другому. Например, первые 17 букв текста шифруются по первой таблице, следующие 17 букв - по второй таблице и т. д. 
     Чтобы повысить стойкость шифра, можно применить двойную перестановку.  Т.е., полученный после первой перестановки шифротекст, снова построчно записать в таблицу и выписать по столбцам. Повторная перестановка нарушает закономерности расположения диграфов в таблице. Ещё лучше, если для второй перестановки применить другой ключ (другие количество символов ключа и порядок их следования).

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





1.1.3.  ПЕРЕСТАНОВКА  ПО  РОМБОВИДНОЙ
ТАБЛИЦЕ.

     В ромбовидной таблице все строчки и столбцы состоят из нечётного числа букв. Начинаясь с одной буквы, длина строки и столбца каждый раз увеличивается на 2, пока не достигнет некоторого определённого значения, а затем каждый раз уменьшается на 2, пока снова не достигнет единицы (рис.2). Такая таблица симметрична относительно центральной строки и центрального столбца. Процедура шифрования и расшифрования  такая же, как перестановка по  простой  прямоугольной  таблице.
     Из-за разной длины столбцов буквы открытого текста, которые стояли рядом, теперь будут разнесены на разные расстояния. Это усложняет взлом шифра методом диграфов. 
 
1 2 3 4 5 6 7
А
Б В Г
Д Е Ё Ж З
И Й К Л М Н О
П Р С Т У
Ф Х Ц
Ч
 
Рис. 2.   Ромбовидная таблица.


1.1.4.  ПЕРЕСТАНОВКА ПО «УЛИТКЕ».

     Исходный текст записывается в обычном порядке – слева направо, сверху вниз, построчно. В отличие от предыдущего  метода   здесь  шифротекст  выписывается  из  таб- лицы (из шифруемого блока символов) не колонками, а по спирали (метод улитки). Для этого таблица (текст) разбивается на квадратные фрагменты по 9 клеточек (3;3), как показано на рис. 3. В данном случае мы имеем два ключа. Первый ключ определяет размещение букв внутри фрагмента.  Второй  ключ  определяет  место (номер)  каждого фрагмента  внутри  таблицы (блока), очерёдность  выписывания  из  таблицы  для  шифрования  и  вписывания  при  расшифровании. Нумерация может начинаться как с центральной, так и с угловых клеток. Направление спирали может быть по часовой стрелке или против. В каждом фрагменте ключ может быть другим, что повысит стойкость шифра.


7 9 2 3 5
8 1 4
7 6 5
8 1 4
9 2 3
 
Рис. 3.  Метод  улитки 

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





Скачать книгу "Тайнопись. Практическое пособие по ручному шифрованию" бесплатно и без регистрации можно на сайте автора: http://lyginea.ucoz.ru

Критические замечания, свои отзывы, вопросы и предложения можете оставить в "Гостевой книге":   http://lyginea.ucoz.ru/gb/