RAS加解密过程
RSA又叫非对称加密算法,这类加密算法双方都有一对秘钥,其中一个用来加密,一个用来解密。这一对秘钥中你可以选择一个作为私钥(自己保存),另一个作为公钥(对外公开)。用私钥加密的内容只能用对应的公钥解密,反之用公钥加密的内容只能用对应的私钥解密。
有这么一个场景:A要向B发送加密数据,则用B的公钥对数据进行加密,B在收到加密后的数据之后,使用B的私钥对加密数据进行解密,还原为原本的数据。
因为B的公钥可能所有人都可以获得,那么会存在一个问题:A给B发送数据的时候,拥有B公钥的主机C,截拦了A发送给B的数据,并使用B的公钥再对数据进行一次加密,再转发给C,那么B接收到的数据是被篡改了的数据。因此引入了签名。
签名
签名的做法是:通讯双方先约定好一个生成签名的方式,A要向B发送数据的时候,先用A自己的私钥对生成的签名进行加密,然后把这个加密的签名附加在要传送的数据后,用B的公钥对整个数据进行加密,再把签名附加到这个加密数据之后才进行传输;B接收到数据之后把加密信息和签名分开,用B的私钥对加密信息解密,提取出里面的签名,对比没加密的签名和解密后的签名是否相同,相同,则没有被篡改。
说的有点冗余,但是应该不晦涩。
RAS原理
这个博文https://www.jianshu.com/p/05d345520f0e讲的挺透彻的。我就不赘述了(最主要是不想了解这么深哈哈哈)。