哈希算法
MD5是一种被广泛使用的哈希函数。它已被用于各种安全应用程序,也通常用于检查文件的完整性
SHA哈希函数由美国国家安全局(NSA)设计。SHA-1是现有SHA散列函数中最成熟的,它被用于各种安全应用程序和协议中。不过,随着新的攻击被发现或改进,SHA-1的抗碰撞能力一直在减弱。
2004年2月,发布了一次FIPS PUB 180-2的变更通知,加入了一个额外的变种SHA-224,这是为了符合双金钥3DES所需的金钥长度而定义
SHA-256是SHA-2集合中的四个变体之一。它没有SHA-1那么广泛使用,尽管它似乎提供了更好的安全性。
SHA家族的五个算法,分别是SHA-1、SHA-224、SHA-256、SHA-384,和SHA-512,由美国国家安全局(NSA)所设计,并由美国国家标准与技术研究院(NIST)发布;是美国的政府标准。后四者有时并称为SHA-2。
SHA-512基本上与SHA-256相同,但操作64位字而不是32位字。
SHA-3是一项为期五年的竞赛的获胜者,该竞赛旨在选择一种新的加密哈希算法,对64种竞争设计进行了评估。
RIPEMD-160是一个修改版本的MD4算法,能够生成20字节的摘要值,安全性基本等同于SHA-1(注意,SHA-1标准没有说K值是怎么确定的,这一点非常可疑)。RIPEMD-160可视为左右两个MD4并行计算,如果使用两个线程,性能不会有很大区别。
密钥哈希消息验证码(HMAC)是一种使用加密哈希函数进行消息验证的机制。HMAC可以与任何迭代加密哈希函数结合使用。
密钥哈希消息验证码(HMAC)是一种使用加密哈希函数进行消息验证的机制。HMAC可以与任何迭代加密哈希函数结合使用。
密钥哈希消息验证码(HMAC)是一种使用加密哈希函数进行消息验证的机制。HMAC可以与任何迭代加密哈希函数结合使用。
密钥哈希消息验证码(HMAC)是一种使用加密哈希函数进行消息验证的机制。HMAC可以与任何迭代加密哈希函数结合使用。
密钥哈希消息验证码(HMAC)是一种使用加密哈希函数进行消息验证的机制。HMAC可以与任何迭代加密哈希函数结合使用。
密钥哈希消息验证码(HMAC)是一种使用加密哈希函数进行消息验证的机制。HMAC可以与任何迭代加密哈希函数结合使用。
密钥哈希消息验证码(HMAC)是一种使用加密哈希函数进行消息验证的机制。HMAC可以与任何迭代加密哈希函数结合使用。
PBKDF2是一个基于密码的密钥派生功能。在许多密码学应用中,用户的安全性最终取决于密码,由于密码通常不能直接用作加密密钥,因此需要进行一些处理。salt为任何给定的密码提供了大量密钥,迭代计数增加了从密码生成密钥的成本,从而也增加了攻击的难度。
加密解密
高级加密标准(AES)是美国联邦信息处理标准(FIPS)。它是在对15个竞争设计进行了为期5年的评估后被选中的。
DES是以前占主导地位的加密算法,并作为官方的联邦信息处理标准(FIPS)发布。由于密钥大小小,DES现在被认为是不安全的。
Triple DES对每个块应用三次DES以增加密钥大小。这种形式的算法被认为是安全的。
Rabbit是一种高性能的流密码,也是eSTREAM组合的决赛选手。这是经过3年半的过程,22个设计评估后选出的四个设计之一。
RC4是一种广泛使用的流密码。它用于流行的协议,如SSL和WEP。尽管该算法以其简单和速度而闻名,但它的历史并没有让人对其安全性产生信心。
发现密钥流的前几个字节是强非随机的,并且泄露了密钥的信息。我们可以通过丢弃密钥流的初始部分来防御这种攻击。这种改进的算法传统上称为RC4-drop。
编码解码
区块链