algorithm - 为什么无法手动测试 AES 算法?

标签 algorithm encryption aes

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

所以,我什至没有尝试计算它需要的步数,而是我想知道为什么人类可以的这些合理原因t or might not go for it.

最佳答案

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

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

关于algorithm - 为什么无法手动测试 AES 算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17584770/

相关文章:

php - 在 php 和 vb.net 中加密和解密 AES 256

javascript - 计算给定四次(四阶,非二次)贝塞尔曲线上的一个点

c# - 自动在表单上安排无限数量的按钮

java - 非法 block 大小异常 : Input length must be multiple of 8 when decrypting with padded cipher

c++ - linux aes256 带 cbc 加密/解密库

Java AES 加解密

关于测试用例失败的 Java 实践作业混淆

algorithm - (纯)函数式编程是否与 "algorithm classics"对抗?

c# - 从图像的加密数据字节中获取失真/加密图像

javascript - 为什么我在nodejs native 密码中总是得到错误的des-ecb结果?