我有这位老师要求学习AES加密算法,C代码实现并对其进行基准测试。
所以,我甚至没有尝试计算它需要的步骤的数量,而是我想有这些理性的理由为什么人类可以' 或可能不会为此而努力。
答案 0 :(得分:2)
在加密算法中存在足够的误解和模糊性的范围,通过算法规范发布示例输入和输出(测试向量)是标准做法,因此您不必手动处理算法。在http://csrc.nist.gov/groups/STM/cavp/的规范中似乎有测试向量。事实上,fips-197.pdf的附录B似乎显示了状态表在单次加密过程中如何演变。
当然,对于像AES这样的系统来说,测试每个可能的输入和密钥是不切实际的,你总是可以争辩说,虽然测试可以发现错误但它永远无法证明没有错误。
答案 1 :(得分:0)
计算机可以做的任何事情 - 你也可以这样做......他们不会使用魔法进行计算。
要测试你的算法,你应该加密一个小文本而不是解密并看到你得到相同的结果(它将证明算法有效,它不会证明它是AES ......)