Post Quantum media encryption
Starting SDK release 5.2 the post quantum media encryption is available when using ZRTP.
Building the feature
By default the option is disable, so you have to manually enable it using cmake:
You can check if the feature is available at runtime using this method:
Using a post quantum algorithm
First of all, you must have enabled ZRTP as your media encryption if it isn't done already:
Now, in the audio call statistics, you can check and display various information about ZRTP algorithms in use:
linphone_call_stats_get_zrtp_key_agreement_algo()
linphone_call_stats_get_zrtp_hash_algo()
linphone_call_stats_get_zrtp_auth_tag_algo()
linphone_call_stats_get_zrtp_sas_algo()
By default ZRTP won't use post quantum algorithm, so you have to configure it.
You can do it in your configuration file, like this:
zrtp_key_agreements_suites=MS_ZRTP_KEY_AGREEMENT_K255_KYB512
Or in code:
You can check the list of supported ZRTP key agreement algorithms in theĀ LinphoneZrtpKeyAgreement enum.
If you want to know if a key agreement algorithm is a post quantum one or not, you can use the following method: