![](https://habrastorage.org/files/a8e/637/628/a8e637628f8a4a6184ebe4f3a2173c5d.png)
Способ раз
Создание шифровки
![](https://habrastorage.org/files/f8b/85b/0f6/f8b85b0f61bb4ec094f6bf1418b56aa5.png)
Скопируем текст в MS Word, сделаем его одного размера и форматирования, и применим к нему какой-нибудь иконочный шрифт, такой как Webdings или любой другой. Распечатаем и отправим полученную шифровку другу.
Ваш друг, конечно, моряк, и легко и быстро прочитает полученную шифровку. Но представим, что вы отправили другу не строчку, а много строчек. Что делать тогда?
Подготовка к расшифровке
Создание ключа
Для того чтобы ваш друг мог её легко расшифровать, ему нужно передать ключ. В некоторых случаях ключ может создать он сам. Но мы поможем ему в этом нелёгком деле и аналогично шифровке создадим следующий файл:
![](https://habrastorage.org/files/cbb/f07/bbd/cbbf07bbd9b24f65975fb91cba298970.png)
Внимательный читатель может заметить, что флагов тут ровно 26, и предположить, что видит перед собой английский алфавит, и, конечно, будет прав.
Создание эталонов
Сканируем ключ в FineReader. Выбираем английский язык распознавания, распознавание с обучением и запрещаем использовать встроенные эталоны. Нажимаем «Распознать». Теперь про каждую букву нас будут спрашивать, что это за буква:
![](https://habrastorage.org/files/ee3/836/c33/ee3836c3334f48c1b953b6a98767d021.png)
Набираем по очереди буквы алфавита и нажимаем «Поезд». 52 нажатия – и эталон готов. Не забудьте сохранить эталоны для дальнейшего использования, иначе обучение придется делать каждый раз. Полученные эталоны можно посмотреть в редакторе эталонов:
![](https://habrastorage.org/files/e03/fe8/c5f/e03fe8c5f8964b6da9916b94d9203ab1.png)
Весь этот процесс занимает 5-10 минут, но может занять больше времени, если вы не знаете расположение английских букв. В этом случае рекомендуется помечать на клавиатуре уже использованные клавиши, чтобы ускорить поиск оставшихся.
Расшифровка
Теперь выключаем режим обучения, сканируем и распознаем сам текст шифровки. Вуаля – и мы имеем результат:
![](https://habrastorage.org/files/a5d/00c/f5f/a5d00cf5f4334262858d2362ad86ecbb.png)
Внимательный читатель скажет: ну и что? Зачем это нужно? Как ни странно, этому можно найти много применений, например:
• создать эталоны для шрифта xkcdRightHand и легко извлекать тексты с картинок любимого комикса;
• создать эталоны для какого-нибудь нестандартного шрифта и оцифровать старую книгу;
• осуществлять быстрый поиск по эльфийским книгам, написанным на тенгваре или кертаре;
• помощь в оцифровке текстов, автор которых считает себя самым умным и вставляет везде странные знаки.
Начинающий конспиролог скажет, что взломать такой шифр – как раз плюнуть: смотрим статистику использования букв, анализируем короткие слова – и ключ разгадан. В этом случае добавляем в исходный текст мусорные символы, либо кодируем его в Base64. А теперь представьте себе, что для шифрования используется, например, ж-шрифт:
![](https://habrastorage.org/files/904/9cd/bc4/9049cdbc402b48e8844700b778e63b19.png)
Я думаю через пару минут визуального анализа, в голове будут одни Ж.
Способ два
Создание шифровки
Берем книгу с полки, которую не жалко. Я уверен, что сейчас сюда набегут люди, которые скажут, что таких книг не бывает. Но поверьте: раз уж вы встали на путь шифрования, то для вас не должно быть ничего святого. Поэтому — вперёд. Берем книгу, и (впечатлительным дальше лучше не читать) ручку, вспоминаем, что передать мы хотим только одно слово: «сосна», листаем книгу, находим искомое на 117 странице, и модифицируем:
![](https://habrastorage.org/files/764/b99/dcf/764b99dcfaeb49b48ba1ae8625ed6df6.gif)
Закрываем книгу и отправляем её другу.
Подготовка к расшифровке
Придумывание секретных слов
Заранее согласуем с другом набор секретных слов, которые должны удовлетворять следующему условию: в них должны быть буквы «с» или «л», например, сосна, сквиталась, логопед.
Создание словаря
Друг сохраняет эти слова в txt файл, с небольшими изменениями: оосна, еквиталась, погопед; после чего импортирует его в пользовательский словарь свежесозданного языка в FineReader:
![](https://habrastorage.org/files/9da/b86/51c/9dab8651ca2c4994b10ef11fbab2fa82.png)
Расшифровка
Сканируем полученную книгу и распознаём её нашим языком. Ищем в тексте видоизмененные слова, находим «оосна» и радуемся. Таким образом
![](https://habrastorage.org/files/704/cd8/bfd/704cd8bfde2c49a997e689c1e1e89fb2.png)
А вообще создание собственных словарей позволяет улучшить распознавание часто встречающихся имен собственных, аббревиатур и последовательностей буквоцифр, для этого в пользовательском языке вместо словаря можно указать регулярное выражение для проверки.
А закончить мы хотим следующими словами:
![](https://habrastorage.org/files/f45/1c6/ec7/f451c6ec72164d3c9a35ebd309f3733d.png)