0

我有一位老师要求研究 AES 加密算法、C 代码实现并对其进行基准测试。

所以,我什至没有尝试计算它将采取的步骤数,而是我想有这些合理的理由说明人类不能可能不会去做。

4

2 回答 2

2

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

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

于 2013-07-11T05:02:27.503 回答
0

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

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

于 2013-07-11T03:58:19.243 回答