Сообщение авва закодированное с помощью кода замены

Обновлено: 05.07.2024

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

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

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

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

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

Практика: Задание 1

Возьмём задание категории Crypto из репозитория "xairy/mipt-ctf"

Изображение внешнего вида таска

Перейдя по ссылке мы получим текст. Текст не маленький 153тысячи символов.

Текст Таска

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

Метод 1: CrypTool

Загружаем текст в CrypTool 1.4

CrypTool-загрузка текста

Analysis -> Symmetric Encryption (classic) -> Ciphertext-Only -> Substitution Дальше программа сама сделает за нас все(Проведет анализ и выдаст исходный текст)

CrypTool - результат работы

Остается указать автора как флаг

Метод 2: SubstitutionCipherDecryption

Автором данной статьи на просторах интернета была найдена интересная и удобная(на взгляд автора) программа SubstitutionCipherDecryption.exe

SubstitutionCipherDecryption - загрузка текста

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

SubstitutionCipherDecryption - после обработки

  • При нажатии "AutoAssign" программа автоматически подставит ОЧЕВИДНЫЕ совпадения. Остальное легче сделать руками. Мы легко можем догадаться, что, допустим, THE - самое частое слово из 3 букв. Т.е. выбрав статистику слов из 3 букв мы сразу увидим очевидную замену

SubstitutionCipherDecryption - подстановка 3ных слов

Метод 3 (От Создателя таска):

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

Для определения исходного текста по шифрованному при неизвестном ключе возможны два подхода:

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

В классической криптографии различают 4 разновидности шифров замены:

Простая замена, или одноалфавитный шифр. Каждая буква открытого текста заменяется на один и тот же символ шифртекста.

Омофонная замена. Аналогична простой замене с единственным отличием: каждой букве открытого текста ставятся в соответствие несколько символов шифртекста. Например, буква "А" заменяется на цифру 5, 13, 25 или 57 , а буква "Б" — на 7, 19, 31 или 43 и так далее.

Блочная замена. Шифрование открытого текста производится блоками. Например, блоку "АБА" может соответствовать "РТК", а блоку "АББ" — "СЛЛ".

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

Примеры простейших шифров замены.

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

а б в я
Ма Мб Мв Мя

Таблица вида 1.1 является ключом шифра замены. Зная ее, можно осуществлять как зашифрование, так и расшифрование информации. Причем каждому α можно поставить в соответствие несколько вариантов Мα:

Если каждой букве алфавита поставлена в соответствие буква алфавита замены, то такой шифр называется шифром простой однобуквенной замены.

Одним из известных шифров замены является шифр Цезаря. Такой шифр обладает недостатком: число различных ключей равно числу букв в алфавите.

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

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

Исходный текст алгоритма Атбаш для ASCII таблицы на языке С++:

char* Atbash(char* toCode)

for (i = 0; toCode[i] != 0; i++)

toCode[i] = (256 - toCode[i]);

Греческим писателем Полибием за 100 лет до н.э. был изобретен так называемый полибианский квадратразмером, например, 5*5. В каждую клетку этого квадрата вписывалась буква в порядке её следования в алфавите.

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

А Б В Г Д Е
Ж З И К Л М
Н О П Р С Т
У Ф Х Ц Ч Ш
Щ Ъ Ы Ь Э Ю
Я . , - :

В такой прямоугольник записывается алфавит, причем схема записи держится в тайне и составляет ключ шифрования. Для того чтобы получались приближенные к квадрату матрицы (6х6, 5х7, 6х5), в алфавит могут включаться знаки препинания или исключаться редко используемые символы (такие как ‘ё’, ‘й’).

Можно построить математическую модель шифрования: Ck(j) = (j + k) (mod n), где j - порядковый номер буквы в алфавите, Ck(j) – порядковый номер замещающей буквы, n – мощность входного алфавита (количество букв в используемом алфавите), а k - ключ (количество букв для сдвига).

Очевидно, что обратной подстановкой является Ck -1 (j) = Сn-k = (j + n - k) (mod n).

Известная фраза Юлия Цезаря VENI VINI VICI - "пришел, увидел, победил" зашифрованная с помощью данного метода, преобразуется в YNQL YLGL YLFL (при смещении на 3 символа), или в SBKF SFAF SFZF (при смещении на 4 символа).

Реализация алгоритма Цезаря на языке С++ для ASCII таблицы будет следующей:

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

  • Одноалфавитный шифр подстановки (шифр простой замены) — шифр, при котором каждый символ открытого текста заменяется на некоторый, фиксированный при данном ключе символ того же алфавита.
  • Однозвучный шифр подстановки похож на одноалфавитный за исключением того, что символ открытого текста может быть заменен одним из нескольких возможных символов.
  • Полиграммный шифр подстановки заменяет не один символ, а целую группу. Примеры: шифр Плейфера, шифр Хилла.
  • Многоалфавитный шифр подстановки состоит из нескольких шифров простой замены. Примеры: шифр Виженера, шифр Бофора, одноразовый блокнот.

Содержание

Шифры простой замены

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

Примеры шифров простой замены

Шифр Атбаш

Шифр простой замены, использованный для еврейского алфавита и получивший оттуда свое название. Шифрование происходит заменой первой буквы алфавита на последнюю, второй на предпоследнюю (алеф (первая буква) заменяется на тав (последнюю), бет (вторая) заменяется на шин (предпоследняя); из этих сочетаний шифр и получил свое название). Шифр Атбаш для английского алфавита:

Исходный алфавит: 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

Алфавит замены: Z Y X W V U T S R Q P O N M L K J I H G F E D C B A

Шифр с использованием кодового слова

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

Исходный алфавит: 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 O R D A B C E F G H I J K L M N P Q S T U V X Y Z

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

Безопасность шифров простой замены

Главный недостаток этого метода шифрования — это то, что последние буквы алфавита (которые имеют низкие коэффициенты при частотном анализе) имеют тенденцию оставаться в конце. Более защищенный способ построить алфавит замены состоит в том, чтобы выполнить колоночное перемещение (перемещение столбцов) в алфавите, используя ключевое слово, но это нечасто делается. Несмотря на то, что число возможных ключей является очень большим (26! = 2^88.4), этот вид шифра может быть легко взломанным. Согласно расстоянию уникальности английского языка 27.6 букв от зашифрованного текста должно быть достаточно, чтобы взломать шифр простой замены. На практике обычно достаточно около 50 символов для взлома, хотя некоторые шифротексты могут быть взломаны и с меньшим количеством символов, если найдены какие-либо нестандартные структуры. Но при равномерном распределении символов в тексте могут потребоваться куда более длинные шифротексты для взлома.

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

Омофоническая замена

Примеры омофонических шифров

Номенклатор

Великий Шифр Россиньоля

Книжный шифр

Криптоанализ

Однозвучные шифры сложнее для вскрытия, хотя они и не скрывают всех статистических свойств текста.

Многоалфавитные шифры шифруют каждый символ с помощью некоторого одноалфавитного шифра. Стойкость такого шифра сильно зависит от количества используемых шифров простой замены. Но при использовании компьютера криптоаналитик не испытает трудностей при вскрытии.


Мы старались сделать для вас лучшую статью в интернете.
Поделитесь ею с друзьями, так вы поддержите развитие проекта.

Когда вы делитесь записью, вы помогаете ресурсу расти, что стимулирует нас продолжать развивать проект и радовать вас новым профессиональным контентом.
P.S. Если вы не хотите нас поддержать, нажмите на крестик в правом нижнем углу.




"Шифры замены". Каждая буква алфавита может быть заменена любым числом из соответствующего столбика кодировочной таблицы.А Б В Г Д Е Ж З И К Л М Н О П Р
21 37 14 22 01 24 62 73 46 23 12 08 27 53 35 04
40 26 63 47 31 83 88 30 02 91 72 32 77 68 60 44
10 03 71 82 15 70 11 55 90 69 38 61 54 09 84 45

С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я
20 13 59 25 75 43 19 29 06 65 74 48 36 28 16
52 39 07 49 33 85 58 80 50 34 17 56 78 64 41
89 67 93 76 18 51 87 66 81 92 42 79 86 05 57
Рис. 4.

Читайте также: