signalapp / libsignal

Home to the Signal Protocol as well as other cryptographic primitives which make Signal possible.
GNU Affero General Public License v3.0
3.62k stars 420 forks source link

Post-Quantum Support in libsignal-client Java Library? #593

Closed nazir92 closed 1 month ago

nazir92 commented 1 month ago

I’ve read that Signal has already implemented post-quantum cryptography in their apps.However, I noticed that the current version of the libsignal-client library (here) doesn’t seem to expose this post-quantum support yet. Is there any information about when this feature will be available in the official Java library? Or is it already supported, and I’m missing something?

jrose-signal commented 1 month ago

The general-use entry point is KEMKeyPair, which generates Kyber1024 keys (note: not quite the same as the NIST-finalized ML-KEM, see https://github.com/signalapp/libsignal/issues/538). The use of PQXDH comes from using a KyberPreKeyStore and your server providing Kyber keys in PreKeyBundles.