В наших самых ранних работах мы опубликовали статью на тему «LATTICE ATTACK» как полноценное решение HNP [Hidden Number Problem], но с недавним появлением новой атаки «POLYNONCE ATTACK», мы решили дополнить статью с использованием 79 signatures ECDSA.
Исходя из прошлой статьи, где за полиному мы брали 128 bits и с фактическим увеличение количество подписей мы приблизим значение полиномы до 249 bits.
Все что нам нужно это решить проблему скрытых чисел.
В этой статье мы разберем пять независимых примеров криптоанализа блокчейна Биткоин. Все примеры будут загружены в репозитории GitHub.
with open("HEX.txt") as myfile:
listfile="\n".join(f'{line.rstrip()[:+298]}' for line in myfile)
f = open("RawTX.txt", 'w')
f.write("" + listfile + "" + "\n")
f.close()
Чтобы реализовать атаку мы воспользуемся программным обеспечение
-version: software version
-list: list of bitcoin attacks
-tool: indicate the attack
-gpu: enable gpu
-time: work timeout
-server: server mode
-port: server port
-open: open file
-save: save file
-search: vulnerability search
-stop: stop at mode
-max: maximum quantity in mode
-min: minimum quantity per mode
-speed: boost speed for mode
-range: specific range
-crack: crack mode
-field: starting field
-point: starting point
-inject: injection regimen
-decode: decoding mode
"ATTACKSAFE SOFTWARE" включает в себя все популярные атаки на Биткоин.
Запустим список всех атак:
!./attacksafe -list
Выберем -tool: lattice_attack
Чтобы получить определенные HEX значение R,S,Z к подписи ECDSA, мы ранее добавили данные RawTX через утилиту echo в текстовый документ и сохранили как файл RawTX.txt
Запустим -tool lattice_attack используя программное обеспечение “ATTACKSAFE SOFTWARE”
Мы получили 79 одинаковых первоначальных bits от 249
Благодаря значение на кривой secp256k1 от Hal FinneyLAMBDA и BETA раскрыл нам одинаковые первоначальные биты. Значение POLYNONCE в формате HEX нам позволяет полноценно решить проблему скрытых чисел получить приватный ключ и восстановить Биткоин Кошелек.
Проверим HEX приватного ключа:
Установим модуль bitcoin
!pip3 install bitcoin
Запустим код:
from bitcoin import *
with open("PrivateKey.txt","r") as f:
content = f.readlines()
content = [x.strip() for x in content]
f.close()
outfile = open("PrivateKeyAddr.txt","w")
for x in content:
outfile.write(x+":"+pubtoaddr(encode_pubkey(privtopub(x), "bin_compressed"))+"\n")
outfile.close()
with open("HEX.txt") as myfile:
listfile="\n".join(f'{line.rstrip()[:+298]}' for line in myfile)
f = open("RawTX.txt", 'w')
f.write("" + listfile + "" + "\n")
f.close()
Запустим -tool lattice_attack используя программное обеспечение “ATTACKSAFE SOFTWARE”
Мы получили 79 одинаковых первоначальных bits от 249
Благодаря значение на кривой secp256k1 от Hal FinneyLAMBDA и BETA раскрыл нам одинаковые первоначальные биты. Значение POLYNONCE в формате HEX нам позволяет полноценно решить проблему скрытых чисел получить приватный ключ и восстановить Биткоин Кошелек.
Проверим HEX приватного ключа:
Запустим код:
from bitcoin import *
with open("PrivateKey.txt","r") as f:
content = f.readlines()
content = [x.strip() for x in content]
f.close()
outfile = open("PrivateKeyAddr.txt","w")
for x in content:
outfile.write(x+":"+pubtoaddr(encode_pubkey(privtopub(x), "bin_compressed"))+"\n")
outfile.close()
with open("HEX.txt") as myfile:
listfile="\n".join(f'{line.rstrip()[:+298]}' for line in myfile)
f = open("RawTX.txt", 'w')
f.write("" + listfile + "" + "\n")
f.close()
Запустим -tool lattice_attack используя программное обеспечение “ATTACKSAFE SOFTWARE”
Мы получили 79 одинаковых первоначальных bits от 249
Благодаря значение на кривой secp256k1 от Hal FinneyLAMBDA и BETA раскрыл нам одинаковые первоначальные биты. Значение POLYNONCE в формате HEX нам позволяет полноценно решить проблему скрытых чисел получить приватный ключ и восстановить Биткоин Кошелек.
Проверим HEX приватного ключа:
Запустим код:
from bitcoin import *
with open("PrivateKey.txt","r") as f:
content = f.readlines()
content = [x.strip() for x in content]
f.close()
outfile = open("PrivateKeyAddr.txt","w")
for x in content:
outfile.write(x+":"+pubtoaddr(encode_pubkey(privtopub(x), "bin_compressed"))+"\n")
outfile.close()
with open("HEX.txt") as myfile:
listfile="\n".join(f'{line.rstrip()[:+298]}' for line in myfile)
f = open("RawTX.txt", 'w')
f.write("" + listfile + "" + "\n")
f.close()
Запустим -tool lattice_attack используя программное обеспечение “ATTACKSAFE SOFTWARE”
Мы получили 79 одинаковых первоначальных bits от 249
Благодаря значение на кривой secp256k1 от Hal FinneyLAMBDA и BETA раскрыл нам одинаковые первоначальные биты. Значение POLYNONCE в формате HEX нам позволяет полноценно решить проблему скрытых чисел получить приватный ключ и восстановить Биткоин Кошелек.
Проверим HEX приватного ключа:
Запустим код:
from bitcoin import *
with open("PrivateKey.txt","r") as f:
content = f.readlines()
content = [x.strip() for x in content]
f.close()
outfile = open("PrivateKeyAddr.txt","w")
for x in content:
outfile.write(x+":"+pubtoaddr(encode_pubkey(privtopub(x), "bin_compressed"))+"\n")
outfile.close()
with open("HEX.txt") as myfile:
listfile="\n".join(f'{line.rstrip()[:+298]}' for line in myfile)
f = open("RawTX.txt", 'w')
f.write("" + listfile + "" + "\n")
f.close()
Запустим -tool lattice_attack используя программное обеспечение “ATTACKSAFE SOFTWARE”
Мы получили 79 одинаковых первоначальных bits от 249
Благодаря значение на кривой secp256k1 от Hal FinneyLAMBDA и BETA раскрыл нам одинаковые первоначальные биты. Значение POLYNONCE в формате HEX нам позволяет полноценно решить проблему скрытых чисел получить приватный ключ и восстановить Биткоин Кошелек.
Проверим HEX приватного ключа:
Запустим код:
from bitcoin import *
with open("PrivateKey.txt","r") as f:
content = f.readlines()
content = [x.strip() for x in content]
f.close()
outfile = open("PrivateKeyAddr.txt","w")
for x in content:
outfile.write(x+":"+pubtoaddr(encode_pubkey(privtopub(x), "bin_compressed"))+"\n")
outfile.close()
В этой статье мы сделаем новую установку SageMath в Google Colab. Ранее мы опубликовали статью: "Install SageMath for cryptanalysis on Fedora 64bit(10GB) Cloud Virtual Server" , но для продолжение криптоанализа блокчейна Биткоин многие наши читатели предпочитают использовать Debian и Ubuntu в отличие от Fedora. Как нам известно Google Colab обновился до версии "Ubuntu 20.04.5 LTS". Мы это…
В этой статье мы научимся тому, как в большом количестве данных проверить баланс монет Биткоина используя для этого Python-скрипт bitcoin-checker.py Результат проверки Python-скрипта bitcoin-checker.py Так же мы научимся конвертировать публичный ключ Биткоина PUBKEY (HEX) в Биткойн Адрес (Base58) всю эту большую работу делает Python-скрипт pubtoaddr.py В итоге мы с особой легкостью будем проверять баланс Биткоина, сканируя Блокчейн в терминале Google Colab [TerminalGoogleColab] Ранее я записывал видеоинструкцию: «TERMINAL…
В этой статье мы составили список полезных инструментов и сервисов по отслеживание незаконных действии, криптоугроз и поиска уязвимости в транзакции блокчейна. Большинство сервисов включают в себя комплексную платформу для мониторинга взлома и алгоритма процесса для безопасности криптокошельков. В криптоанализе нам всегда важен контроль и анализ транзакций. Эти сервисы полезны, во-первых, для выявление финансовых преступлений связанные с криптокошельками,…