当前位置:网站首页 > 技术博客 > 正文

密码学经典加密方式




开篇趣味例子:摩斯密码


有两种“符号”用来表示字元:划(—)和点(·),或分别叫嗒(Dah)和滴(Dit)或长和短


在这里插入图片描述

I Miss You


在这里插入图片描述

密码学发展阶段

  • 1949年之前 密码学是一门艺术
  • 1949~1975年 密码学成为科学
  • 1976年以后 密码学的新方向——公钥密码学

阶段1 古典密码
公元前5世纪,古斯巴达人用一条带子缠绕在一根木棍上,沿木棍纵轴方向写好明文,解下来的带子上就只有杂乱无章的密文字母。解密者只需找到相同直径的木棍,再把带子缠上去,沿木棍纵轴方向即可读出有意义的明文。
这种方式现代密码学中仍然体现——行列变换

公元前1世纪,著名的恺撒密码,被用于高卢战争中,这是一种简单易行的单字母替代密码。
在这里插入图片描述
这种方式现代密码学中仍然体现——移位

阿伯提约在1467年发明了多字符加密法,阿伯提的创新在于对信息的不同部分使用不同的代码。
他在凯撒密码原理的基础上做了哪些改进?在现代密码算法中这种思想体现在——替换。而且这个替换表还是动态变化的。

16世纪中期,意大利的卡尔达诺发明了卡尔达诺漏格板,覆盖在密文上,可从漏格中读出明文,这是较早的一种分置式密码。
在这里插入图片描述
11世纪,兵书《武经总要》,中国历史上第一部有关密码的记述,介绍了一个小型却名副其实的密码本。
假设双方以《送杜少府之任蜀川》 “城阙辅三秦,风烟望五津……”作为解码密钥。
如果军队粮食将尽需要补充,前方将领就从密码本中查出“请粮料” 的编码“九”,而《送杜少府之任蜀川》中的第九字是“五”。于是请粮将领就将“五”字写到一件普通公文书牒之中,并在字上加盖印章。
指挥机关接到公文后,查出盖印章的“五”字在临时约好的诗中列第九,再对照密码本上的顺序,就得知了前方需要粮草补充。

一战前,密码研究还只限于一个小领域,没有得到各国应有的重视。
第一次世界大战是世界密码史上的第一个转折点。 随着战争的爆发,各国逐渐认识到密码在战争中发挥的巨大作用,积极给予大力扶持,使密码很快成为一个庞大的学科领域。
第一次世界大战进行到关键时刻,英国破译密码的专门机构“40号房间”利用缴获的德国密码本破译了著名的“齐默尔曼电报”,促使美国放弃中立参战,改变了战争进程。

第二次世界大战爆发后, 世界各国开始重视对密码破译的研究工作,纷纷成立专门的研究和破译机构,在战争中发挥重要的作用。德国U-505潜艇受到美海军特遣大队反潜深炸弹攻击,受伤浮起后, 美军缴获了密码机和大量明、密报, 并秘密将U-505潜艇拖回美国。 德军误认为U-505潜艇沉没海底而未换密码。在欧战结束前的11个月里,依靠破译的密码,美军和同盟国军队共击沉德国潜艇300多艘, 平均每天一艘,同时大大减少了自己船只的损失,对战争的胜利产生了重大影响。

1948年以前的密码技术可以说是一种艺术,而不是一种科学,那时的密码专家是凭直觉和信念来进行密码设计和分析的,而不是靠推理证明。1948年,C. E. Shannon 在贝尔系统技术杂志上发表论文《通信的数学理论》,创立了著名的新理论——信息论,标志着密码术到密码学的转变。

阶段2 1949~1975
计算机使得基于复杂计算的密码成为可能
主要特点:数据的安全基于密钥而不是算法的保密

阶段3 1976以后

  • Diffie和Hellman发表的题为“密码学新方向”文章,提出了“公钥密码”新体制。
  • 1977年Rivest,Shamir & Adleman提出了RSA公钥算法
  • 美国国家标准局NBS于1977年公布实施美国数据加密标准DES,保密学史上第一次公开加密算法,并广泛应用于商用数据加密。
  • 90年代逐步出现椭圆曲线等其他公钥算法
  • 2001年 AES

密码学发展阶段(小结)

自从人类有了战争,就有了密码。

  • 历史上的战争,特别是两次世界大战对于保密学的理论

技术的发展起了巨大的推动作用。

  • 从手工加密

  • 上一篇: 黑客网站找人
  • 下一篇: Spring注解
  • 版权声明


    相关文章:

  • 黑客网站找人2025-04-15 17:30:03
  • 编码器和解码器2025-04-15 17:30:03
  • k2路由刷潘多拉多拨固件2025-04-15 17:30:03
  • jre插件安装2025-04-15 17:30:03
  • 工具类定义2025-04-15 17:30:03
  • Spring注解2025-04-15 17:30:03
  • 电容耦合电路原理2025-04-15 17:30:03
  • logistic 回归2025-04-15 17:30:03
  • 单片机c语言代码2025-04-15 17:30:03
  • keil5设置断点2025-04-15 17:30:03