Pull to refresh

Comments 12

Ваше решение идет рядом с проблемой «минимизации булевых функций», так же как и у меня. Посмотрите, может быть полезным.
Ну, я знаю. Приведенное решение — далеко не первая попытка, но первая в которой хоть что-то вышло. Одной из первых попыток было засунуть sha256 в карту Карно. Но там даже до проб не дошло, т.к. очень быстро стало ясно, что вот так просто это сделать не получится.
Скажите, а полученный алгоритм выдает первую букву любой хешируемой фразы? Или пока только буква Т для фразы про лисицу. Не может ли это просто быть совпадением?
Проверял на некотором количестве небольших фраз. Для фраз более длинных (там где алгоритм sha256 будет делать больше 1 раза update, это, насколько помню, длиней 56 байт) код, вероятно, потребует доработки. Это просто в той версии, что на гитхабе, в коде явно прописана фраза про лисицу и нахождение первой буквы. Т.е, фразу можно изменить и кол-во неизвестных бит можно несильно(пока озу будет достаточно) увеличить, так же можно изменить позицию неизвестных бит, т.е. буква может быть и не первой. Все это не должно сломать работоспособность кода. Для всего этого, ясно дело, придется подредактировать исходник. Поэтому проще всего изменить фразу, остальное тоже делается, но чуть сложней. Хуже будет если мы нарвемся на коллизию (когда найдено будет несколько прообразов). Мой код этого не учитывает и может сглючить, так что там его надо «доработать напильником» для обработки такого случая (этот момент — абсолютно технический, и в нем нет ничего исследовательского). Я исхожу из того, что коллизии — не такое частое явление, чтобы на данном этапе брать их в учет.
Нельзя ли перед попытками «взлома биткоина» хоть немного подучить матчасть?
Что именно? И почему вы решили, что я этого не сделал? Если вы о том, что в биткоине используется двойной sha256, то я это знаю. Но особой разницы нет — тем же способом можно взять двойной, теоретически. Если вы про вычислительную сложность — это тоже мне было известно, но я решил, что то, что проведение полномаштабного эксперимента технически невозможно — это не причина не проводить мелкий эксперимент.
Криптографы — не идиоты, и когда они придумывали SHA, то двести пятьдесят шесть раз просчитали все ваши «нейросети», «минимизаторы» и прочую койноту.
Т.е. ваша мысль сводится к тому, что каждый человек должен исходить из этого и ничего никогда не пробовать? Ок, ясно.
Нет, пробовать нужно. Но не заведомо провальным способом.
Это уже лучше. Теперь ответтье на следующий вопрос. Что если степень провальности способа становится окончательно известной только после окончательного выведения этого способа?

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

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

Таким образом, это способ — провальный постфактум, а не «заведомо». Заведомо он был предполжительно провальным.
Вы сами ответили на свой вопрос. И вот почему:
То что ключи до 32 бит просто перебираются, 32-64 перебираются с очень большим трудом, до 64-128 уже практически не перебираются, а более 128 надежны. Так и у вас анализ 1 XOR на 3 бита данных возможен, но вот анализ 400 kXOR-ов и 256 бит информации ужу не реален.
А у меня одно регулярное выражение покрывает группу значений. Иногда — очень большую группу. Например, 128 звездочек это, в рамках моих соглашений, Set из 2^128 элементов, записаный одной строкой в 128 символов.

По этой причине явного перебора нет, и мне видится невозможным влоб посчитать эти ксоры и судить по ним о обьеме работ. Это уже посфактум так рассуждать можно.
Sign up to leave a comment.

Articles