密码学专业有前途吗?
1. 学密码学要不要数学好? 题主既然已经决定要学密码学了,想必对密码学的了解也是初步的。在计算机科学范畴里(或者说一般理工科里面),很多学科都是需要非常浓厚的数学基础的。如果楼主将来想学密码学,那建议你在数学方面打下良好的基础——虽然看起来像废话哈哈。毕竟如果没有好的数学基础,想学好密码学几乎是件不可能的事。
首先,你需要打好数理基础,熟悉代数、拓扑、数论等基本的理论知识; 第二,如果你有志于搞安全性相关的研究,那么你需要学习分析学的基础知识,比如随机过程、随机数生成与评估、统计分析等等,为以后深入研究密码算法提供理论基础。 第三,如果你对密码学本身感兴趣,可以了解一下编码理论或信息论的基础知识。这些基础知识会在你以后的学习中助你一臂之力! 如果楼主是刚上大一的学生,那么建议你先修完以上三门课程,为今后打基础。如果楼主已大三,则需更扎实地打好以上三个专题的数理基础! 另外推荐几本不错的教材/参考书: 《密码学》(第二版),本书作者肖建伟老师是国内首屈一指的密码学教师,这本书深入浅出,结合实例讲解密码学相关理论和算法,适合于各层次的学生阅读和学习。 《现代密码学》(原书第2版),这本是美国CMU的本科密码学教材,由该专业的知名教授编写,内容翔实,深入浅出,配套习题丰富且具有代表性,能够很好地训练学生的思维。 有时间还可以看看中科院软件所杜春芳研究员等的著作,《计算复杂性——算法分析与设计》和《密码学:经典讲义》。前者深入浅出地介绍了复杂性理论的相关知识和复杂度分析的方法,后者详细阐述了现代密码学的基本概念和方法,两本都是极好的读物!
2. 学密码学要不要计算机好? 如果说学密码学需要很好的数学基础,那么计算机方面的知识对于学密码学的人来说反而是不那么重要的。很多密码学的内容并不需要深入的了解计算机系统结构、编程语言等相关知识就能很好理解。当然,如果能掌握一些基本的数据结构和算法,对于后续的学习是很有帮助的。
3. 学密码学将来能不能找到工作? 在IT行业,有很多职位都和密码学密切相关。举个例子来说,现在市面上很热门的云计算,如果深入了解其架构,就会发现其中的安全相关职位(如安全架构师)对于密码学相关的人才需求是非常大的。其他类似于大数据、人工智能等热门领域,同样存在大量需要密码学人才的岗位。因此不用担心学会了密码学找不到好工作!