密码学基础系列

2018-04-03  本文已影响203人  redexpress

1、说明

密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学。(百度百科)
密码学基础系列教程是关于编码学的基础知识。我认为我的教程有以下特点:
一、实用性
只讲述最有用的部分,比如,在介绍PBKDF2算法时,并不会介绍mk的长度这个参数,因为多数情况下用不到,同时,为便于读者深入了解,每篇都会附上参考文献。
二、可参考性
我不是密码学权威,我的密码学知识主要基于NIST系列资料(见文末参考文献部分)、《密码编码学和网络安全》等书籍和自己多年工作经验积累。重要的概念弄清楚出处是非常有必要的,有参考文献的,我会把参考文献列举出来,供读者查阅求证,如果是自己的观点,我会说明,让读者心中有数。
三、完备性
我会把多数人需要用到的密码学知识都讲述到。
四、有示例代码
大部分内容都有Python示例代码,大部分代码会同时兼容Python 2.7和Python 3,不兼容的代码我会说明适用的Python版本。

2、文章目录

基础知识

密码学家的工具箱

伪随机数

伪随机数

对称加密

对称加密(一)
对称加密(二)(待补充)
简化版的DES加密Python实现
RC4加密
白盒加密(待补充)

不对称加密

RSA与不对称秘钥

秘钥交换

Diffie-Hellman秘钥交换

消息摘要函数

消息摘要函数
C语言实现SHA256算法

基于密码的消息摘要

基于密码的消息摘要简介(待补充)
C语言实现HMAC算法
PBKDF2算法

数字签名

Python RSA数字签名实践

密码学实践

安全算法的强度

密码学理论

埃拉托色尼筛选法求素数
Python解中国剩余定理(孙子定理)
RSA私钥、公钥文件分析

3、参考资料

[NIST] Computer Security Resource Center

上一篇下一篇

猜你喜欢

热点阅读