首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >密码学技术

密码学技术

作者头像
yichen
发布2020-01-02 18:01:59
5040
发布2020-01-02 18:01:59
举报

密码学

开新坑,密码技术

买了本《图解密码技术》

逆向学累了,偶尔看一下也挺有意思

ps.其实是因为看网上有人说需要看

第一篇: 历史上的密码学

历史上的密码学:

  • 凯撒密码
  • 简单替换密码
  • Enigma

凯撒密码:

通过将明文中所使用的字母按照一定的字数“平移”来加密的

凯撒密码的加密:

假设要保密的信息为:chen,将字母按照平移3个字母来加密

那么

c->C h->K e->H n->Q

密文就是CKHQ

在凯撒密码中,将字母平移这个操作就是密码的算法,而平移数量相当于密钥,在这个例子中密钥就是3

凯撒密码的解密:就是按照平移数量反着对应出来

凯撒密码的破解:由于字母表只有26个字母,因此用于加密的密钥只有26种(平移0相当于没有加密),只需要将这些都尝试一遍就给他破解了

这种破解密码的方法(将所有可能的密钥全部尝试一遍)叫:暴力破解,也叫穷举搜索

简单替换密码:

如果将字母表中的26个字母分别于这26个字母建立一一对应的关系,无论哪一种对应关系都可以作为密码来使用

简单替换密码的加密:

按照图示对应出来

c->H h->T e->X n->N

简单替换密码的解密:

还是对应着找出来就行了嘛

密钥空间:一种密码能够使用的“所有密钥集合”称为密钥空间

所有可用密钥总数就是密钥空间的大小,密钥空间越大,暴力破解难度就越大,而简单替换密码的密钥总数大约相当于4的100兆倍,即使每秒能遍历10亿个密钥,要遍历完所有密钥也需要120亿年时间

简单替换密码的破解:

通过暴力破解不太现实,那怎么办?

使用被称为频率分析的密码破译方法,就可以破译简单替换密码

频率分析利用了明文中的字母出现频率跟密文中字母出现频率一致这一特性

赫伯特·S·基姆在他那部经典的密码学入门著作《密码和隐密写作》里提道:英文的字母频率排列顺序是ETAON RISHD LFCMU GYPWB VKJXQ Z,最常见的字母对是TH HE AN RE ER IN ON AT ND ST ES EN OF TE ED OR TI HI AS TO,最常见的连写字母对是LL EE SS OO TT FF RR NN PP CC

这样,将密文中出现频率最高的替换为“e”,找一下一“e”结尾的3个字母组成的单词,很有可能就是“the”了,这样越往后破译速度会越快

另外除了高频字母,低频字母也可以作为线索

Enigma:

简单替换密码可以用频率分析来破译,频率分析利用了明文中的字母出现频率跟密文中字母出现频率一致这一特性,为了消除这一特性,德国人在20世纪初发明的由键盘,齿轮,电池和灯泡组成的机器,通过这样一台机器可以完成加密与解密两种操作。

基本结构:

这样一台机器当你第一次输入A被加密成了B

但是当你再次输入A可能就被加密成了C

国防军都有国防军密码本,其中记载了发送方和接收方使用的每日密码

Enigma的加密:

发送方查阅国防军密码本找到当天每日密码并根据每日密码来设置好机器,具体就是接好接线板,并对转子进行排列

想出3个字母,比如p、s、v,依次输入Enigma(需要输入两两遍,灯泡亮起,记下对应的密文假设是:ATCDVT(这3个字母称为通信密码)

根据通信密码重新设置Enigma,通信密码的3个字母实际代表了3个转子的初始位置,每个转子上都印有字母,通信密码p、s、v就是转子1、2、3转到p、s、v对应位置

接下来就对消息进行加密,输入,看到灯泡亮了就记下对应的字母

通信密码要重复一次因为:无线电容易出问题,要保证通信密码被正确传到

最后将加密后的通信密码和加密后的消息,拼接起来发送出去

像通信密码这样的密钥叫做密钥加密密钥

Enigma的解密:

接收者将电文分为两部分:通信密码和密文

查阅国防军密码本,设置好Enigma,将通信密码输入,进行解密,再根据解密出来的通信密码设置Enigma

然后就可以顺利解密密文了

END

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-02-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 陈冠男的游戏人生 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档