1

The Signal Protocol, as many of you would know, is used by many applications such as WhatsApp and Signal. These corporations, I can vouch for, would definitely use the most secure protocol they could- as WhatsApp, for example, would happily spend millions and millions to make sure a data breach or “hack” doesn’t happen.

As asymmetric encryption is known for being far stronger, I wondered why the esteemed Signal Protocol uses symmetric.

Can anyone give me a straightforward, easy to understand answer for this, please?

I saw this article on asymmetric vs symmetric encryption and it says that:

One reason asymmetric encryption is often regarded as more secure than symmetric encryption is that asymmetric encryption, unlike its counterpart, does not require the exchange of the same encrypt-decrypt key between two or more parties

And I saw this article as well, that also states:

Increased data security is the primary benefit of asymmetric cryptography. It is the most secure encryption process because users are never required to reveal or share their private keys, decreasing the chances of a cybercriminal discovering a user's private key during transmission.

As well as this third article that also states:

Advantages [of asymmetric encryption]: More secure than symmetric encryption.

8
  • 2
    "asymmetric encryption is known for being far stronger" -- no, it's not. The opposite is true. Given the same key size, asymmetric encryption algorithms like RSA or ElGamal are much weaker. In practice, asymmetric cryptography is very rarely used for encryption. Their primary application are key agreement algorithms in hybrid schemes (asymmetric key agreement combined with symmetric encryption) or signatures.
    – Ja1024
    Commented May 26 at 1:24
  • @Ja1024 I didn’t know- but check out the article in my edit. Thanks. Commented May 26 at 2:00
  • 1
    The article is all over the place. It lists "security" as an advantage of symmetric over asymmetric cryptography, then says comparing the security of both is "not the right question to ask", then claims "asymmetric encryption is often regarded as more secure than symmetric encryption". According to the blog, the author works in marketing, so he may not be an authority on cryptography.
    – Ja1024
    Commented May 26 at 2:44
  • @Ja1024 I am definitely not doubting that you are right- you are security expert- but all of the information that I have found online says that asymmetric encryption is more secure than symmetric encryption, as my new edit provides evidence of. Thanks very much for taking the time to reply- but please can I ask that you elaborate on how you think opposingly? Commented May 26 at 3:20
  • I was referring to the concept of security strength as defined by the National Institute of Standards and Technology (NIST). This is the amount of work required to successfully attack a cryptographic algorithm. The NIST also provides tables which directly compare the security strength of symmetric and asymmetric algorithms.
    – Ja1024
    Commented May 26 at 9:09

1 Answer 1

2

You have downsides on both modes. Asymmetric encryption is much, much slower, so you would never encrypt anything larger than a key with it, and it can only encrypt data smaller than the key plus padding. Symmetric encryption demands a secure key exchange, so you have to be sure nobody obtained the key.

To overcome those downsides, you almost always generate a random symmetric key, encrypt the data with it, and use asymmetric encryption to encrypt the key. And that's why you should use a cryptographically safe random number generator (CSRNG). If your random number generator is compromised, it makes the job of finding the symmetric key easier (easier, not trivial).

This way you have the fast encryption and decryption from the symmetric encryption, and public/private key encryption from the asymmetric encryption.

But Signal encryption uses a special protocol called Signal Protocol, and it's more than just symmetric encryption:

The protocol combines the Double Ratchet Algorithm, prekeys, and a triple Elliptic-curve Diffie–Hellman (3-DH) handshake, and uses Curve25519, AES-256, and HMAC-SHA256 as primitives.

It's an interesting protocol.

12
  • Great summary- thanks- upvoted! But there’s one thing nagging me- most of the encrypting they’re doing on WhatsApp is text, and some images- not large uploads. Commented May 25 at 23:55
  • Because then wouldn’t they use both again? Commented May 26 at 0:08
  • 1
    RSA can only encrypt text smaller than the key size plus padding, so even a "Hi" message have a lot of metadata and will be over this limit.
    – ThoriumBR
    Commented May 26 at 0:20
  • Right… thanks- I didn’t know that. But could the symmetric key get asymmetrically encrypted afterwards? Commented May 26 at 0:40
  • Yes, that's how it's done: generate Symmetric key, encrypt data with it, use asymmetric key to encrypt symmetric key, send both encrypted data plus encrypted symmetric key. Destination uses private asymmetric key to decrypt symmetric key, uses decrypted symmetric key to decrypt data.
    – ThoriumBR
    Commented May 26 at 0:44

Not the answer you're looking for? Browse other questions tagged .