Какие способы шифровки есть

Тайнопись. Практическое пособие по шифрованию. 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 букв в каждый фрагмент (каждая буква в очерёдности, определяемой первым ключом). Фрагменты заполняются в очерёдности, определяемой вторым ключом. Открытый текст считывается построчно.
Можно сказать, что этот способ является разновидностью венгерского кроссворда (филворда).

Источник

Элементарные шифры на понятном языке

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

Прежде всего, разберемся в терминологии.

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

Исходное сообщение – это, собственно, то, что мы хотим зашифровать. Классический пример — текст.

Шифрованное сообщение – это сообщение, прошедшее процесс шифрования.

Шифр — это сам алгоритм, по которому мы преобразовываем сообщение.

Ключ — это компонент, на основе которого можно произвести шифрование или дешифрование.

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

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

Шифр Атбаша

Самый-самый простой шифр. Его суть – переворот алфавита с ног на голову.

Читайте также:  Как варить кофе холодным способом

Например, есть у нас алфавит, который полностью соответствует обычной латинице.

Для реализации шифра Атбаша просто инвертируем его. «А» станет «Z», «B» превратится в «Y» и наоборот. На выходе получим такую картину:

И теперь пишем нужное сообшение на исходном алфавите и алфавите шифра

Исходное сообщение: I love habr
Зашифрованное: r olev szyi

Шифр Цезаря

Тут добавляется еще один параметр — примитивный ключ в виде числа от 1 до 25 (для латиницы). На практике, ключ будет от 4 до 10.

Опять же, для наглядности, возьмем латиницу

И теперь сместим вправо или влево каждую букву на ключевое число значений.

Например, ключ у нас будет 4 и смещение вправо.

Исходный алфавит: a b c d e f g h i j k l m n o p q r s t u v w x y z
Зашифрованный: w x y z a b c d e f g h i j k l m n o p q r s t u v

Пробуем написать сообщение:

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

Шифр Вернама (XOR-шифр)

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

Исходный алфавит — все та же латиница.

Сообщение разбиваем на отдельные символы и каждый символ представляем в бинарном виде.
Классики криптографии предлагают пятизначный код бодо для каждой буквы. Мы же попробуем изменить этот шифр для кодирования в 8 бит/символ на примере ASCII-таблицы. Каждую букву представим в виде бинарного кода.

Теперь вспомним курс электроники и элемент «Исключающее ИЛИ», также известный как XOR.

XOR принимает сигналы (0 или 1 каждый), проводит над ними логическую операцию и выдает один сигнал, исходя из входных значений.

Если все сигналы равны между собой (0-0 или 1-1 или 0-0-0 и т.д.), то на выходе получаем 0.
Если сигналы не равны (0-1 или 1-0 или 1-0-0 и т.д.), то на выходе получаем 1.

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

сообщение: LONDON
ключ: SYSTEM

Переведем их в бинарный код и выполним XOR:

В данном конкретном примере на месте результирующих символов мы увидим только пустое место, ведь все символы попали в первые 32 служебных символа. Однако, если перевести полученный результат в числа, то получим следующую картину:

С виду — совершенно несвязный набор чисел, но мы-то знаем.

Шифр кодового слова

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

Например, возьмем для разнообразия, кириллический алфавит.

Придумаем кодовое слово. Например, «Лукоморье». Выдернем из него все повторяющиеся символы. На выходе получаем слово «Лукомрье».

Теперь вписываем данное слово в начале алфавита, а остальные символы оставляем без изменений.

И теперь запишем любое сообщение и зашифруем его.

Получим в итоге следующий нечитаемый бред:

Шифр Плейфера

Классический шифр Плейфера предполагает в основе матрицу 5х5, заполненную символами латинского алфавита (i и j пишутся в одну клетку), кодовое слово и дальнейшую манипуляцию над ними.

Пусть кодовое слово у нас будет «HELLO».

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

Теперь возьмем любое сообщение. Например, «I LOVE HABR AND GITHUB».

Разобьем его на биграммы, т.е. на пары символов, не учитывая пробелы.

Если бы сообщение было из нечетного количества символов, или в биграмме были бы два одинаковых символа (LL, например), то на место недостающего или повторившегося символа ставится символ X.

Шифрование выполняется по нескольким несложным правилам:

1) Если символы биграммы находятся в матрице на одной строке — смещаем их вправо на одну позицию. Если символ был крайним в ряду — он становится первым.

Например, EH становится LE.

2) Если символы биграммы находятся в одном столбце, то они смещаются на одну позицию вниз. Если символ находился в самом низу столбца, то он принимает значение самого верхнего.

Например, если бы у нас была биграмма LX, то она стала бы DL.

3) Если символы не находятся ни на одной строке, ни на одном столбце, то строим прямоугольник, где наши символы — края диагонали. И меняем углы местами.

Например, биграмма RA.

По этим правилам, шифруем все сообщение.

Если убрать пробелы, то получим следующее зашифрованное сообщение:

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

Источник

Оцените статью
Разные способы