Q:BIG GUINS如何分3栏如何解,求推理过程,答案
A:
1.分析:BIG GUINS共有8个字母,分3行的话,就是1、2行有3个字母,第三行有2个字母.第三行最后一位可空或用其它字母或符号补上(即有两种写法)
2.解密
去掉空格---BIGGUINS
把8个字母按3-3-2的形式分成BIG GUI NS这三组字母
(1).最后一位空:把每组字母的第一位相连,得到BGN;第二位相连得到IUS,第三位相连得到GI,即可得密码为BGN IUS GI.
最后去掉空格得到最终密码BGNIUSGI.
(2)最后一位补上其它字母或符号:把每组字母的第一位相连,得到BGN;第二位相连得到IUS,第三位相连得到GI,也可补一个@使之变为GI@.最后得到最终密码为BGNIUSGI@.
栅栏密码:对于易位,不得不说栅栏密码,请先看下面的密文:
TEOGSDYUTAENNHLNETAMSHVAED
再看看解密过程:
先将密文分为两行
T
E
O
G
S
D
Y
U
T
A
E
N
N
H
L
N
E
T
A
M
S
H
V
A
E
D
再按上下上下的顺序组合成一句话
THE
LONGEST
DAY
MUST
HAVE
AN
END.
其实,还有多线的栅栏密码,大家试试解下面的密文:
ASLELNASLAJLLHLWLDCHLVILABEAJKAHEL
打眼一看 爱老虎油 换成数字 顺序直观些。ILOVEYOU 12345678。
所以IVOLEUOY 14325876
所谓栅栏密码,就是把要加密的明文分成N个一组,然后把每组的第1个字连起来,形成一段无规律的话。 不过栅栏密码本身有一个潜规则,就是组成栅栏的字母一般不会太多。(一般不超过30个,也就是一、两句话)
扩展
(1)在选择行数时可以使多行,这样对于加密强度有所提高。
(2)可以在加密之后在使用其他密码进行加密,增加强度
公元前500年的古希腊人曾使用了一种著名的加密方法,叫什么名字?
Scytale密码
历史上最早的有记录的密码术应用大约是在公元前5世纪。那个时候,古希腊的斯巴达人使用一种叫作scytale的棍子来传递加密信息。在scytale上,斯巴达人会呈螺旋形地缠绕上一条羊皮纸或皮革。发信人在缠绕的羊皮纸上横着写下相关的信息,然后将羊皮纸取下,这样羊皮纸上就是一些毫无意义的字母顺序。如果要将这条消息解码,收件人只要将羊皮纸再次缠绕在相同直径的棍棒上,这样就可以读出信件的内容了。
有一个故事是这样的:公元前404年,斯巴达的Lysander遇到了一个从波斯回来的信使,他们一行5人中只有这一个人从这趟艰险的旅程中回来了。这个信使解下他的皮带,Lysander将皮带卷在scytale上,读出了信的内容,知道了波斯将要进攻他的意图,因而提前做好了准备
在我以前看过的一本书里,还有这样一个版本(多半是没有什么历史依据的):在古希腊,有个奴隶要通过一个关隘,斯巴达人检查了一下,没有发现什么问题。就在要放行的时候,有个将军突然发现奴隶身上的皮带上刻有字母,于是就把皮带拿来检查,发现这些字母是杂乱无章的,也没有什么头绪。当他无意把皮带卷起来的时候,却发现了上面的秘密,一下子这些字母就排列得规律起来了。就这样,这位将军发现了敌人的阴谋,这个奴隶也被处死了。
其实scytale密码和栅栏密码本质上没有什么区别。
大家可以用一根细长的长方形纸条和一支六角形的铅笔来试着写一下scytale密码比如,我写下了一句话,把纸条取下来后,得到了下面这样的密文:
stte_ _erh_ _ _noe_ _ _dob_ _ _mpr_ _ _osi_ _ _rtd_ _eog
这里用 _ 表示空格,因为铅笔刚好六条边,所以知道空格的多少。(通常可以把空格省略了,或者一般也不知道具体有多少空格。不过我们将会发现,除非整个纸条都写满了,不然总是会有空格的,这也为我们破译时分段带来了方便。)因为这里知道密钥k=6,所以按6个一行(包括空格)来分段,得到下面的样子:
stte_ _
erh_ _ _
noe_ _ _dob_ _ _
mpr_ _
osi_ _ _
rrtd_ _
eog
然后从上到下,一列一列的连起来,就得到了明文:sendmoretroopstothebridge
(send more troops to the bridge)
这里缠绕方向有两个,一个左旋,一个右旋。如果纸条卷的时候,方向反了,比如写的时候是左旋,读的时候是右旋,那么就会是从右到左来读出这条消息的内容。大家可以试一下。Xb1r2YD HV:i
另外,如果写的时候是另一个缠绕方向的话,同样是上面那句话,把纸条取下来后,就可能会得到下面这样的密文: `Vyf/l,iA F
eti_ _ _rsr_ _ _opb_ _ _moe_ _ _dohe_ _nrtg_ _etod_ _sy5tkK!~gv
密钥k=6,所以还是按6个一行(包括空格)来分段,得到下面的样子
eti_ _ _
rsr_ _ _
opb_ _ _
moe_ _ _dohe_ _
nrtg_ _
etod_ _
s
这时候怎样得到明文呢? 哈哈,反过来,从下到上,一列一列的连起来,就得到了明文:
sendmoretroopstothebridge
给大家个练习
练习2. 下面是我把纸条缠在一根火腿肠上,写下的一个句子,得到的密文如下:
toitdarwiuyhwghbdwsnt,这里我把空格省略掉了,看大家破译得出来不?
栅栏密码是一种简单的移动字符位置的加密方法,规则简单,容易破解。栅栏密码的加密方式:把文本按照一定的字数分成多个组,取每组第一个字连起来得到密文1,再取每组第二个字连起来得到密文2……最后把密文1、密文2……连成整段密文。
简单来说,栅栏密码就是把一个明文(去掉空格)分成n组,每组m个,然后一定的排序方法来将这些字符重新组合。通过m的大小称其为m栏栅栏密码,比较常见的m取2,即2栏栅栏密码。例如:
明文:栅栏密码加密规则示例
每组字数:5
按照字数先把明文分成:
栅栏密码加
密规则示例
先取每组第一个字:栅密
再取每组第二个字:栏规
……
最后得到“栅密栏规密则码示加例”。
解密则反推:
密文被分成2个字一组:
栅密
栏规
密则
码示
加例
先取每组第一个字:栅栏密码加
再取每组第二个字:密规则示例
最后得到“栅栏密码加密规则示例”。
提示:当前的栅栏密码程序不删除空格和换行符。
明文或密文中如果出现连续空格将原样保留,复制到其它地方时连续空格可能会变成一个空格,注意保持原样。
在进行多行文本(段落)加密时,每行独立进行加密。
凯撒密码:明文中的所有字母都在字母表上向后进行偏移后替换成偏移后的密文 偏移量通常是3 AA=z 例如:所有的字母A将被替换成D,B变成E,以此类推
但是凯撒密码还有其它种类有: 偏移量为10 称做 Avocat(AK)
偏移量为13 称做 ROT13
偏移量为-5 称做 Cassis (K 6)
偏移量为-6 称做 Cassette (K 7)
栅栏密码,就是把要加密的明文分成N个一组,然后把每组的第1个字连起来,形成一段无规律的话。 不过栅栏密码本身有一个潜规则,就是组成栅栏的字母一般不会太多。(一般不超过30个,也就是一、两句话) 比较复杂