对称加密与非对称加密小记

2019-10-28 Views other

最近项目中需要使用加密传输用户IMEI信息。因此对于加密解密做一次整理小结

加密方式可以分为对称加密、非对称加密

对称加密

对称加密:指的就是加、解密使用的同是一串密钥,所以被称做对称加密。对称加密只有一个密钥作为私钥。 常见的对称加密算法:DES,AES等。

优点:对称加密相比非对称加密算法来说,加解密的效率要高得多、加密速度快。

缺点:对于密钥的管理和分发上比较困难,不是非常安全,密钥管理负担很重。

非对称加密

非对称加密:指的是加、解密使用不同的密钥,一把作为公开的公钥,另一把作为私钥。公钥加密的信息,只有私钥才能解密。反之,私钥加密的信息,只有公钥才能解密。

举个例子,你向某公司服务器请求公钥,服务器将公钥发给你,你使用公钥对消息加密,那么只有私钥的持有人才能对你的消息解密。与对称加密不同的是,公司服务器不需要将私钥通过网络发送出去,因此安全性大大提高。

最常用的非对称加密算法:RSA

优点:安全性更高,公钥是公开的,密钥是自己保存的,不需要将私钥给别人。

缺点:加密和解密花费时间长、速度慢,只适合对少量数据进行加密。

总结一下吧:安全肯定是非对称加密安全,但是效率比较慢,对称加密效率高,但是不安全。严谨一点的做法是混合起来使用,将对称加密的密钥使用非对称加密的公钥进行加密,然后发送出去,接收方使用私钥进行解密得到对称加密的密钥,然后双方可以使用对称加密来进行沟通。实际工作中直接使用非对称加、解密其实也可以,因为我们平时一般请求的报文不会很大,加解密起来速度在可接受范围内,或者可以对敏感字段,比如密码、手机号、身份证号等进行分段加密,效率还可以。


接收方创建RSA秘钥对,

发送RSA公钥给发送方,自己保留RSA私钥

发送方创建AES密钥,加密待传送的明文,之后用RSA公钥加密该密钥,

RSA公钥加密AES的密钥+AES密钥加密明文的密文----通过Internet发给---->接收方

接收方用RSA私钥解密加密的密钥,之后再用解密后的AES密钥解密数据密文,得到明文。

赏 支付宝扫码打赏 微信打赏

△