怎样学习密码学?

如题所述

我现在硕博连读的方向就是密码学,想想都是泪啊。精通密码学是不可能,因为是学不完的。密码学总体上可以分为密码编码学和密码分析学(也就是破解)。这两门需要的基础都一样,主要是数论和近世代数。但我不建议题主一开始就学这两门课。题主可以先弄本,密码学的书,搞懂里面各种算法。接下来就可以边看算法边看数论近世代数,这是探讨它们的数学原理。然后是学一门编程语言,尝试实现每一种算法,以及更有效率的实现方法。实际上就是密码学的理论方向和工程方向,理论方向主要就是数学,数论近世代数还有很多世界难题呢,工程方向也要学数学,不过不要以为懂算了你就能写出来,就像你知道S盒的设计是为了扩散和混沌,但是你知道S盒为什么要设计成那几个数据呢,没几个人懂的。密码破解也不是所谓的网上的破解,这里的破解是原理上的破解,主要是数学上的破解,比如王小云教授用比特追踪法破解了SHA,这不是暴力破解能做到的。所以学密码学最重要的坚持和兴趣,而且密码学有可能你研究一辈子也破解不了一个算法,所以你做好准备了么?如果是高中基础,先学高数、概率论数理统计、离散数学(最好啃掉形式语言与自动机和计算复杂性理论,否则后面肯定得补),最好会写点代码(Matlab也行,SAGE也行),然后啃密码学入门书籍,到能看懂会议文章的程度怎么地也得2年(每天6-8小时学习)。能做出点自己的东西,呃,通常得积累到等同于信息安全相关专业的硕士毕业的程度,时间因个人才能而定。从工科大三的基础开始算的话,半年啃完Introduction to Cryptography, 再花半年到一年啃完诸如Zero-Knowledge-Proof, BR-Model,IBE的东西的话,就能看懂不少新的成果和经典的文章了。接下来得接触Cryptanalysis的东西,这时候,就必须补初等数论(包括椭圆曲线)、群论,否则针对加密算法的数学攻击那看得是一头雾水。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-12-24

《应用密码学》是电子工业出版社2011年出版的图书。该书可作为高等院校密码学、应用数学、信息安全、通信工程、计算机、信息管理、电子商务、物联网、网络化测控等专业高年级本科生和研究生教材,也可供从事网络和通信信息安全相关领域应用和设计开发的研究人员、工程技术人员参考。尤其适合对学习密码学感到困难的初学者。本书介绍了应用密码学的基本概念、基本理论和典型实用技术。内容涉及密码学基础、古典密码、密码学数学引论、对称密码体制、非对称密码体制、HASH函数和消息认证、数字签名、密钥管理、流密码以及密码学的新进展;书中还介绍了密码学在数字通信安全、工业网络控制安全、无线传感器网络感知安全、无线射频识别安全以及电子商务支付安全等典型领域的应用方法和技术。突出的特色是将复杂的密码算法原理分析得深入浅出,着重培养现代密码学方面的工程应用技能,便于读者花少量的时间入门并尽快掌握应用密码学的精髓。

本回答被网友采纳
第2个回答  2017-12-24

数学方面:需要有一些基本的数论知识。整除。同余。辗转相除法。质数及其基本性质。
费马小定理。裴蜀定理。中国剩余定理。还有对概率要有个基本概念。哪些是很大可能的。哪些是几乎不可能的。暂时想到这些。当然数学知识肯定是多多益善。计算机方面:需要掌握异或运算及其基本性质。对算法复杂度有个基本概念就行。big O notation什么的稍微理解一下。最好能编写简单程序。不行的话也没关系。当然很重要的一点。你要大概知道当今计算机的能力上限。也就是说哪些是可以很快算出来的。哪些是不现实的。拿分解质因数来说。你要知道什么样的数是当今计算机分解不了的。个人认为就今天的计算机来说 (今天是20151031。)2的40次方次运算是容易 (easy)。2的56次方次运算是可做 (feasible)。2的64次方次运算是勉强能做 (barely feasible)。2的80次方次运算是不能做 (infeasible)。2的128次方次运算是绝逼不能做 (totally infeasible)。

相似回答