1.简单来说,两种都是加密算法,不同的是AES是对称加密算法,RSA是非对称算法。
先简单说下概念
对称加密算法:简单来说,使用一个密钥可以加密,也可以解密,所以这样对称被成对称加密。
非对称加密算法:加密之后不可逆,使用配对的公钥,私钥,使用了公钥加密之后,只能私钥才能解密。
RSA最基本的原理:也就是几个数学函数,通俗一点,就是正向axb=y 很好计算y的值,但是通过y的值很难计算出是a、b。比如:666666X7777777=5185179481482正向很好计算结果5185179481482,反向5185179481482很难计算出66666 7777777。这是基本原理。
2.场景再说RSA:
比如A,B两人进行网络业务来往,A通过RSA工具生成A的公钥与私钥,B生成了B的公钥与私钥,公钥无所谓,可以公开。A B为了信息传输安全。
于是A与B互换了公钥,此时A手里是A的私钥,B的公钥;B的手里是B的私钥,A的公钥。
场景1(消息传输):A,B开始信息传输:A-->B ,表示A传输信息给B,于是A写了一段话(明文),使用了B的公钥加密(此时的信息丢失无所谓,别人拿去也解密不了,因为没有B的私钥),然后传输给B,B使用了B的私钥解密了,看见了明文,使信息得到了安全,反之同理。
场景2(数字签名):A-->B。收到消息的B要确认是否是A传输给他的消息,A签名之后传可以使用A的私钥加密之后再发给B,B使用A的公钥解密(这里解密之后并不是能看到A的私钥,只是一段摘要,hash值),结果可以验证是否是A,因为A的私钥唯一。
总结:消息传输:公钥加密,私钥解密;数字签名:私钥加密,公钥解密。
Rsa + Aes 加解密合作流程:
接收方创建RSA秘钥对,
发送RSA公钥给发送方,自己保留RSA私钥
发送方创建AES密钥,加密待传送的明文,之后用RSA公钥加密该密钥,
RSA公钥加密AES的密钥+AES密钥加密明文的密文----通过Internet发给---->接收方
接收方用RSA私钥解密加密的密钥,之后再用解密后的AES密钥解密数据密文,得到明文