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

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


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

Шаги

Коды

Стандартные коды

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

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

    Книга кода

    Полицейское кодирование

    Шифры

    Шифрование, основанное на дате

    1. Выберите дату. Например, это будет день рождения Стивена Спилберга 16-го декабря 1946 года. Напишите эту дату, используя цифры и косые черты (12/18/46), затем уберите черты, чтобы получить шестизначное число 121846, которые вы можете использовать для передачи зашифрованного сообщения.

      Присвойте каждой букве цифру. Представьте, что сообщение «Мне нравятся фильмы Стивена Спилберга». Под сообщение вы напишите ваше шестизначное число снова и снова до самого конца предложения: 121 84612184 612184 6121846 121846121.

      Зашифруйте ваше сообщение. Напишите буквы слева направо. Передвиньте каждую букву обычного текста на количество единиц, указанных под ней. Буква «М» сдвигается на одну единицу и становится «Н», буква «Н» сдвигается на две единицы и становится «П». Обратите внимание, что буква «Я» сдвигается на 2 единицы, для этого вам необходимо перескочить на начало алфавита, и становится «Б». Ваше итоговое сообщение будет «Нпё хфёгбущг ъйныфя чукгмсё тсйуексеб».

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

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

    Шифрование при помощи числа

    1. Выберите с вашим другом секретное число. Например, число 5.

      Напишите ваше сообщение (без пробелов) с этим количеством букв в каждой строчке (не переживайте, если последняя строчка короче). Например, сообщение «Мое прикрытие раскрыто» будет выглядеть так:

      • Моепр
      • икрыт
      • иерас
      • крыто
    2. Чтобы создать шифр возьмите буквы сверху вниз и запишите их. Сообщение будет «Миикокереррыпыатртао».

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

    Графический шифр

    Перестановка Цезаря

    Секретные языки

    Путаный язык

    Звуковой код

    Тарабарский язык

    • Прячьте ваш код в том месте, о котором знают только отправитель и получатель. Например, развинтите любую ручку и положите ваш код внутрь нее, соберите ручку обратно, найдите место (например, подставка под карандаши) и сообщите получателю место и тип ручки.
    • Шифруйте также и пробелы, чтобы запутать код еще больше. Например, вы можете использовать буквы (Е, Т, А, О и Н работают лучше всего) вместо пробелов. Они называются пустышками. Ы, Ъ, Ь и Й будут выглядеть слишком явными пустышками для опытных взломщиков кодов, поэтому не используйте их или другие выделяющиеся символы.
    • Вы можете создать свой собственный код, переставляя буквы в словах в случайном порядке. «Диж яемн в крапе» - «Жди меня в парке».
    • Всегда отправляйте коды агентам с вашей стороны.
    • При использовании турецкого ирландского вам не нужно специально использовать «эб» перед согласной. Вы можете использовать «иэ», «бр», «из» или любую другую неприметную комбинацию букв.
    • При использовании позиционной кодировки, не стесняйтесь добавлять, удалять и даже переставлять буквы с одного места на другое, чтобы сделать дешифровку еще более трудной. Убедитесь, что ваш партнер понимает, что вы делаете, или все это будет бессмысленным для нее/него. Вы можете разбить текст на части так, чтобы было три, четыре или пять букв в каждой, а затем поменять их местами.
    • Для перестановки Цезаря вы можете переставлять буквы на любое количество мест, которое вы хотите, вперед или назад. Только убедитесь что правила перестановок одинаковы для каждой буквы.
    • Всегда уничтожайте расшифрованные сообщения.
    • Если вы используете свой собственный код, не делайте его слишком сложным, чтобы остальные не смогли его разгадать. Он может оказаться слишком сложным для расшифровки даже для вас!
    • Используйте азбуку Морзе. Это один из самых известных кодов, поэтому ваш собеседник быстро поймет, что это.

    Предупреждения

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

Методы: объяснительно-иллюстративный, частично-поисковый.

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

Задачи:

образовательные:

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

развивающие:

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

воспитательные:

  • воспитывать коммуникативную культуру;
  • развивать познавательный интерес.

Предлагаемая разработка может быть использована для учащихся 7–9 классов. Презентация помогает сделать материал наглядным и доступным.

Общество, в котором живёт человек, на протяжении своего развития имеет дело с информацией. Она накапливается, перерабатывается, хранится, передаётся. (Слайд 2. Презентация)

А все ли и всегда должны знать всё?

Конечно, нет.

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

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

Тайнопись – криптография - является ровесницей письменности. История криптографии насчитывает не одно тысячелетие. Идея создания текстов с тайным смыслом и зашифрованными сообщениями почти так же стара, как и само искусство письма. Этому есть много свидетельств. Глиняная табличка из Угарита (Сирия) – упражнения обучающие искусству расшифровки (1200 год до н.э.). “Вавилонская теодицея” из Ирака – пример акростиха (середина II тысячелетия до н.э.).

Один из первых систематических шифров был разработан древними евреями; этот метод называется темура - “обмен”.

Самый простой из них “Атбаш”, алфавит разделялся посередине так, чтобы первые две буквы, А и Б, совпадали с двумя последними, Т и Ш. Использование шифра темура можно обнаружить в Библии. Это пророчество Иеремии, сделанное в начале VI века до нашей эры, содержит проклятие, всем правителям мира, заканчивая “царем Сесаха” который при дешифровки с шифра “Атбаш” оказывается царём Вавилона.

(Слайд 3) Более хитроумный способ шифрования был изобретён в древней Спарте во времена Ликурга (V век до н.э.) Для зашифровывания текста использовалась Сциталла - жезл цилиндрической формы, на который наматывалась лента из пергамента. Вдоль оси цилиндра построчно записывался текст, лента сматывалась с жезла и передавалась адресату, имеющему Сциталлу такого же диаметра. Этот способ осуществлял перестановку букв сообщения. Ключом шифра служил диаметр Сциталлы. АРИСТОТЕЛЬ придумал метод вскрытия такого шифра. Он изобрёл дешифровальное устройство “Антисциталла”.

(Слайд 4) Задание “Проверь себя”

(Слайд 5) Греческий писатель ПОЛИБИЙ использовал систему сигнализации, которая применялась как метод шифрования. С его помощью можно было передавать абсолютно любую информацию. Он записывал буквы алфавита в квадратную таблицу и заменял их координатами. Устойчивость этого шифра была велика. Основной причиной этого являлась возможность постоянно менять последовательность букв в квадрате.

(Слайд 6) Задание “Проверь себя”

(Слайд 7) Особую роль в сохранении тайны сыграл способ шифрования, предложенный ЮЛИЕМ ЦЕЗАРЕМ и описанный им в “Записках о галльской войне.

(Слайд 8) Задание “Проверь себя”

(Слайд 9) Существует несколько модификаций шифра Цезаря. Один из них алгоритм шифра Гронсфельда (созданный в 1734 году бельгийцем Хосе де Бронкхором, графом де Гронсфельд, военным и дипломатом). Шифрование заключается в том, что величина сдвига не является постоянной, а задается ключом (гаммой).

(Слайд 10) Для того, кто передаёт шифровку, важна её устойчивость к дешифрованию. Эта характеристика шифра называется криптостойкостью. Повысить криптостойкость позволяют шифры много алфавитной или многозначной замены. В таких шифрах каждому символу открытого алфавита ставятся в соответствие не один, а несколько символов шифровки.

(Слайд 11) Научные методы в криптографии впервые появились в арабских странах. Арабского происхождения и само слово шифр (от арабского "цифра"). Арабы первыми стали заменять буквы цифрами с целью защиты исходного текста. О тайнописи и её значении говорится даже в сказках “Тысячи и одной ночи”. Первая книга, специально посвящённая описанию некоторых шифров, появилась в 855 г., она называлась “Книга о большом стремлении человека разгадать загадки древней письменности”.

(Слайд 12) Итальянский математик и философ ДЖЕРОЛАМО КАРДАНО написал книгу "О тонкостях", в которой имеется часть, посвященная криптографии.

Его вклад в науку криптография содержит два предложения:

Первое - использовать открытый текст в качестве ключа.

Второе - он предложил шифр, называемый ныне "Решетка Кардано".

Кроме данных предложений Кардано дает "доказательство" стойкости шифров, основанное на подсчете числа ключей.

Решётка Кардано представляет собой лист из твердого материала, в котором через неправильные интервалы сделаны прямоугольные вырезы высотой для одной строчки и различной длины. Накладывая эту решетку на лист писчей бумаги, можно было записывать в вырезы секретное сообщение. Оставшиеся места заполнялись произвольным текстом, маскирующим секретное сообщение. Этим методом маскировки пользовались многие известные исторические лица, кардинал Ришелье во Франции и русский дипломат А. Грибоедов. На основе такой решетки Кардано построил шифр перестановки.

(Слайд 13) Задание “Проверь себя”

(Слайд 14) Увлекались тайнописью и в России. Используемые шифры - такие же, как в западных странах - значковые, замены, перестановки.

Датой появления криптографической службы в России следует считать 1549 год (царствование Ивана IV), с момента образования "посольского приказа", в котором имелось "цифирное отделение".

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

(Слайд 15) Задание “Проверь себя”

(Слайд 16) Много новых идей в криптографии принес XIX век. ТОМАС ДЖЕФФЕРСОН создал шифровальную систему, занимающую особое место в истории криптографии - "дисковый шифр". Этот шифр реализовывался с помощью специального устройства, которое впоследствии назвали шифратором Джефферсона.

В 1817 г. ДЕСИУС УОДСВОРТ сконструировал шифровальное устройство, которое внесло новый принцип в криптографию. Нововведение состояло в том, что он сделал алфавиты открытого и шифрованного текстов различных длин. Устройство, с помощью которого он это осуществил, представляло собой диск, с двумя подвижными кольцами с алфавитами. Буквы и цифры внешнего кольца были съемными и могли собираться в любом порядке. Эта шифрсистема реализует периодическую многоалфавитную замену.

(Слайд 17) Способов кодирования информации можно привести много.

Капитан французской армии ШАРЛЬ БАРБЬЕ разработал в 1819 году систему кодирования ecriture noctrume – ночное письмо. В системе применялись выпуклые точки и тире, недостаток системы её сложность, так как кодировались не буквы, а звуки.

ЛУИ БРАЙЛЬ усовершенствовал систему, разработал собственный шифр. Основы этой системы используются поныне.

(Слайд 18) СЭМЮЕЛЬ МОРЗЕ разработал в 1838 году систему кодирования символов с помощью точки и тире. Он же является изобретателем телеграфа (1837год) – устройства в котором использовалась эта система. Самое важное в этом изобретении – двоичный код, то есть использованием для кодирования букв только двух символов.

(Слайд 19) Задание “Проверь себя”

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

В истории криптографии XIX в. ярко запечатлелось имя ОГЮСТА КЕРКГОФФСА. В 80-х годах XIX века издал книгу "Военная криптография" объемом всего в 64 страницы, но они обессмертили его имя в истории криптографии. В ней сформулированы 6 конкретных требований к шифрам, два из которых относятся к стойкости шифрования, а остальные - к эксплуатационным качествам. Одно из них ("компрометация системы не должна причинять неудобств корреспондентам") стало называться "правилом Керкгоффса". Все эти требования актуальны и в наши дни.

В XX веке криптография стала электромеханической, затем электронной. Это означает, что основными средствами передачи информации стали электромеханические и электронные устройства.

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

В семидесятых годах произошло два события, серьезно повлиявших на дальнейшее развитие криптографии. Во-первых, был принят (и опубликован!) первый стандарт шифрования данных (DES), "легализовавший" принцип Керкгоффса в криптографии. Во-вторых, после работы американских математиков У. ДИФФИ и М. ХЕЛЛМАНА родилась "новая криптография"- криптография с открытым ключом.

(Слайд 22) Задание “Проверь себя”

(Слайд 23) Роль криптографии будет возрастать в связи с расширением ее областей приложения:

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

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

Решение задачи определения ключа путем простого перебора всех возможных вариантов, как правило, является непрактичным, за исключением использования очень короткого ключа. Следовательно, если криптоаналитик хочет иметь реальные шансы на вскрытие шифра, он должен отказаться от «лобовых» методов перебора и применить другую стратегию. При раскрытии многих схем шифрования может применяться статистический анализ, использующий частоту появления отдельных символов или их комбинаций. Для усложнения решения задачи вскрытия шифра с использованием статистического анализа К. Шеннон предложил две концепции шифрования, получившие название смешения (confusion ) и диффузии (diffusion ). Смешение – это применение такой подстановки, при которой взаимосвязь между ключом и шифрованным текстом становится как можно более сложной. Применение данной концепции усложняет применение статистического анализа, сужающего область поиска ключа, и дешифрование даже очень короткой последовательности криптограммы требует перебора большого количества ключей. В свою очередь диффузия – это применение таких преобразований, которые сглаживают статистические различия между символами и их комбинациями. В результате использование криптоаналитиком статистического анализа может привести к положительному результату только при перехвате достаточно большого отрезка шифрованного текста.

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

10.4.1. Метод подстановки.

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

Рис. 10.3 , а )

Исходный текст

Криптограмма

Рис. 10.3 , б )

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

Другим примером классической схемы, основанной на методе подстановки, может служить система шифрования, называемая квадратом Полибиуса . Применительно к русскому алфавиту данная схема может быть описана следующим образом. Первоначально объединяются в одну буквы Е, Ё; И, Й и Ъ, Ь, истинное значение которых в дешифрованном тексте легко восстанавливается из контекста. Затем 30 символов алфавита размещаются в таблицу размером 65, пример заполнения которой представлен на рис. 10.4.

Рис. 10.4.

Шифрование любой буквы открытого текста осуществляется заданием ее адреса (т.е. номера строки и столбца или наоборот) в приведенной таблице. Так, например, слово ЦЕЗАРЬ шифруется с помощью квадрата Полибиуса как 52 21 23 11 41 61. Совершенно ясно, что изменение кода может быть осуществлено в результате перестановок букв в таблице. Следует также заметить, что те, кто посещал экскурсию по казематам Петропавловской крепости, должно быть памятны слова экскурсовода о том, как заключенные перестукивались между собой. Очевидно, что их способ общения полностью подпадает под данный метод шифрования.

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

Рис. 10.5.

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

Открытый текст

Шифрованный текст

Рис. 10.6.

Известны несколько интересных вариантов шифров, основанных на прогрессивном ключе Тритемиуса. В одном из них, называемом методом ключа Вижинера , применяется ключевое слово, которое указывает строки для шифрования и расшифрования каждого последующего символа открытого текста: первая буква ключа указывает строку таблицы на рис. 10.5, с помощью которой шифруется первый символ сообщения, вторая буква ключа определяет строку таблицы, шифрующей второй символ открытого текста и т.д. Пусть в качестве ключа выбрано слово «ТРОМБ», тогда сообщение, зашифрованное с помощью ключа Вижинера, может быть представлено следующим образом (рис. 10.7). Очевидно, что вскрытие ключа возможно осуществить на основе статистического анализа шифрограммы.

Открытый текст

Шифрованный текст

Рис. 10.7.

Разновидностью этого метода является т.н. метод автоматического (открытого ) ключа Вижинера , в котором в качестве образующего ключа используется единственная буква или слово. Этот ключ дает начальную строку или строки для шифрования первого или нескольких первых символов открытого текста аналогично ранее рассмотренному примеру. Затем в качестве ключа для выбора шифрующей строки используются символы открытого текста. В приведенном ниже примере в качестве образующего ключа использована буква «И» (рис. 10.8):

Открытый текст

Шифрованный текст

Рис. 10.8.

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

Еще одной разновидностью метода Вижинера служит метод автоматического (шифрованного ) ключа Вижинера . В нем, подобно шифрованию с открытым ключом, также используется образующий ключ и обратная связь. Отличие состоит в том, что после шифрования с помощью образующего ключа, каждый последующий символ ключа в последовательности берется не из открытого текста, а из получаемой криптограммы. Ниже представлен пример, поясняющий принцип применения данного метода шифрования, в котором, как и ранее, в качестве образующего ключа использована буква «И» (рис. 10.9):

Открытый текст

Шифрованный текст

Рис. 10.9.

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

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

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

Рис. 10.10.

Не составляет труда показать, что существует
различных подстановок или связанных с ними возможных моделей. В связи, с чем при больших значенияхm задача криптоаналитика становится в вычислительном плане практически невозможной. Например, при
число возможных подстановок определяется как
, т.е. представляет собой астрономическое число. Очевидно, что при подобном значенииm данное преобразование с помощью блока подстановки (substitution block , S –блок) можно считать обладающим практической секретностью. Однако его практическая реализация вряд ли возможна, поскольку предполагает существование
соединений.

Убедимся теперь, что S –блок, представленный на рис. 10.10, действительно осуществляет нелинейное преобразование, для чего воспользуемся принципом суперпозиций: преобразование
является линейным, если. Предположим, что
, а
. Тогда, а, откуда следует, чтоS –блок является нелинейным.

10.4.2. Метод перестановки.

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

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

Рис. 10.11.

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

Рис. 10.12.

На рис. 10.13 приведен пример бинарной перестановки данных (линейная операция), из которого видно, что данные просто перемешиваются или переставляются. Преобразование осуществляется с помощью блока перестановки (permutation block , P –блок). Технология перестановки, реализуемая этим блоком, имеет один основной недостаток: она уязвима по отношению к обманным сообщениям. Обманное сообщение изображено на рис. 10.13 и заключается в подаче на вход одной единственной единицы при остальных нулях, что позволяет обнаружить одну из внутренних связей. Если криптоаналитику необходимо осуществить анализ подобной схемы с помощью атаки открытого текста, то он отправит последовательность подобных обманных сообщений, смещая при каждой передаче единственную единицу на одну позицию. В результате подобной атаки будут установлены все связи входа и выхода. Данный пример демонстрирует, почему защищенность схемы не должна зависеть от ее архитектуры.

10.4.3. Метод гаммирования .

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

На практике в качестве скремблирующих широкое применение нашли псевдослучайные последовательности (ПСП), которые могут быть воспроизведены на приемной стороне. В технологии поточного шифрования для формирования ПСП обычно используют генератор на основелинейного регистра сдвига с обратной связью (linear feedback shift register (LFSR)). Типичная структура генератора ПСП, представленная на рис. 10.15, включает регистр сдвига, который состоит из – ичных элементов задержки или разрядов, имеющихвозможных состояний и хранящих некоторый элемент поля
в течение тактового интервала, схема обратной связи, включающей умножители элементов (состояний), хранящихся в разрядах, на константы, и сумматоров. Формирование ПСП описывается рекуррентным соотношением вида

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

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

Пример 10.4.1. На рис. 10.16, a , представлена реализация генератора на основе регистра сдвига с линейной обратной связью, формирующего двоичную псевдослучайную последовательность периода
. Отметим, что в случае двоичной ПСП умножение на единицу эквивалентно простому соединению выхода разряда с сумматором. Рис. 10.16,b , иллюстрирует следующие друг за другом содержания регистра (состояния разрядов), а также состояния выхода обратной связи (точка ОС на схеме) при подаче тактовых импульсов. Последовательность считывается в виде последовательных состояний крайнего правого разряда. Считывание состояний других разрядов приводит к копиям той же самой последовательности, сдвинутой на один или два такта.

На первый взгляд можно предположить, что использование ПСП большого периода может обеспечить достаточно высокую защищенность. Так, например, в сотовой системе мобильной связи стандарта IS-95 в качестве скремблирующей используется ПСП периода
в числе элементарных чипов. При чиповой скорости 1.228810 6 симв/сек ее период составляет:

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

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

Пример 10.4.2. Пусть в качестве скремблирующей используется ПСП периода
, генерируемая с помощью рекурсии вида

при начальном состоянии регистра 0001. В результате будет сформирована последовательность . Предположим, что криптоаналитику, которому ничего неизвестно о структуре обратной связи генератора ПСП, удалось получить
бит криптограммы и ее открытого эквивалента:

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

где символ ПСП, который вырабатывается схемой обратной связи и подается на вход первого разряда регистра, а
определяет отсутствие или наличиеi –го соединения между выходом разряда регистра сдвига и сумматором, т.е. схему обратной связи.

Анализируя состояния регистра сдвига в четыре последовательные момента времени можно составить следующую систему четырех уравнений с четырьмя неизвестными:

Решение данной системы уравнений дает следующие значения коэффициентов:

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

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

,

а система уравнений записана в следующей матричной форме

,

где
, а
.

Можно показать, что столбцы матрицы линейно независимы и, значит, существует обратная матрица
. Следовательно

.

Обращение матрицы требует порядка операций, так что при
имеем
, что для компьютера со скоростью работы одна операция за 1мкс потребует 1 сек на обращение матрицы. Очевидно, что слабость регистра сдвига обусловлена линейностью обратной связи.

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

Рис. 10.17. Поточное шифрование с обратной связью.

Сначала передается преамбула, в которой содержится информация о параметрах генерируемой ПСП, в том числе и о значении начальной фазы Z 00 . По каждым n сформированным символам шифрограммы вычисляется и устанавливается в генераторе новое значение фазы
. Обратная связь делает метод гаммирования чувствительным к искажениям криптограммы. Так, из-за помех в канале связи могут исказиться некоторые принятые символы, что приведет к вычислению ошибочного значения фазы ПСП и затруднит дальнейшую расшифровку, но после полученияn правильных символов шифрованного текста система восстанавливается. В то же время такое искажение можно объяснить попыткой злоумышленника навязать ложные данные.

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

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

Зашифруйте активность веб-браузера. Глобальная сеть устроена таким образом, что ваш запрос даже к близко расположенным сайтам (типа yandex.ru) проходит на своём пути через множество компьютеров («узлов»), которые ретранслируют его туда и обратно. Посмотреть примерный их список можно, введя в командной строке команду tracert адрес_сайта. Первым в таком списке будет ваш интернет-провайдер или владелец точки доступа Wi-Fi, через которую вы подключились к интернету. Потом ещё какие-нибудь промежуточные узлы, и только в самом конце сервер, на котором хранится нужный вам сайт. И если ваше соединение не зашифровано, то есть ведётся по обычному протоколу HTTP, каждый, кто находится между вами и сайтом, сможет пересылаемые данные перехватить и проанализировать.

Поэтому сделайте простую вещь: добавьте к «http» в адресной строке символ «s», чтобы адрес сайта начинался с «https://». Таким образом вы включите шифрование трафика (так называемый слой безопасности SSL/TLS). Если сайт поддерживает HTTPS, он позволит это сделать. А чтобы не мучиться каждый раз, поставьте браузерный плагин : он будет принудительно пытаться включить шифрование на каждом посещаемом вами сайте.

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

Зашифруйте свою электронную почту. Письма, отправленные по e-mail, тоже проходят через посредников, прежде чем попасть к адресату. Зашифровав, вы помешаете соглядатаю понять их содержимое. Однако техническое решение тут более сложное: потребуется применить дополнительную программу для шифрования и дешифровки. Классическим решением, не потерявшим актуальности до сих пор, будет пакет OpenPGP или его свободный аналог GPG , либо поддерживающий те же стандарты шифрования плагин для браузера (например, Mailvelope).

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

Недостатки : начиная переписку, вы должны обменяться ключами со своими корреспондентами. Постарайтесь гарантировать, чтобы никто не смог перехватить и подменить ключ: передайте его из рук в руки, либо опубликуйте на публичном сервере для ключей. Иначе, подменив ваш ключ своим, соглядатай сможет обмануть ваших корреспондентов и будет в курсе вашей переписки (так называемая атака man in the middle - посредника).

Зашифруйте мгновенные сообщения. Проще всего воспользоваться мессенджерами, которые уже умеют шифровать переписку: Telegram, WhatsApp, Facebook Messenger, Signal Private Messenger, Google Allo, Gliph и т.п. В таком случае от любопытных глаз со стороны вы защищены: если случайный человек и перехватит сообщения, то увидит лишь мешанину символов. Но вот от любопытства компании, которая владеет мессенджером, это вас не оградит: у компаний, как правило, есть ключи, позволяющие читать вашу переписку - и мало того, что они любят это делать сами, они по первому требованию сдадут их правоохранительным органам.

Поэтому лучшим решением будет воспользоваться каким-либо популярным свободным (open source) мессенджером с подключенным плагином для шифрования «на лету» (такой плагин часто называют «OTR»: off the record - препятствующий записи). Хорошим выбором будет Pidgin .

Недостатки : как и в случае с электронной почтой, вы не гарантированы от атаки посредника.


Зашифруйте документы в «облаке». Если вы пользуетесь «облачными» хранилищами вроде Google Drive, Dropbox, OneDrive, iCloud, ваши файлы могут быть украдены кем-то, кто подсмотрит (или подберёт) ваш пароль, либо если обнаружится какая-то уязвимость в самом сервисе. Поэтому прежде, чем поместить что-либо в «облако», зашифруйте это. Реализовать такую схему проще и удобней всего с помощью утилиты, которая создаёт на компьютере папку - помещённые куда документы автоматически шифруются и переправляются на «облачный» диск. Такова, например, Boxcryptor . Чуть менее удобно применить для той же цели приложения типа TrueCrypt - создающие целый шифрованный том, размещаемый в «облаке».

Недостатки : отсутствуют.


Зашифруйте весь (не только браузерный) трафик с вашего компьютера. Может пригодиться, если вы вынуждены пользоваться непроверенным открытым выходом в Сеть - например, незашифрованным Wi-Fi в публичном месте. Здесь стоит воспользоваться VPN: несколько упрощая, это защищённый шифрованием канал, протягиваемый от вас до VPN-провайдера. На сервере провайдера трафик дешифруется и отправляется далее по назначению. Провайдеры VPN бывают как бесплатные (VPNbook.com, Freevpn.com, CyberGhostVPN.com), так и платные - различающиеся скоростью доступа, временем сеанса и т.п. Большой бонус такого соединения в том, что для всего мира вы кажетесь выходящим в Сеть с сервера VPN, а не со своего компьютера. Поэтому, если VPN-провайдер находится за пределами Российской Федерации, вам будут доступны сайты, заблокированные внутри РФ.

Того же результата можно добиться, если установить на своём компьютере TOR - с той лишь разницей, что в данном случае провайдера нет: вы будете выходить в интернет через случайные узлы, принадлежащие другим участникам этой сети, то есть неизвестным вам лицам или организациям.

Недостатки : помните, что ваш трафик дешифруется на выходном узле, то есть на сервере VPN-провайдера или компьютере случайного участника TOR. Поэтому если их владельцы пожелают, они смогут анализировать ваш трафик: попробовать перехватить пароли, выделить ценные сведения из переписки и пр. Поэтому пользуясь VPN или TOR, совмещайте их с другими средствами шифрования. Кроме того, настроить TOR правильно - задача непростая. Если у вас нет опыта, лучше воспользоваться готовым решением: комплектом TOR + браузер Firefox (в таком случае будет шифроваться только браузерный трафик) или Linux-дистрибутивом Tails (работающим с компакт-диска или флэшки), где весь трафик уже настроен на маршрутизацию через TOR.

Зашифруйте флэшки и съёмные носители данных, мобильные устройства. Сюда же можно добавить и шифрование жёсткого диска на рабочем компьютере, но его вы по крайней мере не рискуете потерять - вероятность чего всегда присутствует в случае с носимыми накопителями. Чтобы зашифровать не отдельный документ, а сразу целый диск, используйте приложения BitLocker (встроено в MS Windows), FileVault (встроено в OS X), DiskCryptor , 7-Zip и им подобные. Такие программы работают «прозрачно», то есть вы не будете их замечать: файлы шифруются и дешифруются автоматически, «на лету». Однако злоумышленник, в руки которого попадёт закрытая с их помощью, например, флэшка, ничего из неё извлечь не сумеет.

Что касается смартфонов и планшеток, там для полного шифрования лучше воспользоваться встроенным функционалом операционной системы. На Android-устройствах загляните в «Настройки -> Безопасность», на iOS в «Настройки -> Пароль».

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


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

Свободное приложение для охраны приватности обычно надёжней проприетарного. Свободное - это такое, исходные тексты которого опубликованы под свободной лицензией (GNU GPL, BSD и т.п.) и могут изменяться всеми желающими. Проприетарное - такое, эксклюзивные права на которое принадлежат какой-либо одной компании или разработчику; исходные тексты таких программ обычно не публикуются.

Шифрование предполагает использование паролей, поэтому позаботьтесь, чтобы ваш пароль был правильным: длинным, случайным, разнообразным.

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

Для задач, которые требуют анонимности/приватности, удобней держать отдельный браузер, настроенный на «параноидальный» режим (вроде уже упоминавшегося комплекта Firefox + TOR).

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

Если пресловутый «закон Яровой» всё-таки вступит в силу (по плану это должно случиться 1 июля 2018 года), запасные ключи от всех шифров в России должны будут быть переданы государству, в противном случае шифр не будет сертифицирован. А за пользование несертифицированным шифрованием даже рядовые обладатели смартфонов смогут быть оштрафованными на сумму от 3 тысяч рублей с конфискацией цифрового устройства.

P.S. В статье использована фотография Christiaan Colen .

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

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

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

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

Стеганография

Стеганография старше кодирования и шифрования. Это искусство появилось очень давно. Оно буквально означает «скрытое письмо» или «тайнопись». Хоть стеганография не совсем соответствует определениям кода или шифра, но она предназначена для сокрытия информации от чужих глаз.

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

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

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 следующий:

  1. Берем случайные n букв для обозначения столбцов и строк.
  2. Строим матрицу N x N.
  3. Вписываем в матрицу алфавит, цифры, знаки, случайным образом разбросанные по ячейкам.

Составим аналогичный квадрат для русского языка. Например, создадим квадрат АБВГД:

А Б В Г Д
А Е/Е Н Ь/Ъ А И/Й
Б Ч В/Ф Г/К З Д
В Ш/Щ Б Л Х Я
Г Р М О Ю П
Д Ж Т Ц Ы У

Данная матрица выглядит странно, так как ряд ячеек содержит по две буквы. Это допустимо, смысл послания при этом не теряется. Его легко можно восстановить. Зашифруем фразу «Компактный шифр» при помощи данной таблицы:

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
Шифр: Ъ Б В Ю С Н Ю Г Щ Ж Э Й Х Ж Г А Л

Получаем, что "касперович смеется" = "ъбвюснюгщж эйхжгал".

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

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

Коды

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

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

В 20-м веке многие государства для передачи секретных данных использовали коды, меняя кодовую книгу по прошествии определенного периода. И они же активно охотились за книгами соседей и противников.

"Энигма"

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

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

Взломать "Энигму" активно пытались в течение всей военной кампании Гитлера. В Англии в 1936 г. для этого построили один из первых вычислительных аппаратов (машина Тьюринга), ставший прообразом компьютеров в будущем. Его задачей было моделирование работы нескольких десятков "Энигм" одновременно и прогон через них перехваченных сообщений нацистов. Но даже машине Тьюринга лишь иногда удавалось взламывать сообщение.

Шифрование методом публичного ключа

Самый популярный из который используется повсеместно в технике и компьютерных системах. Его суть заключается, как правило, в наличии двух ключей, один из которых передается публично, а второй является секретным (приватным). Открытый ключ используется для шифровки сообщения, а секретный — для дешифровки.

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

Рассмотрим простой пример. Пусть публичным ключом будет 905. Его делителями являются числа 1, 5, 181 и 905. Тогда секретным ключом будет, например, число 5*181. Вы скажете слишком просто? А что если в роли публичного числа будет число с 60 знаками? Математически сложно вычислить делители большого числа.

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

Стойкость шрифта

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

На сегодняшний день не существует единых стандартов, по которым можно было бы оценить стойкость шифра. Это трудоемкий и долгий процесс. Однако есть ряд комиссий, которые изготовили стандарты в этой области. Например, минимальные требования к алгоритму шифрования Advanced Encryption Standart или AES, разработанные в NIST США.

Для справки: самым стойким шифром к взлому признан шифр Вернама. При этом его плюсом является то, что по своему алгоритму он является простейшим шифром.