端到端加密通讯的基本原理
端到端基本上都是基于非对称加密手段来实现:假设通讯双方为A和B,AB都 自己生成一个随机的 私钥(p) 并私密地保存起来,然后通过数学算法,生成一个 公钥 (L),把公钥发送给想要跟自己通讯的点(peer)。当他们要给对方发送信息的时候,将信息用对方给的公钥进行加密,然后通过网络发送到对方;此时对方可以用已保存的私钥,解密加密后的数据,得到信息原文,实现了信息在传递过程的私密性。用描述语言如下:
A gen pA/LA, store pA, send LA to B B gen pB/LB, store pB, send LB to A 发送消息时: A.sendTo(encrypt(message, LB), B),发送的是用B的公钥加密过的信息。 B给A发送的状况类似。 接收消息时: B.receiveFrom(A).decrypt(pB),接收到A发过来的加密信息后,用B的私钥解密,得到信息原文。 A 接收到加密信息之后的处理方式类似。