为什么不可能手动测试AES算法?

时间:2013-07-11 03:54:30

标签: algorithm encryption aes

我有这位老师要求学习AES加密算法,C代码实现并对其进行基准测试。

所以,我甚至没有尝试计算它需要的步骤的数量,而是我想有这些理性的理由为什么人类可以' 可能不会为此而努力。

2 个答案:

答案 0 :(得分:2)

在加密算法中存在足够的误解和模糊性的范围,通过算法规范发布示例输入和输出(测试向量)是标准做法,因此您不必手动处理算法。在http://csrc.nist.gov/groups/STM/cavp/的规范中似乎有测试向量。事实上,fips-197.pdf的附录B似乎显示了状态表在单次加密过程中如何演变。

当然,对于像AES这样的系统来说,测试每个可能的输入和密钥是不切实际的,你总是可以争辩说,虽然测试可以发现错误但它永远无法证明没有错误。

答案 1 :(得分:0)

计算机可以做的任何事情 - 你也可以这样做......他们不会使用魔法进行计算。

要测试你的算法,你应该加密一个小文本而不是解密并看到你得到相同的结果(它将证明算法有效,它不会证明它是AES ......)