24

I have a presentation to make on Social Network Security. I have been doing some research regarding this.

I did a lot of searching, but was unable to find the Crypto Algorithm used by WhatsApp for end-to-end Encryption.

TRiG
  • 609
  • 5
  • 14
Taha Kirmani
  • 549
  • 2
  • 4
  • 9

3 Answers3

34

WhatsApp partnered with Open Whisper Systems for the cryptographic portions of messaging. The process involves a variation of Off the Record (OTR), Perfect Forward Secrecy (PFS), and the Double Ratchet Algorithm (DRA).

Open Whisper Systems has blog posts on cryptographic ratcheting, and their Signal Protocol Integration for WhatsApp.

TRiG
  • 609
  • 5
  • 14
munkeyoto
  • 8,682
  • 16
  • 31
  • Thanks alot.. Do Facebook or any other social site also use any Cryptography algorithms ? – Taha Kirmani Apr 12 '16 at 12:06
  • 6
    @TahaKirmani here is a detailed article about those who are, and those who aren't using encryption http://recode.net/2015/12/21/is-your-messaging-app-encrypted/ – munkeyoto Apr 12 '16 at 13:14
  • 4
    "Do Facebook or any other social site also use any Cryptography algorithms?" -- They almost certainly use TLS! – Xiong Chiamiov Apr 12 '16 at 18:59
2

Whatsapp uses the Curve25519 based algorithm. The history of Curve25519 is worth noting as it was introduced after the concerns over allegations that certain parameters of the previously prevalent P-256 NIST standards have been manipulated by NSA for easier snooping. Elliptic Curve Diffie Hellman algorithm is a mathematical algorithm which helps two communicating entities to agree up on a shared secret without actually sending the actual keys to each other. Even the Facebook Messenger, viber uses this algorithm.

Refer this for more information: https://www.linkedin.com/pulse/how-whatsapp-uses-end-encryption-ashish-bijawat

0

It uses Message Key which is generated by HMAC-SHA256 and Message Key is Protected by AES256 for end to end.

So basically, they use SHA256 for Message key to be delivered to the client and these keys are responsible for decrypting messages (actual). For key protection, they use AES256 in CBC mode for encryption of keys generally.

source

schroeder
  • 123,438
  • 55
  • 284
  • 319
  • 1
    Ok, but you've missed some important details. You've only described the ***session key***, which is just one part of the whole. – schroeder Jun 14 '20 at 14:07