玩转密码吧 关注:29贴子:946

关于斐波那契列在密码中应用的尝试【转】

只看楼主收藏回复

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\10\11\12\13\14\15\16\17\18\19\20\21\22\23\24\25\26
A\B\C\D\E\F\ G\ H\ I\ J \ K\ L\ M \ N \ O\ P\ Q\ R\ S\ T\ U\
1\2\3\5\8\13\21\34\55\89\144\233\377\610\987\1597\2584\4181\6765\10946\17711
V\ W\ X\ Y\ Z
\28657\46368\75025\121393\196418


来自Android客户端1楼2014-02-24 20:54回复
    我又考虑将第二组F(n)对应的数字用第一组n来代替.则:|
    A\B\C\D\E\F\G\H\......
    a\b\c\e\h\ac\ba\cd\......直到X的75025中的0无法表达....所以这里这种替换到此可以说是失败了


    来自Android客户端2楼2014-02-24 20:56
    回复
      这时候我考虑到了卢卡斯数列
      1.3.4.7.11.18.29.47.76.......
      则:
      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、3、4、7、11、18、29、47、76、123、199、322、521、843、1364、2207、3571、5778、9349、15127、24476、39603、46079、103682、167761、271443


      来自Android客户端3楼2014-02-24 20:56
      回复
        斐波那契数列F(n) 1 1 2 3 5 8 13 21 34 55 ......
        卢卡斯数列 L(n) 1 3 4 7 11 18 29 47 76 123 ......
        F (n) * L (n) 1 3 8 21 55 144 377 987 2584 6765 ......
        可以得出一个新的数列
        则A=1 B=3 C=8 D=21......
        OK.......我们假设:明文是ILOVEU
        用Fn加密就是 55、233、987、28657、8、17711
        用Ln加密就是 76、322、1364、39603、11、24476
        用Fn*Ln加密是 2584、75026、1346268、1134507141、55、433494436


        来自Android客户端4楼2014-02-24 20:56
        回复
          对比Fn*ln的序列和Fn序列 不难看出其中存在一定规律
          按照规律则可设置:
          A=a b=c C=e D=g E=i F=k G=m H=o I=q J=s K=v L=x M=z-a(z) 后面按照顺序对等 N=b O=d P=f Q=h R=j S=l T=n U=p V=r W=t X=u Y=w Z=y
          对应n序列
          1、3、5、7、9、11、13、15、17、19、22、24、26
          2、4、6、8、10、12、14、16、18、20、21、23、25


          来自Android客户端5楼2014-02-24 20:57
          回复
            则 ILOVEU= ESHKCX


            来自Android客户端6楼2014-02-24 20:58
            回复
              则出题:eenr
              大家按照我提供的思路看看是什么?


              来自Android客户端7楼2014-02-24 21:04
              回复
                再出一个:3、23、9


                来自Android客户端8楼2014-02-24 21:05
                回复
                  其实很简单就是根据斐波那契数列和卢卡斯数列相乘后的Fn*Ln数列的规律 进行了替换
                  替换的方式在前面已经说明了
                  单独的斐波那契数列也可以进行简单加密 但是知道数列的人也就都知道密码了
                  所以我用斐波那契数列和Fn*Ln数列进行了替换 明白了吗?


                  来自Android客户端9楼2014-02-24 21:05
                  回复
                    斐波那契数列 简称 F(n)
                    数列的顺序是1、1、2、3、5、8、13、21........也就是后一个是前两个数字的和
                    我们把数列的第一个1取消后 对应英文字母
                    即A=1 B=2 C=3 D=5 E=8 ......Z=196418
                    卢卡斯数列 简称 L(n)
                    数列的顺序是1、3、4、7、11、18、29、47......
                    对应字母 A=1 B=3 C=4 D=5.....Z=271443
                    到这里懂吗?


                    来自Android客户端10楼2014-02-24 21:06
                    回复
                      其实很简单 就是个替换的过程


                      来自Android客户端11楼2014-02-24 21:07
                      回复
                        两个数列相乘得出新的数列
                        F(n)*L(n)数列:1 3 8 21 55 144 377 987 2584 6765.....
                        对应英文字母:A=1 B=3 C=8 D=21 E=55.........Z=53316291174
                        这么大的数据量明显不适合密码使用 但是我在对比了F(n)*L(n)数列及F(n)数列后发现
                        F(n) 数列简称F:A=1 B=2 C=3 D=5 E=8 F=13 G=21 H=34 I=55 J=89....
                        F(n)*L(n)数列简称FL:A=1 B=3 C=8 D=21 E=55 F=144 G=377 H=987 I=2584 J=6765.....
                        对比后发现 FL的数字刚好是F的1、3、5、7、9、11、13、15、17、19、22、24、26这里第26个数字则比F的少1(前面的F数列排序时我们取消掉的1 暂且算作26吧)
                        这样,FL的A=F的A FL的B=F的C FL的C=F的E.......直到J=S 后面的K则等于了V 跨过了21 直接等于了22 ......一直到M=z;这样我自然的把后面的数字按照2、4、6、8、10、12、14、16、18、20、21、23、25的顺序排列下去则:FL的N=F的B FL的O=F的D......于是替换完成了
                        A=a b=c C=e D=g E=i F=k G=m H=o I=q J=s K=v L=x M=z-a(z) 后面按照顺序对等 N=b O=d P=f Q=h R=j S=l T=n U=p V=r W=t X=u Y=w Z=y
                        明白了吗?


                        来自Android客户端12楼2014-02-24 21:07
                        回复
                          以下不是原楼主所发,是某层主的解答过程,但是是正确的


                          来自Android客户端13楼2014-02-24 21:12
                          回复
                            我们假设:明文是ILOVEU
                            用Fn加密就是 55、233、987、28657、8、17711
                            用Ln加密就是 76、322、1364、39603、11、24476
                            用Fn*Ln加密是 2584、75026、1346268、1134507141、55、433494436
                            这里。。
                            55*76不是4180吗? 233*322=75026,987*1364=1346268,28657*39603=1134903171,8*11不是88吗? 17711*24476=433494436
                            然后表示到目前为止都看懂了。。继续研究下面的


                            来自Android客户端14楼2014-02-24 21:13
                            回复
                              CCTV


                              来自Android客户端15楼2014-02-24 21:14
                              回复