На разные праздники мы дарим технической команде iSpring Tech подарки. Чаще всего это были книги. Потом переключились на командные футболки. Первый дизайн был с разными космическими кораблями из Звездных войн. И вот перед очередным праздником — это был Новый год — мы вновь задумались о подарках. Решили снова сделать футболки — но не простые, а особенные, чтобы прям для технарей…
Многие наши разработчики любят сложные задачи, ребусы, логические задания и квесты. Так родилась идея сделать футболку-загадку: придумали шифр из пяти уровней и загадали в нём забавные фразы, которые часто употребляют программисты. Основная задача при шифровке была преобразовать текст в картинку, чтобы картинка получилась визуально интересная.
Мы решили поделиться этой задачкой со всем Хабром. За правильный ответ — приз: отправим победителям футболку с принтом-шифром, как на картинке, и сувенирный набор Марий Эл (в нём — бальзам «Огни Марий Эл», тушенка с мясом из лося, чай, грибы, магнит, открытки, сумка). Победители получат призы как раз к Новому году :)
Ненадолго вернёмся к истории
Футболки мы подарили всем сотрудникам iSpring Tech — программистам, QA, админам, продактам, проектировщикам и дизайнерам. Сказали, что нужно решить задачку. Никто не знал, что на этих футболках написано, — только то, что там изображена зашифрованная фраза и нужно использовать всё, что есть на футболке. Решение непростое: нужно до чего-то догадаться, а где-то проявить упорство.
В основном ребята думали над разгадкой пару дней. Часть ребят собрались вместе и в течение нескольких часов пытались найти решение. Но быстро не получалось, и они бросали задачку. Так до сих пор и ходят в футболках с какой-то надписью: этих людей можно подкалывать, что они не знают, что на них написано :D
Раз в неделю мы выдавали подсказку, которая наводила на мысль. Например, как в этом видео с 4:57.
В итоге только один человек из iSpring Tech докопался до истины. Он заморочился и сделал гуглотаблицу для упрощения подбора вариантов дешифровки и автоматизации вычислений. Это было в середине февраля, и за разгадку мы подарили ему bluetooth колонку и арбуз. Зимой. Потому что арбуз такой же полосатый, как и этот шифр. А полоски арбуза мы заклеили цветными бумажными полосками, в которых зашифровали поздравительную надпись. Конечно же, он расшифровал и её.
Задача
Перед вами три варианта принтов. Вы можете выбрать для дешифровки любой.
Решения и ответы пишите в комментариях к статье.
Футболки с принтом и сувенирный набор Марий Эл подарим первым трём участникам, давшим правильный ответ. Имена победителей будут появляться здесь по мере отгадывания.
Подсказки
Надпись на футболке вам поможет. Если никто не решит задачу быстрее, каждый вторник здесь будут появляться новые подсказки. По одной в неделю.
Погнали!
P.S. Напоследок — напутствие от программиста, единственного, кто разгадал шифр: «Здесь главное не усложнять. Я для себя напереусложнял на определённом этапе — это был путь в никуда. В итоге всё оказалось достаточно банально, если смотреть назад».
UPD: Шифр №1 разгадан.
UPD2: Шифр №2 разгадан.
UPD3: Шифр №3 разгадан.
UPD4: Разгадка шифра.
Комментарии (49)
dakiev
02.11.2021 13:58+1Начнем с того что все разделено в группы по три цвета, один из которых черный. Три черных полоски это возможно пробел. Также возможно считывать надо справа-налево
Veliant
02.11.2021 15:22+1Там не везде по три. У меня есть предположение, что черный - разделитель "байтов". Два черных подряд - предыдущий заканчивается нулевыми битами, а тремя черными подряд закодирован нулевой "байт". Но сильно смущает в первом шифре три одинаковых зелено-желтых последовательности. Три одинаковых буквы врядли в слове встретишь (а эта последовательность еще 4 раза встречается в первом шифре и ни разу в третьем). Так что частотный анализ букв тут в пролете.
domix32
02.11.2021 15:33В видео подсказка, что три черных это "что-то кроме пробела", то бишь какой-то знак препинания скорее всего. Два черных похоже что обычный пробел, и одна черная это разделитель между буквами.
Veliant
02.11.2021 16:40+1Если так, то первый шифр в 8-ричной системе выглядит так:
Последовательность
27|14|1 26|26|26|2|24|15|27, 7|11|26|2 24|2 26, 26|24|2 26|32|15|5, 13, 5|15|17|25
А в 10-тичной:
Последовательность
23|12|1 22|22|22|2|20|13|23, 7|9|22|2 20|2| 22, 22|20|2 22|26|13|5, 11, 5|13|15|21
При условии, что каждая линия кодирует по 3 бита соответственно по одному на R,G,B
Числа все в пределах значения 26, что вполне соответствует длине английского алфавита
MinimumLaw
02.11.2021 15:37www как вариант. Но ASCII это 0x57, а желтый и зеленый при восьми цветах (скорее всего) отличаются на единицу. В первом приближении 8 цветов (0..7) - каждая полоса полубайт. А дальше сложнее.
domix32
02.11.2021 15:40+1Кодифицированные сообщения с футболок, если кому надо.- #000 A - #00c B - #0c0 C - #fff D - #cc0 E - #c00 F - #c0c G - #0cc BC AE A BD BD BD B BE AF BC C AA BD B BE B BD BD BE B BD GB AF F AG F AF AC BF A BC BD D AE A AC BE AF G C AA D G E AA BD A AE BD C AF AA G AA D GB BC BE GB BG AC A F BE G BC GG BE GB AD B G BE B G BA D G BE E BC BF AA BB BC GB E B BG
domix32
02.11.2021 15:42Получается всего 22 уникальных кода. Остается выяснить как их нормально прочитать.
byman
02.11.2021 16:36Я в своей статье https://habr.com/ru/users/byman/posts/ тоже зашифровал сообщение
на картинке и вот уже несколько месяцев никто на хабре расшифровать не может :)
alcans
02.11.2021 16:50Штрихкод. Через фотошоп инвертировать и перевести в черно-белое. Потом программой для чтения штрихкодов прочитать.
osmanov13
02.11.2021 16:50Каждая буква в надписи iSpring Tech соответствует цветовой полоске под нею. Оставшиеся пробелы подобрать по смыслу. На это также намекает ответ отгадавшего разработчика: "если смотреть назад".
domix32
02.11.2021 17:35Только не под нею, а на логотипе кампании, наверное. Иначе все три сообщения кодировались бы разными ключами. Однако, проблема двух i пока непонятно как разрешается.
Wigaro
02.11.2021 17:54+7оцениваю задачи пальцем в небо
Классная загадка, мне понравилась. Отняла правда целый день.
ПС решил, что стоит оставить только один ответ.
ilyashikhaleev Автор
02.11.2021 18:18Поздравляю! Ответ верный :) сегодня с вами свяжемся вопросам доставки и размеров!
Wigaro
02.11.2021 18:49+3Спасибо!
Все подсказки данные в статье подтверждаю:
5 уровней (можно сказать 5 преобразований данных)
не нужно усложнять
подсказка из видео про черный
надпись действительно используется
AlexKarpan
03.11.2021 15:12+3Ну а я...
Сегодня я занимаюсь рефакторингом
Действительно отличная загадка! Спасибо! :)
ilyashikhaleev Автор
03.11.2021 15:24Поздравляю! Шифр со второй футболки верно разгадан! :) сейчас с вами в лс свяжемся вопросам доставки и размеров :)
ifap
04.11.2021 03:10Из всей компании только один сотрудник смог разгадать шифр за полтора месяца с 6 подсказками (если правильно понял), тогда как не погруженному в этот сеттинг хабровчанину потребовался 1 день и 1 подсказка? Оригинальную Вы рекламу своей компании замутили… ;)
ilyashikhaleev Автор
04.11.2021 08:32+3Да, всего подсказок было 6, причём две самые большие и выданные коллегам последними были в видео, ссылка на которое в статье :) итого статья содержит 3 из 6 подсказок. Коллегам в момент вручения футболок я озвучил только 1 подсказку про надпись на футболках :)
GruBBy_kz
04.11.2021 14:49+2смело правлю баги сразу на живом
я на этой тарабарщине уже говорить начал
ilyashikhaleev Автор
04.11.2021 16:50Поздравляю! Шифр с третьей футболки верно разгадан! :) сейчас с вами свяжемся по размерам :)
soul32bit
04.11.2021 23:00Месье раскроет тайну шифра простым смертным?
ilyashikhaleev Автор
04.11.2021 23:14Думаю позже выложу в отдельной статье :) пока дам время решить тем, кому интересно :) если актуально решающим, могу выкладывать подсказки раз в неделю, как и планировал изначально :)
GruBBy_kz
05.11.2021 16:21+1Мне помогли подсказки других, поэтому оставляю и свои:
всё просто, хитростей, перестановок, xor-ов нет, смотреть назад и переворачивать не нужно
чёрные полоски бывают трёх видов, но охотиться за пикселями не нужно - задача должна читаться с футболки
шифр один на все задачи - поможет в анализе
26 должно быть достаточно для каждого
SystemXFiles
У меня есть справедливый вопрос к качеству картинок.
Они должны быть замыленными словно после масштабирования?
Это вносит искажения в цвета линий и мешает анализу.
Если это не часть загадки, следует предоставить ссылку на картинки в полном разрешении.
Пока пытаюсь усреднить цвет линий, но как бы это не усугубило результат.
vesper-bot
Туда же вопрос — насколько важна чистота цвета? Т.е. сколько битов RGB можно отбросить из-за кривой цветопередачи?
Veliant
Если присмотреться, основных цветов всего 8. Думаю оттенки не имеют значения.
ilyashikhaleev Автор
В статье картинки в исходном разрешении, для разгадки этого разрешения достаточно :)