4
$\begingroup$

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?

$\endgroup$
1
  • 1
    $\begingroup$ The security code is based on static information specific to a conversation (ie public keys). By confirming it out-of-band you confirm that there's no man-in-the-middle attacker. $\endgroup$
    – SEJPM
    Jan 15, 2017 at 16:11

2 Answers 2

4
$\begingroup$

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.

$\endgroup$
0
$\begingroup$

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.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.