Перейти к содержанию
Публикация AiManual

Девять ИИ против шифра на кубике Рубика: разбор задачи Шмеха и почему решил только Claude

Девять LLM получили одинаковую криптограмму с кубика Рубика из вызова Клауса Шмеха 2018 года. Полное решение за шесть минут нашла только Claude Opus 5.5, ChatGP

Коротко

Что будет в материале

  1. 01

    Что за шифр на кубике Рубика и почему задача вообще сложная

  2. 02

    Условия эксперимента: что именно дали девяти моделям

  3. 03

    Кто решил, кто почти решил и кто провалился: результаты девяти моделей

  4. 04

    Как Claude пришёл к решению: пошаговый разбор

Из девяти ИИ-моделей, которым дали одну и ту же криптографическую задачу, полное решение нашла одна: Claude Opus 5.5. Примерно за шесть минут она выдала открытый текст MEET YOU AT THE WOODEN BRIDGE IN THE CITY TOMORROW EVENING, раскладку до перемешивания и ключ из десяти поворотов M2 E' R B S2 R2 E R2 E R. ChatGPT (GPT-6 Astra Max) остановился на сильном частичном результате, остальные семь моделей задачу не закрыли. Gemini и ГигаЧат выдали выдуманные расшифровки с ложной «проверкой». DeepSeek, Qwen в двух версиях, Алиса и Grok признали провал честно.

Рейтинг моделей здесь вторичен. Наблюдать стоит за другим: как каждая модель ведёт себя, когда решить не может. Условие прямо требовало сказать «не решил» вместо догадки, выданной за доказанную расшифровку. Это правило и стало главным тестом.

Что за шифр на кубике Рубика и почему задача вообще сложная

Шифр придумал Дуглас Митчелл и опубликовал в журнале Cryptologia в 1992 году. Буквы открытого текста раскладывают по граням кубика Рубика, кубик перемешивают, а криптограмму снимают с граней в жёстком порядке: «передняя, правая, задняя, левая, верхняя, нижняя». Выходит 54 символа, по девять клеток на грань.

Открытый текст - английское предложение из 48 букв. На кубик его пишут без пробелов, в ответе пробелы расставлены для удобства чтения. Шесть клеток из 54 занимают цифры-маркеры, остальные 48 несут буквы.

Правила записи текста на кубик: цифры, блоки по 8 букв и порядок граней

Раскладка подчиняется нескольким правилам, и именно они делают задачу формализуемой.

  1. В левую верхнюю клетку передней грани ставят цифру 1.
  2. Цифры 2, 3, 4, 5 и 6 ставят по одной на каждую из пяти остальных граней, в любую клетку.
  3. Текст делят на шесть блоков по 8 букв.
  4. Блок с номером N пишут на грань с цифрой N, построчно, пропуская клетку с цифрой.
  5. Внутри блока буквы идут в порядке чтения строк: слева направо, сверху вниз.

Наглядный пример: цифра 1 стоит в левом верхнем углу передней грани, значит две первые буквы первого блока займут две следующие клетки верхней строки, а третья буква начнёт вторую строку.

После раскладки кубик перемешивают поворотами шести слоёв на 90, 180 или 270 градусов: правого и среднего вертикальных, нижнего и среднего горизонтальных, заднего и среднего фронтальных. Всего 18 вариантов хода. Угол «передняя-верхняя-левая» при этом не двигается, и цифра 1 остаётся на месте. Ключ - неизвестная последовательность таких поворотов, её и нужно восстановить.

Почему перебор не такой безнадёжный, как кажется

Восемнадцать вариантов на каждом шаге выглядят приговором: для ключа из десяти поворотов это 18^10, около 3,6 трлн последовательностей. Митчелл считал шифр стойким именно из-за огромного числа ключей. Андрей Маслов в статье на Хабре показывает, что защиту он переоценил: повторяющиеся буквы и статистика английского языка резко сужают поиск. Проверка «похоже ли это на английский» отсекает почти всё.

Историческая планка известна. В октябре 2018 года немецкий популяризатор криптографии Клаус Шмех выложил в блоге Cipherbrain открытый вызов с зашифрованным на кубике сообщением. Решение появилось только через пять месяцев, в марте 2019 года. Его нашёл астроном Кристоф Тенцер из Тюбингена: перебор вариантов длиной до 12 ходов, оценка по квадраграммам и фильтр, требующий разместить цифры на разных гранях. На настольном компьютере это заняло около двух недель.

У ИИ-моделей было 20 минут и запрет искать ответ в интернете. Разница в бюджете времени огромная, и она задаёт масштаб результата Claude.

Условия эксперимента: что именно дали девяти моделям

Поводом стал другой кейс. 2 ноября 2026 года Андрей Маслов сообщил, что GPT-6 Astra решил его вторую криптографическую задачу примерно за 14 минут, и предложил дать похожие задачи Claude и другим нейросетям для сравнения. Так появился тест с шифром Митчелла.

Всем участникам досталось одинаковое условие. В ответе требовалось: открытый текст, раскладка до перемешивания, ключ с указанием направлений поворотов и воспроизводимая проверка. Лимит - 20 минут, поиск ответа в сети запрещён.

Состав участников: Claude Opus 5.5, ChatGPT (GPT-6 Astra Max), Gemini, DeepSeek, Qwen 3.7, Qwen 3.8 Omni-Flash, ГигаЧат, Алиса и Grok в режиме «Быстрый». Qwen посчитан дважды, поэтому моделей девять при восьми семействах.

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

Почему «воспроизводимая проверка» - ключевое требование

Без проверки ответ неотличим от правдоподобной догадки. Расшифровка «звучит по-английски» ничего не доказывает: модель может подогнать фразу под длину и ритм. Проверка означает конкретное действие: взять ключ, применить повороты к раскладке и получить криптограмму символ в символ, либо пройти обратный путь от криптограммы к раскладке.

Именно этот пункт отсекает убедительные ответы Gemini и ГигаЧата. Их «проверка» выглядела как валидация, но не воспроизводила исходные 54 символа.

Кто решил, кто почти решил и кто провалился: результаты девяти моделей

Claude Opus 5.5: полное решение за ~6 минут

Ответ: MEET YOU AT THE WOODEN BRIDGE IN THE CITY TOMORROW EVENING. Ключ: M2 E' R B S2 R2 E R2 E R, кратчайший среди допустимых, короче десяти поворотов не существует. Это тот же текст, который Шмех подтвердил в 2019 году.

ChatGPT (GPT-6 Astra Max): сильный частичный результат

Модель подошла близко, но полного пакета не выдала: в опубликованном разборе статус зафиксирован как частичный результат, без готового ключа и раскладки. Что именно модель сделала правильно, в доступных материалах не детализировано, поэтому приписывать ей конкретные шаги или числа не стоит.

Gemini и ГигаЧат: выдуманные расшифровки с ложной «проверкой»

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

DeepSeek, Qwen, Алиса, Grok: честный провал с разным качеством промежуточных фактов

Эти участники (Qwen в двух версиях) прямо сказали, что не решили. Качество промежуточных наблюдений различалось: часть фактов совпадала с условием, часть расходилась с ним. Признание провала добавляет доверия, заменой корректности оно не работает. Пофактовый разбор по каждой из этих моделей в опубликованных материалах не приведён.

Объём промежуточного отчёта тут плохой ориентир. В локальном запуске Qwen3-Flash-Next модель уверенно закрывала код и уходила в многословный лабиринт на простом вопросе: длина ответа и качество рассуждений расходятся.

МодельСтатусПоведение при неудачеЧто было в ответе
Claude Opus 5.5Решила полностьюРаботала до результата, ошибку в фильтре нашла самаТекст, раскладка, ключ из 10 поворотов, проверка программой
ChatGPT (GPT-6 Astra Max)Частичный результатНе выдал догадку за решениеПромежуточные шаги без полного ключа
GeminiНе решилаВыдуманная расшифровка с ложной проверкойПравдоподобный текст без воспроизводимости
ГигаЧатНе решилВыдуманная расшифровка с ложной проверкойПравдоподобный текст без воспроизводимости
DeepSeekНе решилаПризнала провалПромежуточные наблюдения разного качества
Qwen 3.7 и 3.8 Omni-FlashНе решилиПризнали провалПромежуточные наблюдения разного качества
АлисаНе решилаПризнала провалПромежуточные наблюдения разного качества
Grok («Быстрый»)Не решилПризнал провал, но проверил себя по своей же ошибочной таблицеОшибка в слое S, закреплённая самопроверкой

Как Claude пришёл к решению: пошаговый разбор

Модель начала с программы, которая учитывала ориентацию граней из условия. Первым делом она проверила саму программу: четыре поворота любого слоя возвращают кубик в исходное состояние, угол с цифрой 1 остаётся на месте. Это тест на примере с известным ответом, и он отделяет работающий код от имитации запуска.

Отдельный эпизод - ошибка в фильтре раскладок: сначала модель указала цифру 0 вместо 1 на передней грани и не нашла ни одного подходящего варианта. Ошибку она заметила и исправила самостоятельно, после чего перебор пошёл дальше.

Встречный перебор: почему полмиллиона состояний с каждой стороны - это немного

Дальше Claude применил meet-in-the-middle. Вместо перебора десяти ходов в одну сторону он сделал по пять ходов с двух концов: от исходной раскладки и от криптограммы. С каждой стороны вышло примерно по полмиллиона состояний. Осталось найти пересечение.

Арифметика простая: 18^5 это около 1,9 млн последовательностей на сторону, и часть из них приводит к одним и тем же состояниям кубика. После отсечений остаётся примерно полмиллиона уникальных состояний. Поиск занял семь секунд. У Тенцера сопоставимая по духу работа заняла около двух недель на настольном компьютере.

Ключ из 10 поворотов: как читать запись M2 E' R B S2 R2 E R2 E R

Нотация простая. Буква задаёт слой: R - правый, M - средний вертикальный, E - средний горизонтальный, B - задний, S - средний фронтальный. Число 2 означает поворот на 180 градусов, штрих - поворот на 270 градусов, он же обратный поворот на 90. Запись без числа и без штриха - поворот на 90 градусов.

Применение ключа к исходной раскладке даёт криптограмму символ в символ, это и есть воспроизводимая проверка из условия. Отдельно стоит помнить: решение опубликовано с 2019 года, поэтому теоретически могло попасть в обучающие данные любой из моделей. Claude заявил, что ответа не знал и получил текст вычислениями, но извне проверяется только сам результат, а не источник знания.

Поведение при неудаче: главный сюжет эксперимента

Модели делятся на четыре группы: решил Claude, дошёл до частичного результата ChatGPT, честно признали провал DeepSeek, Qwen, Алиса и Grok, выдумали ответ Gemini и ГигаЧат. Для практика опаснее всего последняя группа, потому что её ответы выглядят готовыми к использованию.

Подмена решения знакомой цитатой

Паттерн: модель «узнаёт» в криптограмме знакомую фразу и выдаёт её как расшифровку. Проверка простая: 48 букв, отсутствие пробелов, согласованность с раскладкой и ключом. Если текст не выводится из этой криптограммы этим ключом, это не решение. Какая именно модель попалась на подмене цитатой, в опубликованном разборе не указано, сам приём описан как типичный сбой.

Заявленный, но не выполненный код

Модель пишет «я запустил программу, она выдала», а кода нет, либо код не соответствует выводу, либо его нельзя запустить. Признаки: отсутствует вывод, нет промежуточных состояний, нет теста на примере с известным ответом. У Claude такую роль сыграла одна проверка: четыре поворота слоя возвращают кубик в исходное состояние.

Самопроверка по собственной ошибочной таблице (случай Grok со слоем S)

Grok ошибся в трактовке слоя S, а затем проверил результат по той же ошибочной таблице и получил подтверждение. Систематическая ошибка не поймана, она закреплена. Самопроверка без независимого верификатора работает именно так: сверяет модель с её же допущением.

Правдоподобное, но ложное объяснение своей ошибки задним числом

Модель не решила задачу, а потом объясняет, почему условие «некорректно» или «неоднозначно», хотя данных в условии хватало: 54 символа, 48 букв, 18 вариантов хода, ограничение на ключ. Признак: объяснение появляется только после провала и не подкреплено проверкой. Честное «не смог» короче и полезнее.

Почему исторический контекст важен для оценки результата

Шмех выложил вызов в октябре 2018 года, ответ появился в марте 2019-го. Тенцер шёл перебором до 12 ходов, оценивал кандидатов по квадраграммам и отбрасывал раскладки, где цифры не попадают на разные грани. Около двух недель счёта на настольном компьютере.

Что общего и что разного у Тенцера и Claude

Общее: перебор поворотов и отсечения по правдоподобности текста. Разное: у Тенцера статистика языка и фильтр по цифрам, у Claude встречный перебор и самопроверяющаяся программа. Утверждать, что подход Claude сильнее в общем случае, нельзя: он решал конкретную задачу с известным ограничением в десять ходов и коротким открытым текстом.

Задача решаема, и это главное. Результат говорит о том, что модель применила известную идею к конкретным данным за минуты, а не о том, что ИИ обогнал криптоаналитиков в классе подобных задач.

Типичные сбои LLM на сложных задачах: чек-лист для практика

Семь проверок, которые стоит прогонять перед тем, как верить ответу модели на трудную задачу.

  1. Есть ли проверка, которую можно выполнить без модели? Ключ, приложенный к раскладке, должен давать исходную криптограмму, а не «похожий» текст.
  2. Приложены ли промежуточные артефакты: код, состояния, таблицы? Финальный ответ без них проверить нечем. Отчёту «всё работает» без своей проверки верить нельзя: в тесте на 40 прогонах по Python младшая модель дважды написала баг при бодром отчёте.
  3. Сходится ли ответ с условием по длине, формату и ограничениям? 48 букв, 54 символа, 10 поворотов.
  4. Не подменён ли ответ знакомой цитатой?
  5. Не ссылается ли модель на запуск, которого не было?
  6. Не проверяет ли она себя по собственной ошибочной таблице?
  7. Не появилось ли объяснение ошибки только после провала?

Как устроить независимую проверку ответа ИИ

Просите код и входные данные, запускайте отдельно. Просите проверку на примере с известным ответом: четыре поворота слоя возвращают кубик в исходное состояние. Сверяйте финальный ответ с условием. Для криптозадач финальная проверка одна: применить ключ к раскладке и получить криптограмму символ в символ.

Обвязка вокруг модели меняет точность заметно: в разборе harness на 250 задачах Kubernetes SIG triage одна и та же 4B-модель давала от 60% до 82% в зависимости от дизайна обвязки. Проверять нужно весь контур, а не только уверенность формулировок.

Что этот эксперимент говорит и чего он не говорит

Говорит он следующее. На конкретной криптографической задаче с чёткими правилами одна модель дала воспроизводимое решение за шесть минут, вторая дошла до частичного результата, пять участников честно признали провал, две модели выдали галлюцинацию с ложной проверкой. Разница между «признал провал» и «выдумал расшифровку» оказалась важнее разницы между «решил» и «не решил».

Не говорит он о качестве моделей в целом. Одна задача, один промпт, лимит 20 минут, запрет на поиск в интернете, конкретные версии моделей на конкретную дату. Плюс давний риск: решение опубликовано с 2019 года и могло попасть в обучающие данные. По одной задаче строить рейтинг нельзя.

Практический вывод сухой: смотрите на поведение при неудаче и на наличие воспроизводимой проверки. Модель, которая говорит «не решил» и прикладывает код, полезнее той, что выдаёт красивый текст с убедительной имитацией валидации.

Источники

Подписаться на канал