this post was submitted on 22 Oct 2026
75 points (100.0% liked)

Out of the loop

15609 readers
11 users here now

A community that helps people stay up to date with things going on.

founded 3 years ago
MODERATORS
top 17 comments
sorted by: hot top controversial new old
[–] CombatWombat@feddit.online 76 points 1 week ago* (last edited 1 week ago) (4 children)

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.

[–] Jake_Farm@sopuli.xyz 32 points 1 week ago (2 children)

Why did anyone trust this eMudhra?

[–] ImgurRefugee114@reddthat.com 43 points 1 week ago* (last edited 1 week ago)

A surprisingly good question

Because it expands to "why does anyone trust any CA?" And most of the time people don't; it's the app making the choice for the user.

The answer for eMudhra specifically, I'd assume, is that it was simply a regional publicly-traded corp that paid the fees and went through the process and had clients worth having; just like any other CA

[–] AceFuzzLord@lemmy.zip 25 points 1 week ago (1 children)

Most likely because they didn't assume a certificate signing company could be that bad at their job.

[–] shalafi@lemmy.world 2 points 1 week ago (1 children)

I've fired up an Active Directory CA that was more secure, on my first try, by myself. 🙄

[–] Valmond@lemmy.dbzer0.com 3 points 1 week ago

I have seen handmade cesar ciphers more secure so theres that eh

[–] Lampenoel@feddit.org 5 points 1 week ago

Great explanation! Thank you very much

[–] thermal_shock@lemmy.world 4 points 1 week ago (1 children)

Well I'm off to take my network plus test now. Wish me luck!

[–] CombatWombat@feddit.online 2 points 1 week ago (1 children)

Good luck! You've got this.

[–] thermal_shock@lemmy.world 3 points 1 week ago (1 children)

I'm kidding, already got mine. Just liked the info in your post. 😂

[–] CombatWombat@feddit.online 2 points 1 week ago

oops. I probably should've actually looked at the context before blindly replying

[–] shalafi@lemmy.world 1 points 1 week ago

Funny enough, I use wellsfargo.com as an example several times in my security talk for employees. :)

[–] paris@lemmy.blahaj.zone 8 points 1 week ago (1 children)

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.

[–] shalafi@lemmy.world 1 points 1 week ago (1 children)

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?

[–] Bryan065@kbin.earth 5 points 1 week ago (1 children)
[–] shalafi@lemmy.world 1 points 1 week ago (1 children)

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.

[–] PumaStoleMyBluff@lemmy.world 3 points 1 week ago

ssh-keygen prompts for an optional password, but it's just for permissions for your local private key file. So it would be like having an additional password on a text file that just contains "4"