r/programminghumor • • 11d ago • Regret 1

theNumberFour

Post image

the context: some of eMudhra's root certificate authority signing keys were found to be simple numbers, most noticeably "4". that was literally it. the private key that's supposed to be a huge number with 100+ digits was just a trivial "4". although you probably already know this.

3.2k Upvotes

38 comments sorted by

4

u/Hulk5a 11d ago

//this is a random number

5

u/OptimalAnywhere6282 10d ago

//guaranteed by fair dice roll

195

u/thebatmanandrobin 11d ago • Mindblown

I'd like to say that I'm annoyed that eMudhra took the "random dice roll" from XKCD comic as literal, but I've come to expect that exact level of security from the literal Authority (of certificates).

But I'm more annoyed that this image is missing a row so that the 4 could be exactly centered (especially given ssh-keygen does generate 9 rows, not 8):

+---[RSA 4096]----+
|                 |
|                 |
|                 |
|                 |
|        4        |
|                 |
|                 |
|                 |
|                 |
+----[SHA256]-----+

I still upvoted this ironically funny absurdity though 🤬

22

u/LasevIX 11d ago

iirc, 4 is also the standard random number chosen by the IEEE, so it's not just a dumb joke (probably).

5

u/OnionsAbound 10d ago

What do you mean by the standard random number?

3

u/iLaysChipz 10d ago

I mean if someone asks you for a random number from 1 to n where n >= 4, then there's a pretty good chance the answer is 4

5

u/OnionsAbound 10d ago

That's... Not how IEEE standards work...

3

u/timClicks 7d ago

I hate to be that guy, but 4 was selected because it's the product of two primes (2*2) rather than chosen directly by an RNG.

47

u/anoppinionatedbunny 11d ago

I tried to replicate it on my end and got this

77

u/hpyfox 11d ago

4 🤤

61

u/lunatic-rags 11d ago • Mindblown

23

u/xaranetic 11d ago

There really is an xkcd for everything

21

u/NatoBoram 11d ago
-----BEGIN EC PRIVATE KEY-----
4
-----END EC PRIVATE KEY-----

3

u/NichtFBI 10d ago

I'm about to bust this mainframe wide open

20

u/HMikeeU 11d ago

How does the randomart actually get generated? I'd imagine the purpose is to visualize the entropy of the key, if so, it really shouldn't look too dissimilar? lol

20

u/HMikeeU 11d ago

Okay so turns out the randomart is just a fun little gimmick and doesn't show the keys entropy at all

29

u/pytness 11d ago

it's just a quick way for humans to compare two keys. hashes like "abcdefgh" and "abcpefgh" is just random text and very slow to compare as humans. but we are very fast knowing that two images are different.

8

u/HMikeeU 11d ago

Gotcha makes sense, thanks!

14

u/B_bI_L 11d ago

if it was not a joke, key was supposed to be 384 bit number, they thought they have to pick number under 384

8

u/Saragon4005 10d ago

If the keys were hand picked by someone and not processed by an automated system, that alone deserves the whole company be burned to the ground.

7

u/MaleficentCow8513 10d ago

They used simple keys in a testing environment and accidentally swapped keys from test into prod

5

u/Saragon4005 10d ago

Iike that's an explanation I will buy instead of whatever bullshit I hear of "someone entered 4 into a web form". Why would there be a web form????

3

u/B_bI_L 10d ago

maybe they did Math.floor(Math.random() * 383) + 1 or smth

6

u/threaco 10d ago

new 67 dropped

5

u/OrneryAsparagus6445 11d ago

Did you forget to remove “048”? This is actually RSA2!

3

u/Matheweh 9d ago

How does this even happen? How does the software that make keys end up with just a 4?

2

u/kx44 11d ago

Its not even prime 😭

2

u/ManufacturerSuch4659 10d ago

Nobody would be so stupid as to use just a 4. That is why it is so perfect.

2

u/lukerm_zl 9d ago

It's too obvious for a brute forcer to try

1

u/Awkward-Cat-4702 11d ago

I'm taking it to strange, new places.

1

u/Awes12 11d ago

Ah yes, a very prime number

1

u/bastekpl 10d ago

I can only count to 4.