1.定义
密码学是研究编制密码和破译密码的技术科学。
https://baike.baidu.com/item/%E5%AF%86%E7%A0%81%E5%AD%A6/480001
2.历史
2.1古代密码学
1.替换法
替换法很好理解,就是用固定的信息将原文替换成无法直接阅读的密文信息。
例如将b替换成w,e替换成p,这样bee单词就变换成了wpp;
2.移位法:
移位法就是将原文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后得出密文,典型的移位法应用有“恺撒密码”。
例如约定好向后移动2位(abcde-cdefg),这样bee单词就变换成了dgg。
3.拆字法
例如:汉字“青” 可以拆解为 “十二月”;
2.2 近代密码学
古典密码的安全性受到了威胁,外加使用便利性较低,到了工业化时代,近现代密码被广泛应用。
例如:恩尼格玛机,恩尼格玛机是二战时期纳粹德国使用的加密机器,后被英国破译,参与破译的人员有被称为计算机科学之父、人工智能之父的图灵。恩尼格玛机共有26个字母键和26个带有字母的小灯泡,当按下键盘上的键时,加密后的密文字母所对应的小灯泡就会亮起来,依次记录密文发送给接收者就实现了密文传输。接收者也用相同的恩尼格玛机,依次输入密文并获取原文。恩尼格玛机使用的加密方式本质上还是移位和替代,只不过因为密码表种类极多,破解难度高,同时加密解密机器化,使用便捷,因而在二战时期得以使用。关于恩尼格玛机的破译,可以看电影 《模仿游戏》;
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6j5dTyWQ-1675510133536)(密码学学习笔记+f2cff971-11cf-449e-b1e4-2a0e50d82564/图片1.png)]
2.3 现代密码学
2.3.1 散列函数
散列函数,也叫杂凑函数、摘要函数或哈希函数,可将任意长度的消息经过运算,变成固定长度数值,常见的有MD5、SHA-1、SHA256,多应用在文件校验,数字签名中。
MD5可以将任意长度的原文生成一个128位(16字节)的哈希值,于2004年被王小云教授宣布破译,证明MD5具有抗碰撞性不足的安全弱点,可快速对文件进行修改而保持哈希值不变,对MD5算法的应用形成了挑战。
SHA-1可以将任意长度的原文生