Указание по дешифровке (1014274)
Текст из файла
3
Указания по декодированию текста, шифрованного циклическим наложением неизвестного ключа по модулю два
Имеется шифротекст: >%=3)-%9м(н.<3)ь.1(ь#%=9>0>.
Его шестнадцатеричное представление:
| 3E | 25 | 3D | 33 | 29 | 2D | 25 | 39 | EC | 28 | ED | 2E | 3C | 33 | 29 | FC | 2E | 31 | 28 | FC | 23 | 25 | 3D | 39 | 3E | 30 | 3E | 2E |
1. Находим длину ключа.
Сдвигаем шифрованный текст относительно самого себя и подсчитываем совпадения символов или их шестнадцатеричных кодов. При сдвиге на один символ – 0 совпадений,
на два символа – 1 совпадение, на три символа – 0 совпадений. При сдвиге на
четыре символа – 1 совпадение. При достаточно длинном тексте максимальное число совпадений впервые будет достигнуто при сдвиге на длину ключа. При коротком тексте, как в данном примере, придется проверять 2 гипотезы: длина ключа равна 2 и 4 символам.
2. Полагаем, что длина ключа равна четырем символам. Сдвигаем шифротекст на 4 символа относительно самого себя и складываем по модулю два (операция XOR или ). Тем самым устраняем влияние наложенного ключа . Получим сумму по модулю два исходного текста со своей копией, сдвинутой на длину ключа самим:
| 17 | 8 | 18 | A | C5 | 5 | C8 | 17 | D0 | 1B | C4 | D2 | 12 | 2 | 1 | 0 | D | 14 | 15 | C5 | 1D | 15 | 3 | 17 |
3. По таблице сумм ASCII-кодов отмечаем в этой строке коды, встречающиеся минимальное количество раз. Символы, отмеченные желтым цветом, встречаются в таблице под два раза, все остальные по 32 раза. С редких символов целесообразно начать декодирование текста. Если все символы встречаются в таблице сумм примерно одинаковое число раз, дешифровку начинаем первого символа или с символа, повторяющегося в данной строке наиболее часто (символ с кодом 17).
По таблице сумм определяем, что коду C5 соответствует сумма буквы «е» с пробелом.
Подставляем комбинацию этих символов под кодом C5. (Пробел отмечен символом многоточие «…»). Находим позицию в строке, отстоящую от С5 на длину ключа (4 клетки, считая C5 первой). Это код D0. Записываем под ним те же символы, но в обратном порядке.
| 17 | 8 | 18 | A | C5 | 5 | C8 | 17 | D0 | 1B | C4 | D2 | 12 | 2 | 1 | 0 | D | 14 | 15 | C5 | 1D | 15 | 3 | 17 |
| е | … | ||||||||||||||||||||||
| … | е |
По таблице сумм проверяем, существуют ли символы, которые при сложении с кодами «e» и пробела дают код D0. Находим, что D0 = (пробел р). Комбинаций с буквой «e», дающих код D0 нет. Стираем вторую строку, как не прошедшую проверку.
| 17 | 8 | 18 | A | C5 | 5 | C8 | 17 | D0 | 1B | C4 | D2 | 12 | 2 | 1 | 0 | D | 14 | 15 | C5 | 1D | 15 | 3 | 17 |
| е | … | р |
Записываем под следующим кодом, отстоящим на длину ключа (код 12) символ «р» и по таблице сумм находим, что 12 = (р в), и это единственная комбинация с буквой «р», дающая код 12. Записываем в клетку под кодом D, то есть 0D, букву «в».
| 17 | 8 | 18 | A | C5 | 5 | C8 | 17 | D0 | 1B | C4 | D2 | 12 | 2 | 1 | 0 | D | 14 | 15 | C5 | 1D | 15 | 3 | 17 | |
| е | … | р | в | п | т |
Далее, в строке или столбце с буквой «в» таблицы сумм находим код 0D = (в п), записываем «п» под кодом 1D и, наконец, определив 1D = (п т), можем дописать его в добавочную клетку.
Ту же последовательность действий проделываем со вторым, отмеченным желтым цветом кодом C8 = (и пробел), и кодами, отстоящими от него на величину кратную длине ключа C4, 1, 15 и 3. Получим
| 17 | 8 | 18 | A | C5 | 5 | C8 | 17 | D0 | 1B | C4 | D2 | 12 | 2 | 1 | 0 | D | 14 | 15 | C5 | 1D | 15 | 3 | 17 | |||
| е | и | … | … | р | д | в | е | п | р | т | у |
Начиная декодирование с кода D2, найдем еще три символа – «т», пробел, пробел, «е»
| 17 | 8 | 18 | A | C5 | 5 | C8 | 17 | D0 | 1B | C4 | D2 | 12 | 2 | 1 | 0 | D | 14 | 15 | C5 | 1D | 15 | 3 | 17 | ||||
| е | и | … | … | т | р | д | … | в | е | … | п | р | е | т | у | т |
Больше уникальных символов в декодируемой строке не осталось. Для определения последней группы символов просмотрим уже полученный текст. В нем могут быть характерные особенности, которые можно использовать, чтобы избежать простого перебора всех 32 символов в первой, пока еще пустой, позиции. Символ под кодом 1B окружен пробелами. Это могут быть союзы «а», «в», «и», «к», «о», «с», «у», местоимение «я». Символ под кодом 2 с большой вероятностью угадывается как буква «у» в слове «труд», а под символом 14, скорее всего следует записать букву «с», имея ввиду слово «все». Попробуем подставить «у» под кодом 2. Тогда, повторяя описанную процедуру, найдем оставшиеся буквы до конца кодированного текста.
| 17 | 8 | 18 | A | C5 | 5 | C8 | 17 | D0 | 1B | C4 | D2 | 12 | 2 | 1 | 0 | D | 14 | 15 | C5 | 1D | 15 | 3 | 17 | ||||
| е | и | … | … | т | р | у | д | … | в | с | е | … | п | е | р | е | т | р | у | т |
Получился осмысленный текст – значит наше предположение было верным. В противном случае нужно было бы попробовать другой вариант.
Полученный текст вполне достаточен для восстановления ключа, но можно декодировать и его начало. Для этого процедуру проверки следует провести справа налево, не забывая при этом, что получаемые символы будут относится к тексту, смещенному на длину ключа влево. Поэтому, если раньше мы вписывали их на 4 позиции правее, то сейчас будем вписывать непосредственно под символом, с которым они дают в сумме нужный код.
Возьмем код 2 над буквой «у» и проверим, какой символ даст код 1B, отстоящий от 2 на длину ключа влево. Это символ «и»: 1B = (у и). Отступив еще на 4 позиции влево, находим букву «н»: 5 = (и н) и так далее.
| 17 | 8 | 18 | A | C5 | 5 | C8 | 17 | D0 | 1B | C4 | D2 | 12 | 2 | 1 | 0 | D | 14 | 15 | C5 | 1D | 15 | 3 | 17 | ||||
| е | е | н | и | … | и | … | т | р | у | д | … | в | с | е | … | п | е | р | е | т | р | у | т |
Таким образом можно декодировать весь текст. Но, если получен фрагмент исходного текста, равный по длине ключу или несколько больше, то, как уже было сказано, можно восстановить ключ, а с его помощью исходный текст.
Сложим по модулю два полученный декодированный текст и шифротекст
| 3E | 25 | 3D | 33 | 29 | 2D | 25 | 39 | EC | 28 | ED | 2E | 3C | 33 | 29 | FC | 2E | 31 | 28 | FC | 23 | 25 | 3D | 39 | 3E | 30 | 3E | 2E |
| е | е | н | и | … | и | … | т | р | у | д | … | в | с | е | … | п | е | р | е | т | р | у | т | ||||
| E5 | E5 | ED | E8 | 20 | E8 | 20 | F2 | F0 | F3 | E4 | 20 | E2 | F1 | E5 | 20 | EF | E5 | F0 | E5 | F2 | F0 | F3 | F2 | ||||
| C0 | CC | C0 | CD | CC | C0 | CD | DC | CC | C0 | CD | DC | CC | C0 | CD | DC | CC | C0 | CD | DC | CC | C0 | CD | DC | ||||
| А | М | А | Н | М | А | Н | Ь | М | А | Н | Ь | М | А | Н | Ь | М | А | Н | Ь | М | А | Н | Ь |
Следовательно, при кодировании использовалось ключевое слово
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.












