想要了解whatsapp 的加密技术,可以看官方发布的技术白皮书,当然是英文的。这里涉及到很多加解密专业知识,了解就好,不需要自己去实现,各种开源库都有,甚至可以直接套用。
英文看不懂的话,国内有很多网友翻译的,可以看看
要完成登录首先需要建立一个安全的传输通道,可以认为是和服务器握手协商过程。 比如 https, tcp-tls, 国内的微信 MMTLS。whatsapp 使用的是开源的Noise Protocol Framework。 这个框架有很多种语言实现。目前官网 支持 C, C#, Go, Haskell, Java, Javascript, Python, and Rust。 想要了解更详细的可以通过下面链接
whatsapp 采用端到端消息加密,通俗一点就是除了收发双方谁也解密不了(相对的),并且每条消息的加密秘钥都不同,所以一次会话中即使破解了一条消息,后面的消息也需要重新破解。github 上有各种版本的实现。
whatsapp 使用的xmpp 协议并不是标准的,对xmpp 协议做了一些扩展。xmpp 协议使用xml 作为载体