Легенда

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

Источник изображения (СС BY-SA 3.0)

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

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

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

Вторая — на ленте были записаны нули и единицы, и их число было кратно восьми, что стажёры приняли как запись двоичных данных. При этом сотрудники точно помнят, что в этих двоичных данных закодирован осмысленный текст, а именно одна строка в ASCII с пробелами и знаками препинания (другими словами, символы с кодами 0x20-0x7E). Биты шли подряд в порядке от старшего к младшему в байте. А чтобы число оборотов было целым, в конце были дописаны символы с десятичным кодом 42, как и подобает специалистам в ИТ.

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

Заметьте, так как Stepik некорректно интерпретирует двоичные данные (преобразует часть байт в Юникод), мы передаём входные данные в кодировке Base64. Для декодирования данных вы можете воспользоваться любым удобным для вас средством, например, CyberChef.


Видео-разбор

Последнее изменение: Monday, 19 September 2022, 12:10