php rsa aes混合加密,手动演示RSA和AES混合加密过程

本文详细介绍了如何手动使用RSA和AES进行混合加密。首先,B生成公钥私钥并传递公钥给A,接着A生成对称密码并用AES加密文件,再用B的公钥加密对称密码。然后,A将加密后的文件和数字信封发送给B。最后,B使用私钥解密对称密码,用其解密文件。整个过程展示了RSA在密钥交换中的应用。
摘要由CSDN通过智能技术生成

RSA属于非对称加密算法,它虽然解决了“在不安全的信道上安全地传递密钥”这一问题,但缺点在于运算量太大,造成加/解速度太慢,所以在具体的工程应用上是混合使用了对称和和非对称加密算法,比如SSL/TLS协议是混合使用了RSA和AES算法。具体的过程是,用RSA算法加密对称密码再传递给对方,然后双方使用对称加密算法通信;另外,RSA还起到CA认证的作用(其实就是验证由CA的私钥签名的,对方的公钥)。

由此可见,RSA的作用已经由“加密数据”减弱为“验证CA证书”和“共享对称密钥”,如果第二个作用由DH算法代替,那么,RSA就仅用于验证CA证书了。

为了理解用RSA共享对称密钥的过程,本文用手动的方法来逐步实现。

A用户要把数据加密传输给B用户,步骤如下:

1、B生成公钥/私钥对,并把其中的公钥导出,通过公开信道传递给A;

2、A生成对称密码;

3、A用对称加密算法对文件进行AES加密;

4、A用B的公钥加密对称密码(形成数字信封);

5、A将数字信封和密文通过网络等渠道传送B;

6、B用自己的私钥解密对称密码;

7、B用解密后的对称密码解密密文;

具体的操作步骤:

1、B生成RSA密钥对文件key.pri,然后从中提取公钥key.pub并通过公开信道传递给A:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值