- Тайнопись. Практическое пособие по шифрованию. 4
- Простейшие шифры: описание популярных кодов и шифров
- Стеганография
- ROT1 и шифр Цезаря
- Транспозиционные или перестановочные шифры
- Азбука Морзе
- Моноалфавитная замена
- Шифр Гронсфельда, или полиалфавитная замена
- Алгоритм шифрования ADFGX
- Шифр Виженера
- «Энигма»
- Шифрование методом публичного ключа
- Стойкость шрифта
Тайнопись. Практическое пособие по шифрованию. 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 букв в каждый фрагмент (каждая буква в очерёдности, определяемой первым ключом). Фрагменты заполняются в очерёдности, определяемой вторым ключом. Открытый текст считывается построчно.
Можно сказать, что этот способ является разновидностью венгерского кроссворда (филворда).
Источник
Простейшие шифры: описание популярных кодов и шифров
Код и шифр — это, к слову, разные понятия. Первое означает замену каждого слова в сообщении кодовым словом. Второе же заключается в шифровании по определенному алгоритму каждого символа информации.
После того как кодированием информации занялась математика и была разработана теория криптографии, ученые обнаружили множество полезных свойств этой прикладной науки. Например, алгоритмы декодирования помогли разгадать мертвые языки, такие как древнеегипетский или латынь.
Стеганография
Стеганография старше кодирования и шифрования. Это искусство появилось очень давно. Оно буквально означает «скрытое письмо» или «тайнопись». Хоть стеганография не совсем соответствует определениям кода или шифра, но она предназначена для сокрытия информации от чужих глаз.
Стеганография является простейшим шифром. Типичными ее примерами являются проглоченные записки, покрытые ваксой, или сообщение на бритой голове, которое скрывается под выросшими волосами. Ярчайшим примером стеганографии является способ, описанный во множестве английских (и не только) детективных книг, когда сообщения передаются через газету, где малозаметным образом помечены буквы.
Главным минусом стеганографии является то, что внимательный посторонний человек может ее заметить. Поэтому, чтобы секретное послание не было легко читаемым, совместно со стеганографией используются методы шифрования и кодирования.
ROT1 и шифр Цезаря
Название этого шифра ROTate 1 letter forward, и он известен многим школьникам. Он представляет собой шифр простой замены. Его суть заключается в том, что каждая буква шифруется путем смещения по алфавиту на 1 букву вперед. А -> Б, Б -> В, …, Я -> А. Например, зашифруем фразу «наша Настя громко плачет» и получим «общб Обтуа дспнлп рмбшеу».
Шифр ROT1 может быть обобщен на произвольное число смещений, тогда он называется ROTN, где N — это число, на которое следует смещать шифрование букв. В таком виде шифр известен с глубокой древности и носит название «шифр Цезаря».
Шифр Цезаря очень простой и быстрый, но он является шифром простой одинарной перестановки и поэтому легко взламывается. Имея подобный недостаток, он подходит только для детских шалостей.
Транспозиционные или перестановочные шифры
Данные виды шифра простой перестановки более серьезны и активно применялись не так давно. В Гражданскую войну в США и в Первую мировую его использовали для передачи сообщений. Его алгоритм заключается в перестановке букв местами — записать сообщение в обратном порядке или попарно переставить буквы. Например, зашифруем фразу «азбука Морзе — тоже шифр» -> «акубза езроМ — ежот рфиш».
С хорошим алгоритмом, который определял произвольные перестановки для каждого символа или их группы, шифр становился устойчивым к простому взлому. Но! Только в свое время. Так как шифр легко взламывается простым перебором или словарным соответствием, сегодня с его расшифровкой справится любой смартфон. Поэтому с появлением компьютеров этот шифр также перешел в разряд детских.
Азбука Морзе
Азбука является средством обмена информации и ее основная задача — сделать сообщения более простыми и понятными для передачи. Хотя это противоречит тому, для чего предназначено шифрование. Тем не менее она работает подобно простейшим шифрам. В системе Морзе каждая буква, цифра и знак препинания имеют свой код, составленный из группы тире и точек. При передаче сообщения с помощью телеграфа тире и точки означают длинные и короткие сигналы.
Телеграф и азбука Морзе… Морзе был тем, кто первый запатентовал «свое» изобретение в 1840 году, хотя до него и в России, и в Англии были изобретены подобные аппараты. Но кого это теперь интересует… Телеграф и азбука Морзе оказали очень большое влияние на мир, позволив почти мгновенно передавать сообщения на континентальные расстояния.
Моноалфавитная замена
Описанные выше ROTN и азбука Морзе являются представителями шрифтов моноалфавитной замены. Приставка «моно» означает, что при шифровании каждая буква изначального сообщения заменяется другой буквой или кодом из единственного алфавита шифрования.
Дешифрование шифров простой замены не составляет труда, и в этом их главный недостаток. Разгадываются они простым перебором или частотным анализом. Например, известно, что самые используемые буквы русского языка — это «о», «а», «и». Таким образом, можно предположить, что в зашифрованном тексте буквы, которые встречаются чаще всего, означают либо «о», либо «а», либо «и». Исходя из таких соображений, послание можно расшифровать даже без перебора компьютером.
Известно, что Мария I, королева Шотландии с 1561 по 1567 г., использовала очень сложный шифр моноалфавитной замены с несколькими комбинациями. И все же ее враги смогли расшифровать послания, и информации хватило, чтобы приговорить королеву к смерти.
Шифр Гронсфельда, или полиалфавитная замена
Простые шифры криптографией признаны бесполезными. Поэтому множество из них было доработано. Шифр Гронсфельда — это модификация шифра Цезаря. Данный способ является значительно более стойким к взлому и заключается в том, что каждый символ кодируемой информации шифруется при помощи одного из разных алфавитов, которые циклически повторяются. Можно сказать, что это многомерное применение простейшего шифра замены. Фактически шифр Гронсфельда очень похож на шифр Виженера, рассмотренный ниже.
Алгоритм шифрования ADFGX
Это самый известный шифр Первой мировой войны, используемый немцами. Свое имя шифр получил потому, что алгоритм шифрования приводил все шифрограммы к чередованию этих букв. Выбор самих же букв был определен их удобством при передаче по телеграфным линиям. Каждая буква в шифре представляется двумя. Рассмотрим более интересную версию квадрата ADFGX, которая включает цифры и называется ADFGVX.
A | D | F | G | V | X | |
A | J | Q | A | 5 | H | D |
D | 2 | E | R | V | 9 | Z |
F | 8 | Y | I | N | K | V |
G | U | P | B | F | 6 | O |
V | 4 | G | X | S | 3 | T |
X | W | L | Q | 7 | C | 0 |
Алгоритм составления квадрата ADFGX следующий:
- Берем случайные n букв для обозначения столбцов и строк.
- Строим матрицу N x N.
- Вписываем в матрицу алфавит, цифры, знаки, случайным образом разбросанные по ячейкам.
Составим аналогичный квадрат для русского языка. Например, создадим квадрат АБВГД:
А | Б | В | Г | Д | |
А | Е/Е | Н | Ь/Ъ | А | И/Й |
Б | Ч | В/Ф | Г/К | З | Д |
В | Ш/Щ | Б | Л | Х | Я |
Г | Р | М | О | Ю | П |
Д | Ж | Т | Ц | Ы | У |
Данная матрица выглядит странно, так как ряд ячеек содержит по две буквы. Это допустимо, смысл послания при этом не теряется. Его легко можно восстановить. Зашифруем фразу «Компактный шифр» при помощи данной таблицы:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | |
Фраза | К | О | М | П | А | К | Т | Н | Ы | Й | Ш | И | Ф | Р |
Шифр | бв | гв | гб | гд | аг | бв | дб | аб | дг | ад | ва | ад | бб | га |
Таким образом, итоговое зашифрованное послание выглядит так: «бвгвгбгдагбвдбабдгвдваадббга». Разумеется, немцы проводили подобную строку еще через несколько шифров. И в итоге получалось очень устойчивое к взлому шифрованное послание.
Шифр Виженера
Данный шифр на порядок более устойчив к взлому, чем моноалфавитные, хотя представляет собой шифр простой замены текста. Однако благодаря устойчивому алгоритму долгое время считался невозможным для взлома. Первые его упоминания относятся к 16-му веку. Виженер (французский дипломат) ошибочно считается его изобретателем. Чтобы лучше разобраться, о чем идет речь, рассмотрим таблицу Виженера (квадрат Виженера, tabula recta) для русского языка.
Приступим к шифрованию фразы «Касперович смеется». Но, чтобы шифрование удалось, нужно ключевое слово — пусть им будет «пароль». Теперь начнем шифрование. Для этого запишем ключ столько раз, чтобы количество букв из него соответствовало количеству букв в шифруемой фразе, путем повтора ключа или обрезания:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | |
Фраза: | К | А | С | П | Е | Р | О | В | И | Ч | С | М | Е | Е | Т | С | Я |
Ключ | П | А | Р | О | Л | Ь | П | А | Р | О | Л | Ь | П | А | Р | О | Л |
Теперь по таблице Виженера, как по координатной плоскости, ищем ячейку, которая является пересечением пар букв, и получаем: К + П = Ъ, А + А = Б, С + Р = В и т. д.
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | |
Шифр: | Ъ | Б | В | Ю | С | Н | Ю | Г | Щ | Ж | Э | Й | Х | Ж | Г | А | Л |
Получаем, что «касперович смеется» = «ъбвюснюгщж эйхжгал».
Взломать шифр Виженера так сложно, потому что для работы частотного анализа необходимо знать длину ключевого слова. Поэтому взлом заключается в том, чтобы наугад бросать длину ключевого слова и пытаться взломать засекреченное послание.
Следует также упомянуть, что помимо абсолютно случайного ключа может быть использована совершенно разная таблица Виженера. В данном случае квадрат Виженера состоит из построчно записанного русского алфавита со смещением на единицу. Что отсылает нас к шифру ROT1. И точно так же, как и в шифре Цезаря, смещение может быть любым. Более того, порядок букв не должен быть алфавитным. В данном случае сама таблица может быть ключом, не зная которую невозможно будет прочесть сообщение, даже зная ключ.
Настоящие коды состоят из соответствий для каждого слова отдельного кода. Для работы с ними необходимы так называемые кодовые книги. Фактически это тот же словарь, только содержащий переводы слов в коды. Типичным и упрощенным примером кодов является таблица ASCII — международный шифр простых знаков.
Главным преимуществом кодов является то, что расшифровать их очень сложно. Частотный анализ почти не работает при их взломе. Слабость же кодов — это, собственно, сами книги. Во-первых, их подготовка — сложный и дорогостоящий процесс. Во-вторых, для врагов они превращаются в желанный объект и перехват даже части книги вынуждает менять все коды полностью.
В 20-м веке многие государства для передачи секретных данных использовали коды, меняя кодовую книгу по прошествии определенного периода. И они же активно охотились за книгами соседей и противников.
«Энигма»
Всем известно, что «Энигма» — это главная шифровальная машина нацистов во время II мировой войны. Строение «Энигмы» включает комбинацию электрических и механических схем. То, каким получится шифр, зависит от начальной конфигурации «Энигмы». В то же время «Энигма» автоматически меняет свою конфигурацию во время работы, шифруя одно сообщение несколькими способами на всем его протяжении.
В противовес самым простым шифрам «Энигма» давала триллионы возможных комбинаций, что делало взлом зашифрованной информации почти невозможным. В свою очередь, у нацистов на каждый день была заготовлена определенная комбинация, которую они использовали в конкретный день для передачи сообщений. Поэтому даже если «Энигма» попадала в руки противника, она никак не способствовала расшифровке сообщений без введения нужной конфигурации каждый день.
Взломать «Энигму» активно пытались в течение всей военной кампании Гитлера. В Англии в 1936 г. для этого построили один из первых вычислительных аппаратов (машина Тьюринга), ставший прообразом компьютеров в будущем. Его задачей было моделирование работы нескольких десятков «Энигм» одновременно и прогон через них перехваченных сообщений нацистов. Но даже машине Тьюринга лишь иногда удавалось взламывать сообщение.
Шифрование методом публичного ключа
Самый популярный из алгоритмов шифрования, который используется повсеместно в технике и компьютерных системах. Его суть заключается, как правило, в наличии двух ключей, один из которых передается публично, а второй является секретным (приватным). Открытый ключ используется для шифровки сообщения, а секретный — для дешифровки.
В роли открытого ключа чаще всего выступает очень большое число, у которого существует только два делителя, не считая единицы и самого числа. Вместе эти два делителя образуют секретный ключ.
Рассмотрим простой пример. Пусть публичным ключом будет 905. Его делителями являются числа 1, 5, 181 и 905. Тогда секретным ключом будет, например, число 5*181. Вы скажете слишком просто? А что если в роли публичного числа будет число с 60 знаками? Математически сложно вычислить делители большого числа.
В качестве более живого примера представьте, что вы снимаете деньги в банкомате. При считывании карточки личные данные зашифровываются определенным открытым ключом, а на стороне банка происходит расшифровка информации секретным ключом. И этот открытый ключ можно менять для каждой операции. А способов быстро найти делители ключа при его перехвате — нет.
Стойкость шрифта
Криптографическая стойкость алгоритма шифрования — это способность противостоять взлому. Данный параметр является самым важным для любого шифрования. Очевидно, что шифр простой замены, расшифровку которого осилит любое электронное устройство, является одним из самых нестойких.
На сегодняшний день не существует единых стандартов, по которым можно было бы оценить стойкость шифра. Это трудоемкий и долгий процесс. Однако есть ряд комиссий, которые изготовили стандарты в этой области. Например, минимальные требования к алгоритму шифрования Advanced Encryption Standart или AES, разработанные в NIST США.
Для справки: самым стойким шифром к взлому признан шифр Вернама. При этом его плюсом является то, что по своему алгоритму он является простейшим шифром.
Источник