Найти в Дзене

Trian.G.bit.R - программа для поиска скрытых уязвимостей в подписях blockchain Bitcoin, через триангуляцию трёх групп RSZ

Я давно изучаю вопрос безопасности в области криптографии и уязвимостями в сети биткоина и других криптовалют. Как известно, при достаточно высоком энтропийном выборе закрытых ключей и подписей ECDA невозможно найти или определить закрытые ключи и/или одноразовые подписи. Но все ли одноразовые подписи в сети Bitcoin, например, соответствуют этим условиям? Широко известны случаи, когда вообще не соблюдались меры по безопасному подписанию исходящих транзакций, а одноразовые подписи имели одинаковые общедоступные координаты R(x одноразовых). Это позволило легко идентифицировать закрытый ключ по двум таким подписям. Но как насчет более сложных взаимосвязей между подписями более чем 2 одноразовых ключей с разными открытыми координатами R? Я наткнулся на программу, которая, судя по описанию, занимается именно такими случаями (программу можно бесплатно скачать на этом telegram-канале: https://t.me/Trian_G_bit_R_rus).

Предлагается предварительно проверить эффективность в режиме демотеста с использованием сгенерированных групп RSZ с использованием заданного закрытого ключа. Причем ключ может быть либо из блокчейна, либо собственным "специальным" ключом. Как указано в описании, сгенерированные 3 группы RSZ будут иметь довольно близкую битовую симметрию. Я пытался сгенерировать сотни таких групп, и все они всегда разные даже для одного закрытого ключа. Я протестировал их с помощью своего анализатора отношений сигнатур RSZ и проанализировал степень их взаимной энтропии, что было довольно просто, потому что я знал закрытый ключ и, следовательно, можно было установить точное соотношение всех трех одноразовых множителей R относительно начального G. Анализатор показал, что соотношение между тремя одноразовыми значениями всегда разное и в совокупности стремится к общему среднему значению n/3. Что ж, тогда общая энтропия всех трех RSZ одинаково высока между собой. Но, может быть, у них есть что-то общее с общим частным множителем?

-2

В данном случае анализатор показал меньшую, но все еще довольно высокую энтропию. Но учитывая, что эти группы готовятся специально для тестового режима работы программы, я сделал на это небольшую скидку. ОК, теперь переходим непосредственно к программе. Заявлено, что программа является триангулятором для поиска закрытого ключа посредством поиска взаимных связей ровно 3 групп RSZ. Очевидно, поэтому она называется триангулятором. Хорошо известно, что независимо от количества выходных сигнатур в стандарте ECDA невозможно определить общий частный множитель с помощью сложного дискретного логарифма. Как же тогда триангулятор работает только с тремя выходами RSZ для анализа? Здесь разработчики скрывают основную часть алгоритма и указывают, что во избежание взлома они физически разделили алгоритм на два уровня. Дорогостоящее с точки зрения вычислений и работы с процессором и оперативной памятью, предлагается выполнить подписчику за самый высокий процент вознаграждения от найденного значения BTC.

Чтобы подключиться к таким расчетам, вас просят внести депозит в USDT на индивидуальный адрес в сети ETH - мы рассмотрим это отдельно ниже. Теперь нас интересует последовательность работы программы и ее фундаментальные шансы на успех. Как уже было описано выше, это возможно при определенных условиях, но давайте поговорим обо всем по порядку. Итак, подписчику предлагается получить индивидуальные коды активации программы на свой BTC-адрес, на который подписчик желает получить найденный объем BTC. В трех из моих четырех тестов закрытый ключ был обнаружен достаточно быстро, и в одном случае программа остановилась и выдала предупреждение о том, что в режиме демотеста глубина ее триангуляции ограничена. Ок, это в тестовом режиме, результат, как правило, ожидается заранее, но как насчет поиска приватных ключей из блокчейна Биткоина. За всю и без того довольно долгую историю старейшей криптовалюты, мягко говоря, известно немало случаев несанкционированного перевода объемов BTC.

Причины всегда могут быть разными. Я выделил три основные причины:

1) Завладение закрытым ключом с помощью сторонних программ или вирусов по неосторожности пользователя.

2) Дыры в программном обеспечении, которые позволили получить или скомпрометировать закрытые ключи.

3) Компрометация закрытого ключа из-за открытых подписей выходных транзакций в случае низкой или почти равной 0 взаимной энтропии подписей и закрытого ключа.

Очевидно, что эта программа была создана для анализа сигнатур и определения закрытого ключа в соответствии с вариантом 3. Вполне возможно предположить, что между выходными сигнатурами ECDA могут существовать взаимные скрытые взаимосвязи, которые не видны как обычным пользователям, так и внешним анализаторам. О причинах таких взаимосвязей мы здесь писать не будем, их может быть много. Давайте поговорим о возможности нахождения таких взаимосвязей. Как мне удалось понять из описания, разработчикам известна сложность поиска с использованием дискретного логарифма.

-3
-4

Поэтому они либо не используют его, либо используют частично. В любом случае, открытых исходных кодов для анализа пока нет. Что можно сказать наверняка, так это то, что программа отказывается работать с группами RSZ, у которых разные приватные ключи. Также в 3 случаях из трех программа не смогла определить закрытый ключ в демонстрационном режиме, если я смешал группы RSZ из одного и того же закрытого ключа, но взял их из разных групп. Ок, очевидно, разработчики вывели на экран минимальное количество информации. Мне удалось определить выходные данные трех общедоступных координат, которые, очевидно, представляют собой некоторые промежуточные значения в вычислениях. Сам закрытый ключ, когда он найден, выводится во всех форматах, и определяются все возможные публичные адреса всех вариантов хэша открытого ключа, очевидно, для проверки дальнейшей проверки баланса во всех вариантах.

Хорошо. Это было в режиме демотеста программы. Результат, можно сказать, ожидаемый. Но давайте вернемся к поиску закрытого ключа посредством триангуляции групп RSZ из блокчейна. Здесь, как мне удалось понять, подход следующий. Разработчики уже подготовили выделенные группы RSZ для триангуляции. Принципы подготовки и мои мысли по этому поводу будут рассмотрены ниже. Теперь эти группы подписей передаются подписчикам, по одной для каждого выделенного процесса. Я получил 4 кода активации и начал работать с 4 параллельными процессами. С помощью копипаста я извлек загруженные подписи RSZ и определил, к каким адресам в блокчейне биткоина они принадлежат. Конечно, я не буду указывать здесь сами адреса, но могу сообщить вам, что это довольно большие объемы в сотни BTC. Затем я настраиваю запись с экрана, тем более что у меня есть для этого возможность.

Да, кстати, в программе есть особенность, если вы запускаете слишком много процессов параллельно, она может выдавать предупреждения о низкой производительности и даже временно приостанавливать работу. Это случилось со мной, когда я запускал более 16 процессов параллельно. Программа использовала в общей сложности 64 Гб оперативной памяти для всех процессов, что ожидаемо, если ей требуется по 4 Гб на процесс для формирования так называемого R-matix (что бы это ни значило). При 128 Гб оперативной памяти это, очевидно, не сильно ее беспокоило, но когда количество запущенных процессов триангуляции стало приближаться к количеству потоков на моем процессоре, стали происходить сбои и откаты. Что, в принципе, легко исправлялось при закрытии нескольких окон с запущенными процессами.

-5

Итак, у меня 4 процесса + запись экрана запустилась легко. Из внешних атрибутов строка "поиск" или "процесс триангуляции", видимо, это можно так назвать, стала синей (в тестовом режиме она была белой). Сами промежуточные координаты отображаются желтым и зеленым цветами. Я перевел 900usdt на депозит, чтобы получить коды активации, но меня больше интересует результат. Если в блокчейне есть достаточно большое количество групп RSZ, которые можно триангулировать таким образом, а судя по видео, такие группы есть, то можно пустить в оборот определенный объем BTC.

-6

Кстати, о выбранных группах RSZ. Из 4 процессов, которые я запустил, все соотношения S/R являются наибольшими с точки зрения количества совпадающих битов в отображении числа в конечном поле n, что очевидно и является условием или одной из предпосылок при выборе подходящих групп, что логично. Чем больше совпадений, тем меньше различий между множителями R/S в формуле - PublicKey*R/S добавляет Z/S = R и его производную. Очевидно, что с помощью этого выбора разработчики максимально упрощают работу триангулятора.

Конечно, неправильно делать вывод, что этих условий может быть достаточно для успешного определения закрытого ключа, но факт в том, что множитель R/s по сути является растровым изображением в выборке последовательно удвоенных элементов в соответствии с формулой Pub(n)=-(Pub(n-1))/4*(9* a/((Pub(n-1))^3+a)-1) для сложения по известной формуле X=-(X1+X2-((Y1-Y2)/(X2-X1))^2) Эллиптическая кривая бесспорна. Следовательно, сам подход в целом может заслуживать внимания, и его эффективность может быть установлена только на практике. Сами разработчики соблюдают конфиденциальность и работают со своими подписчиками только через взаимные биткоин- и ETH-адреса для фиксации депозитов в USDT. Но на странице telegram я нашел информацию о том, что они предлагают каждому из своих подписчиков дополнительную оплату в размере 2500 долларов США за запись процесса работы программы в момент обнаружения закрытого ключа и формирования исходящей транзакции с двумя пропорциональными выводами.

И такой подход заслуживает особого внимания. На самом деле разница в поведении программы в режиме демотеста и при работе с сервером через Интернет кардинальна. Часть заявленной работы отображается согласно описанию на отдельном удаленном процессе. Очевидно, что этот процесс не очень затратный, поскольку он может использовать вычисления на графическом процессоре для вычисления "точек сдвига" (что бы это ни значило). При работе со мной программа делает запрос примерно раз в 5 минут и получает некоторые 256-битные переменные, очевидно, дополнительные координаты, которые используются для перемещения в процессе триангуляции. Я сомневаюсь, что для этих вычислений нужна большая вычислительная мощность, но, судя по описанию, эта часть алгоритма была специально выведена, чтобы не передавать всю программу общественности целиком. Я буду предполагать, что эти "точки сдвига" необходимы программе при работе с соотношением между тремя RSZ в более широкой энтропии.

-7

Из материала, предоставленного разработчиками, ясно, что вы можете самостоятельно осуществлять поиск закрытого ключа для разных подписей, принадлежащих одному и тому же публичному адресу, но очевидно, что согласно расчетам таких возможностей необходима некоторая предварительная работа. Видимо, за эту работу они просят часть депозита, который разработчики получают при выдаче кодов активации. Мой опыт показывает, что в любом случае криптография подписей ECDA остается достаточно устойчивой ко всем типам атак при соблюдении определенных условий. Время покажет, насколько хорошо выполняются эти условия в выбранных подписях на блокчейне Биткоина. В любом случае разработчики получают часть найденного значения BTC и, очевидно, на этом делается основной расчет.

Обычно такие методы не выходят за рамки ограниченного диапазона, но в данном случае разработчики решили пойти по пути привлечения сторонних вычислительных мощностей. С определенной точки зрения это может быть оправдано. Например, мне довольно хорошо известны случаи, когда тысячи пользователей заинтересованы в поиске приватных ключей через начальный генератор случайных чисел и непосредственно приватных ключей, хотя, как упоминалось выше, это не имеет перспектив, по крайней мере, до тех пор, пока не будут запущены первые достаточно мощные квантовые машины. Такие запуски могут в первую очередь повлиять на увеличение сложности майнинга биткоина, следовательно, этот относительно простой майнинг будет недоступен большинству пользователей даже с мощными ASIC-устройствами.

В завершении хотелось бы напомнить что возможно в скором времени подписи и криптография ECDA уступят место более перспективным многомерным

векторным подписям перед которыми даже квантовые расчёты пока бессильны.