Cryptanalysis

MrRobotQR scan QR codes from search engines in search of private keys of Bitcoin Wallets

We all know the phrase:  "Everything that gets on the Internet, remains in it forever and becomes publicly available." Down to hidden content. The  2021 году pandemic brought back popularity  QR-кодов. For  the first time QR-коды they were used in production in  1994 году a subsidiary  Toyota in Japan and introduced them at an assembly plant to control produced cars and parts for them. Unlike a barcode,  QR-код it contains more…

Bitcoin Wallet Recovery via ECDSA Short Signatures

We all know that the disclosure of the secret key in the ECDSA signature can lead to the complete recovery of the Bitcoin Wallet. In our earlier articles, we looked at weaknesses and vulnerabilities in blockchain transactions, but there are also ECDSA short signatures that also lead to the full recovery of a Bitcoin Wallet. Why are these ECDSA signatures…

Reducing the private key through scalar multiplication using the ECPy + Google Colab library

In this article, we will try to show how you can reduce the private key knowing only the leak from the "BLOCKCHAIN ​​FOLBIT LEAKS" list and the public key from "UTXO" . In the experimental part, we will use the 08ReducePrivateKey scripts and restore the Bitcoin Wallet. Elliptic curve scalar multiplication is the operation of adding a pointPto the curvektimes. Q=kP=P+P+P, k times Pis a…

Speed ​​up secp256k1 with endomorphism

In this article, we will look  secp256k1 at the endomorphism acceleration function that helps in optimizing the validation  ECDSA for the Bitcoin cryptocurrency, but first, a little history. 12 января 2009 года Satoshi Nakamoto sent Hal Finney   in the earliest bitcoin transactions  10 BTC. That Satoshi Nakamoto chose Hal as the first recipient of Bitcoins is not surprising. Satoshi had great respect for Hal, who established…

Pollard’s Kangaroo find solutions to the discrete logarithm secp256k1 PRIVATE KEY + NONCES in a known range

In this article, we will look at the fastest algorithm for ECDLP from the field of computational number theory, Pollard's kangaroo is also called Pollard's lambda algorithm. Pollard's kangaroo method computes  discrete logarithms  in arbitrary cyclic groups. It is applied if the discrete logarithm is known to lie in a certain range, say  [ a , b ], and then has…

Search for BTC coins on earlier versions of Bitcoin Core with critical vulnerability OpenSSL 0.9.8 CVE-2008-0166

In this article, we will create a tool that will generate Bitcoin Addresses (P2PKH) using the CVE-2008-0166 vulnerability. This is a research project to find BTC coins on earlier versions of the Bitcoin Core software client. Random number generator that generates  predictable numbers  CVE-2008-0166 VAIM-OpenSSL 0.9.8/1.0.0 Detected The critical vulnerability version  OpenSSL 0.9.8 CVE-2008-0166 was  populated with process ID only. Due to differences between endianness…

Useful and efficient algorithms for secp256k1 elliptic curve

In this article, we will consider several useful and efficient algorithms for an elliptic curve  E  over a field  GF(p)  given by the short Weierstrass equation у^2 = х^3 + Ах + В  Algorithm for generating a point on curve  E  Algorithm for adding points  Doubling Point Algorithm  Algorithm for finding an integer multiple point  Algorithm for finding an integer multiple point (scalar multiplication)…

How to Convert Bitcoin-PUBKEY HEX Public Keys to Base58 Bitcoin Address and Check Balance for BTC Coins

In this article, we will learn how to check the balance of Bitcoin coins in a large amount of data using the bitcoin-checker.py Python script for  this . The result of checking the Python script bitcoin-checker.py We will also learn how to convert the public key of Bitcoin  PUBKEY (HEX) to Bitcoin Address  (Base58) All this big work is done  by the Python script  pubtoaddr.py…

The very first serious vulnerability in Blockchain and how to get the public key Bitcoin ECDSA RSZ value from the RawTX file

In this article, we will talk about extracting signature values  ECDSA R, S, Z ​​from the Bitcoin blockchain, but first, let's remember the very first serious vulnerability in the blockchain transaction that was discovered by  Niels Schneider  ( Nils Schneider aka  tcatm  ) Bitcoin developer and owner  of "BitcoinWatch"  &  "BitcoinCharts". 4.1 History of dangerous random attacks on Bitcoin Document  [PDF]: Private Key Recovery Combination Attacks: On Extreme Fragility of Popular…