On the internet, to maintain security, you have to have something called a certificate that is used as part of establishing a secure connection using TLS (the secure part of https). The way it works is using a public/private key pair -- one half is public, and is used to verify that the certificate is signed by the correct authority, and the other is secret, where no-one else can figure it out. Each key is just a really big number that goes into a cryptographic math problem. One certificate authority, eMudhra, used 8 different private keys that were extremely small numbers, including one that is just the number 4 (represented as 0000000...4, but literally just the number 4). The math problem is much easier to solve with small numbers, and a common way to break the cypher is to check every possible option starting at 0, which gets to 4 pretty fast. It's remarkable in terms of a security breach because no-one actually had to leak anything for it to be insecure, it's just that the "password" was so easy to guess that we had to "rotate the passwords" for basically the entire internet, because now anyone can sign a certificate using the private key 4 and it will look like a real certificate for google.com or wellsfargo.com or whatever.
post
Essentially all internet security is based on the fundamental idea that if you have some really big randomly selected prime number, you can do math on it easily to get a final value, but doing the math backwards to find the original prime number is computationally infeasible. Your prime number is secret, the calculated final value is public. You can sign data with your prime number private key and someone can use the corresponding public key to verify that the data was signed with the corresponding private key.
It's really important that your private key stays private. It's really important that your private key can't be brute forced by trying a bunch of numbers to guess your secret prime number.
Your private key should be using a number like 11185240471355026063328096486023294694077671402173515074581823211722702563586240744645728206308310973537336052780084.
It would be really bad if your private key was something like 4. It would be REALLY BAD if that private key was used to sign a bunch of data used for internet security.
https://scotthelme.co.uk/eight-bits-of-trust-emudhras-ca-keys-cracked-in-milliseconds/
P.S. I don't actually know if all algorithms use only prime numbers or if some of them can use non-primes.
I thought 4 was the password to recover or lock the private key. Been out of IT for awhile, what am I missing? For example, how could I use 4 to get the private key?
4 is the private key
JFC, that's worse than I imagined. Thought it was a recovery thing, but now I'm questioning if that's even possible. What am I thinking of? I could swear I've entered a password making key pairs.
all 16 comments