In today's world, Sender Keys is a topic that has captured the attention of millions of people in all corners of the planet. Whether due to its historical importance, its relevance in contemporary society or its impact on the future, Sender Keys is a topic that does not leave anyone indifferent. Over the years, Sender Keys has been the subject of debate, extensive study and detailed analysis, resulting in a wide range of opinions and perspectives. In this article, we will explore the different facets of Sender Keys, from its origin and evolution to its influence today, with the aim of shedding light on a topic that continues to generate interest and curiosity around the world.
In cryptography, Sender Keys is a variant of the Signal Protocol[1] used in end-to-end encryption used in instant messaging. Sender Keys is used for group chats.[1] Applications using it have included Signal, Matrix, WhatsApp, Session, and Facebook Messenger.[2][3][4][5][6][7]
In order to scale to large groups, the protocol takes advantage of server-side fan-out and avoids computing a shared group key.[2][3][7] The algorithm relies upon secure pairwise communication channels between peers that provide confidentiality and authentication. For example, an Authenticated Key Exchange algorithm such as Extended Triple Diffie-Hellman (X3DH) may be combined with the Double Ratchet Algorithm to construct such a channel in practice, as is the case with WhatsApp.[8][2]
The protocol was described in a whitepaper from WhatsApp,[2] and it is also related to the Messaging Layer Security standard.[9]
| External videos | |
|---|---|
In Sender Keys, users within a group are assumed to maintain secure pairwise communication channels with each other user. Each user constructs a session that consists of a symmetric key and an asymmetric signing key pair; each user sends their session's symmetric key and the signing key pair's public key to each other user through the respective pairwise secure channels.[citation needed]
To send a message, a user "ratchets" their symmetric key forward by applying a cryptographic hash function, encrypts their message with the newly hashed symmetric key, and constructs a digital signature protecting the encrypted message with the private signing key. The sender forwards the encrypted message to the server, who then fans it out to all receivers. Each receiver checks the signature with public signing key, hashes their symmetric key to match the sender, and decrypts the message.[citation needed]
Users regenerate and re-transmit sessions periodically, or whenever a user leaves or joins the group.[2][3][7]
Security properties of Sender Keys include message confidentiality, message integrity, message authentication, forward secrecy, post-compromise security, scalability, and asynchronicity.[5][6]