推理总公会吧 关注:45贴子:1,236

密码学知识普及【每天都会有一点】

只看楼主收藏回复



IP属地:湖北1楼2014-08-22 14:11回复
    度娘抽了。于是乎,补上


    IP属地:湖北3楼2014-08-22 14:16
    回复
      二进制完全不懂,,,,怎么看


      来自Android客户端4楼2014-08-22 15:43
      收起回复
        二进制数据的表示法
        二进制数据也是采用位置计数法,其位权是以2为底的幂。例如二进制数据110.11,逢2进1,其权的大小顺序为2²、2¹、2º、 、 。对于有n位整数,m位小数的二进制数据用加权系数展开式表示,可写为:

        二进制数据一般可写为:
        【例1102】将二进制数据111.01写成加权系数的形式。
        解:
        二进制和十六进制,八进制一样,都以二的幂来进位的。


        IP属地:湖北5楼2014-08-23 13:11
        回复
          字母频率
          频率分析法可以有效的破解单字母替换密码。
          关于词频问题的密码,我在这里提供英文字母的出现频率给大家,其中数字全部是出现的百分比:
          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
          词频法其实就是计算各个字母在文章中的出现频率,然后大概猜测出明码表,最后验证自己的推算是否正确。这种方法由于要统计字母出现频率,需要花费时间较长。参考《跳舞的小人》和《金甲虫》。


          IP属地:湖北6楼2014-08-23 13:43
          回复
            【凯撒密码(Caesar Shifts, Simple Shift)】
            也称凯撒移位,
            是最简单的加密方法之一,
            相传是古罗马恺撒大帝用来保护重要军情的
            加密系统,它是一种替代密码。
            加密公式:密文= (明文 + 位移数) Mod 26
            解密公式:明文= (密文- 位移数) Mod 26
            以《数字城堡》中的一组密码为例:
            HL FKZC VD LDS
            只需把每个字母都按字母表中的顺序依次后移一个字母即可——A变成B,B就成了C,依此类推。因此明文为:IM GLAD WE MET
            英文字母的移位以移25位为一个循环,移26位等于没有移位。所以可以用穷举法列出所有可能的组合。
            例如:phhw ph diwhu wkh wrjd sduwb
            利用电脑可以方便地列出所有组合,然后从中选出有意义的话:
            qiix qi ejxiv xli xske tevxc
            rjjy rj fkyjw ymj ytlf ufwyd
            skkz sk glzkx znk zumg vgxze
            tlla tl hmaly aol avnh whyaf
            ummb um inbmz bpm bwoi xizbg
            vnnc vn jocna cqn cxpj yjach
            wood wo kpdob dro dyqk zkbdi
            xppe xp lqepc esp ezrl alcej
            yqqf yq mrfqd ftq fasm bmdfk
            zrrg zr nsgre gur gbtn cnegl
            assh as othsf hvs hcuo dofhm
            btti bt puitg iwt idvp epgin
            cuuj cu qvjuh jxu jewq fqhjo
            dvvk dv rwkvi kyv kfxr grikp
            ewwl ew sxlwj lzw lgys hsjlq
            fxxm fx tymxk max mhzt itkmr
            gyyn gy uznyl nby niau julns
            hzzo hz vaozm ocz ojbv kvmot
            iaap ia wbpan pda pkcw lwnpu
            jbbq jb xcqbo qeb qldx mxoqv
            kccr kc ydrcp rfc rmey nyprw
            ldds ld zesdq sgd snfz ozqsx
            meet me after the toga party <-
            nffu nf bgufs uif uphb qbsuz
            oggv og chvgt vjg vqic rctva
            可知明文为:meet me after the toga party


            IP属地:湖北7楼2014-08-23 13:49
            回复
              【维吉尼亚密码(Vigenère Cipher)】
              由于频率分析法可以有效的破解单表替换密码,法国密码学家维吉尼亚于1586年提出一种多表替换密码,即维吉尼亚密码,也称维热纳尔密码。维吉尼亚密码引入了“密钥”的概念,即根据密钥来决定用哪一行的密表来进行替换,以此来对抗字频统计。
              加密算法:例如密钥的字母为[d],明文对应的字母[b]。根据字母表的顺序[d]=4,[b]=2,那么密文就是[d]+[b]-1=4+2-1=5=[e],因此加密的结果为[e]。解密即做此逆运算。
              加密公式:密文 = (明文 + 密钥) Mod 26 - 1
              解密公式:明文 = [26 + (密文 - 密钥)] Mod 26 + 1
              也可以用查表法来进行加密:例如密钥的字母为[d],明文对应的字母[b],在下图的表格第一行找到字母"d"(深蓝色),再在左边第一列找到字母"b"(绿色),两个字母的交叉点(b行d列)就是字母"E",所以对应的密文字母为[e]。
              假如对如下明文加密:
              to be or not to be that is the question
              当选定“have”作为密钥时,加密过程是:密钥第一个字母为[h],明文第一个为[t],因此可以找到在h行t列中的字母[a],依此类推,得出对应关系如下:
              密钥:ha ve ha veh av eh aveh av eha vehaveha
              明文:to be or not to be that is the question
              密文:ao wi vr isa tj fl tcea in xoe lylsomvn

              【Polybius密码(Polybius Cipher)】
              也称棋盘密码,是利用波利比奥斯方阵(Polybius Square)进行加密的密码方式,产生于公元前两世纪的希腊,相传是世界上最早的一种密码。
              假设我们需要发送明文讯息 “Attack at once”, 用一套秘密混杂的字母表填满波利比奥斯方阵,像是这样:
              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
              A,D,F,G,X也可以用数字1,2,3,4,5来代替,这样密文就成了:
              13 12 12 13 43 25 13 12 23 35 43 53


              IP属地:湖北9楼2014-08-25 11:32
              收起回复
                【ADFGX/ADFGVX密码(ADFGX/ADFGVX Cipher)】
                ADFGX
                1918年,第一次世界大战将要结束时,法军截获了一份德军电报,电文中的所有单词都由A、D、F、G、X五个字母拼成,因此被称为ADFGX密码。ADFGX密码是1918年3月由德军上校Fritz Nebel发明的,是结合了Polybius密码和置换密码的双重加密方案。A、D、F、G、X即Polybius方阵中的前5个字母。
                明文:A T T A C K A T O N C E
                经过Polybius变换: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都可混合使用。这次增改是因为以原来的加密法发送含有大量数字的简短信息有问题。


                IP属地:湖北10楼2014-08-26 09:56
                回复
                  这个不会


                  IP属地:海南11楼2014-08-26 16:54
                  收起回复
                    【乘法密码(Multiplication Cipher)】
                    乘法密码也是一种简单的替代密码,与凯撒密码相似,凯撒密码用的是加法,而乘法密码用的自然是乘法。这种方法形成的加密信息保密性比较低。
                    加密公式:密文 = (明文 * 乘数) Mod 26
                    对于乘数密码,只有当乘数与26互质时,加密之后才会有唯一的解,因此乘数只可能有如下11种的选择:
                    乘数 = 3,5,7,9,11,15,17,19,21,23,25
                    仿射密码和希尔密码因为都用到了乘法,所以乘数也受到相同的局限。


                    IP属地:湖北12楼2014-08-27 09:10
                    回复
                      【仿射密码(Affine Shift)】
                      仿射密码就是凯撒密码和乘法密码的结合。
                      加密公式:密文 = (明文 * 乘数 + 位移数) Mod 26
                      明天介绍希尔密码(我是不会告诉你希尔密码是我最喜欢的密码的


                      IP属地:湖北13楼2014-08-27 09:13
                      回复
                        【Playfair密码(Playfair Cipher)】
                        Playfair将明文中的双字母组合作为一个单元对待,并将这些单元转换为双字母组合。
                        加密后的字符出现的频率在一定程度上被均匀化。
                        5*5变换矩阵(I或J视为同一字符):
                        C I P H E
                        R A B D F
                        G K L M N
                        O Q S T U
                        V W X Y Z
                        加密规则:按成对字母加密
                        相同对中的字母加分隔符(如x)
                        ballon -> ba lx lo on
                        同行取右边:he->ec
                        同列取下边:dm->mt
                        其他取交叉:kt->mq od->tr
                        例如:ballon -> ba lx lo on -> db sp gs ug


                        IP属地:湖北15楼2014-08-28 09:15
                        回复
                          【摩斯电码】
                          摩斯电码(摩尔斯电码)是一种发报用的信号代码,是一种替代密码,用点(Dot)和划(Dash)的组合来表示各个英文字母或标点。
                          国际标准摩斯电码表
                          1 *---- A *- N -* [.] *-*-*-
                          2 **--- B -*** O --- [,] --**--
                          3 ***-- C -*-* P *--* [:] ---***
                          4 ****- D -** Q --*- [*] *----*
                          5 ***** E * R *-* [?] **--**
                          6 -**** F **-* S *** [-] -****-
                          7 --*** G --* T - [()] -*--*-
                          8 ---** H **** U **- [@] *--*-*
                          9 ----* I ** V ***- [—] -***-
                          0 ----- J *--- W *-- 分数线 -**-*
                          K -*- X -**- L *-** Y -*-- 终了[\r] ***-*-
                          M -- Z --** 始信[\n] -*-*-
                          【全篇完】


                          IP属地:湖北16楼2014-08-28 09:17
                          回复
                            - -挺霸气的


                            IP属地:陕西17楼2014-08-31 22:26
                            收起回复
                              hill 不太明白=_=


                              来自Android客户端18楼2014-09-09 14:19
                              收起回复