Привет, Хабр! Предлагаю всем желающим немного размять мозги небольшим крипто-ребусом.
Оговорюсь сразу, сам я загадку до конца не решил, однако ход решения вроде бы ясен поэтому мне хотелось бы посмотреть, как будет решать сообщество.
Заранее извиняюсь за стиль изложения, но в четыре утра всё же буду предельно краток рассказывая коротоко и по сути. Кому интересны подробности — все ссылки приведены в конце заметки.
Итак, началось всё с того, что некий художник Энди Баух в 2016-м году прикупил некоторое количество криптовалюты на несколько кошельков. А потом он взял приватные ключи от этих кошельков и каким-то, одному ему известным образом, зашифровал эти ключи в красивых картинках. Таких как под заголовком, например.
Затем Энди сложил эти картинки из блоков Lego и буквально в прошлую пятницу (23.03.2018) выставил всё это дело в арт-галерее la’s Castelli Art Space (ссылки в конце).
Во всё это, как обычно принято у художников, вложен некий глубокий смысл, касательно стоимости искусства и т.д. и т.п. Но мы тут не философствовать собрались, а загадки решать, поэтому перейду сразу к сути.
Я рандомно выбрал для ковыряния картинку от кошелька «INITIALLY VALUED AT $80». Положенные в 2016 году на кошелёк 0.1875 BTC сегодня чудесным образом превратились в 1600$, что, очевидно, должно несколько ускорить расшифровку. Картинка вот:
Итак. Поехали.
Я постеризовал изображение, чтоб было меньше шума и чуть подкрутил контраст с яркостью. Поковырявшись в фотошопе я понял, что картинка эта состоит из простейших блоков 15*6. Вот таких:
Однако, есть ещё три блока, каждый из которых отличается от основного всего на один квадрат. Вот все четыре блока:
Тут используются блоки восьми цветов, что позволяет предположить, что каждый цвет кодирует три бита.
Приватный ключ Bitcoin-кошелька представляет собой строку, насколько я понял, в формате Base58. Что-то в духе такого:
L4QhpdfFzv1DHfoRcbG2T76Z4QN9zmhWhBNEsH22PbKHA4ZNkS
Длина ключа может быть различной, поэтому тут нам, увы, дополнительной информации получить не удастся.
На этом этапе я додумался посмотреть на этот кошелёк в блокчейн и выяснил, что вчера какой-то умник, вероятно, код уже взломал и денег там больше нет =(
Предлагаю вам завершить разгадку, либо поправить меня, если я ошибся в первых шагах. Осталось подобрать цветовое кодирование и это, собственно, самое интересное во всём этом ребусе. Полагаю, что после получения числа, нужно выполнить преобразование Число -> Base58.
Возможно три отличающихся блока дают какую-то подсказку, но может быть и так, что автор просто ошибся при сборке.
В любом случае, подозреваю, что денег на всех кошельках уже нет, так что все дальнейшие манипуляции just for fun.
Upd от SopaXT:
Те, что за $20 и $30 решил я. В первой используют двоичные цифры, а во второй — троичные, и т.д.
Там был т.н. «mini private key», строка из 30 ASCII-символов, где сам ключ — это ее SHA256. Кстати, если добавить в конец "?", то хеш будет начинаться с нулевого байта (такая хитрая проверка на ошибки).
Там можно было заметить повторяющуюся последовательность (длиной в 210 ячеек в двоичной и 150 в троичной и четверичной системе).
Каждые 7/5 (соотв.) ячеек — один байт, а таких байт там 30. В двоичной использовалась семибитная ASCII, как предположил кто-то в IRC, я с ним за это поделился :).
В четверичной первая цифра в группе нулевая (эту решил не я, а _jstanley).
P.S. Цифры с цветами пришлось сопоставлять перебором.
Ссылка на комментарий.
Дополнительная информация:
Пресс-релиз выставки
Ссылки на кошельки
Комментарии (14)
tutam
25.03.2018 09:08На этом этапе я додумался посмотреть на этот кошелёк в блокчейн и выяснил, что вчера какой-то умник, вероятно, код уже взломал и денег там больше нет =(
А вам не кажется что вас просто надули на 80 баксов? Кому был известен незашифрованный ключ?Psychosynthesis Автор
25.03.2018 09:12В смысле надули? Я никому ничего не платил.
Просто кто-то успел взломать код быстрее, только и всего.keydon2
25.03.2018 13:56А есть гарантии, что этот кто-то не художник? И не его подруга, мама, собака?
Psychosynthesis Автор
25.03.2018 14:27Так или иначе, после начала выставки прошло не менее полутора суток до того как их вывели.
Я считаю, что при достаточном упорстве это было вполне реально успеть сделать.
SopaXT
25.03.2018 14:54Те, что за $20 и $30 решил я. В первой используют двоичные цифры, а во второй — троичные, и т.д.
Там был т.н. "mini private key", строка из 30 аски-символов, где сам ключ — это ее SHA256. Кстати, если добавить в конец "?", то хеш будет начинаться с нулевого байта (такая хитрая проверка на ошибки).
Все уже решили, к сожалению.Psychosynthesis Автор
25.03.2018 14:58Круто, жму руку! Сколько времени на первый ушло?
Я в верном направлении думал?SopaXT
25.03.2018 15:07+1Увы, нет — там можно было заметить повторяющуюся последовательность (длиной в 210 ячеек в двоичной и 150 в троичной и четверичной системе).
Каждые 7/5 (соотв.) ячеек — один байт, а таких байт там 30, см. выше (в двоичной использовалась семибитная ASCII, как предположил кто-то в IRC, я с ним за это поделился :).
В четверичной первая цифра в группе нулевая (эту решил не я, а _jstanley).
PS — цифры с цветами пришлось сопоставлять перебором.
Mn0g0kratn0Ub1ennbIyNaGT
26.03.2018 03:20вот если бы это был не «художник» и не лего, а просто опубликовали бы набор символов — кому-то интересно было такой фигнёй заморачиваться?
«Художники» уж не знают как ещё учудить, чтобы на них хоть кто-нибудь обратил внимание.
Ненавижу т.н. «современное искусство». Извините, вырвалось.Psychosynthesis Автор
26.03.2018 03:22Ну, например, если б я узнал о подобном «наборе символов» каким-то образом, и его решение также обещало бы какие-либо выгоды — было бы интересно.
КМК, любовь к разгадыванию ребусов она либо есть, либо нет и от того, кто этот ребус придумал, это не зависит.
A-Stahl
80 баксов за рекламную компанию, которая долетела аж до русскоязычного сегмента интернета?
Ок, но сама задачка не цепляет. В ней нет целенаправленности — перебор вариантов, пока на выходе не получится что-то вменяемое. Разве что попробовать автоматизировать процесс этого перебора. Вот это могла бы быть уже любопытная задача.
Psychosynthesis Автор
Ну не знаааю… Мне кажется тут достаточно много совершенно разных вариантов кодирования. Вплоть до того что оно может быть двухступенчатым. Не представляю как процесс подбора такого кода можно автоматизировать. И сомневаюсь что можно вообще.
Что же до 80 баксов… Там, так-то, много кошельков. Кроме того, даже эти «80 баксов» 16-ого года сейчас стоят 1.6к баксов, что, согласитесь, уже не мало.