密码学的学习整理之历史密码和DES加密,图解密

作者:影视影评

英国布莱奇利庄园6号楼的重建中发现了破解纳粹Enigma码的机密文件,文件是在2013年发现的,它被用于屋顶保温。文件包含了艾伦·图灵所设计的密码分析技术Banburismus已知唯一的样本。Banburismus被用于加快Enigma码的破解。

主要就是必须要了解的,非常出名的密码学家的六个工具箱,其实不用一定要到了密码学家才要掌握,这六个技术的基本概念和基本原理,作为一个安全爱好者还是要掌握的,这六个技术先列出来

凯撒密码

图灵的密码破解技术文件被用于屋顶保温
Solidot / WinterIsComing

历史上的著名的密码

凯撒密码,平移加密,以现在的眼光看来就像是小孩过家家

图片 1

简单替换密码,在凯撒密码的原理上,把原来的平移对应,改为了打乱顺序,一一对应。

图片 2

Enigma密码机,这个就有故事了,卷福参演的《模仿游戏》,还上了奥斯卡提名,那个电影讲述的就是破解Enigma的故事。Enigma是一个德国人发明的,使用了转动的圆盘和电路。怎么想怎么像是在风雨交加的夜里,天上雷鸣大作,然后地上摆几个八卦。。。Engima相比于简单替换密码,最大的区别就是变为了不简单替换密码。Enigma是用在军事中的,通过无线电发送,它的发送过去的消息通过Enigma加密,这样还不行,还要加上每天更换的密码,密码也加密过才发送过去,这样发送过去的,就是消息和每日密码的拼接。每日密码会记录在一个小本上,发给负责加密和解密的人。如果哪天不幸,每日密码本被敌人截获了,没有办法,只能在重新设置一份密码,在给全军发下去。这个加密和解密是双向的。有这个密码本的人,既可以将消息加密,也可以将消息解密。

图片 3

关于Enigma的历史有必要在多说上一些,当时希特勒就用的Enigma进行军队之间的通信的。Enigma的构造,和设计让即使密码破译者得到了Enigma得到了Enigma密码机,只要没有获取到密码,也是不能破译出密码的。最先取得重要破译进步的是波兰的雷耶夫斯基,我看过破解的原理后,貌似用的是暴力破解方法,他用了六台机器对多种组合进行检查,这样的结果是大概每天能用两个小时找到每日密码。希特勒进攻波兰,差点让Enigma破译毁于一旦。波兰将破译工作传递给了自己的难兄难弟英国,顶顶大名的阿兰图灵在波兰的基础上,研制出了破解Enigma密码机的破解机。

图片 4

Enigma

单向散列函数

密码算法和密钥分开

原因也很简单,密码算法是需要重用的,但是密钥不能重用,因为重用会带来破解风险。

对称密码

上面所介绍的那几个历史的密码,实际上都算是对称密码。对称密码有什么特点,用相同的密钥进行加密和解密。什么事密钥?密钥就是消息明文与加密后的消息的对应关系,可以想为函数。

计算机本身就是一台密码机器,将人能看懂的符号转化为二进制。听过一个比较听着就很见过世面的一句话

将现实世界中的东西映射为比特序列的操作称为编码

XOR运算,也叫异或运算

0  XOR  0=0

0  XOR  1=1

1  XOR  0=1

1  XOR  1=0

0代表的是相同,1代表的是不同。XOR有哪些玩法?可以用来将黑白图片二进制后,再用XOR转化一下,就可以玩微信类似朋友圈的图片蒙版游戏了,当然用XOR处理后,可能不一定是蒙的效果。

DES

还是直接放图片好说,

图片 5

这个的主要难点在三重DES加密,目的有两个,一个是向下兼容,一个是再加密。

图片 6

简单替换密码

数字签名

破解

  • 凯撒密码是可以被暴力破解的。原因是如果是26个英文字母的话,字母的便宜最多也就是26种,把这些都尝试一遍是不需要花太多时间和成本的

消息认证码

破解

  • 暴力破解此算法很难。因为密钥空间会有 252423...*1 = 4兆的1000兆倍,破解需要花费的时间太长了
  • 此算法仍旧可以破解。对照表的特点是,相同字母每次加密后的值不是随机的,而是固定的。如果一篇文章很长,会导致相同的明文字母会重复出现多次,而相同的密文也就重复多次。完全可以根据英文字母在单词的出现频率的多少,来猜测对应的字母代表什么
  • 相同明文每次加密后变成固定值的密码算法是不安全的

对称密码

破解

  • 弱点
    1、用于加密密钥的密钥不是随机的。这个是指的每日密码本是固定的,而且是预先设定发布的,其安全性大大降低。
    2、加密密钥是头6个字符且重复2次。相当于所有人都知道密钥存放的地方,而且很有规律,这样可以方便猜测极为关键的加密密钥。
    3、加密密钥的加密强度较弱。相对于正文的加密是三个转子都旋转,加密加密密钥时只有一个转子旋转,强度自然减弱。
    4、加密密钥是人为想出的。是的,人才是所有保密手段中最薄弱的环节。人可能想到的加密密钥是aaa之类的简单密钥,这样破解的人可以猜测,即使不能直接猜测出来,也大大方便了推导。
  • 破解
    突破口还是在加密密钥的特性上,就是上面弱点的第2点上。
    再加上,用于加密加密密钥的每日密码一天内是没法变化的,这就导致一个结果是一天之内有大量的样本用于解密。
    转子总共才3个,每个转子的位置只有26个,所以也就有262626种可能性。使用机器暴力是可以找到每日密码做相关破解。
  • 趣事
    德国人为了测试机器,发布了一条全l(小写L)的消息,这条用于测试的消息给了盟军以破解的方便。
    因为加密后不可能加密成原来的字符,所以可以通过密文推测明文就是全l,因为通篇没有出现l这个字符。
    根据大量的样本进行排列组合,就推测初接线板和转子状态的线索。

伪随机数生成器

原理

  • 凯撒密码的实现方式就是对字母进行平移,加密向右平移的话,解密就向左平移
  • 凯撒密码的算法就是平移,密钥就是平移的长度

密码只是信息安全的一部分

原理

  • 这个算法也很简单,实质上就是一张字母对照表。例如,字母A对应字母H,以此类推。
  • 这个算法里的密钥就是这张字母对照表

公钥密码

原理

  • Enigma的密码原理还是非常先进和现代的,体现在下面几个地方。
    1、出现了密钥加密密钥,即针对加密密钥进行加密。现在的加密算法还在进行加密。
    2、对于相同的明文,每次加密后生成的密文不相同,这点根据上面简单替换密码的破解,就知道其重要性
    3、具备简单的容错。对于加密密钥,通过重复两次,进行容错的校验。虽然这给破解带来了便利。
    4、不依赖于加密算法本身来实现加密。由于存在加密密钥,所以哪怕即使拿到了Enigma机器,也没办法破解密文。
  • Enigma的机械结构:
    由接线板、三个转子组成。当输入一个字符时,电流通过由接线板和转子同时确定的线路,会产生到一个新的对应字符上。这个类似现在由软件实现的加密算法了。
  • Enigma加解密的步骤:
    1、加密加密密钥。用于加密明文的密钥,是由发送者想出来的三个字母。这个由于需要用于解密,要发送给接收方,所以需要针对此加密密钥进行加密。
    针对加密密钥进行加密,使用的密钥是国防军发布的"每日密码本"的当日密码
    首先根据当日密码设置Enigma机器,然后发送者想一个加密密钥,在机器上输入2次。每输入一个字符,第一个转子就旋转一下,保证了每个字符加密后的结果都不同。
    最终得到的是加密后的6个字符,也就是2遍的加密密码。
    2、加密发送明文。发送者想出的加密密钥是三个字符的,其实是表示三个转子的初始位置设置。
    所以,首先根据加密密钥设置三个转子的初始位置,然后再逐个输入正文的字符。
    由于每输入一个字符后,三个转子都会根据之前的规定旋转,所以即使是相同的明文,加密后的结果也不相同。
    3、合并发送。将加密后的加密密钥 和 加密后的密文 合并后,一起发送给接收者。
    4、解密加密密钥。接收者拿到发送后的全文后,先取前6个字符,再依据每日密码设置机器进行解密。
    如果解密后的6个字符是重复两次的相同字符时,证明发送过程没有问题。
    5、解密正文。根据解密后的加密密钥设置机器,然后输入正文,完整正文的解密。

本文由澳门新葡8455最新网站发布,转载请注明来源

关键词: