A和B,要进行安全的通信。这种通信可以是QQ聊天,很频繁的。用A的公钥加密数据就不行了.
因为:
1,B没有公私钥对,A怎么给B发加密的消息啊? (注:实际情况中,可以双方都有公私钥对)
2,用公私钥加密运算很费时间,很慢,影响QQ效果。
好了,B,找了一个数字3,用A的公钥,加密后发给A,说,AB以后就用这个数字来加密信息吧。A解开后,得到了数字3。
这样,只有A、B知道这个秘密的数字3,别的人都不知道,因为他们既不知B挑了一个什么数字,加密后的内容他们也无法解开,我们把这个秘密的数字叫做会话密钥。这个过程也叫做“握手”。
然后,A、B选择一种对称密钥算法,比如DES,(对称算法是说,加密过程和解密过程是对称的,用一个密钥加密,可以用同一个密钥解密。使用公私钥的算法是非对称加密算法),来加密通信内容。别人因为不知道3是AB的会话密钥,因而无法解密。
先行者们在操作系统或者相关的软件中实现了这层(Layer),并且起了一个难听的名字叫做SSL,(Secure Socket Layer)。