Java implementation of a quantum computing resistant cryptographic algorithm
github.com
github.com
Cloudflare recently enabled post-quantum cryptography, in which they're using X25519+Kyber [0]. Similarly, Signal's post-quantum cryptography also uses the same [1].
I'm guessing this spawned from the fact that a post-quantum algorithm was broken on classical computers a few years ago [2].
So now any attacker would have to break both the classical algorithm and the post-quantum algorithm.
[0] https://blog.cloudflare.com/post-quantum-to-origins/
[1] https://signal.org/blog/pqxdh/
[2] https://www.quantamagazine.org/post-quantum-cryptography-sch...
The point is: Many of these algorithms are rather new. The fact that multiple post quantum algorithms have been broken that were seen as promising shows that there is a risk with these new algorithms.
However, it should be said that the broken algorithms were in, let's say, more experimental subfields of post quantum cryptography.
If it turns out that both the classical and quantum hard algorithms are weak we're just screwed, yes. That said, at this point it's not even clear, as far as I know, that many classical algorithms are event going to be broken under QC.
https://eprint.iacr.org/2017/811
> Reassessing Grover's Algorithm
The proposal of this paper is that Grover's does not mean we need to double the size of symmetric keys to account for QM but that just a few extra bits are enough to prevent it from being efficient.
Of course, there may be new QM algorithms that don't suffer and, again, it's best to start preparing now and not later. But I think it's noteworthy for the discussion about quantum preparedness.
However, the main concern with quantum computers vs cryptography is Shor's algorithm which works on RSA and ECC. Shor's has the potential to take the problem from exponential (or at least close to exponential but sub, in the case of RSA) to polynomial O(n^3) which is much more powerful (essentially taking a log of the running time!). That is still assuming, of course, that workable quantum computers of required since will appear and that all the associated problems with that (noisy qbits etc.) are solved. Other challenges could also show up (difficulties scaling for longer computations, more passes through quantum gates, larger super-positions or even that the quantum laws governing e.g. probability amplitudes don't hold with full accuracy at such scales).
The best thing to do is to layer them, as is standard.
In that scheme, you have to compromise both the PQC and ECC key agreements, independently.
Which is why having as many eyes as possible is important.
Now it's very well possible that it comes back with mitigations.
And even the still OK candidates are using a young area of math.
I wouldn't worry too much about post-quantum algorithms for any production code in the next couple of years (decades?) myself.
Most importantly, Shor is not the algorithm of choice for first-gen hardware where the central challenge is likely to be circuit depth due to error correction overhead. The current front-runner is a probably proposal by Regev [0] with a space-optimization by Ragavan et al. [1], which factors an n-bit integer with O(n log n) logical qubits and a circuit depth of O(n).
What you should be looking for when studying quantum computing press releases is "fault tolerance": A central problem in QC is that the underlying hardware needs to be better than an (architecture-specific) threshold, before error-correction can be applied without introducing more errors than it corrects.
Nobody has really crossed the threshold yet with scalable hardware, and when someone does, the overhead will be abysmal (2 or 3 layers of error correction, each with a factor ~100 overhead in space and time). Still, there are two reasons to be optimistic:
One reason is that once a system crosses the threshold, any improvement in hardware will result in exponential improvements in the encoded operations, meaning that there will be a Moore-style exponential development.
Another reason is that there are several "dark mode" VC-funded companies working towards intrinsically scalable systems based on optical QC: If any of these achieve fault tolerance, they will be scalable from day one.
[0]: http://arxiv.org/abs/2308.06572 [1]: http://arxiv.org/abs/2310.00899
[0]: https://en.wikipedia.org/wiki/Harvest_now,_decrypt_later
For one thing, it's not always obvious what's short term vs long term information and you could end up applying short term protection to information that has long term value in a scenario you didn't consider. For example, encrypted session information that expires might not be useful in gaining access to an account, but it could potentially be used to track you in historical data.
The other problem is that most systems (and people) aren't great at segregating information that needs short term vs long term protection, so it's hard in practice to have a strategy based on applying different cryptographic protection to different information. Most encrypted protocols and systems deal with a mix of information that ranges from inconsequential if revealed even now to requiring long term confidentiality because it's much harder to try to deal with that information separately. There's also the practical argument that once I have a protocol or system to protect high value, long term info, why wouldn't I just use that for everything? Modern HTTPS is ridiculous overkill for the vast majority of things it protects, but there's really no reason to use something worse even if you could get away with doing so.
This is basically the premise of HTTPS everywhere and similar encrypt all the things concepts. It makes a lot more sense to just protect everything instead of trying to figure out what needs protection and what doesn't and hoping you didn't get it wrong or that nothing changes over the years. Same goes for post-quantum crypto. You might be OK not adopting it for things you think don't need protection beyond the time a practical quantum computer comes around (good luck guessing that time horizon btw), but it's both easier and less error prone to just post quantum all the things.
In practice this is probsbly reserved for important people I suppose.
I'm sure many oppressive regimes would love to know what their citizens where privately talking about, even if it was ten years ago. I think its a valid concern that quantum computing might take off, and in ten years you could run shores algo on an AWS instance. Long con attackers could MITM chats for juicy blackmail in the future.
For data in transit that's probably fine, but for data at rest, you have to consider how long that data might remain at rest. If you have 30 year old encrypted data that is now breakable, is that a problem? It depends on the use case.
Also keep in mind that any data in transit could be tapped and saved and become data at rest.
So really you have to ask yourself, is it critical that this data remain encrypted in 20 years?
Fun fact: I emailed my senator, chair of the foreign relations committee, on concerns over China's heavy investment here. I got a reply from an overworked intern about banning Tiktok !
https://quantum.microsoft.com/en-us/experience/quantum-crypt...
However, whether you should worry about post-quantum crypto or not is a risk assessment question, not a physical one.
That said, you are right to be wary; if there is a side-channel or implementation vulnerability in a PQ algorithm ... then you are much worse off using it. Worst-case; imagine an RCE in the PQ implementation. So it's a good idea to be cautious and check the code rigorously.
https://blog.cr.yp.to/20231023-clumping.html
I believe there is an HN submission on it already.
If this is true and quantum computers of that size do come into existence how does it impact Bitcoin?