楼主: 9118

[密码学习] 密码学

简洁模式
发表于 2010-8-26 23:28:16 | 显示全部楼层
Play fair密码
【普莱菲尔密码加密方法】
普莱菲尔密码的编写方法是极为简单的,通常可以分为三个步骤,即编制密码表、整理明文、编写译文,下面我们以明文:pishoupideweinasi和密钥“culture”为例来讲解。
(1) 编制密码表
我们需要的是一个5乘5的方表,而用到的是密钥“culture”与英文字母表:
Ⅰ整理密钥字母C U L T U R E,去掉后面重复的字母以,得到字母串:C U L T R E;
Ⅱ用上一步得到的字母自上而下来填补5乘5方表的纵列(也可横排),之后的空白按照相同的顺序用字母表中剩余的字母依次填补完整,得到如下的方格,1

这一步需要注意的要点:整理密钥字母时,如果出现z,则需要去除,因为在英文里z的使用频率最低,相应的如果是德文,则需将i与j当作一个字母来看待,而法语则去掉w或k。
(2)  整理明文
我们要遵循的原则是“两个一组”,得到是若干个两两成对的字母段,用到的是明文pishoupideweinasi与字母“x”:
Ⅰ将明文两两一组按顺序排开,得到pi sh ou pi de we in as i
Ⅱ对于末尾的单个字母要加上一个“x”使之成对:pi sh ou pi de we in as ix这一步需要注意的要点:对于相连字母相同者,每个后面都需要加x,例如tomorrow,需要写成:to mo rx rx ow
(3)  编写密文
我们要得到的密文,当然,对于每个字母对,要严格遵循如下的原则:
1.如果两个字母在同一行则要用它右邻的字母替换,如果已在最右边,则用该行最左边的替换,如明文为“ce”,依据上表,应替换为“eg”;
2.如果两个字母在同一列则要用它下边的字母替换,如果已在最下边,则用该行最上边的替换,如明文为“oq”,依据上表,应替换为“pm”;
3.如果两个字母在不同的行或列,则应在密码表中找两个字母使四个字母组成一个矩形,明文占据两个顶点,需用另外两个顶点的字母替换,如明文为“hx”,可以替换为“vj”或“jv”(本例按照横向替换原则)。
Ⅰ按照上述原则,将明文加以编写,得到jo gv ln jo fa bs oh ve wjⅡ将得到的字母改为大写,并五个一组列好,得到密码JOGVL NJOFA BSOHV EWJ

奥腾多夫密码
每三个数字对应密钥中的一个词
密码本通常是一本随机的书 或者报纸上的文章
第一组数字是页数
第二组数字是行数
第三组数字是列数
如11-15-12 指的就是第11页 第15行 第12列词 (也可以说是第12个)

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

三分密码
三分密码由Felix Delastelle发明(他也发明了四方密码和二分密码)。二分密码是二维的,用5×5(或6×6)的矩阵加密,但三分密码则用3×3×3的。它是第一个应用的三字母替换密码。

  首先随意制造一个3个3×3的Polybius方格替代密码,包括26个英文字母和一个符号。然后写出要加密的讯息的三维坐标。讯息和坐标四个一列排起,再顺序取横行的数字,三个一组分开,将这三个数字当成坐标,找出对应的字母,便得到密文。
7 x9 S6 f! f# a1 Z) t% H% Y
  二分密码的做法相近,和后来出现的ADFGVX密码差不多。, x; N% u- a8 U3 w

  例:加密"HELLO WORLD"

                1        1        1                2        2        2                3        3        3
1                l        e        o                n        a        r                d        v        i
2                c        b        f                g        h        j                k        m        p
3                q        s        t                u        w        x                y        z        /
                1        2        3                1        2        3                1        2        3

: t5 p. N/ K" N* d1 y; ]# X
  然后写出"HELLO WORLD"的每个字母的坐标,先上横再竖再下横# R# a4 m: P2 d! A! S% r, }
  如下:, N) D* j; G6 I$ V  g

  
H E L L O W O R L D" e9 p( k c- k& x6 q
  ---------------------------
  2 1 1 1 1 2 1 2 1 31 _8 r% U0 \% N- U8 W  Y% l1 \  F* a
  2 1 1 1 1 3 1 1 1 1
  2 2 1 1 3 2 3 3 1 1  v) E( C' k' Y- ]. z, W* K: Y
: |/ i$ @3 a0 s( g
  将所得的表格横着读出,每三个数字一组5 Q$ ?* P, H$ \' G4 P

  211 112 121 321 111 311 112 211 323 311

  再回头按坐标找出第一个表中对应字母,即:; ]. `5 [  n0 l+ O' R
# d" y8 ^  h! e' B
  211 112 121 321 111 311 112 211 323 311
, X" V1 r4 k" t' K0 ?
  N E C K L D E N P D
- a7 P. O8 W+ m
  则"HELLO WORLD"的密文即为:NECKLDFNPD

【四方密码】
四方密码是一种对称式加密法,由法国人Felix Delastelle(1840年–1902年)发明。  

这种方法将字母两个一组,然后采用多字母替换密码。  

四方密码用4个5×5的矩阵来加密。每个矩阵都有25个字母(通常会取消Q或将I,J视作
同一样,或改进为6×6的矩阵,加入10个数字)。  

首先选择两个英文字作密匙,例如example和keyword。对于每一个密匙,将重复出现的
字母去除,即example要转成exampl,然后将每个字母顺序放入矩阵,再将余下的字母顺
序放入矩阵,便得出加密矩阵。  

将这两个加密矩阵放在左上角和右下角,余下的两个角放a到z顺序的矩阵:
a b c d e    E X A M P
f g h i j     L B C D F
k l m n o    G H I J K
p r s t u     N O R S T
v w x y z    U V W Y Z

K E Y W O   a b c d e
R D A B C    f g h i j
F G H I J    k l m n o
L M N P S    p r s t u
T U V X Z    v w x y z
加密的步骤:  

两个字母一组地分开讯息:(例如hello world变成he ll ow or ld)  
找出第一个字母在左上角矩阵的位置  
a b c d e    E X A M P
f g h i j    L B C D F
k l m n o    G H I J K
p r s t u    N O R S T
v w x y z    U V W Y Z
K E Y W O    a b c d e
R D A B C    f g h i j
F G H I J    k l m n o
L M N P S    p r s t u
T U V X Z    v w x y z
同样道理,找第二个字母在右下角矩阵的位置:
a b c d e    E X A M P
f g h i j    L B C D F
k l m n o    G H I J K
p r s t u    N O R S T
v w x y z    U V W Y Z
K E Y W O    a b c d e
R D A B C    f g h i j
F G H I J    k l m n o  
L M N P S    p r s t u
T U V X Z    v w x y z
找右上角矩阵中,和第一个字母同行,第二个字母同列的字母:  
a b c d e    E X A M P
f g h i j    L B C D F
k l m n o    G H I J K
p r s t u    N O R S T
v w x y z    U V W Y Z
K E Y W O    a b c d e
R D A B C    f g h i j
F G H I J    k l m n o
L M N P S    p r s t u
T U V X Z    v w x y z



找左下角矩阵中,和第一个字母同列,第二个字母同行的字母:  
a b c d e    E X A M P
f g h i j    L B C D F
k l m n o    G H I J K
p r s t u    N O R S T
v w x y z    U V W Y Z
K E Y W O    a b c d e
R D A B C    f g h i j
F G H I J    k l m n o
L M N P S    p r s t u
T U V X Z    v w x y z
这两个字母就是加密过的讯息。  

hello world的加密结果:  

he lp me ob iw an ke no bi
FY GM KY HO BX MF KK KI MD

【二方密码】

二方密码比四方密码用更少的矩阵。  

得出加密矩阵的方法和四方密码一样。  

例如用「example」和「keyword」作密匙,加密lp。首先找出第一个字母(L)在上方
矩阵的位置,再找出第二个字母(D)在下方矩阵的位置:  

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

K E Y W O
R D A B C
F G H I J
L M N P S
T U V X Z
在上方矩阵找第一个字母同行,第二个字母同列的字母;在下方矩阵找第一个字母同列,
第二个字母同行的字母,那两个字母就是加密的结果:  

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

K E Y W O
R D A B C
F G H I J
L M N P S
T U V X Z
help me的加密结果:  

he lp me
HE DL XW
这种加密法的弱点是若两个字同列,便采用原来的字母,例如he便加密作HE。约有二成的内
容都因此而暴露

元音密码表:0 g6 P0 a' `8 ^  l
A        B        C        D        E        F        G        H        I        J        K        L        M        N
1        11        12        13        2        21        22        23        3        31        32        33        34        35
O        P        Q        R        S        T        U        V        W        X        Y        Z               
4        41        42        43        44        45        5        51        52        53        54        55               

'比如明文是::
When in Rome,do as the Romans do.(入乡随俗)
根据密码表加密为(注意,数字之间加点):
52.23.2.35.3.35.43.4.34.2.13.4.1.44.45.2.43.4.34.1.35.44.13.4

韵母声母密码(原创)
        1        2        3        4        5
1        b        p        m        f        d
2        t        n        l        g        k
3        h        %        j        q        x
4        zh        ch        sh        r        z
5        c        s        y        w        &

        1        2        3        4        5        6
1        a        o        e        i        u        v
2        ai        ei        ui        @        ao        A
3        ou        iu        ie        ve        er        B
4        an        en        in        #        un        C
5        ang        eng        !        ing        ong        D

莫尔斯电码
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 --** 1 *----2 **--- 3 ***-- 4 ****- 5 *****
6 -**** 7 --*** 8 ---** 9 ----* 0 - ----
. *-*-*- ' *----* ? **--** ( -*--*- ) -*--*- @ *--*-* — -***-
。*-*-*- , --**-- : ---*** | *----*  _/- -****- ? *--*-*
end ***-*- start -*-*-

培根密码
A = aaaaa E = aabaa I/J= abaaa N = abbaa R = baaaa W = babaa
B = aaaab F = aabab K = abaab O = abbab S = baaab X = babab
C = aaaba G = aabba L = ababa P = abbba T = baaba Y = babba
D = aaabb H = aabbb M = ababb Q = abbbb U/V= baabb Z = babbb
加密规则:(1)A-M=>a,也就是说A到M的所有字母都替换成a.
                N-Z=>b,也就是说N到Z的所有字母都替换成b.
               (2)A-M<=a,也就是说a可以替换成A-M中的任何一个字母
               N-Z<=b,也就是说a可以替换成N-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        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        B        C        D
F        G        H        I        J        K        L        M        N        O        P        Q        R        S        T        U        V        W        X        Y        Z        A        B        C        D        E
G        H        I        J        K        L        M        N        O        P        Q        R        S        T        U        V        W        X        Y        Z        A        B        C        D        E        F
H        I        J        K        L        M        N        O        P        Q        R        S        T        U        V        W        X        Y        Z        A        B        C        D        E        F        G
I        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
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
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


维德里亚密码
题目如下

密文: T
密钥:SKFK


提示:
      26个英文字母
     
      公式:A+B=C

      A代表明文
      B代表密钥
      C代表密文   

答案:根据26个英文字母表a对应标上数字1,b表上数字2,对照得出
T=20
S=19
K=11
F=6
K=11
根据公式:A+B=C

题目已知密文为T,密钥为SKFK,求得明文
列出 C(密文)-B(密钥)=A(明文)

将数字代入推导出的公式
T-S=20-19=1
T-K=20-11=9
T-F=20-6=14
T-K=20-11=9
根据得出数字1.9.14.9对照26个英文字母表得出
aini
爱你

博福特密码是按mod q减法运算的一种周期代替密码。即
                     ci+td=δi(mi+td)≡(ki-mi+td)(mod q)
所以,它和维吉尼亚密码类似,以ki为密钥的代替表是密文字母表为英文字母表逆序排列进行循环右移ki+1次形成的。例如,若ki=3(相当于字母D),则明文和密文的对应关系如下:
     明文: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
     密文:D C B A Z Y X W V U T S R Q P O N M L K J I H G F E
显然,博福特密码的解密变换为
                     mi+td≡δi(ci+td)≡(ki-ci+td)(modq)
因此,博福特密码的解密变换与加密变换相同。按博福特密码,以密钥ki加密相当于按下式的维吉尼亚加密:
                     ci+td≡[(q-1)-mi+td](modq)
若按下式加密:
                     ci+td≡(mi+td-ki)(modq)
就得到变异的博福特密码,相应代替表示将明文字母表循环右移ki次而成。由于循环右移ki次等于循环左移(q-ki)次,即式ci+td≡(mi+td-ki)(modq)等价于以(q-ki)为密钥的维吉尼亚密码。所以维吉尼亚密码和变异的博福特密码互为逆变换,若一个是加密运算,则另一个就是解密运算。

示例

例如,明文的第一个字母为D,则先在表格中找到第D列。由于密钥的第一个字母为F,于是D列从上往下找到F。这一F对应的行号为C,因而C便是密文的第一个字母。以此类推可以得到密文。 以下便是一个密钥为FORTIFICATION时的例子:
Defend the east wall of the castle去空格,

明文:DEFENDTHEEASTWALLOFTHECASTLE
密钥:FORTIFICATIONFORTIFICATIONFO
密文:CKMPVCPVWPIWUJOGIUAPVWRIWUUK


符号注释:
ki:密钥     mi:明文     ci:密文


关键词凯撒
这个加密方式是从凯撒位移衍生出来的,书中的名称是“关键词凯撒”。关键词中不能有重复的字母,就算有也要把重复的字母删去。
举个例子:
以code为关键词:
   原字母表: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
加密密码表:c o d e f g h i j k l m n p q r s t u v w x y z a b
这种方法即用把关键词写在前面,在按关键词的最后一个字母搞凯撒位移。
若以"mima"以为关键词,则关键词要变成"mia"(去掉第二个重复的"m"),则:
原字母表: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
加密密码表:m i a b c d e f g h j k l n o p q r s t u v w x y z
这个例子恰好也表现出了一个巧合,即从n开始后面的加密字母和原始字母相同,这种情况下CM可以选择换一个关键词加密,或者仍用这个关键词(这种情况可以迷惑CB放弃这一个正确的关键词)。
确定关键词做凯撒位移时,已在关键词中出现的字母不可以再次出现,不然加密密码表中字母的数目将多于原字母表。

密钥栅栏
密钥栅栏这个加密方式是从传统栅栏衍生出来的。
首先是确定密钥,密钥的字母数即是格子的列数。将密钥中的字母按字母表中的顺序
编号即得到每一列的序号,如果相同的字母出现超过2次,先编从左到右第一个字母
的号,再编第二个,以此类推。
以happy new year为要加密的原文为例:
1.若以cipher为密钥,则密钥编号为145326,在“格子”上方先写下密钥编号(密钥
可写可不写),再按传统栅栏编码方式“填格子”,即
1 4 5 3 2 6
h a p p y n
e w y e a r
接下来按照每一列的编号顺序依次抄下每一列,即:
heyapeawpynr,编码完成。
2.若以mima为密钥,则密钥编号为3241,在“格子”上方先写下密钥编号(密钥可写
可不写),再按传统栅栏编码方式“填格子”,即:
3 2 4 1
h a p p
y n e w
y e a r
接下来按照每一列的编号顺序依次抄下每一列,即:
pwranehyypea,编码完成

PS:①编号是按在字母表里出现的顺序
②字母不够就留空格

Kryptos密码
标准字母表:|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|  
变换字母表:|K|R|Y|P|T|O|S|A|B| C| D| E| F| G| H| I| J| L| M| N| Q| U| V| W| X| Z|  
数字代码表:|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|

密钥:PALIMPSEST (重写本)

解法,以第一行为例:

EMUFPHZLRFAXYUSDJKZLDKRNSHGNFIVJ

首先把密钥PALIMPSEST和密文对照“变换字母表”转换为数字:

|P|A| L| I| M|P|S| E|S|T|
|4|8|18|16|19|4|7|12|7|5|

| E| M| U| F|P| H| Z| L|R| F|A| X|Y| U|S| D| J| K|Z| L| D|K|R| N|S| H| G| N| F| I| V| J|  
|12|19|22|13|4|15|26|18|2|13|8|25|3|22|7|11|17|1|26|18|11|1|2|20|7|15|14|20|13|16|23|17|

把密钥重复几次,弄成和密文相等的长度:

密钥:| 4| 8|18|16|19| 4| 7|12|7| 5|4| 8|18|16|19| 4| 7|12| 7| 5| 4|8|18|16|19| 4| 7|12| 7| 5| 4| 8|
密文:|12|19|22|13| 4|15|26|18|2|13|8|25| 3|22| 7|11|17| 1|26|18|11|1| 2|20| 7|15|14|20|13|16|23|17|

利用标准的解维吉尼亚密码算法:把每一列的数字相减(如果得负值,就用26加上这个值),然后再加1。

公式为:[26 + (密文 - 密钥)] Mod 26 + 1

第一列:12-4+1=9;第二列:19-8+1=12;第三列:22-18+1=5;第四列:26+(13-16)+1=24;
第五列:26+(4-19)+1=12;第六列:15-4+1=12;第七列:26-7+1=20 ... ...
解出明文数字表,再对照“变换字母表”把数字转换为字母:

明文数字:|9|12|5|24|12|12|20|7|22|9|5|18|12|7|15|8|11|16|20|14|8|20|11|5|15|12|8|9|7|12|20|10|
明文字母:|B| E|T| W| E| E| N|S| U|B|T| L| E|S| H|A| D| I| N| G|A| N| D|T| H| E|A|B|S| E| N| C|

因此原文就是:

Between subtle shading and the absenc
本帖子中包含更多图片或附件资源

您需要 登录 才可以下载或查看,没有帐号?加入学院

本主题帖为【历史主题】,仅楼主发布内容可以浏览。
| 楼主| 发表于 2010-8-26 23:29:09 | 显示全部楼层
我是我找到的一些密码,欢迎各位补充
尚未登录
您需要登录后才可以回帖 登录 | 加入学院