1、说明
密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学。(百度百科)
本密码学基础系列教程是关于编码学的基础知识。我认为我的教程有以下特点:
一、实用性
只讲述最有用的部分,比如,在介绍PBKDF2算法时,并不会介绍mk的长度这个参数,因为多数情况下用不到,同时,为便于读者深入了解,每篇都会附上参考文献。
二、可参考性
我不是密码学权威,我的密码学知识主要基于NIST系列资料(见文末参考文献部分)、《密码编码学和网络安全》等书籍和自己多年工作经验积累。重要的概念弄清楚出处是非常有必要的,有参考文献的,我会把参考文献列举出来,供读者查阅求证,如果是自己的观点,我会说明,让读者心中有数。
三、完备性
我会把多数人需要用到的密码学知识都讲述到。
四、有示例代码
大部分内容都有Python示例代码,大部分代码会同时兼容Python 2.7和Python 3,不兼容的代码我会说明适用的Python版本。
2、文章目录
基础知识
伪随机数
对称加密
对称加密(一)
对称加密(二)(待补充)
简化版的DES加密Python实现
RC4加密
白盒加密(待补充)
不对称加密
秘钥交换
消息摘要函数
基于密码的消息摘要
基于密码的消息摘要简介(待补充)
C语言实现HMAC算法
PBKDF2算法
数字签名
密码学实践
密码学理论
埃拉托色尼筛选法求素数
Python解中国剩余定理(孙子定理)
RSA私钥、公钥文件分析
网友评论