- 加密算法通常分为对称性加密算法和非对称性加密算法
对称性加密算法
- 信息接收双方都需事先知道密匙和加解密算法且其密匙是相同的
- AES(高级加密标准) :基于排列和置换运算。排列是对数据重新进行安排,置换是将一个数据单元替换为另一个。AES 使用几种不同的方法来执行排列和置换运算。下一代的加密算法标准,速度快,安全级别高;
- DES(数据加密标准) : 分组数据加密技术(先将数据分成固定长度的小数据块,之后进行加密),速度较快,适用于大量数据加密
- 3DES: 基于DES的加密算法,使用3个不同密匙对同一个分组数据块进行3次加密,如此使密文强度更高
非对称性加密算法
- 发送双方A,B事先均生成一堆密匙,然后A将自己的公有密匙发送给B,B将自己的公有密匙发送给A,如果A要给B发送消息,则先需要用B的公有密匙进行消息加密,然后发送给B端,此时B端再用自己的私有密匙进行消息解密,B向A发送消息时为同样的道理
- RSA(公钥数据加密标准)
- DSA(基于整数有限域离散对数难题):标准的 DSS(数字签名标准)
- ECC(椭圆曲线密码编码学)
公钥私钥和数字签名
- 公钥与私钥的作用:用公钥加密的内容只能用私钥解密,用私钥加密的内容只能 用公钥解密。
- 私钥签名,公钥验证
线性散列算法(签名算法)
-
只生成一串不可逆的密文,经常用其效验数据传输过程中是否经过修改,因为相同的生成算法对于同一明文只会生成唯一的密文,若相同算法生成的密文不同,则证明传输数据进行过了修改
-
使用MD5和SHA1算法均需要发送和接收数据双方在数据传送之前就知道密匙生成算法,而HMAC与之不同的是需要生成一个密匙,发送方用此密匙对数据进行摘要处理(生成密文),接收方再利用此密匙对接收到的数据进行摘要处理,再判断生成的密文是否相同。
-
MD5,SHA1,HMAC
算法工具