A encriptação de ponta a ponta significa que as mensagens são encriptadas no dispositivo do remetente e só podem ser desencriptadas pelo dispositivo do destinatário pretendido. A chave de encriptação é gerada no dispositivo do remetente e nunca é transmitida para os servidores do WhatsApp. Isto significa que o próprio WhatsApp não pode aceder ao conteúdo das mensagens, mesmo que tal lhe seja solicitado pelas autoridades policiais.
As chaves públicas e privadas são utilizadas na encriptação assimétrica. A chave pública é partilhada com qualquer pessoa que pretenda enviar uma mensagem encriptada para o proprietário da chave privada. A chave privada é mantida em segredo e é utilizada para desencriptar mensagens que tenham sido encriptadas com a chave pública. Desta forma, apenas a pessoa que possui a chave privada pode ler as mensagens que foram encriptadas com a chave pública.
Para desencriptar texto cifrado, é necessária a chave de desencriptação correspondente. Na encriptação simétrica, esta é a mesma chave que foi utilizada para a encriptação. Na encriptação assimétrica, a chave de desencriptação é a chave privada que corresponde à chave pública utilizada para a encriptação.
A encriptação RSA é um tipo de encriptação assimétrica que é amplamente utilizada nas comunicações digitais. Tem o nome dos seus inventores, Ron Rivest, Adi Shamir e Leonard Adleman. Na encriptação RSA, a chave pública é derivada do produto de dois números primos grandes. A chave privada é derivada dos mesmos dois números primos. A segurança da encriptação RSA baseia-se na dificuldade de facturar números grandes.
Em conclusão, a chave de encriptação do WhatsApp é gerada no dispositivo do remetente e não é transmitida para os servidores do WhatsApp. O WhatsApp utiliza a encriptação de ponta a ponta para proteger as mensagens dos utilizadores, o que significa que apenas o destinatário pretendido as pode desencriptar. A encriptação assimétrica utiliza duas chaves diferentes, uma chave pública para encriptação e uma chave privada para desencriptação. A encriptação RSA é um tipo de encriptação assimétrica muito utilizado que se baseia na dificuldade de factorizar números grandes.
O método conhecido como criptografia de chave pública utiliza o algoritmo RSA.
A distribuição de chaves públicas é normalmente efectuada através de um processo designado por troca de chaves, que envolve uma troca segura e autenticada de chaves entre as partes comunicantes. Um método comum de troca de chaves é o protocolo de troca de chaves Diffie-Hellman, que permite a duas partes gerar uma chave secreta partilhada através de um canal de comunicação inseguro sem nunca ter de transmitir a própria chave. Outros métodos de troca de chaves incluem o algoritmo RSA e o protocolo Elliptic Curve Diffie-Hellman (ECDH).
No WhatsApp, o par de chaves é gerado pelo remetente. O remetente gera uma chave de sessão e encripta a mensagem com ela antes de a enviar para o destinatário. O receptor desencripta então a mensagem utilizando a mesma chave de sessão.