-
-
[原创]AES算法之理论与编程结合篇
-
2014-5-30 10:52
8381
-
AES是现在使用最多的对称密钥分组密码算法,在逆向的过程中经常碰到,这几天处于离职期,有点时间,于是乎想细细的来研究一下它的原理,也算是离职的一个纪念吧。
网上的文章都是理论加概况性的,不好理解。
这篇文章就带领大家在理论的指导下,结合编程来理解AES算法。由于在密码学中,我也处于会使用接口型的,就没有自己写代码了,那就选择站在巨人的肩膀上了,哈哈。代码借用了Tu Yongce的AES0.2版的代码,并在文章中多次贴出了部分代码用来理解相关的理论。代码涉及两个工程:工程AesArrays用来产生最终的AES算法所需要的各种变换数组,也实现了算法的标准流程中的各阶段算法;工程AesCipher实现最终的AES算法,它使用了AesArays中生成的数组数据。对于想彻底搞清楚AES算法是很不错的资料,在此表示感谢!
学习AES算法,逆向分析也是有用的,如果使用一些算法识别插件,就算识别出来了是AES,你还是会觉得很茫然,心中不会有一种很爽朗的感觉,因为你不理解这个算法。
这也是我想深入学习AES算法的原因。
文章中有错误的地方恳请大家批准指出,我会进行相应的完善,谢谢~
文章中使用的示例代码链接:http://bbs.chinaunix.net/thread-971809-1-1.html
附件中也包含了源码
阿里云助力开发者!2核2G 3M带宽不限流量!6.18限时价,开
发者可享99元/年,续费同价!