[Proof of Concept] Switch to post-quantum crypto (eddilithium2)
Just for fun, I replaced all usage of ed25519 with eddilithium2 from cloudflare's circl library* (and fixed any related bugs; at least the ones I've found) to make pinecone post-quantum safe. If I understand correctly, given a sufficiently powerful quantum computer, any given node can currently be impersonated by recovering its private key. This PR should prevent that.
That said, eddilithium2 has much larger public keys than ed25519 and produces much larger signatures (though it is slightly faster to verify)** which means this PR comes with performance penalties.
I'm not counting on this getting merged (at least, not any time soon) given a lack of prior discussion or immediate need (and the aforementioned performance penalties), but since I wanted to try this anyway I figured it wouldn't hurt to make the code available.
I could probably clean this up a little, but the code does compile and should be fine to play around with.
Signed-off-by: 0x1a8510f2 <[email protected]>
* which is a near drop-in replacement for crypto/ed25519
** based on cloudflare's blog post
EDIT: That's one big key alright
