加密
加密
1. 对称加密
对称加密采用单钥密码的加密方法,同一个密钥可以同时用来加密和解密,这种加密方法被称为对称加密,也称为单密钥加密
常用的单项加密算法:
- DES(Data Encryption Standard):数据加密标准,速度快,适用于大量数据的场合
- 3DES(Triple DES):是基于 DES,对一块数据用三个不同的密钥进行三次加密,强度更高
- AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高
- Blowfish
算法特征:
- 加密方和解密方使用同一个密钥
- 加密解密的速度比较快,适合数据比较长时的使用
- 密钥传输的过程不安全,容易被破解,密钥管理也比较麻烦
- 支持 128 192 256 512 位密钥的加密
加密工具:
- openssl:它使用了 libcrypto 加密库、libssl 库,即 TLS/SSL 协议的实现库等,TLS/SSL 是基于会话的,实现了身份认证,数据机密性和会话完整性的 TLS/SSL 库
- gpg
2. 单向散列加密
单向加密又称为不可逆加密算法,其密钥是由加密散列函数生成的,单向散列函数一般用于产生消息摘要,密钥加密等
常见的单向散列加密:
- MD5(Message Digest Algorithm 5):是 RSA 数据安全公司开发的一种单向散列算法,非可逆的,相同的明文产生相同的密文
- SHA(Secure Hash Algorithm):可以对任意长度的数据运算生成一个 160 位的数值,其变种由 SHA192 SHA256 SHA384等
- CRC-32:主要用于提供校验功能
算法特征:
- 输入一致,输出必然相同
- 雪崩效应:输入微小的改变,将会引起输出巨大的变化
- 定长输出:无论原始数据多大,结果都是相同长度
- 不可逆:无法根据特征码还原原来的数据
加密工具:
- md5sum
- sha1sum
- openssl dgst
3. 非对称加密
非对称密钥加密也称为公钥加密,由一对公钥和私钥组成,公钥是从私钥取出来的,可以用公钥加密,在用私钥解密,这种情形一般用于公钥加密,也可以用私钥加密,用公钥解密,常用于数字签名,因此,非对称加密的主要功能就是加密和数字签名
常用非对称加密算法:
- RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的
- DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准)
- ECC(Elliptic Curves Cryptography):椭圆曲线密码编码学
- ECC 和 RSA 相比,在许多方面都有对绝对的优势,主要体现在以下方面:
- 抗攻击性强:相同的密钥长度,其抗攻击性要强很多倍
- 计算量小,处理速度快:ECC 总的速度比 RSA、DSA 要快得多
- 存储空间占用小:ECC 的密钥尺寸和系统参数与 RSA、DSA 相比要小得多,意味着它所占的存贮空间要小得多
- 带宽要求低:当对长消息进行加解密时,三类密码系统有相同的带宽要求,但应用于短消息时 ECC 带宽要求却低得多
算法特征:
- 密钥对:公钥(publuc key)私钥(secret key)
- 主要功能:加密和签名
- 发送方用对方的公钥加密,可以保证数据的机密性(公钥加密)
- 发送方用自己的私钥加密,可以实现身份验证(数字签名)
- 公钥传输的过程不安全,容易被窃取和替换
- 由于公钥使用的密钥长度非常长,所以公钥加密速度非常慢,一般不使用其去加密
加密工具:
- gpg
- openssl
希望这篇文章能对你有帮助哦~