公元前405年,雅典和斯巴达之间的伯罗奔尼撒战争已进入尾声。斯巴达军队逐渐占据了优势地位,准备对雅典发动最后一击。这时,原来站在斯巴达一边的波斯帝国突然改变态度,停止了对斯巴达的援助,意图是使雅典和斯巴达在持续的战争中两败俱伤,以便从中渔利。在这种情况下,斯巴达急需摸清波斯帝国的具体行动计划,以便采取新的战略方针。正在这时,斯巴达军队捕获了一名从波斯帝国回雅典送信的雅典信使。斯巴达士兵仔细搜查这名信使,可搜查了好大一阵,除了从他身上搜出一条布满杂乱无章的希腊字母的普通腰带外,别无他获。情报究竟藏在什么地方呢?斯巴达军队统帅莱桑德把注意力集中到了那条腰带上,情报一定就在那些杂乱的字母之中。他反复琢磨研究这些天书似的文字,把腰带上的字母用各种方法重新排列组合,怎么也解不出来。最后,莱桑德失去了信心,他一边摆弄着那条腰带,一边思考着弄到情报的其他途径。当他无意中把腰带呈螺旋形缠绕在手中的剑鞘上时,奇迹出现了。原来腰带上那些杂乱无章的字母,竟组成了一段文字。这便是雅典间谍送回的一份情报,它告诉雅典,波斯军队准备在斯巴达军队发起最后攻击时,突然对斯巴达军队进行袭击。斯巴达军队根据这份情报马上改变了作战计划,先以迅雷不及掩耳之势攻击毫无防备的波斯军队,并一举将它击溃,解除了后顾之忧。随后,斯巴达军队回师征伐雅典,终于取得了战争的最后胜利。 雅典间谍送回的腰带情报,就是世界上最早的密码情报,具体运用方法是,通信双方首先约定密码解读规则,然后通信—方将腰带(或羊皮等其他东西)缠绕在约定长度和粗细的木棍上书写。收信—方接到后,如不把腰带缠绕在同样长度和粗细的木棍上,就只能看到一些毫无规则的字母。后来,这种密码通信方式在希腊广为流传。现代的密码电报,据说就是受了它的启发而发明的。 “密码”一词对人们来说并不陌生,人们可以举出许多有关使用密码的例子。如保密通信设备中使用“密码”,个人在银行取款使用“密码”,在计算机登录和屏幕保护中使用“密码”,开启保险箱使用“密码”,儿童玩电子游戏中使用“密码”等等。这里指的是一种特定的暗号或口令字。现代的密码已经比古代有了长远的发展,并逐渐形成一门科学,吸引着越来越多的人们为之奋斗。 密码的组成 密码是按特定法则编成,用以对通信双方的信息进行明密变换的符号。换而言之,密码是隐蔽了真实内容的符号序列。就是把用公开的、标准的信息编码表示的信息通过一种变换手段,将其变为除通信双方以外其他人所不能读懂的信息编码,这种独特的信息编码就是密码。 密码是一门科学,有着悠久的历史。密码在古代就被用于传递秘密消息。在近代和现代战争中,传递情报和指挥战争均离不开密码,外交斗争中也离不开密码。密码一般用于信息通信传输过程中的保密和存储中的保密。随着计算机和信息技术的发展,密码技术的发展也非常迅速,应用领域不断扩展。密码除了用于信息加密外,也用于数据信息签名和安全认证。这样,密码的应用也不再只局限于为军事、外交斗争服务,它也广泛应用在社会和经济活动中。当今世界已经出现了密码应用的社会化和个人化趋势。例如:可以将密码技术应用在电子商务中,对网上交易双方的身份和商业信用进行识别,防止网上电子商务中的“黑客”和欺诈行为;应用于增值税发票中,可以防伪、防篡改,杜绝了各种利用增值税发票偷、漏、逃、骗国家税收的行为,并大大方便了税务稽查;应用于银行支票鉴别中,可以大大降低利用假支票进行金融诈骗的金融犯罪行为;应用于个人移动通信中,大大增强了通信信息的保密性等等。 据路透社4日报道,英国安全局近日解密的一批文件,首次向世人展示了英国情报部门的工作成果。破译“裙中密码”就是其中著名的一起。 黑客密码密码的应用裙中藏玄机 二战期间,纳粹特工在探测盟军机密军事情报后,将这些情报传递给他们的负责人,从而决定作战方针。一次,盟军的检查员截获了一张设计图纸。这张设计草图上是3位年轻的模特,她们穿着时尚的服装。 表面上看起来,设计草图很寻常,然而这张看似“清白”的图纸没能瞒过英国反间谍专家们的眼睛。英国安全局的官员们识破了纳粹特工的诡计,命令密码破译员和检查员迅速破译这些密码。 大批敌方援军随时可能到来。”最终从这张设计图纸上密码破译员们读出了这样的信息。 原来纳粹特工利用莫尔斯电码的点和长横等符号作为密码,把这些密码做成装饰图案,藏在图上诸如模特的长裙、外套和帽子等图案中。 手段多种多样 解密文件还展示了纳粹特工其他巧妙的传递情报的方法。为了把情报伪装得“天衣无缝”从而顺利寄出,纳粹特工可谓是殚精竭虑。 隐形的墨水、针刺的小孔以及字母的凹进都是他们的惯用伎俩。纳粹特工利用这些暗示告知军队活动、轰炸式袭击和军舰建造的具体细节。 他们还会把密码藏在活页乐谱、教你下象棋的描述以及速记符号里面。这些带密码的情报被伪装成普通书信。 有时他们把明信片加厚一层,在夹层中塞满极其薄的纸片和文书。种种稀奇古怪的手段让人防不胜防。 老马也失蹄 纳粹特工还利用字母表“作弊”。看起来只是一份普通的信件,但你把每个单词的第一个字母拼起来,就是一封“机密情报”。 两名德国特务1942年被捕,他们向英国情报部门坦白了这种藏匿密码的方法。然而,英国情报部门两次都与这样的机密文件失之交臂,让情报流传了出去。原因是,他们认为不再会有这种藏匿情报的方法,所以并未把那两封信当成机密文件处理。 这种密码藏在一封“休伯特”写给“珍妮特”姑妈的信中。信中暗藏的情报是“14架波音堡垒式轰炸机昨日抵达伦敦。飞行员将空袭基尔(德国城市)”。 英国战时情报侦察负责人大卫·皮特里曾尴尬地承认这两次失败“有点烦人”。 但随着战争的发展,反间谍官员们也发明了种种探测可疑信件的方法。 证据确凿的纳粹特工信件通常包括:文字散漫而没有重点,信寄往中立国而信封上贴着大量的邮票。 书信中有艰深难懂又少用的短语是暗藏密码的标志之一。 而信件中人员的罗列和大段关于桥牌的内容也会引起怀疑。
加密方法 。RSA算法 RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。 RSA的算法涉及三个参数,n、e1、e2。 其中,n是两个大质数p、q的积,n的二进制表示时所占用的位数,就是所谓的密钥长度。 e1和e2是一对相关的值,e1可以任意取,但要求e1与(p-1)*(q-1)互质(互质:两个正整数只有公约数1时,他们的关系叫互质);再选择e2,要求(e2*e1)mod((p-1)*(q-1))=1。 (n及e1),(n及e2)就是密钥对。 RSA加解密的算法完全相同,设A为明文,B为密文,则:A=B^e1 mod n;B=A^e2 mod n; e1和e2可以互换使用,即: A=B^e2 mod n;B=A^e1 mod n; 1.RSA非对称加密的一些非常规应用 http://www.icylife.net/yunshu/show.php?id=471 2.RSA的解释 http://hi.baidu.com/yhgzi/blog/item/55a6b6641a4a63f5f7365431.html 。四方密码 四方密码用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 WO a b c d e R D A BC 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 NO 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 [编辑]二方密码 二方密码(en:Two-square_cipher)比四方密码用更少的矩阵。 得出加密矩阵的方法和四方密码一样。 例如用「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 。替换加密法 用一个字符替换另一个字符的加密方法。 。换位加密法 重新排列明文中的字母位置的加密法。 。回转轮加密法 一种多码加密法,它是用多个回转轮,每个回转轮实现单码加密。这些回转轮可以组合在一起,在每个字母加密后产生一种新的替换模式。 。多码加密法 一种加密法,其替换形式是:可以用多个字母来替换明文中的一个字母。 。换位加密法 重新排列明文中的字母位置的加密法。 。夹带法 通过隐藏消息的存在来隐藏消息的方法。 。Kasiski法 于19世纪由波兰的一个军官发现的,这种方法通过查看重复密文部分,来发现多码密钥的长度。 。三分密码 首先随意制造一个3个3×3的Polybius方格替代密码,包括26个英文字母和一个符号。然后写出要加密的讯息的三维坐标。讯息和坐标四个一列排起,再顺序取横行的数字,三个一组分开,将这三个数字当成坐标,找出对应的字母,便得到密文。 。仿射密码 仿射密码是一种替换密码。它是一个字母对一个字母的。 它的加密函数是<math>e(x)=ax+b\pmod</math>,其中 <math>a</math>和<math>m</math>互质。 <math>m</math>是字母的数目。 译码函数是<math>d(x)=a^(x-b)\pmod</math>,其中<math>a^</math>是<math>a</math>在<math>\mathbb_</math>群的乘法逆元。 。波雷费密码 1选取一个英文字作密匙。除去重复出现的字母。将密匙的字母逐个逐个加入5×5的矩阵内,剩下的空间将未加入的英文字母依a-z的顺序加入。(将Q去除,或将I和J视作同一字。) 2将要加密的讯息分成两个一组。若组内的字母相同,将X(或Q)加到该组的第一个字母后,重新分组。若剩下一个字,也加入X字。 3在每组中,找出两个字母在矩阵中的地方。 若两个字母不同行也不同列,在矩阵中找出另外两个字母,使这四个字母成为一个长方形的四个角。 若两个字母同行,取这两个字母右方的字母(若字母在最右方则取最左方的字母)。 若两个字母同列,取这两个字母下方的字母(若字母在最下方则取最上方的字母)。 新找到的两个字母就是原本的两个字母加密的结果。 。RC5 1、创建密钥组,RC5算法加密时使用了2r+2个密钥相关的的32位字: ,这里r表示加密的轮数。创建这个密钥组的过程是非常复杂的但也是直接的,首先将密钥字节拷贝到32位字的数组L中(此时要注意处理器是little-endian顺序还是big-endian顺序),如果需要,最后一个字可以用零填充。然后利用线性同余发生器模2初始化数组S: 对于i=1到2(r+1)-1: (本应模 ,本文中令w=32) 其中对于16位字32位分组的RC5,P=0xb7e1 Q=0x9e37 对于32位字和64位分组的RC5,P=0xb7e15163 Q=0x9e3779b9 对于64位字和128位分组,P=0xb7151628aed2a6b Q=0x9e3779b97f4a7c15 最后将L与S混合,混合过程如下: i=j=0 A=B=0 处理3n次(这里n是2(r+1)和c中的最大值,其中c表示输入的密钥字的个数) 2、加密处理,在创建完密钥组后开始进行对明文的加密,加密时,首先将明文分组划分为两个32位字:A和B(在假设处理器字节顺序是little-endian、w=32的情况下,第一个明文字节进入A的最低字节,第四个明文字节进入A的最高字节,第五个明文字节进入B的最低字节,以此类推),其中操作符<<<表示循环左移,加运算是模 (本应模 ,本文中令w=32)的。 输出的密文是在寄存器A和B中的内容 3、解密处理,解密也是很容易的,把密文分组划分为两个字:A和B(存储方式和加密一样),这里符合>>>是循环右移,减运算也是模 (本应模 ,本文中令w=32)的。 。ADFGVX密码 假设我们需要发送明文讯息 "Attack at once", 用一套秘密混杂的字母表填满 Polybius 方格,像是这样: 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 i 和 j 视为同个字,使字母数量符合 5 × 5 格。之所以选择这五个字母,是因为它们译成摩斯密码时不容易混淆,可以降低传输错误的机率。使用这个方格,找出明文字母在这个方格的位置,再以那个字母所在的栏名称和列名称代替这个字母。可将该讯息可以转换成处理过的分解形式。 A T T A C K A T O N C E AF AD AD AF GF DX AF AD DF FX GF XF 下一步,利用一个移位钥匙加密。假设钥匙字是「CARGO」,将之写在新格子的第一列。再将上一阶段的密码文一列一列写进新方格里。 C A R G O _________ A F A D A D A F G F D X A F A D D F F X G F X F X 最后,按照钥匙字字母顺序「ACGOR」依次抄下该字下整行讯息,形成新密文。如下: FAXDF ADDDG DGFFF AFAXX AFAFX 在实际应用中,移位钥匙字通常有两打字符那么长,且分解钥匙和移位钥匙都是每天更换的。 ADFGVX 在 1918年 6月,再加入一个字 V 扩充。变成以 6 × 6 格共 36 个字符加密。这使得所有英文字母(不再将 I 和 J 视为同一个字)以及数字 0 到 9 都可混合使用。这次增改是因为以原来的加密法发送含有大量数字的简短信息有问题。 。希尔密码 加密 例如:密钥矩阵 1 3 0 2 明文:HI THERE 去空格,2个字母一组,根据字母表顺序换成矩阵数值如下,末尾的E为填充字元: HI TH ER EE 8 20 5 5 9 8 18 5 HI 经过矩阵运算转换为 IS,具体算法参考下面的说明: |1 3| 8 e1*8+3*9=35 MOD26=9 =I |0 2| 9 e0*8+2*9=18 MOD26=18=S 用同样的方法把“HI THERE”转换为密文“IS RPGJTJ”,注意明文中的两个E分别变为密文中的G和T。 解密 解密时,必须先算出密钥的逆矩阵,然后再根据加密的过程做逆运算。 逆矩阵算法公式: |A B| = 1/(AD-BC) * | D -B| |C D| |-C A| 例如密钥矩阵= |1 7| |0 3| AD-BC=1*3-0*7=3 3*X=1 mod26 所以 X=9 因此 |1 7| 的逆矩阵为: 9 * |3 -7| |0 3| |0 1| 假设密文为“FOAOESWO” FO AO ES WO 6 1 5 23 15 15 19 15 9* |3 -7| | 6| = 9*(3*6-7*15)=-783 mod26 = 23=W |0 1| |15| = 9*(0*6+1*15)= 135 mod26 = 5 =E 所以密文“FOAOESWO”的明文为“WEREDONE” 。维热纳尔方阵 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 著名的维热纳尔方阵由密码学家维热纳尔编制,大体与凯撒加密法类似。即二人相约好一个密钥(单词 ),然后把加密后内容给对方,之后对方即可按密码表译出明文。 密钥一般为一个单词,加密时依次按照密钥的每个字母对照明码行加密。 例如:我的密钥是who,要加密的内容是I love you,则加密后就是E SCRL MKB.即加密I,就从密钥第一个字母打头的w那行找明码行的I对应的字母,即E。加密l,就从密钥第2个字母打头的h那行找明码l对应的字母,S。加密o,从密钥第三个字母O打头的那行找到明码行中o对应的字母,C。加密v,就又从密钥第一个字母w打头的那行找到明码行中v对应的字母,R。 依此类推。 所以由维热纳尔方阵加密的密码,在没有密钥的情况下给破译带来了不小的困难。 维热纳尔方阵很完美的避开了概率算法(按每个语种中每个字母出现的概率推算。例如英语中最多的是e),使当时的密码破译师必须重新找到新方法破译。 。栅栏加密法 栅栏加密法是一种比较简单快捷的加密方法。栅栏加密法就是把要被加密的文件按照一上一下的写法写出来,再把第二行的文字排列到第一行的后面。 相应的,破译方法就是把文字从中间分开,分成2行,然后插入。 栅栏加密法一般配合其他方法进行加密。 例: 加密information 分行 i f r a i n n o m t o 合并 ifrainnomto 完成~ 。埃特巴什码 埃特巴什码是一个系统:最后一个字母代表第一个字母,倒数第二个字母代表第二个字母。 在罗马字母表中,它是这样出现的: 常文: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 密文:Z Y X W V U T S R Q P O N M L K J I H G F E D C B A 这种密码是由熊斐特博士发现的。熊斐特博士为库姆兰《死海古卷》的最初研究者之一,他在《圣经》历史研究方面最有名气的著作是《逾越节的阴谋》。他运用这种密码来研究别人利用其他方法不能破解的那些经文。这种密码被运用在公元1世纪的艾赛尼/萨多吉/拿撒勒教派的经文中,用以隐藏姓名。其实早在公元前500年,它就被抄经人用来写作《耶利米书》〔1〕耶利米是活动在公元前627-前586年间的犹太先知,圣经旧约书中有许多关于他的记载。在他离世前,犹太领土已被巴比伦人占领。〔1〕。它也是希伯来文所用的数种密码系统之一。 白金特、雷伊和林肯在《弥赛亚的遗产》中写道,熊斐特博士于《艾赛尼派的奥德赛》一书中描述他如何对圣殿骑士们崇拜的鲍芙默神痴迷,又如何用埃特巴什码分析这个词。令他惊奇的是,破译出的词“Sophia”为希腊语中的“智慧”。 在希伯来语中,“Baphomet”一词拼写如下——要记住,希伯来语句必须从右向左读: 〔 taf 〕 〔 mem 〕 〔 vav 〕 〔 pe 〕 〔 bet 〕 将埃特巴什码用于上述字母,熊斐特博士得到如下结果: 〔 alef 〕 〔 yud 〕 〔 pe 〕 〔 vav 〕 〔 shin 〕 即为用希伯来语从右向左书写的希腊词“Sophia”。 Sophia的词义不仅限于“智慧”。它还是一位女神的名字——这位女神照说应该是上帝的新娘。许多人相信,圣殿骑士们崇拜这位女神。〔1〕作者引用的是诺斯替学派的神话:“不可知解”的至尊上帝,“源化”出最早的几位亚神,最后一位就是索菲亚——“智慧”。她极求得到对上帝“神质”的“真知”——她名字第二意义的来源,而这种不合神性的欲望“孕生”了邪神,即创造宇宙的另一位“上帝”。诺斯替派将他等同于旧约中的上帝,来解释亚当夏娃堕降尘间和大洪水的事件。〔1〕 圣殿骑士们通晓埃特巴什码的事实,强烈表明有些来自一个拿撒勒教派的人置身于圣殿骑士中间。 丹·布朗关于英语是“最纯洁的”语言的观念可能是空想的,但并不是什么新理论。莱纳堡附近有个叫做莱纳浴泉的村庄,那里的神父亨利·布德写过一本名为《真实的凯尔特语》的书,也声称英语是一种神圣的语言,或许在“巴比伦塔”〔2〕用方舟拯救人类的诺亚,有一支后代在巴比鲁尼亚定居。他们在史纳尔平原建造高塔,试图攀登天界。恼怒的上帝分化了在此之前统一使用的语言,而交流不通引发的混乱和争执使人前功尽弃。〔2〕堕毁前就已得到使用。据说,这本书从字面上是不能理解的,它是用密码写成的,传达一个不同的信息。我们还应该记住,与其他的一些欧洲语言一样,英语的许多词汇源于拉丁。正如翠茜·特威曼在《达戈贝特复仇记》杂志中指出的那样,英语因为有26个字母,可以完美地用于埃特巴什码。其他欧洲语言所用的字母则不成偶数。此外,她始终认为郇山隐修会偏爱英语 。针孔加密法 这种加密法诞生于近代。由于当时邮费很贵,但是寄送报纸则花费很少。于是人们便在报纸上用针在需要的字下面刺一个孔,等到寄到收信人手里,收信人再把刺有孔的文字依次排列,连成文章。 现在已经很少使用这种加密了(我同学曾经用这种方法传情书....囧)。 [编辑本段]加密方法概况 DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合; 3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高; RC2和 RC4:用变长密钥对大量数据进行加密,比 DES 快; IDEA(International Data Encryption Algorithm)国际数据加密算法,使用 128 位密钥提供非常强的安全性; RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件快的长度也是可变的; DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准); AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高,目前 AES 标准的一个实现是 Rijndael 算法; BLOWFISH,它使用变长的密钥,长度可达448位,运行速度很快; 其它算法,如XOR 、MD5、SHA1、C#、ElGamal、Deffie-Hellman、新型椭圆曲线算法ECC等。 密码现在运用于电脑里的文件保护,防止外人偷看你的东西。 莫尔斯电码 莫尔斯电码是美国人莫尔斯于1844年发明的。 莫尔斯电码的历史 最早的莫尔斯电码是一些表示数字的点和划。数字对应单词,需要查找一本代码表才能知道每个词对应的数。用一个电键可以敲击出点、划以及中间的停顿。 虽然莫尔斯发明了电报,但他缺乏相关的专门技术。他与Alfred Vail签定了一个协议,让他帮自己制造更加实用的设备。Vail构思了一个方案,通过点、划和中间的停顿,可以让每个字符和标点符号彼此独立地发送出去。他们达成一致,同意把这种标识不同符号的方案放到摩尔斯的专利中。这就是现在我们所熟知的美式摩尔斯电码,它被用来传送了世界上第一条电报。 这种代码可以用一种音调平稳时断时续的无线电信号来传送,通常被称做连续波(Continuous Wave),缩写为CW。它可以是电报电线里的电子脉冲,也可以是一种机械的或视觉的信号(比如闪光)。 一般来说,任何一种能把书面字符用可变长度的信号表示的编码方式都可以称为莫尔斯电码。但现在这一术语只用来特指两种表示英语字母和符号的摩尔斯电码:美式莫尔斯电码被使用了在有线电报通信系统;今天还在使用的国际莫尔斯电码则只使用点和划(去掉了停顿)。 电报公司根据要发的信的长度收费。商业代码精心设计了五个字符组成一组的代码,做为一个单词发送。比如:BYOXO ("Are you trying to crawl out of it?";LIOUY ("Why do you not answer my question?",;AYYLU ("Not clearly coded, repeat more clearly."。这些五个字符的简语可以用莫尔斯电码单独发送。在网络用辞中,我们也会说一些最常用的莫尔斯商用代码。现在仍然在业余无线电中使用的有Q简语和Z简语:他们最初是为报务员之间交流通信质量、频率变更、电报编号等信息服务的。 1838年1月8日,Alfred Vail展示了一种使用点和划的电报码,这是摩尔斯电码前身。 作为一种信息编码标准,莫尔斯电码拥有其他编码方案无法超越的长久的生命。莫尔斯电码在海事通讯中被作为国际标准一直使用到1999年。1997年,当法国海军停止使用莫尔斯电码时,发送的最后一条消息是:“所有人注意,这是我们在永远沉寂之前最后的一声呐喊”! 莫尔斯电码由点(.)、划(-)两种符号按以下原则组成: 1,一点为一基本信号单位,每一划的时间长度相当于3点的时间长度。 2,在一个字母或数字内,各点、各划之间的间隔应为两点的长度。 3,字母(数字)与字母(数字)之间的间隔为7点的长度。 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 ----- ? ··--·· / -··-· () -·--·- - -····- . ·-·-·- 还有一种表示莫尔斯密码的方法:将旗子向左划表示一横,向右表示一点。这种方法已经没多少人知道了。 几种常见密码形式: 1、栅栏易位法。 即把将要传递的信息中的字母交替排成上下两行,再将下面一行字母排在上面一行的后边,从而形成一段密码。 举例: 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. 2、恺撒移位密码。 也就是一种最简单的错位法,将字母表前移或者后错几位,例如: 明码表:ABCDEFGHIJKLMNOPQRSTUVWXYZ 密码表:DEFGHIJKLMNOPQRSTUVWXYZABC 这就形成了一个简单的密码表,如果我想写frzy(即明文),那么对照上面密码表编成密码也就是iucb(即密文)了。密码表可以自己选择移几位,移动的位数也就是密钥。 3、进制转换密码。 比如给你一堆数字,乍一看头晕晕的,你可以观察数字的规律,将其转换为10进制数字,然后按照每个数字在字母表中的排列顺序,拼出正确字母。 举例:110 10010 11010 11001 解: 很明显,这些数字都是由1和0组成,那么你很快联想到什么?二进制数,是不是?嗯,那么就试着把这些数字转换成十进制试试,得到数字6 18 26 25,对应字母表,破解出明文为frzy,呵呵~ 4、字母频率密码。 关于词频问题的密码,我在这里提供英文字母的出现频率给大家,其中数字全部是出现的百分比: a 8.2 b 1.5 c 2.8 d 4.3 e 12.7 f 2.2 g 2.0 h 6.1 i 7.0 j 0.2 k 0.8 l 4.0 m 2.4 n 6.7 o 7.5 p 1.9 q 0.1 r 6.0 s 6.3 t 9.1 u 2.8 v 1.0 w 2.4 x 0.2 y 2.0 z 0.1 词频法其实就是计算各个字母在文章中的出现频率,然后大概猜测出明码表,最后验证自己的推算是否正确。这种方法由于要统计字母出现频率,需要花费时间较长,本人在此不举例和出题了,有兴趣的话,参考《跳舞的小人》和《金甲虫》。 5、维热纳尔方阵。 上面所说的频率分析,很容易破解较长篇幅的密文,于是维热纳尔继承前人的经验,创造出了这个维热纳尔方阵,从而克服了词频分析轻易能够破解密码的弊端,成为一种较为强大的密码编译形式。 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 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 2 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 3 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 4 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 5 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 6 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 7 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 8 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 9 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 10 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 11 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 12 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 13 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 14 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 15 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 16 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 17 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 18 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 19 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 20 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 21 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 22 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 23 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 24 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 25 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 26 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 以上就是维热纳尔方阵,它由明码表(第一行的字母)、密码表(下面26行)和密钥组成,下面我举个例子说明。 举例: 密钥:frzy 密码:qfuc 解:第一个字母,看以f开头第五行,对应明码表查找q字母所标示的字母为l。以此类推找出后面字母。所得明文为love。 |