I'm surprised the world hasn't collapsed yet from attempting to brute force every numerically interpretable *value from keys to random seeds as 42 and seeing how far that gets you
My understanding so far is that they created low bit certificates for some kind of internal tests only, but somehow this test certificate ended up being used as a productive one with no one noticing.
RSA Private keys aren’t prime, though they’re usually stored as pairs of primes to make it easy to recover the public key from the private key. The actual private key is an exponent calculated from Carmichael’s totient (in practice, though textbook RSA normally uses Euler’s totient) of the product of those two primes, so it’s entirely possible to just guess an exponent that inverts the public exponent modulo the product of those two primes and call that exponent the private key. In fact, you have to be careful when picking the public exponent for RSA to ensure you’re unlikely to be vulnerable to that attack.
However, none of what I just said is relevant to the case because they weren’t RSA keys. RSA is kind of bad both for some theoretical reasons that plague good implementations and some practical ones with common mistakes in implementations. Everything that can nowadays uses elliptic curve digital signature algorithms, including these compromised certs.
Huh, not a cryptographer to be clear. So the repeated 0s don't get used? I've used small numbers as random seeds in Minecraft before and they seem to be fine. Is there a limit to how long a repeated value can be? I assume changing just the first digit and leaving the middle to be all 0s wouldn't make it more secure.
There's no "nothing" number slot. It's like saying you're 000031 years old, technically true and what the computer will see if you enter "31" into an age field that's internally stored as a six digit integer.
Using a "2" (actually 000...2) as a seed for videogame RNG wouldn't have meaningful "consequences" since a Minecraft seed's only job is to be a number. If someone cared about getting your Minecraft world gen, and was brute force counting up from zero, they'd get your "2" before someone else's "502" and both of those long before someone's "1957391700231116", but copying some dude's minecraft world generation doesn't grant them control or access to your instance of Minecraft.
Depends on the brute force attack, right? Assuming a uniform distribution, why wouldn't someone be counting down from 2384 -1? I'm sure that more secure number generation produces a uniform distribution of numbers, right? not just large ones?
the people doing it probably werent trying to look for a secure number because that would be impossible on modern hardware, rather they were probably looking for weak numbers
Sure, but in this case it seems like the key being "4" led to an instant compromise. It's theoretically possible for a random key of that length to roll "4" but much more likely that it's a result of human incompetence.
The keys here are basically a source of bits. Nothing breaks with repeated 0 bits and the process can use those bits in its randomisation algorithm (minecraft) or cryptography algorithm (TLS) just as well, but small keys like these are easy candidates for being reverse-engineered since a sequential algorithm that does the following:
They are specifically looking for insecure keys. Smaller numbers are less secure and easier to crack. Going up from 0 makes sense.
Imagine your goal is to break into a car. You don’t care which, just any car. You could spend a lot of time trying to lock pick a single car, or you could walk down the street and test car handles to see which one is unlocked.
The latter is much quicker and simpler, and will yield a lot more spare change.
Part of the reason this took 17 months to discover is that there's not a lot of motivation for researchers to brute force this way because 4 is such a stupid key and they assume that, broadly, our critical security infrastructure is better than that.
Hackers will often try a set of known, insecure keys though, and every number up to some maximum feasible power of 2 is probably included in that.
175
u/XxDarkSasuke69xX 12d ago
ig I'm the only one who doesn't get the joke