На разные праздники мы дарим технической команде iSpring Tech подарки. Чаще всего это были книги. Потом переключились на командные футболки. Первый дизайн был с разными космическими кораблями из Звездных войн. И вот перед очередным праздником — это был Новый год — мы вновь задумались о подарках. Решили снова сделать футболки — но не простые, а особенные, чтобы прям для технарей…

Многие наши разработчики любят сложные задачи, ребусы, логические задания и квесты. Так родилась идея сделать футболку-загадку: придумали шифр из пяти уровней и загадали в нём забавные фразы, которые часто употребляют программисты. Основная задача при шифровке была преобразовать текст в картинку, чтобы картинка получилась визуально интересная. 

Мы решили поделиться этой задачкой со всем Хабром. За правильный ответ — приз: отправим победителям футболку с принтом-шифром, как на картинке, и сувенирный набор Марий Эл (в нём — бальзам «Огни Марий Эл», тушенка с мясом из лося, чай, грибы, магнит, открытки, сумка). Победители получат призы как раз к Новому году :)

Ненадолго вернёмся к истории

Футболки мы подарили всем сотрудникам iSpring Tech — программистам, QA, админам, продактам, проектировщикам и дизайнерам. Сказали, что нужно решить задачку. Никто не знал, что на этих футболках написано, — только то, что там изображена зашифрованная фраза и нужно использовать всё, что есть на футболке. Решение непростое: нужно до чего-то догадаться, а где-то проявить упорство.

В основном ребята думали над разгадкой пару дней. Часть ребят собрались вместе и в течение нескольких часов пытались найти решение. Но быстро не получалось, и они бросали задачку. Так до сих пор и ходят в футболках с какой-то надписью: этих людей можно подкалывать, что они не знают, что на них написано :D

Раз в неделю мы выдавали подсказку, которая наводила на мысль. Например, как в этом видео с 4:57. 

Счастливый победитель с подарками :)
Счастливый победитель с подарками :)

В итоге только один человек из iSpring Tech докопался до истины. Он заморочился и сделал гуглотаблицу для упрощения подбора вариантов дешифровки и автоматизации вычислений. Это было в середине февраля, и за разгадку мы подарили ему bluetooth колонку и арбуз. Зимой. Потому что арбуз такой же полосатый, как и этот шифр. А полоски арбуза мы заклеили цветными бумажными полосками, в которых зашифровали поздравительную надпись. Конечно же, он расшифровал и её. 

Задача

Перед вами три варианта принтов. Вы можете выбрать для дешифровки любой. 

Шифр №1
Шифр №1
Шифр №2
Шифр №2
Шифр №3
Шифр №3

Решения и ответы пишите в комментариях к статье. 

Футболки с принтом и сувенирный набор Марий Эл подарим первым трём участникам, давшим правильный ответ. Имена победителей будут появляться здесь по мере отгадывания. 

Подсказки

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

Погнали!

P.S. Напоследок — напутствие от программиста, единственного, кто разгадал шифр: «Здесь главное не усложнять. Я для себя напереусложнял на определённом этапе — это был путь в никуда. В итоге всё оказалось достаточно банально, если смотреть назад».

UPD: Шифр №1 разгадан.

UPD2: Шифр №2 разгадан.

UPD3: Шифр №3 разгадан.

UPD4: Разгадка шифра.

Комментарии (49)


  1. SystemXFiles
    02.11.2021 10:00
    +4

    У меня есть справедливый вопрос к качеству картинок.
    Они должны быть замыленными словно после масштабирования?
    Это вносит искажения в цвета линий и мешает анализу.

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


    1. vesper-bot
      02.11.2021 10:22
      +1

      Туда же вопрос — насколько важна чистота цвета? Т.е. сколько битов RGB можно отбросить из-за кривой цветопередачи?


      1. Veliant
        02.11.2021 10:27
        +7

        Если присмотреться, основных цветов всего 8. Думаю оттенки не имеют значения.


    1. ilyashikhaleev Автор
      02.11.2021 11:49
      +1

      В статье картинки в исходном разрешении, для разгадки этого разрешения достаточно :)


  1. Dlougach
    02.11.2021 11:59
    +1

    А на трёх футболках зашифровано одно и то же сообщение или разные?


    1. ilyashikhaleev Автор
      02.11.2021 12:29
      +1

      Три разных сообщения)


  1. domix32
    02.11.2021 13:36
    +15

    Хочется взять и обжать.


    1. LostAlly
      02.11.2021 16:09
      +2

      ) забавно, но многие не поймут


      1. adwesta
        04.11.2021 11:57

        Чёй-то? б/о о б/з с б/с з б/к к ?


  1. dakiev
    02.11.2021 13:58
    +1

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


    1. Veliant
      02.11.2021 15:22
      +1

      Там не везде по три. У меня есть предположение, что черный - разделитель "байтов". Два черных подряд - предыдущий заканчивается нулевыми битами, а тремя черными подряд закодирован нулевой "байт". Но сильно смущает в первом шифре три одинаковых зелено-желтых последовательности. Три одинаковых буквы врядли в слове встретишь (а эта последовательность еще 4 раза встречается в первом шифре и ни разу в третьем). Так что частотный анализ букв тут в пролете.


      1. domix32
        02.11.2021 15:33

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


        1. 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, что вполне соответствует длине английского алфавита


      1. MinimumLaw
        02.11.2021 15:37

        www как вариант. Но ASCII это 0x57, а желтый и зеленый при восьми цветах (скорее всего) отличаются на единицу. В первом приближении 8 цветов (0..7) - каждая полоса полубайт. А дальше сложнее.


  1. dvserg
    02.11.2021 13:58
    +1

    Флаги?


    1. samoreklam
      02.11.2021 14:57

      Флаги?
      Первые буквы названий стран?


      1. dvserg
        02.11.2021 15:35

        Да, как вариант.


  1. 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


    1. domix32
      02.11.2021 15:42

      Получается всего 22 уникальных кода. Остается выяснить как их нормально прочитать.


  1. byman
    02.11.2021 16:36

    Я в своей статье https://habr.com/ru/users/byman/posts/ тоже зашифровал сообщение

    на картинке и вот уже несколько месяцев никто на хабре расшифровать не может :)


    1. VAE
      02.11.2021 16:59
      +1

      Может быть не хочет тратить время?


    1. domix32
      02.11.2021 17:28
      +1

      "в траве сидел кузнечик" небось


  1. DonnieDrummer
    02.11.2021 16:50

    Каким-то чудным образом у меня на первом шифре вышло "Пыль"


  1. AndyBora
    02.11.2021 16:50
    +2

    "придумали шифр из пяти уровней" - надо понять, что содержит уровень...


  1. alcans
    02.11.2021 16:50

    Штрихкод. Через фотошоп инвертировать и перевести в черно-белое. Потом программой для чтения штрихкодов прочитать.


    1. dvserg
      02.11.2021 17:14

      Почему фильтры по цветам не наложить?


      1. alcans
        02.11.2021 17:33

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


  1. osmanov13
    02.11.2021 16:50

    Каждая буква в надписи iSpring Tech соответствует цветовой полоске под нею. Оставшиеся пробелы подобрать по смыслу. На это также намекает ответ отгадавшего разработчика: "если смотреть назад".


    1. domix32
      02.11.2021 17:35

      Только не под нею, а на логотипе кампании, наверное. Иначе все три сообщения кодировались бы разными ключами. Однако, проблема двух i пока непонятно как разрешается.


  1. Wigaro
    02.11.2021 17:54
    +7

    оцениваю задачи пальцем в небо

    Классная загадка, мне понравилась. Отняла правда целый день.

    ПС решил, что стоит оставить только один ответ.


    1. ilyashikhaleev Автор
      02.11.2021 18:18

      Поздравляю! Ответ верный :) сегодня с вами свяжемся вопросам доставки и размеров!


      1. Wigaro
        02.11.2021 18:49
        +3

        Спасибо!

        Все подсказки данные в статье подтверждаю:

        • 5 уровней (можно сказать 5 преобразований данных)

        • не нужно усложнять

        • подсказка из видео про черный

        • надпись действительно используется


  1. Grue55
    03.11.2021 09:52

    Ребята, я не программист. Но что не одной идеи не увидел, там сначала парень, потом девка, а потом усатый старик


    1. dvserg
      03.11.2021 12:11

      Мне кажется здесь применено гендерно-независимое шифрование


  1. AlexKarpan
    03.11.2021 15:12
    +3

    Ну а я...

    Сегодня я занимаюсь рефакторингом

    Действительно отличная загадка! Спасибо! :)


    1. ilyashikhaleev Автор
      03.11.2021 15:24

      Поздравляю! Шифр со второй футболки верно разгадан! :) сейчас с вами в лс свяжемся вопросам доставки и размеров :)


  1. ifap
    04.11.2021 03:10

    Из всей компании только один сотрудник смог разгадать шифр за полтора месяца с 6 подсказками (если правильно понял), тогда как не погруженному в этот сеттинг хабровчанину потребовался 1 день и 1 подсказка? Оригинальную Вы рекламу своей компании замутили… ;)


    1. Wesha
      04.11.2021 04:28
      +2

      Сотруднику, кроме разгадывания шифра, ещё работать надо было.


    1. ilyashikhaleev Автор
      04.11.2021 08:32
      +3

      Да, всего подсказок было 6, причём две самые большие и выданные коллегам последними были в видео, ссылка на которое в статье :) итого статья содержит 3 из 6 подсказок. Коллегам в момент вручения футболок я озвучил только 1 подсказку про надпись на футболках :)


  1. Sam86
    04.11.2021 07:15

    Не толерантно. Где четвертый принт с бородатой женщиной?


  1. GruBBy_kz
    04.11.2021 09:07

    смело правлю базу сразу на продах


    1. ilyashikhaleev Автор
      04.11.2021 10:48

      Похоже вы на верном пути :) Но ответ неправильный(


  1. GruBBy_kz
    04.11.2021 14:49
    +2

    смело правлю баги сразу на живом

    я на этой тарабарщине уже говорить начал


    1. ilyashikhaleev Автор
      04.11.2021 16:50

      Поздравляю! Шифр с третьей футболки верно разгадан! :) сейчас с вами свяжемся по размерам :)


  1. soul32bit
    04.11.2021 23:00

    Месье раскроет тайну шифра простым смертным?


    1. ilyashikhaleev Автор
      04.11.2021 23:14

      Думаю позже выложу в отдельной статье :) пока дам время решить тем, кому интересно :) если актуально решающим, могу выкладывать подсказки раз в неделю, как и планировал изначально :)


  1. GruBBy_kz
    05.11.2021 16:21
    +1

    Мне помогли подсказки других, поэтому оставляю и свои:

    всё просто, хитростей, перестановок, xor-ов нет, смотреть назад и переворачивать не нужно

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

    шифр один на все задачи - поможет в анализе

    26 должно быть достаточно для каждого


  1. Fedooot01
    07.11.2021 21:48
    +2

    Хотелось бы дополнить вашу коллекцию

    Еще одна футболка


    1. ilyashikhaleev Автор
      07.11.2021 21:53

      Отличная получилась футболка! ????