发表于 2008-11-10 23:31:43 | 显示全部楼层
密码知识讲座与练习(一)——栅栏密码<入门版>      

一,定义

栅栏密码,就是将需要加密的明文分成N组,每组M个字母(每组字母数可等可不等,一般情况为相等),然后把每组的第I个字母连接在一起并加以整合,形成一行无规律字母序列,用以传送讯息的加密方法。

二,典例

下面以例子为主来具体解释上述定义。

首先是最为常见的2栏密码,例一如下,

明文:I love you.(我爱你)    去间隔,整理成:ILOVEYOU

以两个字母为一组,分成四组:IL OV EY OU

连接每组的第一个字母,得:IOEO

连接每组得第二个字母,得:LVYU

整合成为一行,既得密文:IOEOLVYU

当然,实际中要比这样复杂得多,绝非两组这样简单,比如例二,

明文:I do not know.(我不知道)   整理成:IDONOTKNOW

以五个字母为一组,分成两组:IDONO TKNOW

依次连接,整合成密文:ITDKONNOOW

当然,还有可能会出现总字数为奇数的明文,如例三,

明文:Seeing is beliving.(眼见为实)   整理:SEEINGISBELIEVING

两个一组,从前至后整理:SE EI NG IS BE LI EV IN G

整理得密文:SENIBLEIGEIGSEIVN

三,解密原则及基本解法

原则:组成棚栏的字母个数一般不会太多,一般不超过30个,一般只是一、两句话而已。所以,我们可以通过分析密码的字母个数来解出密码。

基本解法:约数法。

例一解法,

密文:IOEOLVYU    约数1,2,4,8,可能为2栏或4栏密码。

尝试2栏,从中间分隔密码:IOEO LVYU

上下排列,得:I O E O

               L V Y U

按上下上下的顺序依次连接,得ILOVEYOU,即可得明文:I love you.(我爱你)   

关于例二,同理可以尝试2栏或5栏,得出答案,不再赘述。

例三解法,

密文:SENIBLEIGEIGSEIVN      可以看出,明文字数为17,为奇数,如果是两栏(9-8),正好第一栏富裕一个字母,可能就是分隔时出现的多余字母,可以尝试求解,当然,也可以是三栏(6-6-5),前两行富裕字母收尾。

依次尝试即可,两栏:S E N I B L E I G

                     E I G S E I V N  

上下连接既是答案了。如果不行,可尝试其他,总体来看,较为简单。

综上,单纯出现栅栏密码的情况,解法万变不离其宗,当然,这种情况很少,大多数密码会有类似凯撒密码,其他语言或者与汉语拼音相结合,组成较为复杂的密码。

四,基础及提升练习

1,IEHHAITM(基础);

2,TEESCRHRIAA(基础);

3,ASLELNASLAJLLHLWLDCHLVILABEAJKAHEL(提升);

4,QGBKSYSHJIEUEIIIIAN (提升,提示:汉语拼音 )。

[ 本帖最后由 天才 于 2009-1-25 15:25 编辑 ]
本主题帖为【历史主题】,仅楼主发布内容可以浏览。
1 | 楼主| 发表于 2008-11-10 23:32:23 | 显示全部楼层
密码知识讲座与练习(二)——棋盘密码...

首先,我们来看一道简单的题目:21 32 55 53 24 45 23 33 15 (解此密码),答案是fly with me.

想必凡接触过密码一定时间的朋友都会看到过类似的题目,或者此题的作者本身还会以为这是自己的原创,其实这种密码的祖先早在公元前2世纪,希腊人波利比乌斯就发明了这种密码,也就是被后世称作“棋盘密码”的“Polybius方表”。

先来看上题吧,初看,可以总结其特点如下:(1)密文中每两个数字被编做了一组;(2)所有数字本身均在1~5间浮动。

可以结合上述事实做如下猜想:(1)密文以数字代表明文中的字母,极有可能是一组数字表示一个字母;(2)英文有26个字母,应当是数字结合的关键。

如果你的脑子够灵光,你就会想到坐标了,也就是一个5×5的方格,26个字母多出来的Z恰好在英文中是不常用的,可以忽略。当然没想到的朋友也不要灰心,下面就把这个密码的原理和解密过程介绍给大家:



     如上图所示,用每个数字组的第一个数字去对应横行坐标,第二个数字去对应纵行坐标,即可得到明文了:fly with me.

笔者也曾出过一道类似的题目,当然,稍微增加了其难度,有兴趣可以参阅【临终密码之六惊天血案】,链接http://www.tuili.com/bbs/bbsShowDetail.asp?ftitle=临终密码之六惊天血案(★水白夕口★) tl最终悬赏!&act=search&fid=232023&aid=15&bid=31&bname=谜题大全&bmaster=tl,网事无忧321&aname=谜题解析&fz=0&userid=夜云谢过。

下面讲一下正宗的棋盘密码,看下图:



确实如棋盘一样吧?细心的朋友可能发现了,表中的字母i和j在同一位置上,的确,从这个密码诞生伊始就是如此。当然,根据国家间文字的差异,不同国家的人在运用时采取的方法也有不同,德文中也是讲i和j看做一个字母,英文则一般会省略去z,法文消去的是k或者w,意文因为只有21个字母,通常会加一些罗马的符号加以补充,可谓国有国别,文有文异,不再赘述。

这个伟大的发明在如今的我们看似简单,但却成了后世无数种密码的雏形,即被本人称作“衍生物”的各种密码变种,例如19世纪由英国科学家查尔斯发明的“普莱菲尔密码”,一战时期,德军中校弗里茨发明的新五字密码(即ADFGX密码)及后来的变种“ADFGVX密码”,Chase密码,当然夹叉式密码也多少受其影响。至于日历密码,有很多人并不把此归为一类,也就是说学术界还存在一点小争论,不过个人还是把它归到这里。

接下来就介绍一下日历密码和简述普莱菲尔密码。(如想了解更多,直接找我,加我QQ770974088)

一,日历密码

原则:(1)1—26代表a—z26个英文字母;(2)M,T1,W,T2,F,S1,S2分别代表周一到周日七天(英文首字母代替,1,2为了有别,也人为增加密度);(3)密钥即密码表

以2007年11月份的日历为密码表,我们来加密这个单词:dictionary

日历如下图示:



第一步,用数字代替明文中的字母,即D I   C   T   I   O   N   A   R   Y

                                4   9 3 20   9 15   14 1   18 25

第二步,写密文。

方法:例如单词首字母D用4代替,则在日历中找到4号,发现是本月第一个星期日,所以用S21表示;又如第七个字母N用数字14代表,找到14号,发现是本月第二个星期三,用W2代表。如此类推,得到密文如下:

S21 F2 S11 T13 F2 T23 W2 T21 S23 S24

此类密码的解法如下:

(1)首先要知道密钥,即密码表;

(2)其次分解密码中的星期i,即变成星期+数字的形式;

(3)去寻找对应的是第几个出现的星期i,对应日期;

(4)对应字母,练成单词,短语或句子。

二,普莱菲尔密码简述(附加)

因为涉及知识较为专业和复杂,仅在此介绍其加密过程的大概,解法大家可以自己探索成文,也可结合后面习题小试牛刀。

(1)省略Z,编写密码表。

原则:提取明文的不重复字母,例如明文为culture,即CULTURE.编写密码表,即将剩余的25个字母出去已有字母依次写下(同样是五乘五方格):



(2)整理明文。

原则:两个字母一组,出现相邻字母想听的情况或者最后只余下一个字母,加一个字母z作补充,使之成对。即:

CU   LT   UR   EX  

(3)写密文。

原则:1)两字母同行,以右边字母代替原字母;2)两字母同列,一下面的字母代替原字母;3)不同行或同列的两字母,使用对角线横或纵的代替规则。例如最后一组EX,可以按图

替代,当然,可以用S代E,D代X,也可以颠倒,好在只有两种方式,解起来也较为简单。

由此,可得如下的密文:

UL   TR   LC   SD  

一般是五个一组书写出来,即ULTRL CSD

(有兴趣的朋友自己总结一下其解法。)



最后是三个练习题:

1,棋盘密码练习: 13   51   44   42   44   22   43

2,日历密码练习:T13   W1   T22   W1   T22   S21   W1   T13   T22   W1   (密钥:2008年3月份日历)

附图:



3,我曾经破译过的一个普莱菲尔密码:KTYGW   OOKGY   NLHJO   FCMYG   KGLMM   BWF
(密钥:crazy dog)

[ 本帖最后由 天才 于 2008-11-10 23:46 编辑 ]

天才 于 2008-11-10 23:50 对帖子补充以下内容

先闭关一下 还有字数限制,拜拜
1 | 楼主| 发表于 2008-11-11 12:06:51 | 显示全部楼层
密码知识讲座与练习(三)——几种常见的简单加密方式<入门版>
     推理之门——夜云

试解以下的几组密码(答案均为英文单词,词组或句子):

(1)O H Q G P H D K D Q C

(2)M I N M U M X (密钥:cat)

(3)45.23.2.33.1.44.45.44.3.22.23.45

(4)12401011801180212011401804

凭你自己的实力可以解开多少呢?呵呵,下面我们来一起看一下这几个题目并简单介绍它们的“背景”。

其实,给前两个密码加上一个这样的提示,似乎就简单多了:替换。(注:古典密码学分为易位和替换两个部分,易位即在加密过程中改变了字母的位置,如栅栏密码;而替换密码是指字母的本身被其他字母代替,而并不改变其本身的位置,即通俗所讲的移位,应注意区分。)

(1)凯撒密码

伟大的凯撒大帝为了防止出征时军情落入敌手而泄露,首次将这种替换密码用于军事之中。加密过程其实极其简单,只需按照字母表顺序将明文向后移动三位即得密文。

明码表: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 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

题目:O H Q G P H D K D Q C

依上表进行替换,即可解得明文:Lend me a hand(帮个忙).

(2)维德里亚密码

第一台配有打字机的密码机设计者维德里亚的杰作,亦称代数公式密码。以A代表明文,B代表密钥,C代表密文,写出下列的加密公式:A+B=C,其中密文字母变换成数字重复使用,得出的数字在25上则需要减去25。

其中,A、B对应的数字均以下表为标准:



题目:M I N M U M X (密钥:cat)

解密码,依B-C=A,例如M=12,C=2,M-C=10,即K;又如,M=12,T=20,L-T=-8,-8+26=18,即S,同理可得明文:Kiss me(亲亲我).

(3)元音密码

在给龙琦的题目 http://www.tuili.com/bbs/bbsShowDetail.asp?ftitle= 赠龙琦的密码题(一)<答案已给出!请见第22楼>&act=search&fid=236282&aid=15&bid=31&bname=谜题大全&bmaster=tl,艾米&aname=谜题解析&fz=0&userid=夜云中已经提到了,这里再详细解释一下。

元音密码的原则很简单,即将五个元音字母分别标号1,2,3,4,5,然后将26个英文字母的对应表码写成如下的形式:



然后进行加密即可。

题目:45.23.2.33.1.44.45.44.3.22.23.45

对应上表解出明文:the last sight(最后一面).

需要说明的是,元音字母因为密文中只含有1,2,3,4,5五个数字而且时常出现个位数,因此很容易破解,有时候可以将1,2,3,4,5变为10,20,30,40,50等,也可变成如同棋盘密码密文的形式来对解密者进行干扰。

(4)云影密码

此密码运用了1248代码,因为本人才疏学浅,尚未发现有过使用的先例,因此暂归为原创密码,若有密码界前辈认为不妥,请指出此密码或类似密码的普遍使用历史并附寄一份到我站内邮箱,我将以最快速度核查并改正。由于这个密码,我和片风云影初识,为了纪念,将其命名为“云影密码”,原文请见 http://www.tuili.com/bbs/bbsShowDetail.asp?ftitle= 临终密码之一芝麻开门(答案已公布,见原帖中)   tl悬赏!&act=search&fid=230689&aid=15&bid=31&bname=谜题大全&bmaster=tl,艾米&aname=谜题解析&fz=0&userid=夜云。

原理很简单,有了1,2,4,8这四个简单的数字,你可以以加法表示出0-9任何一个数字,例如0=28,7=124,9=18。
这样,再用1-26来表示A-Z,就可以用作密码了。
为了不至于混乱,我个人引入了第五个数字0,来用作间隔,以避免翻译错误,所以还可以称“01248密码”。

题目:12401011801180212011401804

第一步,分割,即124   1   118   118   212   114   18   4

第二步,基本翻译,例如124可以表示7,也可以表示16(但不可能是34,因为不会超过26),所以可以放在一边,翻译其他没有异议的,可得:124   a   s   s   w   o   18   d

第三步,推测得出明文。可以推测后面的18表示r,前面的为p最合适。

明文:password(密码).

(五)四位乘法密码——(密文:I Q V L N J O P X;密钥:1234)

自古密文的传递者最担心的就是密文和密钥同时落入敌手,这样,密码的效应也就所剩无几了,所以通常会将两样东西以不同的方式在不同的时间进行传送。但是,后来有一个叫前天淫次郎的日本鬼子发明了一种加密方式,这种加密方式使得即使密钥落入敌手也不会轻易暴露,一时很令敌手头疼。

这种加密方式的关键是密钥,简短但是实用。下面介绍其使用及破译方法:

首先,任意选取一个个十百位数均无零的四位数,如题目中的密钥,即1234;

其次,将上述四位数做平方处理,即1234×1234=1522756,取中间三位数,即227;

再次,用所得数字与1234相乘,即227×1234=280118,取“中间三位”(之前传递和接收密文的双方要有所约定比如遇到像280118这样的数字,是取‘801’还是取‘011’),这里取801;

依次类推,直到所得的三位数所含数字总个数大于或等于密文的字母个数为止,即801×1234=988434,取884。
这样,最终得到的一组码是227801884。

最后,将这组码标在密文下,向前推相应的位数即可得到明文,即

密文:I Q V L N J O P X
密钥:2 2 7 8 0 1 8 8 4
明文:g o o d n i g h t(Good night!)

(六)费娜姆密码(密码:00110110010001001100100010000010110;密钥:study)

二战时德军使用过的一种密码,其实是利用了二进制的表示法来替代字母,有如下的表格作为基础:

A 1000001 B 1000010 C 1000011 D 1000100 E 1000101 F 1000110 G 1000111 H 1001000 I 1001001 J 1001010

K 1001011 L 1001100 M 1001101 N 1001110 O 1001111 P 1010000 Q 1010001 R 1010010 S 1010011 T 1010100

U 1010101 V 1010110 W 1010111 X 1011000 Y 1011001 Z 1011010

那么,比如我们要加密“Hello”,密钥用“study”,则以如下方式进行加密:

H E L L O = 1001000 1000101 1001100 1001100 1001111
S T U D Y = 1010011 1010100 1010101 1000100 1011001

加密原则:1+1=0,0+0=0,1+0=1

于是得密文:00110110010001001100100010000010110

那么解题目中的密文,需要遵循以下几个原则和步骤,

1,划分,即每七个数字为一组;

2,对应,找出密文每个字母对应的数字,再与上述数字对应;

3,转换,遵循上述加密原则,逆用即可;

4,解密,得出新的一组数字,对应字母,得出明文。

附:

一般密码的解题原则

1)观察,观察是最为重要的,一切的思索都必须建立在这个客观现实之上,因此,只有细心观察,才有可能走好下一步,观察的重点是这个密码的特点,所谓特点,就是不同之处,没有什么严格的规定,甚至可以说所有让你起疑的地方都是特点;

2)联想,联想是个复杂的问题,因为既要从以前看过的所有题目中找出相似之处,以寻找解题的突破口,又要从题目的特点出发,寻找题目可以结合的知识点,如可以用到的工具,可以参考的资料等等;

3)冥想,这个不多说,解密码和做推理题不同,更多需要的不是知识,而是灵感,灵感的来源不是你我可以把握的,但是有一点可以肯定,一个熟练的密码破译者往往会被灵感光顾;

4)试验,总结出你认为的可能性,从概率最大的一点开始,逐一试验,但是你要明白,也许所有的工作都是徒劳,但是你必须坚持!

以一下的一个题目为例说明:2,9;12,16,8;16,11,9;4,3,26(一位朋友的原创题目)

1)观察:特点整理,“;”的位置;数字含一位和两位数,均在26之内(包括26);

2)联想:根据“;”位置,联想有可能是作为间隔符号使用,而数字对应的可能是26个字母之中,但是,对应起来毫无意义,又无密钥,所以绝非直接对应那么简单,其中一定有转换的工具或者资料等等,从这个思路出发,想到目的是为了用数字表示字母,想到可能是手机或者电脑键盘;

3)冥想,这个来源于你的灵感,自己自有分辨,例如对于我来说,发现在键盘上,2下面(斜着看)字母是W,9下面字母是O,又想到分号做分隔符,那么可能就是wo“我”,这样就可以得到启发,也许答案的关键就在键盘上。

4)试验,按上述方法处理一下密文,w o ; 12 16 i ; 16 11 o ; r e 26,从最后一组入手,可以推测25表示的是n,这样组成“ren”,那么6下面第三位是n,其实也就是将6对应的y下移了2位,那么也许这就是26的来源,那12可能就是w下移一位,即s,同理,16表示h,原文其义自现:wo shi hao ren(我是好人)。

坚持不懈,多多练习,长此以往,必见成效!
1 | 楼主| 发表于 2008-11-11 12:07:23 | 显示全部楼层
密码学大事年表(欧美版)

公元前5世纪     最早的换位密码出现     古希腊斯巴达出现原始密码器

公元前2世纪     棋盘密码出现     古希腊的波利比乌斯发明了棋盘密码

公元前1世纪     凯撒密码出现     高卢战争中,由凯撒大帝发明的一种简单易行的替代密码

公元5世纪左右   九宫格密码出现   民间团体“共济会”为了便于秘密交流发明的图形密码

公元9世纪       阿拉伯的密码学家阿尔·金迪,提出解密的频度分析方法,通过分析计算密文字符出现的频率破译密码。


公元16世纪

中期          较早的分置式密码出现   意大利数学家卡尔达诺发明了“漏隔板”,用以加密

晚期          英国的菲利普斯利用频度分析法成功破解苏格兰女王玛丽的密码信,信中策划暗杀英国女 王伊丽莎白,这次解密将玛丽送上了断头台。

              维热纳尔密码出现    法国外交官发明的多表加密替代密码

公元19世纪

1            普莱菲尔密码出现    英国查尔斯.慧斯通发明,用于政府及军方情报

2            博福特密码出现     英国上将弗朗西斯发明

3            Chase密码出现     美国人普利尼.厄尔.切斯发明

4            普鲁士少校卡西斯基(Kasiski)首次从关键词的长度着手将它破解。英国的巴贝奇(Charles Babbage)通过仔细分析编码字母的结构也将维热纳尔密码破解。


公元20世纪  

1            公元20世纪初,第一次世界大战进行到关键时刻,英国破译密码的专门机构“40号房间”利用缴获的德国密码本破译了著名的“齐默尔曼电报”,促使美国放弃中立参战,改变了战争进程。

2            一次性便笺密码出现   美国数学家吉尔波特发明,被誉为“密码编码学圣杯”

3            夹叉式密码出现    前苏联在战争中使用

4            第二次世界大战中,在破译德国著名的“恩格玛(Enigma)”密码机密码过程中,原本是以语言学家和人文学者为主的解码团队中加入了数学家和科学家。电脑之父亚伦·图灵(Alan Mathison Turing)就是在这个时候加入了解码队伍,发明了一套更高明的解码方法。同时,这支优秀的队伍设计了人类的第一部电脑来协助破解工作。显然,越来越普及的计算机也是军工转民用产品。美国人破译了被称为“紫密”的日本“九七式”密码机密码。靠前者,德国的许多重大军事行动对盟军都不成为秘密;靠后者,美军炸死了偷袭珍珠港的元凶日本舰队总司令山本五十六。

5            同样在二次世界大战中,印第安纳瓦霍土著语言被美军用作密码,从吴宇森导演的《风语者》Windtalkers中能窥其一二。所谓风语者,是指美国二战时候特别征摹使用的印第安纳瓦约(Navajo)通信兵。在二次世界大战日美的太平洋战场上,美国海军军部让北墨西哥和亚历桑那印第安纳瓦约族人使用约瓦纳语进行情报传递。纳瓦约语的语法、音调及词汇都极为独特,不为世人所知道,当时纳瓦约族以外的美国人中,能听懂这种语言的也就一二十人。这是密码学和语言学的成功结合,纳瓦霍语密码成为历史上从未被破译的密码。

6            1975年1月15日,对计算机系统和网络进行加密的DES(Data Encryption Standard数据加密标准)由美国国家标准局颁布为国家标准,这是密码术历史上一个具有里程碑意义的事件。

7            1976年,当时在美国斯坦福大学的迪菲(Diffie)和赫尔曼(Hellman)两人提出了公开密钥密码的新思想(论文"New Direction in Cryptography"),把密钥分为加密的公钥和解密的私钥,这是密码学的一场革命。

8            1977年,美国的里维斯特(Ronald Rivest)、沙米尔(Adi Shamir)和阿德勒曼(Len Adleman)提出第一个较完善的公钥密码体制——RSA体制,这是一种建立在大数因子分解基础上的算法。

9            1985年,英国牛津大学物理学家戴维·多伊奇(David Deutsch)提出量子计算机的初步设想,这种计算机一旦造出来,可在30秒钟内完成传统计算机要花上100亿年才能完成的大数因子分解,从而破解RSA运用这个大数产生公钥来加密的信息。

             同一年,美国的贝内特(Bennet)根据他关于量子密码术的协议,在实验室第一次实现了量子密码加密信息的通信。尽管通信距离只有30厘米,但它证明了量子密码术的实用性。与一次性便笺密码结合,同样利用量子的神奇物理特性,可产生连量子计算机也无法破译的绝对安全的密码。

21世纪

2003,位于日内瓦的id Quantique公司和位于纽约的MagiQ技术公司,推出了传送量子密钥的距离超越了贝内特实验中30厘米的商业产品。日本电气公司在创纪录的150公里传送距离的演示后,最早将在明年向市场推出产品。IBM、富士通和东芝等企业也在积极进行研发。目前,市面上的产品能够将密钥通过光纤传送几十公里。美国的国家安全局和美联储都在考虑购买这种产品。MagiQ公司的一套系统价格在7万美元到10万美元之间。


(全文完)

天才 于 2008-11-11 13:00 对帖子补充以下内容

怎么没有人顶一下????????????!!!!!!!!!!
| 楼主| 发表于 2008-12-18 19:08:29 | 显示全部楼层
终于有人来了!!!看时间过了有1个多月呀!
| 楼主| 发表于 2008-12-20 23:59:29 | 显示全部楼层
2楼谢了,感谢你顶上去!
尚未登录
您需要登录后才可以回帖 登录 | 加入学院