3 ms·
Alright let's test this hypothesis. Load up a bitcoin wallet and post the private key here with 1 random bit flip :)
by orlp 3y ago
Alright let's test this hypothesis. Load up a bitcoin wallet and post the private key here with 1 random bit flip :)
- Cheer2171 3y agoYou might think you're being clever, but specifying exactly 1 random bit flip makes it a completely different scenario.
- krab 3y agoIf you can reliably find the key in memory, even if it's partially damaged, it may practically possible to recover it. You can try keys sorted by edit distance from the recovered material. Maybe there are better methods taking into account the actual cryptography.
- ivancho 3y agoThe original comment said "One bit flip and it's game over". Which is clear nonsense, I don't have to specify that there's exactly one bit flip, I just need to know that the key is in that general neighborhood and its security is already compromised.
- matheusmoreira 3y agoIf you just recovered a secret key, you have no idea how many bits were flipped or their positions or if they were flipped at all or even it if it's actually a key rather than random garbage data. Key strength is therefore maintained. Posting a secret key here and specifying "exactly one bit was flipped" reduces the problem to N guesses where N is the key length since you know all the other N - 1 bits are correct. Leaking just a few bits has catastrophic consequences, in your example all bits except one are leaked.
- ivancho 3y agoYou can't simultaneously have that key strength is maintained as long as they don't know how many bits are flipped, or where in memory the key was, but also that leaking any number of bits is catastrophic. If your memory dump creates a different distribution on the space of possible keys, it has already compromised the cryptographic security of the key, it's just a question of how much, and the answer here is a lot - even if we had GBs of garbage data, that is still tiny compared to the whole space and can be sifted extremely quickly
- matheusmoreira 3y ago> If your memory dump creates a different distribution on the space of possible keys Is it possible to determine that this has happened though? If you're trying to recover an image and a bunch of bits are flipped, the result might be somewhat corrupted but a coherent image will still be visible. You know that the data was corrupted and where the damage is. Ciphers have avalanche effects, a single bit flip produces completely unusable output which by design reveals no information.
- ivancho 3y agoThere is extensive research on key finding attacks. Often they only need 30% of the bits. Things can be sped up by exploiting entropy - keys are really random, unlike most of the rest of your memory, so that filters things down, and as you said, an incorrect key produces total garbage on decrypt, which is easy to detect, so you can automate testing and discarding key candidates. Lastly, if you have knowledge of the applications or algorithms involved, you often get some extra data structure around the keys, which makes searching the memory dump trivial. All that is to say, yes, this is a viable attack vector, even if some or many of the bits are flipped
- matheusmoreira 3y agoI see. Then I was wrong when I said key strength was maintained due to unfounded assumptions.