数据加密标准测试向量

时间:2014-01-24 20:22:26

标签: vhdl des

有谁知道在哪里可以找到64位DES算法的每个组件的测试向量(Key schedul,密码函数等)?例如,我想测试64位密钥生成并生成所有16个密钥生成。我在VHDL中实现算法,所以我需要检查组件。我的实施基于此paper

由于

2 个答案:

答案 0 :(得分:5)

最初有NBS特刊500-20,修订于1980年,验证了NBS数据加密标准的硬件实现的正确性(作者已在https://archive.org/details/validatingcorrec00gait提供)。

然后是NIST Special PUB 800-17,操作模式验证系统(MOVS): 要求和程序,涵盖FIPS PUB 46-2(DES)以及Skipjack。 http://csrc.nist.gov/publications/nistpubs/800-17/800-17.pdf

还有NIST Special PUB 800-20,三重数据加密算法(TMOVS)的操作模式验证系统:要求和程序。 http://csrc.nist.gov/publications/nistpubs/800-20/800-20.pdf

可能还有其他出版物,如NIST特刊800-67,关于三重数据加密算法(TDEA)分组密码的建议,http://csrc.nist.gov/publications/nistpubs/800-67-Rev1/SP-800-67-Rev1.pdf,可在http://csrc.nist.gov/publications/PubsSPs.html找到。

在软件中多次实施DES,在VHDL中多次实施DES,理解DES标准最初描述的是与IBM在1977年获得专利的硬件实现的一致性。(参见vhdl_des.tar.gz,这很简单使用8位接口实现。有一个pdf文件,而不是包含I / O排列的描述。)

为了节省您的输入,可以在此处找到FIPS SP PUB 500-20的测试向量des.test。其中一个密钥可能存在奇偶校验错误,我永远无法跟踪这些文件中的哪个(des -tv< des.test,软件实现)。有人费力地用C语言中的Numerical Recipes手工输入它们,有人从500-20获得它们。

答案 1 :(得分:0)

https://styere.000webhostapp.com/JS-DES.html(新链接)

输入密钥和数据,它会为密钥计划的每一步以及每轮中的每一步生成所有中间值。