How Bitcoin was saved from US government monitoring.

2 32
Avatar for Bharti
Written by
3 years ago

Most of the cryptography that is widely used in commercial use has been created by govt agencies particularly of USA through National Institute of Standards and Technology (NIST). Generally when government creates ciphers for public use it raises some red flags but the cryptographers who know there job well, analyze and vet these algorithms. Unless, though highly unlikely, if govt has created some advanced math which is not known to the academic circle, these ciphers are highly secure. But this is not the case.

In 2007 Bruce Schneier reported a back door in the random number generator of Dual-EC-DRBG ceated by NIST).

‘This is how it works: 
There are a bunch of constants
 — fixed numbers — in the 
standard used to define the
 algorithm’s elliptic curve. 
These constants are listed 
in Appendix A of the NIST
 publication, but nowhere 
is it explained where they
 came from.

What Shumow and Ferguson
 showed is that these numbers
 have a relationship with a 
second, secret set of numbers 
that can act as a kind of 
skeleton key. If you know the 
secret numbers, you can 
predict the output of the 
random-number generator after
 collecting just 32 bytes of
 its output. To put that in
 real terms, you only need 
to monitor one TLS internet
 encryption connection in
 order to crack the security 
of that protocol. If you know 
the secret numbers, you can
 completely break any 
instantiation of Dual_EC_DRBG.

This was an important development as the random number generator is a key component of cryptographic protocol. It can compromise the cipher. Edward Snowden was responsible for leaking the information that it was actually created by NSA and then given to NIST with a back door entry. What is more disturbing is that RSA security which widely develops this commercial encryption applications kept on using it until it was revealed by Snowden., even after knowing the truth of backdoor created by NSA. NSA paid RSA 10 million dollars to keep the backdoor.

Vitalik Buterin in one of his article revealed that a variant of that algorithm used in bitcoin also has the backdoor. But bitcoin was able to protect itself.

Bitcoin uses the ECDSA- Elliptic curve digital signature algorithm for signing transactions. This is used to prove that the private address is linked to a particular public address holding bitcoin. The ECDSA keys are derived from certain parameters of the elliptic curve. NIST recommended everyone to use the secp256r1 parameters as they are fully secure but this has a quite similar to Dual-EC-DRBG which has a backdoor.

The secp259r1 creates a random number by using a hash function of a seed. As the output of hash function is not predictable so the seed need not be random. Instead of creating a seed like 12, the secp256r1 creates a seed like D67Hjkk0987jJlnBbGgH5478 and there is no documentation as to how it was chosen.

How bitcoin dodged the bullet. Even if NSA came to know about a specific elliptic curve with vulnerabilities, then also they will not be able to rig the system because brute forcing of hash is not feasible. But if they find one flaw in say one curve in a billion then they will have to test those 1 billion to find the exploit.

NSA developed the parameters for secp256r1. But bitcoin uses the secp256k1 instead of the secp256r1. It uses the koblitz curve instead of the random curve, and id believed to be secure till now. Satoshi chose the 256k1 instead of 256r1, but no one knows why he chose this instead of the one which was used by everyone.

Was it a luck or stroke of genius of Satoshi who made the choice but whatever be the reason he was successful in avoiding the backdoor created by NSA and circulated by NIST.

5
$ 3.77
$ 3.77 from @TheRandomRewarder
Sponsors of Bharti
empty
empty
empty
Avatar for Bharti
Written by
3 years ago

Comments

Nice article

$ 0.00
3 years ago

Thank you

$ 0.00
3 years ago