Why do they recommend the user to verify the 60 digit code in person or via other medium of communication.
How are the security codes generated and how do they function on apps like Signal and Whatsapp Messenger?
Why do they recommend the user to verify the 60 digit code in person or via other medium of communication.
How are the security codes generated and how do they function on apps like Signal and Whatsapp Messenger?
Here is a detailed blog post about the safety numbers: https://signal.org/blog/safety-number-updates/
They are unique per conversation and basically consist of hashes of your and your contact's public long-term key.
You should compare them if you want to be sure that there is no man-in-the-middle.
See https://www.youtube.com/watch?v=DXv1boalsDI&t=506s:
The way the Signal does is it takes the Identity public key of Alice and the Identity public key of Bob and it combines them using a hash function into a safety number. That safety number is essentially a summary of two public identity keys
What's interesting is that the safety number is 60 digits. So, it has a space of 10^60, which is 200 bits. I never heard of a hash function that produces 200 bits. Perhaps Signal is truncating the output of a SHA256 (or larger) hash function.