代码签名证书中的哈希和签名算法介绍
代码签名证书是什么及其作用大家多多少少应该都有所了解,而且网上也有很多文章介绍,包括本站也有。本文来说说大家不常见的,关于代码签名证书中的哈希和签名算法。
1、CBC) MAC (密码块链
Microsoft 提供程序 (CALG_MAC) 实现的算法之一是块密码Message身份验证代码 (MAC) 。此方法使用块密码加密基数据,然后使用最后一个加密块作为哈希值。用于生成 MAC 的加密算法是创建会话密钥时指定的加密算法。
2、HMAC
由Microsoft提供程序实现的算法 (CALG_HMAC) 。此算法还使用对称密钥来创建哈希,但比简单的 密码块链 (CBC) MAC算法复杂得多。它可以与任何迭代加密哈希算法(如 MD5 或 SHA-1)一起使用。
3、MD2、MD4和MD5
这些哈希算法都是由RSA Data Security, Inc开发的,这些算法按顺序开发。 这三个都生成128位哈希值。已知这三者都有弱点,仅在需要时才应用于兼容性目的。
4、消息身份验证代码 (MAC)
MAC算法类似于哈希算法,但使用对称 (会话) 密钥进行计算。 需要原始会话密钥才能重新计算哈希值。重新计算的哈希值用于验证基本数据是否已更改, 这些算法有时称为键式哈希算法。
5、安全哈希算法 (SHA-1)
此哈希算法由 国家标准与技术研究所 (NIST) 和国家安全局 (国家安全局) 开发。 此算法是为 DSA (数字签名算法) 或 DSS (数字签名标准) 而开发的。此算法生成 160 位哈希值。 SHA-1 已知存在弱点,仅当需要用于兼容性目的时才应使用。
6、安全哈希算法-2 (SHA-2)
此哈希算法是由国家标准技术研究所 (NIST) 和国家安全局 (国家安全局) 开发的SHA-1的继任者。它有四个变体(SHA-224、SHA-256、SHA-384 和 SHA-512),根据输出中的位数进行命名。 其中,SHA-256、SHA-384 和 SHA-512 在 Microsoft AES 加密提供程序中实现。