验证SHA-1算法(函数)

时间:2014-04-04 21:06:29

标签: c algorithm sha1 verification medical

我已经从网上下载了Paul E. Jones的SHA-1功能。

此代码作为SOUP(未知原产软件)进入医疗设备,需要进行验证。

是否有官方网站可用于验证SHA-1算法的C实现?

以下是SHA-1实施的链接:SHA-1 Implementation in C

当我搜索网页时,我得到的只是下载算法的网站列表,或解释算法的工作原理。

2 个答案:

答案 0 :(得分:1)

感谢Nickolay Olshevsky的测试向量指导和Daniel Kamil Kozar的链接。

验证算法的方法是将其提供给已知的测试向量,并将摘要与NIST库中的已知摘要进行比较:NIST Library

测试的最佳过程是在运行代码的平台上发送算法。接下来最好是开发一个使用源代码文件的C程序(无需修改)。

答案 1 :(得分:0)

如果你想要一些“官方”的东西,那么在美国(和我认为加拿大),这是一个FIPS 140-2算法(如SHA-1),那么我想到的是{{3 }}。您可以通过查看NIST Cryptographic Module Validation Program (CMVP)来了解已验证的内容。

CMVP验证的先决条件是list of Validated FIPS 140-1 and FIPS 140-2 Cryptographic Modules。该一致性测试将使用Cryptographic Algorithm Validation Program (CAVP)验证您的实现是否符合FIPS 180-4对SHA-1的定义。所有测试均由The Secure Hash Algorithm Validation System (SHAVS)完成。

准备打破你的支票簿 - 官方验证测试不是免费的,虽然听起来你没有看过完整的CMVP验证,所以它可能不那么昂贵,特别是对于只有SHA-1。

P.S。您是否有任何特殊原因没有开始使用SHA-2系列功能(SHA-224,SHA-256,SHA-384或SHA-512)?请参阅testing laboratory - SHA-1目前几乎在所有用途中都被弃用或禁用,如果您在美国,并且您正在从事医疗工作,那么您很可能受到HIPAA和HITECH的约束 - 使用对于新开发而言,淡入淡出的哈希标准似乎毫无意义 - 如果现在使用SHA-1,或者将来成为SHA-1,则不希望必须再次通过验证过程,不管您使用它的目的是什么。