密码学路线
学习路线
0.基础中的基础
- 简单的python编程
- markdown语法和markdown文本编辑器(比较常用的是Typora)
- Anaconda的安装和配置环境,prompt命令行模式的简单运用
- 常见相关的python扩展包的运用
- 如果不太会,可以去CSDN、博客园这些网站找找解决方法
- 如果实在弄不了,可以想办法找相应的工具
注:这些不用在最前面就学完,可以碰到了再去找响应的资料学习
1.编码
ASCII编码、Unicode与UTF-8、base编码(常用:base16、base32、base64;比较奇怪冷门的:base36、base58、base91,这几个不需要详细看,知道有就可以)、url编码、莫尔斯电码、UUencode、XXencode、进制转换和二进制数……(还有一些其它的,就不列出来了,加粗的是比较重要的,剩下的可以遇到了再说)
2.古典密码学
置换密码 ——> 代换密码 ——>转轮密码——>古典密码的分析
常见的古典密码:
- 凯撒加密与凯撒变种
- 栅栏密码与W型变种
- ROT 5/13/18/47
- 维吉尼亚密码密码
- Playfair(简单的分组密码)
古典密码分析
- 单表密码统计分析
- 多表密码统计分析:Kasiski测试法(Kasiski攻击)
- 多表密码统计分析:Friedman实验(Friedman攻击、Index of Coincidence-重合指数法)
3.分组密码(对称加密)
- DES
- AES
- 差分密码分析
- 线性密码分析
4.公钥加密系统(非对称加密)(数论与离散数学基础)
- RSA
- 离散对数加密
注:以上学习路线的顺序并非绝对,不过最好还是先看编码和古典密码,3、4可以看兴趣选择学的顺序(暂时你们应该也学不到这,要看的东西还是挺多的)
推荐书籍
-
《密码学——基础理论与应用》
李子辰 编著
中国工信出版集团、电子工业出版社
国家十三五规划教材
优点:比较齐全,覆盖面很广,表述非常严谨
缺点:整篇的公式和数学表达,图标少,基础知识也不是很多,不利于入门,有想要挑战的同学可以试一试
-
《密码学与编码理论》
【美】Wade Trappe、Lawrence C. Washington
王全龙、王鹏、林昌露译
人民邮电出版社
图灵计算机科学丛书
优点:基础知识多,介绍比较简单,注重引导
缺点:似乎师大的图书馆里是没有这本书的
-
《现代密码学及其应用》
【美】理查德 E. 布拉胡特(Richard E. Blahut) 伊利诺伊大学香槟分校
黄玉划 薛明富 许娟 译 南京航空航天大学
机械工业出版社
计算机科学丛书
优点:基础知识很全,覆盖面也很广
缺点:公式数字比重多于图像,不形象,不过图书馆是有这本书的
-
《计算机安全与密码学》
【美】Alan G. Konheim 著
唐明、王后珍、韩海清、李春雷、童言、杨启 译
张焕国 审校
电子工业出版社
优点:大佬写的,跟Feistel网络的发明者Feistel、Coppersmith定理的提出者Don Coppersmith等人共事过,在密码学写作和教育上好像很厉害
缺点:公式多,不知道适不适合入门(我没有仔细看过),很多地方会讲的比较深,可能用不到(短时间内)
注:《密码学基础》 【以色列】Oded Goldreich 著 这本书强烈不推荐,虽然它叫基础,但是它更像是进阶的书籍,里面基本上全都是密码学用到的纯数学,有想要挑战极限的同学可以试一试~
注2:这些书大部分是我看过或者我借过的书,图书馆也有其它的密码学书籍可以借,有兴趣大家可以酌情借阅不过最好不要借太老的书,太老的书很多会更注重数学基础,抠细节。
题目网站
根据自己的情况去刷题,实在不会的就找找别人的做题记录
提取码:abcd