文档章节

密码学

0-1
 0-1
发布于 2013/03/26 14:46
字数 2827
阅读 45
收藏 1
常见密码1 字母替换
[例:Qxjsn qvv, ks dqis qvnsqwl amcvj jdcu AAU, qgw ks jdcgf jds AAU cu jds asuj bgs ks dqis sisn ussg. Ks kqgj sisnlbgs icucj dsns, vsqng jds jdcgeu kdb kqgj jb vsqng.]
    个人感觉是所有密码中最重要的一种,要想熟练破解所有密码,就一定要熟悉这种密码。在推理小说大师爱伦·坡的《金甲虫》一文中有很详尽的介绍,简略归纳出其破译步骤为:
1.根据被译文段的格式、断句、字符的长短、字符的种类数目来判断密码的语言,这也是破译所有密码所必不可少的第一环节。一般中文的密码以2-5个字符居多,而英文则不会超过15个,下文讨论英文密码。
2.数出字符使用的频率并纪录,根据字符的频率可以大致做出判断。在英文中以字母e出现的最多,其次依次是aoidhnrstuycfglmwbkpqxz。
3.英文中以单词the出现的次数最多。可以根据这个原理察看是否有重复多次的三个字母组合的词,便基本可以判断t、h、e这三个字母了。
4.接下来便可以将t、h、e三个字母带入,观察哪些词可以猜测出来,比如已知t.ee(未知字母用.表示)就可以判断.为r了,因为常用的词汇中,只有tree满足结构。
  以此方法反复带入并不断检验前面的推理,很快就能够解决整个密码


注意:此种密码通常用各种符号来代替英文字母,达到混淆的目的。




常见密码3 维吉尼亚密码
[例:待补充]
这种密码首先引入了密钥的概念。看似复杂,但实际上就是恺撒密码的延展。
例如:
密钥为man,原文为I am rich.(见下表)则原文中的I对应的密文为M行(第一个密码为M的那行)的U,A对应A行的A,M对应N行的Z,R对应M行的D……以此类推。
简单地归纳为:
密钥:M an manm.(man循环使用)
原文:I am rich.
密文:U az dipt.

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
B C D E F G H I J K L M N O P Q R S T U V W X Y Z A
C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
E F G H I J K L M N O P Q R S T U V W X Y Z A A B C
F G H I J K L M N O P Q R S T U V W X Y Z A A B C D
G H I J K L M N O P Q R S T U V W X Y Z A A B C D E
H I J K L M N O P Q R S T U V W X Y Z A A B C D E F
I J K L M N O P Q R S T U V W X Y Z A A B C D E F G
J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
M N O P Q R S T U V W X Y Z A B C D E F G H I J K L
N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
Q R S T U V W X Y Z A B C D E F G H I J K L M N O P
R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
W X Y Z A B C D E F G H I J K L M N O P Q R S T U V
X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
Y Z A B C D E F G H I J K L M N O P Q R S T U V W X
Z A B C D E F G H I J K L M N O P Q R S T U V W X Y






常见密码4 栅栏密码
[例:iiaundysoitssnyaintt]
此密码一般适用于较短的密码,原理是字母的错位。操作步骤如下:
this little child is funny(原句)
thislittlechildisfunny(去掉空格)
t i l t l c i d s u n
 h s i t e h l i f n y(上下拆开)
tiltlcidsunhsitehlifny(合并)
破译时只要按照相反的步骤来就行了。

另一种栅栏密码的操作步骤如下:
this little child is funny(原句)
thislittlechildisfunny(去掉空格)
th
hi
il
sd
li
is
tf
tu
ln
en
cy(左右拆开)
thhiilsdliistftulnency(合并)
当用中文的汉语拼音做栅栏密码时十分有趣,可以选择用声母做前排,韵母做后排。例如:
zhong hua ren min gong he guo(原句)
zhonghuarenmingongheguo(去掉空格)
zh h r m g h g
   ong ua en in ong e uo
zh in
ong g
h ong
ua h
r e
en g
m uo(上下或左右拆开)
zhhrmghgonguaeninongeuo
zhinongghonguahreengmuo(合并)




常见密码5
[例:Ia mast ude.N thowa bouty o u?]
这种密码乍一看不知所云,但仔细一看只不过是简单的重组罢了,只要有一定的语言水平就能推理出来。
例如这句话:To da yi sa ni ce da y le tu sp la yi n go u t si de.
乍一看像是罗马音,先组合:Todayisanicedayletusplayingoutside.
再整理:Today is a nice day.Let us playing outside.





手机键盘加密



一、直接数字表示法:即两个数字一组,第一个表示键盘上的某个键,第二个表示该键上的第几个字母。例:“53638332”表示的就是“LOVE”四个字母。特征(只考虑单层,下同):有偶数个数字,其中偶数位的数字在1至4浮动,不含有0。


二、键盘坐标加密法:在键盘上以456为轴258为轴建系,密文中每个字符用一个角度和一个数字表示,角度表示键盘上的键,数字表示该键上的第几个字母。例:“180'1 0'3 45'1”即表示“GOD”。说明:若想表示5上的字母(JKL)可用135'表示,因为1上不含任何字母。特征:比较明显…一般前个数字是45的整数倍,后个数字在1到4浮动。


三、智能拼音按键法:最简单的一种了,直接在手机上输入密文,出现的中文即为明文。领:“PGMWGM”即为“拼音”。


四、键盘形象法:即在手机键盘上画出要加密的字母,然后按顺序写出画改字母时经过的数字。例:“3214789”表示“C”。特征:连着的数字较多(指手机上按键连着),如147.456等。


五、键盘坐标轴法(仿垂死原创):以123为X轴,147为Y轴,密文中每两个数字为一组,前一个代表行数,后一个代表该行的第几个。(第三行有十一个字母,表示起来较不方便,所以将S和Z当作第四行,即41代表S,42代表Z)例:“26293615”代表“LOVE”。特征:数字为偶数个,且不含有0,奇数在1到4浮动(4后只出现1或2)。


六、对称替换法:在每个按键中做对称,即第一个字母换成最后一个,中间一个字母不变。例:“OGOCBCQ”即为“MIMABAR”。特征:貌似没有很明显的特征,不过“BEHKNU”这几个字母加密后是不会改变的。


七、字母位置描述法:用三个数字表示一个字母,第一个数字表示行数,第二个表示键数,第三个表示该键上的第几个字母。例:“223.233.323.132”即代表“LOVE”。特征:所有数字在1到4浮动,总个数为3的倍数。


八、非智能字母输入加密法:就是在手机中用非智能输入法时输入字母时用的方法(智能输入的方法见“三”)。例:“3327777999”即代表“EASY”。特征:数字重复连续出现,且不含有0和1。


九、键盘方位表示法:利用英文中东南西北的缩写来代表手机上的按键,后面再跟一个数字表示是改按键上的第几字母。为保持整齐,可将5上的字母可以移至1。例:可以用“SW4EE3SW4”表示“SOS”。(用两个E是为了保持整齐)特征:频繁出现NEWS四个字母,总字符数为3的倍数,最大数字不过4。


十、小总结:手机键盘加密主要的思路大体可分为三条。一是通过不同的方式来描述字母的位置,这种方法比较明显的特征是几乎不含有0,而且数字大多在1到4浮动。二是利用了手机编辑文字的功能,如第三、八种,这种加密特征通常不太明显。三是“其他”,一些比较诡异的方法,如第四、六种。以上的九种加密方法都还有很大的潜力可挖,特别是配合其他密码使用的时候可能效果更佳,所以各位同学不要拘泥于上面所说的,灵活地做一些处理可能会更好。







费纳姆密码



费纳姆密码其实是一种由二进制产生的替换密码。

  这是一种二战期间德军使用的密码,一时令盟军难以破译,后来在图灵的帮助下制造了破译机器,使英国人多次破译这种密码。但是直到现在,人工破译还是比较费事的。

  这种密码采用二进制表示法。编写时要将明文转化成二进制数字。

  加密方法是双方约定一个数,明文加上这个数就是密文。这个数相当于密钥(可以是单词 词组 句子 几个字母也行)。

  附:ASCⅡ码与英文的对照表

  A 1000001 N 1001110

  B 1000010 O 1001111

  C 1000011 P 1010000

  D 1000100 Q 1010001

  E 1000101 R 1010010

  F 1000110 S 1010011

  G 1000111 T 1010100

  H 1001000 U 1010101

  I 1001001 V 1010110

  J 1001010 W 1010111

  K 1001011 X 1011000

  L 1001100 Y 1011001

  M 1001101 Z 1011010

  举个例子

  明文: hello=1001000 1000101 1001100 1001100 1001111

  密钥:crude=1000011 1010010 1010101 1000100 1000101

  相加得到密文=0001011 0010111 0011001 0001000 0001010

  (二进制运算法则 只取七位)

  再加密可以用易位,铁栏等方法,这里就不写了


这种密码如果和莫尔斯混在一起比较难搞

本文转载自:

共有 人打赏支持
0-1

0-1

粉丝 92
博文 268
码字总数 145989
作品 0
福州
程序员
密码学-学习资料和网站

我接触密码学有一段时间了,把我收集的资料整理出来,以便后期查阅。另外也给网友一些捷径。 书籍 计算机安全和密码学.Computer.Security.And.Cryptography.pdf 英文版 《深入浅出密码学——...

BjarneCpp
01/09
0
0
小城的数学浪漫:探秘密码学专业会议 TPMPC 2018

江湖上总流传着盖世神功武林秘籍的传说,言之确凿,然见者颇少,一见不得了,譬如《30 天入门九阳神功》,《21 天精通九阴白骨爪》,此等教程实属罕物,睹之不易,遑论据而拥之,若侥幸习得一...

18%
08/08
0
0
在谈论区块链之前,我们需要一把密码学的钥匙

背靠密码学、共识机制与博弈论,“区块链”成为2018最炙手可热的讨论点。 巨头依靠庞大的日活数据搭建自己的区块链基础,布局上已然体系化;而创业公司则在深场景上展开竞跑,于缝隙中寻找机...

北丐09
04/16
0
0
两位 MIT 密码学专家赢得 2012 年图灵奖

美国计算机学会宣布了2012年度的图灵奖得主:MIT电机工程和计算机科学教授、以色列魏茨曼科学研究所数学教授Shafi Goldwasser,以及MIT工程学教授Silvio Micali。图灵奖被认为是计算机科学领...

oschina
2013/03/14
3.9K
25
密码学基础知识

密码学.png 密码学 推荐书籍 图解密码技术 结城浩 著 周自恒 译 密码学概览 密码学概览图 消息的特性 机密性 完整性 认证 不可否认性 密码算法 密码算法应用场景概览 对称密码 商密算法 国密...

数学角度看生活
2017/06/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

TypeScript基础入门之高级类型的可辨识联合(Discriminated Unions)

转发 TypeScript基础入门之高级类型的可辨识联合(Discriminated Unions) 高级类型 可辨识联合(Discriminated Unions) 你可以合并单例类型,联合类型,类型保护和类型别名来创建一个叫做 ...

durban
27分钟前
1
0
画图工具

目标是不要让我自己摆放,那样会打断我的思路。要自己会摆放,我写字就好。 纠结对齐的我在也不会因为一个像素的问题小心翼翼的移动鼠标了。因为它对不齐你也管不了。 Graphviz https://www...

郭大鹏
27分钟前
1
0
在Visual Studio中使用GitHub(使用篇)

上一篇中已经介绍了如何在windows下安装和配置Git,并且详细说明了如何和GitHub连接。 这里就详细的说明下如何在Visual Studio中使用GitHub。这里也是一个简单的Git教程。 注:非常非常简单的...

Jokeny
27分钟前
1
0
tomcat 在liunx系统中shutdown后进程仍然存在解决办法

这个在windows下没有碰到过,因为此前跑Tomcat都是以服务而不是命令脚本的形式跑的,而且已经换了一个项目,所以暂时不考察windows下是否存在该问题。 难道是Tomcat版本问题?或者用带内存泄...

乱舞
29分钟前
1
0
区块链10年了,还未落地,它失败了吗?

几乎每个人,甚至是对通证持怀疑态度的人,都对区块链的技术有积极的看法,因为它有可能改变世界。然而,区块链技术问世已经10年了,我们仍然没有真正的用上区块链技术。 有人说,比特币是建...

linux-tao
33分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部