学习区块链开发就绕不开学习密码学技术,对于零基础入门的同学来说,密码学是一个重难点。因此本文将和大家分享零基础密码学入门教程,希望能够减轻大家在学习路上的负担。
1、数学基础
密码学是一个高度跨学科的领域,包含纯数学、计算机科学以及电子工程等多方面的知识。因此数学基础是最重要的,也是最不好修炼的一门内功。
2、代码
算法库:
OpenSSL库:
– OPenSSL代码下载-官网
– OpenSSL在线代码浏览 - sourcecodebrowser.com
ARMmbed/mbedtls
wolfSSL-C/C++
Bouncy Castle库-java
– SM4算法的实现
– 对称算法接口
– SM4算法的测试
– SM2、SM3、SM4算法的实现,提供了调用Bouncy Castle库的例子
The GNU MP Bignum Library
GmSSL-C/C++
GmSSL是一个开源的密码工具箱,支持SM2/SM3/SM4/SM9等国密(国家商用密码)算法、SM2国密数字证书及基于SM2证书的SSL/TLS安全通信协议
– Releases · guanzhi/GmSSL
3、工具
看雪工具汇总-密码学
云算子-矩阵运算工具一览
4、书籍推荐
(1)密码学入门书籍
基础数学知识具备了,这个时候应该对密码学这个专业有一个总体的认识,这里推荐一些不错的资料。
《现代密码学(第4版)》:杨波老师编写的,一本很薄的浓缩讲解基础密码学的书籍。
《Introduction to Modern Cryptography》:Jonathan Katz and Yehuda Lindell 的口碑之作,入门有一定难度,国防工业出版社翻译出版了第一版:《现代密码学:原理与协议》。
《应用密码学 : 协议算法与c源程序》:介绍全面,值得阅读一遍,缺点就是书籍出版的有些年代了(1996年第二版)。
《密码编码学与网络安全——原理与实践(第七版)》:William Stalling著,很多著名大学都采用它做教材,内容比上面那本书新(2017年第七版)。
《密码学原理与实践(第三版)》:Douglas R.Stinson著,冯登国译。值得精读的一本书,
(2)密码学进阶书籍
《Foundations of Cryptography》:Oded Goldreich著,高级密码学理论研究的敲门砖,理论性很强!!!
最后小编想说密码学是一个烧脑的课程,想要学好并不容易。建议零基础的同学报个培训班进行系统学习,有老师带着学会轻松很多。