首页 > 代码库 > 常见的加密类型及其算法
常见的加密类型及其算法
加密类型 | 使用算法 | 基本特性 |
对称加密 | DES(数据加密标准,56位密钥)、 AES(高级加密标准,128位密钥)、 3DES、Blowfish、Twofish、CAST5、IDEA、RC6 | 加密、解密使用同一个密钥 通常用来加密数据,加解密速度快 密钥过多,管理密钥困难 密钥交换困难 |
加密:# openssl enc -e -des3 -a -salt -in fstab -out fstab.ciphertext 常用选项:
解密:# openssl enc -d -des3 -a -salt -in fstab.ciphertext -out fstab.plaintext 常用选项:
| ||
公钥加密 (非对称加密) | RSA(既能用于加密,又能用于数字签名)、 DSA(只能用于数字签名,不能用于数据加密)、 DH(一般用于密钥交换) | 密钥成对出现 公钥:public key,可公开给所有人 私钥:private key,保证其私密性 使用公钥加密的数据,只能使用与之配对的私钥解密 使用私钥加密的数据,只能使用与之配对的公钥解密 通常用来身份认证(数字签名),很少用来加密数据 身份认证:发送方使用自己的私钥加密数据,接收方使用发送方的公钥解密数据,如果解密成功,就能证明发送方的身份 数据保密性:发送方使用接收方的公钥加密数据,接收方使用自己的私钥解密数据,此方法能保证数据的保密性 |
# openssl genrsa -out ca.key 2048 # openssl req -new -key ca.key -out ca.csr # openssl x509 -req -days 3650 -in ca.csr-signkey ca.key -out ca.crt | ||
单向加密 | MD5:消息摘要算法第五版,128位 SHA:安全哈希算法,包括如下5种算法
CRC-32:提取数据特征码 CBC-MAC、HMAC:消息认证算法 | 只能加密,不能解密,整个过程不可逆 通常用来提取数据特征码(数据指纹),验证数据的完整性 定长输出:无任输入数据多长,只要使用同一种单向加密算法,输出结果的长度都相同 雪崩效应:输入数据的微小改变,会导致结果的巨大变化 使用不同加密工具单向加密同一文件,只要加密算法一样,输出的消息摘要信息都一样 |
# openssl dgst -md5 | -sha1 fstab [-out FILENAME] # md5sum | sha1sum | sha224sum | sha256sum | sha384sum | sha512sum fstab |
本文出自 “天道酬勤” 博客,请务必保留此出处http://qiuyue.blog.51cto.com/1246073/1955775
常见的加密类型及其算法