常见的加密类型及其算法
2017-08-12 17:09
525 查看
加密类型 | 使用算法 | 基本特性 |
对称加密 | DES(数据加密标准,56位密钥)、AES(高级加密标准,128位密钥)、3DES、Blowfish、Twofish、CAST5、IDEA、RC6 | 加密、解密使用同一个密钥通常用来加密数据,加解密速度快密钥过多,管理密钥困难密钥交换困难 |
加密:# openssl enc -e -des3 -a -salt -in fstab -out fstab.ciphertext常用选项:-e:加密 -des3:加密数据时使用的算法,可用# openssl ? --> Cipher commands子命令中的各种其它算法代替 -a:对加密后的数据进行base64编码,或解密前先对数据进行base64解码 -salt:加盐。加盐后,相同的明文可以得到不同的密文。默认情况下,盐值是随机生成的 -in FILENAME:指定要加密的文件 -out FILENAME:指定加密后生成的文件 解密:# openssl enc -d -des3 -a -salt -in fstab.ciphertext -out fstab.plaintext常用选项:-d:解密 | ||
公钥加密(非对称加密) | 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种算法SHA-1:160位 SHA-2: SHA-224:224位 SHA-256:256位 SHA-384:384位 SHA-512:512位 CRC-32:提取数据特征码CBC-MAC、HMAC:消息认证算法 | 只能加密,不能解密,整个过程不可逆通常用来提取数据特征码(数据指纹),验证数据的完整性定长输出:无任输入数据多长,只要使用同一种单向加密算法,输出结果的长度都相同雪崩效应:输入数据的微小改变,会导致结果的巨大变化使用不同加密工具单向加密同一文件,只要加密算法一样,输出的消息摘要信息都一样 |
# openssl dgst -md5 | -sha1 fstab [-out FILENAME]# md5sum | sha1sum | sha224sum | sha256sum | sha384sum | sha512sum fstab |
相关文章推荐
- linux学习之路之加密类型及其相关算法
- 加密类型及其相关算法
- 加密类型及其相关算法
- 加密类型及其算法
- 大数据量的存储,以及分表常见算法及其带来的问题,和微薄url的加密规则猜想
- 大数据量的存储,以及分表常见算法及其带来的问题,和微薄url的加密规则猜想
- linux学习之路之加密类型及其相关算法
- 18_01_加密类型及其相关算法
- 大数据量的存储,以及分表常见算法及其带来的问题,和微薄url的加密规则猜想
- 加密类型及其相关算法
- 保护PC程序的高速软件加密锁及其自定义算法的实现
- Python常见的错误类型及其继承关系
- ATL中常见数据类型及其相互转换
- JAVA常见算法题(三十四)---计算加密之后的电话号码
- 加密类型以及相关算法
- 保护PC程序的高速软件加密锁及其自定义算法的实现
- java:常见加密解密算法的实现:MD5/SHA/HMAC/DES/PBE/AES/RSA/D-H
- Linux加密类型及相关算法
- 高性能MySql进化论(六):常见索引类型的原理及其特点的介绍
- 常见服务器类型及其简单介绍