## 密码学 转

0-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满足结构。
以此方法反复带入并不断检验前面的推理，很快就能够解决整个密码

[例：待补充]

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

[例：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（合并）

[例：Ia mast ude.N thowa bouty o u?]

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

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

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

附：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

BjarneCpp
2018/01/09
0
0

18%
2018/08/08
0
0

2018/04/16
0
0

2018/11/19
0
0

2017/06/21
0
0

vue 对对象的属性进行修改时，不能渲染页面 vue.\$set()

Js_Mei

2
0

max佩恩

12
0
Redux 三大原则

1.单一数据源 在传统的MVC架构中，我们可以根据需要创建无数个Model，而Model之间可以互相监听、触发事件甚至循环或嵌套触发事件，这些在Redux中都是不被允许的。 因为在Redux的思想里，一个...

wenxingjun

8
0

5
0
XML

stars永恒

2
0