Русский код шифровка. Буквенные шифры

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

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

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

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

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

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

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

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 США.

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

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

Шифр №1. Картинка

Рисунок или фото, которое напрямую указывает место, где спрятана следующая подсказка, или намек на него: веник +розетка = пылесос
Усложнение: сделайте паззл, разрезав фото на несколько частей.


Шифр 2. Чехарда.

Поменяйте в слове буквы местами: ДИВАН = НИДАВ

Шифр 3. Греческий алфавит.

Закодируйте послание буквами греческого алфавита, а детям выдайте ключ:

Шифр 4. Наоборот.

Пишете задание задом наперед:

  • каждое слово:
    Етищи далк доп йонсос
  • или все предложение, или даже абзац:
    етсем морком момас в - акзаксдоп яащюуделС. итуп монрев ан ыВ

Шифр 5. Зеркально.

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

Шифр 6. Ребус.

Слово кодируется в картинках:



Шифр 7. Следующая буква.

Пишем слово, заменяя все буквы в нем на следующие по алфавиту (тогда Я заменяется на А, по кругу). Или предыдущие, или следующие через 5 букв:).

ШКАФ = ЩЛБХ

Шифр 8. Классика в помощь.

Я брала стихотворение (и говорила детям, какое именно) и шифр из 2х цифр: № строки № буквы в строке.

Пример:

Пушкин "Зимний вечер"

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

21 44 36 32 82 82 44 33 12 23 82 28

прочитали, где подсказка? :)

Шифр 9. Темница.

В решетку 3х3 вписываете буквы:

Тогда слово ОКНО шифруется так:

Шифр 10. Лабиринт.

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

Итак:

на длинную нитку/веревку цепляете буквы по порядку, как они идут в слове. Затем веревку растягиваете, закручиваете и всячески запутываете между опорами (деревьями, ножками итд). Пройдя по нитке, как по лабиринту, от 1й буквы до последней, дети узнают слово-подсказку.

А представьте, если обмотать таким образом одного из взрослых гостей!
Дети читают - Следующая подсказка на дяде Васе.
И бегут ощупывать дядю Васю. Эх, если он еще и щекотки боится, то весело будет всем!

Шифр 11. Невидимые чернила.

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

Шифр 12. Белиберда.

Гласные буквы остаются без изменений, а согласные меняются, согласно ключу.
например:
ОВЕКЬ ЩОМОЗКО
читается как - ОЧЕНЬ ХОЛОДНО, если знать ключ:
Д Л Х Н Ч
З М Щ К В

Шифр 13. Окошки.

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

Шифр 14. Карта, Билли!

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

Это схема нашей улицы. Подсказки здесь - номера домов (чтоб понять, что это вообще наша улица) и хаски. Такая собака живет у соседа напротив.
Дети не сразу узнали местность, задавали мне наводящие вопросы..
Тогда в квесте участвовало 14 детей, поэтому я их обьединила в 3 команды. У них было 3 варианта этой карты и на каждом помечено свое место. В итоге, каждая команда нашла по одному слову:
"ПОКАЖИТЕ" "СКАЗКУ" "РЕПКА"
Это было следующее задание:). После него остались уморительные фото!
На 9ти летие сына не было времени выдумывать квест и я его купила на сайте MasterFuns .. На свой страх и риск, потому что описание там не очень.
Но нам с детьми понравилось, потому что:
  1. недорого (аналог где-то 4х долларов за комплект)
  2. быстро (заплатила - скачала-распечатала - на все про все минут 15-20)
  3. заданий много, с запасом. Ихотя мне не все загадки понравились, но там было из чего выбрать, и можно было вписать свое задание
  4. все оформлено в одном, монстерском, стиле и это придает празднику эффект. Помимо самих заданий к квесту, в комплект входят: открытка, флажки, украшения для стола, приглашения гостям. И все -в монстрах! :)
  5. помимо 9ти летнего именинника и его друзей, у меня есть еще 5тилетняя дочка. Задания ей не по силам, но для нее и подружки тоже нашлось развлечение - 2 игры с монстрами, которые тоже были в наборе. Фух, в итоге - все довольны!

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

КАЖДАЯ БУКВА КОДИРУЕТСЯ ТОЛЬКО ОДНИМ ЧИСЛОМ

В приложении № 30 показан способ простой подстановки, где для кодирования 33 букв используются 33 числа. Каждая из 33 букв заменяется на одно из чисел: 01, 02, 03, ...,33.

Вариант 1

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

Вариант 2

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

На случай хищения, утери (компрометации) таблицы, можно усложнить - договориться переставлять местами цифры в каждой группе. Например, А = 05 - в шифровке писать 50.

КАЖДАЯ БУКВА КОДИРУЕТСЯ ДВУМЯ ГРУППАМИ

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

В таблице № 1 (приложение № 31 )- 49 букв, цифр и знаков + резерв, для кодирования которых используются 100 чисел (групп). Первая и вторая строчки - это двузначные группы, используемые для кодирования. Группы “36” и 63” - резерв. Третья, нижняя, строка - буквы, цифры и знаки препинания. Для кодирования каждой буквы используются то одна, то другая группа (стоящие над буквой), чередуясь попеременно. В этой таблице - группы расположены по порядку номеров. Таблицы такого типа не трудно хранить в памяти.

В таблице № 2 (приложение № 32 ) группы, используемые для кодирования, расположены хаотично. Таблица № 2 состоит из двух таблиц. Левая таблица предназначена для кодирования (кодовая таблица). Правая - для раскодирования (дешифрант). Напротив каждой буквы (в левой таблице) стоят две двузначные группы, которые используются для замены данной буквы чередуясь попеременно. Например, слово “шалаш” будет иметь такой вид: 15 68 06 12 82. Чтобы ввести в заблуждение противника, эту шифрограмму можно записать так: 156 806 128 224 или так: 1568 0612 8276. Для доукомплектования последней группы используем резерв.

ИСПОЛЬЗОВАНИЕ ДЛЯ ЗАМЕНЫ КАЖДОЙ БУКВЫ НЕСКОЛЬКИХ ГРУПП

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

КОДИРОВАНИЕ С УСЛОЖНЕНИЕМ .

В отличие от приложения № 30 все числа, используемые здесь для кодирования букв, взяты из таблицы умножения. Слово «ШАЛАШ» закодированное по кодовой таблице, представленной в приложении № 33, будет иметь такой вид: 10 24 40 24 10.


Усложняя с помощью таблицы умножения, заменяем код буквы на множители: вместо «10» пишем «25» или «52» (2´5 = 5´2 = 10), «24» заменяем на «38», «83», «46» или «64» (3´8 = 8´3 = 4´6 = 6´4 = 24) и т. д. После усложнения шифровка будет выглядеть так: 25 38 85 46 52. Таким образом для кодирования каждой буквы будет использоваться не одно число, а несколько (2-4), что сделает шифр более надежным, т. к. в зашифрованном тексте одни и те же числа (группы) будут повторяться реже.

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

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

Классная работа

2´5 = 10, 3´8 = 24, 8´5 = 40, 4´6 = 24, 5´2 = I0

Сообщение можно передавать короткими частями.

Аналогично вышеизложенному, можно использовать «Четырёхзначные математические таблицы» В.М. Брадиса - точные произведения двузначных чисел. Четырёхзначное число раскладывается на 2 двузначных сомножителя.

ДЛЯ ЗАМЕНЫ КАЖДОЙ БУКВЫ ИСПОЛЬЗУЕТСЯ РАЗНОЕ КОЛИЧЕСТВО ГРУПП

Рассмотрим систему шифрования в виде таблицы размером 10‰10 (размеры могут быть другими). Пронумеруем строки и столбцы. Десятые строку и столбец обозначим нулём (нумерацию можно начать не с 1, а с 0). Нумерация может быть буквенной. Причём для нумерации строк и столбцов могут использоваться не одни и те же, а разные буквы. Каждая клетка имеет координаты, состоящие из двух цифр или букв - номер строки и номер столбца. Заполним ячейки таблицы буквами алфавита, необходимыми знаками препинания, цифрами. При этом 100 ячеек распределим пропорционально, в зависимости от частоты употребления букв в русском языке. Несколько клеток оставим пустыми. Пустышки при необходимости будем применять вместо пробелов, для обозначения красной строки, для доукомплектования последних групп (в случае перегруппировки) и в качестве резерва.

В простейшем варианте буквы вписываются в таблицу в алфавитном порядке, а цифры в возрастающей последовательности (такое расположение символов не трудно запомнить). Причём, часто встречающиеся буквы повторяются необходимое количество раз: так буква О займёт 8-9 клеток, буква Е займёт 7-8 клеток, буква А повторяется 6-7 раз, букву И запишем 5-6 раз и т.д. Нумерацию строк и столбцов можно сделать в обратном или случайном порядке.

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

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

Зашифруем текст (ЛУЧШЕ БОЛЬШОЙ ДОСТАТОК, ЧЕМ МАЛЕНЬКИЙ НЕДОСТАТОК.) и получим криптограмму (17 45 49 40 10 37 13 88 18 40 24 43 39 95 15 12 29 23 96 11 57 49 21 44 89 68 17 77 19 18 87 16 43 80 78 76 97 05 25 69 08 98 11 50). В полученной криптограмме, не смотря на короткий открытый текст, просматриваются повторяющиеся (одинаковые) двузначные группы. Если шифровку перегруппировать в группы по 3, 4 или 5 символов, повторы одинаковых двузначных групп будут незаметны.

Если применить буквенную нумерацию строк и столбцов, шифрограмма будет иметь другой вид: ЛЖ ОД ОИ ОК ЛК НЖ ЛВ ТЗ ЛЗ ОК МГ ОВ НИ УД ЛД ЛБ МИ МВ УЕ ЛА ПЖ ОИ МА ОГ ТИ РЗ ЛЖ СЖ ЛИ ЛЗ ТЖ ЛЕ ОВ ТК СЗ СЕ УЖ ФД МД РИ ФЗ УЗ ЛА ПК. Для усложнения можно в каждой второй группе шифрограммы символы записывать в обратном порядке - сначала номер столбца, а затем номер строки. Или комбинировать - чередовать цифровые и буквенные группы.

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

ШИФРОБЛОКНОТ ИЗГОТОВЛЕНИЕ ШИФРОБЛОКНОТА

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

Для шифрования используйте 1000 групп, по три цифры в каждой (трехзначные числа): 000, 001, 002, 003 и так далее до 999.

Для простоты распределите трёхзначные группы поровну. 1000: 36 = 27 и 28 в остатке. Для шифрования каждой буквы и знаков препинания используйте по 27 групп. Остальные 28 оставьте в резерве. Для резерва выделите отдельную страницу.

При составлении блокнота трехзначные группы набираются в лотерейном порядке по принципу случайных чисел. Для этого вырежьте из картона небольшие прямоугольные кусочки - 1000 штук. На каждом напишите номер: 000, 001, 002, 003 и т.д. до 999. Сложите их в коробку, перемешайте. Откройте блокнот на странице с буквой -“А”. Возьмите из коробки любой номерок, например, 323. Запишите это число в блокнот на странице с буквой - “А”. Этот номерок положите в другую, пустую, коробку. Возьмите из коробки второй номерок, например, 162. Запишите это число в блокнот, а номерок положите в другую коробку.

Достаньте из коробки очередной, третий, номерок. Запишите следующее число в блокнот, например, 952. И т.д. пока на странице с буквой “А” ни будет записано 27 групп.

323 162 952 338 566 532 959 379 005 837 832 582 035 818 460 615 907 464 814 931 564 690 305 405

336 259 179 286 177 059 236 790 971 113 504 390 910 331 458 422 856 496 025 370 217 232 794 598 724 345 486

Аналогично набираете и вписываете числа (трёхзначные цифровые группы) для других букв и знаков препинания. Оставшиеся 28 групп запишите в резерв.

Для расшифрования на свободных листах вначале блокнота сделайте специальную таблицу - ДЕШИФРАНТ. Дешифрант состоит из двух колонок. Первая колонка - это №№ по порядку, трехзначные группы: 000, 001 , 002, 003 и т.д. до 999. Вторая колонка - буквы и знаки. Сначала впишите в блокнот первую колонку - порядковые номера. Затем заполните вторую колонку - напротив каждого порядкового номера соответствующую букву или знак.

Для этого откройте блокнот на странице с буквой «А». Первая группа здесь - 323. Против порядкового № 323 дешифранта напишите букву «А». Вторая группа - 162. Против порядкового номера 162 в дешифранте напишите букву “А”, и т.д.

Далее, открываете блокнот на странице с буквой - “Б” и в дешифранте против соответствующих групп (порядковых номеров) проставляете букву «Б». Аналогично заполняете вторую колонку дешифранта остальными буквами и знаками препинания. Против групп, попавших в резерв, - пусто (например, № 260).

Шифроблокнот и дешифрант к нему показаны в приложении № 35 .

ШИФРОВАНИЕ ТЕКСТА

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

Возвращаемся к началу исходного текста. Вторая буква в тексте - “А”. Откройте блокнот на странице с буквой «А». Первая группа здесь - 323. Напишите её под буквой “А”. Следующую букву “А” шифруйте второй группой - 162. И т. д., до тех пор, когда все буквы «А» в тексте будут зашифрованы.

Аналогично шифруйте остальные буквы текста (в приведённом примере их нет). Получилась шифрограмма: 336 323 259 162. Для замены каждой буквы можно использовать любые из 27 групп, предназначенных для данной буквы, в любом порядке, не допуская повторного использования одной и той же группы.

РАСШИФРОВАНИЕ

Для расшифрования криптограммы найдите в дешифранте порядковый № 336. Напротив него стоит буква

- “Б”. Напишите букву “Б” под первой группой шифрограммы. Вторая группа в шифрограмме - 323. Найдите в дешифранте порядковый № 323. Напротив него стоит буква - “А”. Запишите её под второй группой шифрограммы. И т.д.

Получится :

ПРАВИЛА РАБОТЫ

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

Уничтожайте испорченные листы и черновики, а также утратившие значение шифрограммы и секретные тексты.

Если понадобится внести в блокнот другие знаки или цифры, используйте часть резерва. Цифры можно разместить отдельно после букв в конце блокнота или вместе с буквами в алфавитном порядке: 1 - один - после буквы “О”, 2 - два - после буквы «Д» и т.д. Резервные группы можно применять как знак раздела (для обозначения пробела или красной строки), для доукомплектования последних групп при перегруппировке шифрограммы и в других случаях.

Конечно, изготавливая шифроблокнот, распределять заменяющие элементы (шифрообозначения) для каждой буквы нужно не поровну, а в количестве пропорциональном частоте употребления букв в русском языке. Но равномерное распределение трёхзначных цифровых групп, показанное на примере данного шифроблокнота, даёт возможность более удобного и качественного манёвра изменения ключа. Даёт возможность применить сдвиг на одну или несколько позиций. Алфавит шифроблокнота нумеруется. Нумерация начинается с ноля, т.е. букве «А» присваивается порядковый номер 0, букве «Б» - порядковый номер 1, букве «В» - 2 и т.д. Такая нумерация помогает хорошо ориентироваться и вычислять нужные для замены группы.

Так, например, при сдвиге на три позиции (ключ равен 3) для замены буквы «А» используются группы, предназначенные для буквы «Г» - к порядковому номеру буквы «А» (0) прибавляем значение ключа (3) и получаем порядковый номер буквы «Г» (3). Буква исходного текста «Б» в процессе шифрования заменяется на трёхзначные цифровые группы, предназначенные для буквы «Д» - порядковый номер буквы «Б» (1) складываем со значением ключа (3) и получаем порядковый номер абзаца, соответствующего букве «Д» (4), и т.д.

Можно разбить алфавит попарно и для замены буквы «А» использовать группы, предназначенные для буквы «Б». Для замены буквы «Б» применять группы, предназначенные для буквы «А», и так далее.

Ключ менять по специальному секретному графику (расписанию смены ключа).

Человек – социальное существо. Мы учимся взаимодействовать с другими, наблюдая за их реакцией на наши действия с первых дней жизни. При любом взаимодействии мы используем то, что искусствоведы называют «культурными кодами». А ведь культурные коды – самые сложные в дешифровке, здесь нет специальной программы, которая подскажет, что может значить приподнятая бровь или беспричинные, казалось бы, слёзы; нет однозначного ответа; более того, даже сам «кодирующий» может не знать, что он имел в виду под своим действием! Наука понимать окружающих – это то, что мы постигаем всю жизнь, и чем лучше развито это умение, тем, как правило, гармоничнее складывается общение с окружающими и любая деятельность, в которой нужны согласованные действия.

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

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

Трепещут на ветру флаги, ржут разгорячённые кони, бряцают доспехи: это Римская империя обнаружила, что в мире ещё есть кто–то, кого они не завоевали. Под командованием Гая Юлия Цезаря находится огромная армия, которой надо быстро и точно управлять.

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

Но вот захвачен посланник, злоумышленник разворачивает записку… и ничего не понимает! «Наверное, – чешет он в затылке, – это на каком–то неизвестном языке…». Рим торжествует, его планы в безопасности.

Что же такое шифр Цезаря? Самый простой его вариант – это когда мы вместо каждой буквы ставим следующую по алфавиту: вместо «а» – «б», вместо «е» – «ж», а вместо «я» – «а». Тогда, например, «Я люблю играть» станет «А мявмя йдсбуэ». Давайте посмотрим на табличку, сверху в ней будет буква, которую шифруем, а снизу – на которую заменяем.

Алфавит как бы «сдвинут» на одну букву, правда? Поэтому этот шифр ещё называют «шифром сдвига» и говорят «используем шифр Цезаря со сдвигом 10» или «со сдвигом 18». Это значит, что надо «сдвинуть» нижний алфавит не на 1, как у нас, а, например, на 10 – тогда у нас вместо «а» будет «й», а вместо «у» – «э».

Сам Цезарь использовал этот шифр со сдвигом 3, то есть его таблица шифрования выглядела вот так:

Точнее, она бы так выглядела, если бы Цезарь жил в России. В его случае алфавит был латинский.

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

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

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

Что такое «взломать код»? Это значит – придумать способ его разгадать, не зная ключа и смысла шифра. Шифр Цезаря тоже когда-то был взломан – так называемым «методом частотного анализа». Посмотрите на любой текст – гласных в нём гораздо больше, чем согласных, а «о» гораздо больше, чем, например, «я». Для каждого языка можно назвать самые часто и редко используемые буквы. Надо только найти, какой буквы больше всего в зашифрованном тексте. И скорее всего это будет зашифрованная «о», «е», «и» или «а» – самые часто встречающиеся буквы в русских словах. А как только ты знаешь, какой буквой обозначили, например, «а», ты знаешь, и на сколько «сдвинут» шифрованный алфавит, а значит, можешь расшифровать весь текст.

Когда разгадку кода Цезаря узнал весь мир, криптографам пришлось придумать что-нибудь помощнее. Но, как часто бывает, люди не стали изобретать что–то совсем новое, а усложнили уже имеющееся. Вместо того, чтобы шифровать все буквы по одному и тому же сдвинутому алфавиту, в тайных посланиях их стали использовать несколько. Например, первую букву шифруем по алфавиту со сдвигом 3, вторую – со сдвигом 5, третью – со сдвигом 20, четвертую – снова со сдвигом 3, пятую – со сдвигом 5, шестую – со сдвигом 20 и так далее, по кругу. Такой шифр называют полиалфавитным (то есть многоалфавитным). Попробуйте, так ваш шифр уже может разгадать только тот, кто посвящён в тайны криптографии!

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

Давайте представим, что кто–то зашифровал послание двумя алфавитами. Первая буква – со сдвигом 5, вторая – со сдвигом 3, третья – снова 5, четвертая снова 3 – как на табличке ниже.

Мы можем разделить все зашифрованные буквы на две группы: буквы, зашифрованные со сдвигом 5 (1, 3, 5, 7, 9, 11, 13, 15, 17, 19) и буквы, зашифрованные со сдвигом 3 (2, 4, 6, 8, 10, 12, 14, 16, 18, 20). И внутри каждой группы искать, какие буквы встретились нам чаще остальных – так же, как в шифре Цезаря, только мороки побольше.

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

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

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

Незаметно подкрался XX век. Человечество всё больше надеется на машины: поезда заменяют повозки, радио появляется почти в каждом доме, и уже встали на крыло первые самолеты. И шифровку тайных планов в конце концов тоже передают машинам.

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

theromanroad.files.wordpress.com

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

Всё дело в том, что польский ученый Мариан Реевский однажды подумал о том, что раз придумали машину для шифровки сообщений, то можно придумать и машину для расшифровки, и первый свой образец называл «Бомба». Не из-за «взрывного» эффекта, как можно было бы подумать, а в честь вкусного, круглого пирожного.

Потом математик Алан Тьюринг построил на его основе машину, которая полностью расшифровывала код «Энигмы», и которую, между прочим, можно считать первым прародителем наших современных компьютеров.

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

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

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

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

И это была большая победа криптографов – победа над самим временем, которое надеялось спрятать от людей их историю.

Но среди всех этих разгаданных шифров есть три особенных. Один – это метод Диффи – Хеллмана. Если маленькое сообщение зашифровать этим методом, то, чтобы его расшифровать, надо взять все компьютеры в мире и занять их этим на много-много лет. Именно он используется сегодня в Интернете.

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

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

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

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

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

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

Шифр Цезаря онлайн

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

Введите текст:

НАЧАТЬ

всего расчетов - 153800

Как шифровать

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

Итак, наше слово Россия. Попробуем его зашифровать. Для этого нам нужно определиться с шагом шифрования. Шаг шифрования или сдвиг — это число, которое указывает на сколько позиций мы будем смещаться влево или вправо по алфавиту. Часто сдвиг называют ключом . Его можно выбрать произвольно. В нашем примере выберем шаг равный 7. Таким образом каждую букву шифруемого слова мы будем смещать вправо (в сторону конца алфавита) на 7 позиций. Буква Р у нас имеет номер 18. Прибавим к 18 наш шаг и получим 25. Значит в зашифрованном слове вместо буквы Р будет буква с номером 25 — Ч. Буква о превратится в букву х. Буква с — в ш и так далее. В итоге после шифрования слово Россия превратится в Чхшшпё.

  • Р -> Ч
  • о -> х
  • с -> ш
  • с -> ш
  • и -> п
  • я -> ё

Задавая шаг шифрования можно зашифровать любой текст.

Как расшифровать

Во-первых, вы можете воспользоваться специально созданным калькулятором на этой странице. В поле для текста вводите зашифрованный текст, а наш сервис дешифрует его, используя все возможные варианты сдвига. На выходе вы получите все полученные результаты и вам останется только выбрать правильный. К примеру, у вас есть зашифрованный шифром Цезаря текст — «З шчхцж аьмцчн хлцчкнцен». Вставляем его в калькулятор и получаем варианты дешифрования, среди которого видим «Я помню чудное мгновенье» со сдвигом 24.

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



Похожие статьи