能力值:
(RANK:760 )
|
-
-
2 楼
首先高等数学是基础,再深一点没有点微积分的知识是无法深入下去的。
线性代数目前用的相当多,如矩阵运算,AES,Twofish中就用到了GF域上的。
离散数学就更多了,群,环,域的概念在现代密码学的重要性无可厚非,如ECC,GF都要用到这些知识。
对于你说的数值计算方法,由于本人学的是英文版,所以对看算法的原作者的设计思想及分析文章时极有好处;另外,比如数值分析(计算方法)中讲到的Fixed-Point iteration(不动点)在AES的s-box的设计时就用到了。
至于你说的数据结构,编译原理等这主要用于算法的最后程序实现上,为了提高速度及适应性,必须优化代码及算法,这不用到数据结构和编译原理了吗?:P
还有一个就是数论,如果一个没有基本的数论常识的人去看密码学的基本数学理论(尤其是Public Key Cryptography),可以想像将是怎样的一种情况,摸不着头脑就再正常不过了。
最后,要看你想做什么,如果仅仅是应用,只要搞懂整个算法的设计流程及思路,你能够拿来用,甚至只参考作者的一篇文章就可以实现这个算法,这就差不多了;如果你想搞密码学分析及密码学算法设计,那么研究其数学理论是不可避免的了,而且如果没有深厚的功底,那么是不会有什么成就的。
|
|
|