Криптоанализ

MrRobotQR сканируем QR-коды из поисковых систем в поисках приватных ключей Биткоин Кошельков

Всем нам известна фраза: "Все что попадает в интернет, остается в нем навсегда и становится общедоступным". Вплоть до скрытого контента. В 2021 году пандемия вернула популярность QR-кодов. Впервые QR-коды были использованы на производстве в 1994 году дочерняя компания Toyota в Японии ввела их на заводе по сборке для контроля выпускаемых автомобилей и деталей к ним. В отличие от штрих-кода QR-код содержит больше информации, что и подтолкнуло производителя к введению…

Восстановление Биткоин Кошелька через короткие подписи ECDSA

Всем нам известно, что раскрываемость секретного ключа в подписи ECDSA может привести к полному восстановлению Биткоин Кошелька. В наших более ранних статьях мы рассматривали слабости и уязвимости в транзакциях блокчейна, но так же существуют короткие подписи ECDSA которые так же приводят к полному восстановлению Биткоин Кошелька. Почему же эти подписи ECDSA называются короткими? Ответ на этот вопрос…

Уменьшение приватного ключа через скалярное умножение используем библиотеку ECPy + Google Colab

В этой статье мы постараемся показать как можно уменьшить приватный ключ зная только утечку из списка «BLOCKCHAIN FOLBIT LEAKS» и публичный ключ из «UTXO».В экспериментальной части мы воспользуемся скриптами 08ReducePrivateKey и восстановим Биткоин Кошелек. Скалярное умножение эллиптической кривой — это операция добавления точки P на кривую k раз. Q=kP=P+P+P, k times P — точка на эллиптической кривой,…

Ускорение secp256k1 с помощью эндоморфизма

В этой статье мы рассмотрим функцию ускорение secp256k1 с помощью эндоморфизма которая помогает в оптимизации проверки ECDSA для криптовалюты Биткоин, но для начала немного истории. 12 января 2009 года Сатоши Накамото в самых ранних транзакциях Биткоина отправил Хэлу Финни 10 BTC. То, что Сатоши Накамото выбрал Хэла первым получателем Биткоинов, неудивительно. Сатоши очень уважал Хэла, который зарекомендовал себя как один из самых ярких программистов и криптографов…

Pollard’s Kangaroo находим решения дискретного логарифма secp256k1 PRIVATE KEY + NONCES в известном диапазоне

В этой статье мы рассмотрим самый быстрый алгоритм для ECDLP из области вычислительной теории чисел, кенгуру Полларда также называют алгоритм лямбды Полларда. Метод кенгуру Полларда вычисляет дискретные логарифмы в произвольных циклических группах. Он применяется, если известно, что дискретный логарифм лежит в определенном диапазоне, скажем [ a , b ], а затем имеет ожидаемое время выполнения групповой операции. Преимущество Pollard's Kangaroo:…

Поиск монет BTC на более ранних версиях Bitcoin Core с критической уязвимостью OpenSSL 0.9.8 CVE-2008-0166

В этой статье мы создадим инструмент который будет генерировать Биткоин Адреса (P2PKH), используя уязвимость CVE-2008-0166. Это исследовательский проект для поиска монет BTC на более ранних версиях программного клиента Bitcoin Core Генератор случайных чисел, который генерирует предсказуемые числа CVE-2008-0166 VAIM- OpenSSL 0.9.8/1.0.0 Detected Критической уязвимость версии OpenSSL 0.9.8 CVE-2008-0166 заполнялась только идентификатором процесса. Из-за различий между порядком байтов и sizeof(long) выходные данные зависят…

Полезные и эффективные алгоритмы для эллиптической кривой secp256k1

В этой статье мы рассмотрим несколько полезных и эффективных алгоритмов для эллиптической кривой E над полем GF(p) , заданной коротким уравнением Вейерштрасса у^2 = х^3 + Ах + В   Алгоритм генерации точки на кривой E Алгоритм добавления точек Алгоритм удвоения точек Алгоритм нахождения целой кратной точки Алгоритм нахождения целой кратной точки (скалярное умножение) Алгоритм построения делителя D над кривой E с носителем supp(D) заданного размера d Алгоритм Миллера для вычисления значения функции Вейля f n, P по делителю D такому, что supp(D) ∩ {P,…

Как конвертировать публичные ключи Bitcoin-PUBKEY HEX в Bitcoin-адрес Base58 и проверить баланс на наличие монет BTC

В этой статье мы научимся тому, как в большом количестве данных проверить баланс монет Биткоина используя для этого Python-скрипт bitcoin-checker.py Результат проверки Python-скрипта bitcoin-checker.py Так же мы научимся конвертировать публичный ключ Биткоина PUBKEY (HEX) в Биткойн Адрес (Base58) всю эту большую работу делает Python-скрипт pubtoaddr.py В итоге мы с особой легкостью будем проверять баланс Биткоина, сканируя Блокчейн в терминале Google Colab [TerminalGoogleColab] Ранее я записывал видеоинструкцию: «TERMINAL…

Самая первая серьезная уязвимость в Blockchain и как получить публичный ключ Bitcoin ECDSA значение RSZ из файла RawTX

В этой статье мы поговорим о извлечение значений подписи ECDSA R, S, Z из блокчейна Биткойн, но для начало вспомним о самой первой серьезной уязвимости в транзакции блокчейн которую обнаружил Нильс Шнайдер (Nils Schneider он же – tcatm) Биткоин-разработчик и владелец "BitcoinWatch" & "BitcoinCharts". 4.1 История опасных случайных Атак на Биткоин Document [PDF]: Private Key Recovery Combination Attacks: On Extreme Fragility of Popular Bitcoin Key Management, Wallet and Cold…

Как парсить транзакции Blockchain в папку Google Drive

В этой статье мы разберем транзакции биткоина и научимся очень быстро парсить RawTX из сети блокчейн в папку Google Drive все это поможет нам лучше понять, как работает транзакции биткоина и каково все её содержимое в сети блокчейн.Для начала нам нужно знать, что все транзакции биткоина хранятся в [txid]. txid - это идентификатор транзакции, хранящиеся в блокчейне биткоина,…