NIST Announces Post-Quantum Cryptography Standards
spectrum.ieee.org
spectrum.ieee.org
Is there support in the standards for combining the strength of old and new methods, so that successful attacks requires breaking both types of problems?
I wouldn’t trust any solution that combines the algos in some more ”clever” way, as the whole point like you say is to guard against the risk of unproven new algorithms.
So for example, nesting does not preserve IND-CCA security ("indistinguishability under chosen ciphertext attack"). Suppose you set ciphertext = outer_encrypt(outer_key, inner_encrypt(inner_key, data)). If the outer encryption system is broken, then an attacker can strip the outer layer and re-encrypt it. This will result in a different ciphertext, because if either layer is aiming for IND-CCA security, the encryption is necessarily randomized. Being able to modify ciphertexts in this way violates the IND-CCA-security goal. Then if another part of the system is designed assuming that the cipher is IND-CCA-secure, then its security is now at risk.
The attack surface is even broader if the system supports multiple combinations of ciphers, where an attacker might strip off one cipher layer and replace it with a different one.
So for a hybrid classical/PQ system you're not necessarily looking to combine a whole classical and post-quantum encryption system: you just want to combine the key exchanges, since those are the part where the security is more in doubt, and then you don't have to redesign the symmetric layer, which would be more disruptive to the whole protocol. Usually the combination is done more or less by running both key exchanges, then hashing both their transcripts and the derived keys together to create a final symmetric key.
There has been considerable discussion on mailing lists on exactly what is the most appropriate way to hash everything together. For example, X-Wing https://eprint.iacr.org/2024/039.pdf skips hashing the Kyber part, because Kyber internally verifies the integrity of its ciphertexts. But this proposal has taken some flak (Turbolaser fire?) for being a premature optimization, and for not generalizing as well to other hypothetical combinations.
FWIW I was trying to convey the idea of "not rolling your own", in that instead you could just encrypt twice by using established implementations instead of rolling your own.
But as you and less_less rightly point out, it's not at all that simple for the majority of cases we usually mean (or at least wish for) when we say "encryption".
Lesson learned, hopefully.
[^cloudflare]: https://blog.cloudflare.com/post-quantum-for-all/
[^google]: https://blog.chromium.org/2023/08/protecting-chrome-traffic-...
https://datatracker.ietf.org/doc/rfc9370/
https://datatracker.ietf.org/doc/draft-ounsworth-cfrg-kem-co...
https://www.etsi.org/deliver/etsi_ts/103700_103799/103744/01...
For other security mechanisms, like PKI, things are more complicated (and inefficient).
And one can argue that even if in theory the above gives you better security margin, the whole system becomes more complicated, and it may be practically less secure because of the additional moving parts. That is why there is no unanimous consensus: agencies in Europe recommend it, but the NSA does not.
Finally, note that the the 3rd standard (SLH-DSA), is PQC but it is based on old and well-understood standards (SHA2/SHA3), so it can arguably be used by itself.
(and as others have pointed out, classic/post-quantum hybrid schemes exist)
The large key size may be a problem for some uses.
https://www.latacora.com/blog/2024/07/29/crypto-right-answer...
After reading Crypto AG scandal, I can't trust anyone easily.
And even then they did use that knowledge to make DES more resistant to it rather than simply ignoring it. It wasn’t made public because at the time - early to mid 70’s it would’ve made most other block ciphers very beakeable. DES wasn’t broken until the late 90’s.
CryptoAG was about backdooring an implementation not an algorithm or finding a novel attack.
On the other hand, the end result is the same: lower security. It's irrelevant whether you backdoor an implementation (it was actually weakening the algorithm itself), design something with backdoors, tap dark fibers or lobby politicians for escrow laws.
It's about the spirit of the motivation, not how you achieve it.
Are you suggesting a true backdoor, or just "the NSA knows something about lattice algorithms the rest of us don't"?
Edit: but don't use a level 5 alone if you can use a level 3 hybrid. The risk's still too high to use these algorithms alone.
But this time there doesn't seem to be a clearly superior option and it may well end up with everyone choosing their own
> High security level. This system has a 2^128 security target; breaking it has similar difficulty to breaking NIST P-256, RSA with ~3000-bit keys, strong 128-bit block ciphers, etc.