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.05k stars 359 forks source link

What is KyberPreKeyStore in signalDecryptPreKey? #547

Closed joesteen2135 closed 6 months ago

joesteen2135 commented 6 months ago

When attempting to decrypt a pre key message in Swift, it requests KyberPreKeyStore as a parameter, however I see no mention of it anywhere else, so what is it?

jrose-signal commented 6 months ago

Kyber keys are part of PQXDH, the protocol for establishing sessions. They work a lot like the Curve25519 keys in PreKeyStore, except that you're expected to have a "last resort key" that doesn't get thrown away after being used, in case all of the "one-time" keys have been used up.

This would be another good question for https://community.signalusers.org/.