首页
社区
课程
招聘
偶也来出一题
2004-11-21 00:33 5048

偶也来出一题

2004-11-21 00:33
5048
Mvc gnxqgywa aglgghb ht Tbrbzjxg Lqfhcj wq hm dphjgws Lh Mvmfoq olw Qm Hhvl kgmv ifgoorx nkwktfw olw qxqmgrykm xrsvorbcl cd hfx fbufxgr estzgmm Mvc tsgqrbcl cd hfx Jhkck Qvvmhz bg mc ifciopx qmibxbrl dhf t pbumkcsl ahzjxuc dpxdykorhfw dphupta bb mvc Agwrjx ygr Ndnxf Lqfhcjl Ras Tbrbzjxg Lqfhcj dphupta bg wsqbulxr mc xbqnfc oq asvv tg bh bg icqlwzes mvym ekobnorxg tfc dpxdyksb hm acxh mvc obfwqlwmgg ksonwpxacghq cd hfx khgr qmfdcmwrbjc qmezczsq olw sgwtxfqbhgxg mc xlaxz bb liaa gggrbhsmwmgg tbb hm ormogg rasgk nxfqhbye ygr vopxsp umtzq Oje qvvmhz ifmzfyfg tfc rclwegsb hm rcosjhd lhswslmg tqywskbq tbb zctrckgfbd tpgewrbsq olw rasgk nxfqhbye qhqgtz tbb qgowa outfcgsql

用的是Vigenere算法,空格未加密,要求找出原文并给出关键字.

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 1
打赏
分享
最新回复 (10)
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wangyudan 2004-11-21 07:23
2
0
庐山瀑布汗,没有一点提示呀??
还有空格是自己随机分的吧?
雪    币: 1
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
beibeibei 2004-11-21 08:47
3
0
2个Mvc ,关键字长度八成是3了

恩那

有大小写的空格的提示就够多了

讲的是某高校的教育政策
雪    币: 3686
活跃值: (1036)
能力值: (RANK:760 )
在线值:
发帖
回帖
粉丝
cnbragon 18 2004-11-21 14:19
4
0
:D
      先确定key的长度。
   -- Kasiski 法:观察重复字符的距离。
   -- Friedman 法:子报文字母频率分析。
     对每个子报文使用字母频率分析。
Key:        toy
PlainText:  are
CipherText: tfc

Key:        toy
PlainText:  the
CipherText: mvc

Key:        toytoy
PlainText:  school
CipherText: lqfhcj

Key:        toy
PlainText:  and
CipherText: tbb

Key:        t
PlainText:  a
CipherText: t

Key:        toy
PlainText:  in
CipherText: bb

对吗?
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
evileast 2004-11-21 18:26
5
0
最初由 cnbragon 发布
:D
先确定key的长度。
-- Kasiski 法:观察重复字符的距离。
-- Friedman 法:子报文字母频率分析。
对每个子报文使用字母频率分析。
........


对了.:)

以前用过一个工具,可以查IC什么的软件,不用用手算.
即使关键字长度更长也能很容易找到原文和密钥.
雪    币: 3686
活跃值: (1036)
能力值: (RANK:760 )
在线值:
发帖
回帖
粉丝
cnbragon 18 2004-11-21 22:12
6
0
既然对了,那我就把程序发出来喽:D

#include <iostream.h>
#include <string.h>

char table[]="abcdefghijklmnopqrstuvwxyz";
char VigeTable[26][26]={'0'};
char CipherText[26]={'0'};
char key[]="toy";
char allkey[100]={'0'};

void InitTable(int linenum, int offset)
{
        for(int k=0;k<26;k++)
                VigeTable[linenum][k]=table[(k+offset)%26];
}

void InitKey(int Length,char allkey[])
{
        for(int m=0;m<Length;m++)
        {
                allkey[m]=key[m%3];
        }
}

int GetLineNum(char c)
{
        for(int i=0;i<26;i++)
        {
                if(table[i]==c)
                        return i;
                else continue;
        }
        return -1;
}

int GetPaintextCNum(int LineNum,char c)
{
        for(int j=0;j<26;j++)
        {
                if(VigeTable[LineNum][j]==c)
                        return j;
                else continue;
        }
        return -1;
}
void GetPlainText(char CipherText[],int L)
{
        int cnum,Lnum;
        for(int p=0;p<L;p++)
        {
                Lnum=GetLineNum(allkey

);
                cnum=GetPaintextCNum(Lnum,CipherText

);
                cout<<table[cnum];
        }
        cout<<endl;
}

main()
{
        int L1,L2,i;
        cout<<"CipherText: ";
        cin>>CipherText;
        L1=strlen(CipherText);
        L2=strlen(table);
        for(int t=0;t<L2;t++)
        {
                InitTable(t,t);
        }
        InitKey(L1,allkey);
        cout<<"Key        :";
        for(int n=0;n<L1;n++)
        {
                cout<<allkey[n];
        }
        cout<<endl;
        cout<<"PlainText  :";
        GetPlainText(CipherText,L1);
        cout<<"CipherText: ";
        for(int s=0;s<L1;s++)
        {
                cout<<CipherText[s];
        }
        cout<<endl;
}

雪    币: 212
活跃值: (105)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
声声慢 2 2004-11-22 04:42
7
0
- 计算出密文的IC(  index of coincidence)是0.04564,证明是polyalphabtic 。

- 当interval=15时,IC=0.05548,  0.03983,  0.03841,  0.0569,  0.04694,  0.04267,  0.04125,  0.04836,  0.06543,  0.03698,  0.03983,  0.04805,  0.06757,  0.06306,  0.06456 最接近英文的IC=0。065

-明文是:
THE MOST NOTICEABLE EFFECT THIS COMMUNICATION
HAS ON THE GAME IS THE DELAY IN MOVING SUPPOSE A PL
AYER TYPES A MOVE FOR HIS SHIP AND HITS RETURN WHA
T HAPPENS THEN THE PLAYER PROCESS SAVES UP MESSA
GES TO BE WRITTEN TO THE TEMPORARY FILE IN A BUFFE
R EVERY SEVEN SECONDS OR SO THE PLAYER PROCESS GE
TS EXCLUSIVE ACCESS TO THE TEMPORARY FILE AND WR
ITES OUT ITS BUFFER TO THE FILE THE DRIVER RUNNIN
G ASYNCHRONOUSLY MUST READ IN THE MOVEMENT COMM
AND PROCESS IT AND WRITE OUT THE RESULTS THIS TAK
ES TWO EXCLUSIVE ACCESSES TO THE TEMPORARY FILE
FINALLY WHEN THE PLAYER PROCESS GETS AROUND TO D
OING ANOTHER SEVEN SECOND UPDATE THE RESULTS OF
THE MOVE ARE DISPLAYED ON THE SCREEN HENCE EVERY
MOVEMENT REQUIRES FOUR EXCLUSIVE ACCESSES TO T
HE TEMPORARY FILE ANYWHERE FROM SEVEN TO TWENTY
ONE SECONDS DEPENDING UPON ASYNCHRONY BEFORE T
HE PLAYER SEES THE RESULTS OF HIS MOVES AFTER THE
PLAYER WRITES OUT A FIRST MOVEMENT MESSAGE A SEC
OND MOVEMENT COMMAND CAN THEN BE ISSUED THE FIRS
T MESSAGE WILL BE IN THE TEMPORARY FILE WAITING F
OR THE DRIVER AND THE SECOND WILL BE IN THE FILE BU
FFER WAITING TO BE WRITTEN TO THE FILE THUS BY ALW
AYS TYPING MOVES A TURN AHEAD OF THE TIME THE PLAY
ER CAN SAIL AROUND QUITE QUICKLY

不知道对不对?
雪    币: 397
活跃值: (799)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wsy 2004-11-22 08:40
8
0
这题有点意思
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
evileast 2004-11-22 15:20
9
0
不好意思,第一题在找回原文时有些出入,抱歉!
同样题型再出一道,我已验证过密钥字和原文:
j lqxk enap msgouuoh vxnhewbwg ayygp mcx abch c lew loozpxgiqx
egm lcbkx yrqdvnbixo xxntj ri uxrg sr bcs oywm rnfopbklg zvxbswbi
mqe rywmvatu el rt yovx xf qhjhad cxh tb sqyr tb hg ytxwef rml
vowdl b yetmibeef sr tmdkdmhw tq k vxvatueuue tozxuavssg xf ieql
chcd xan tghx ho tjo unnet msfvupsgtciqx qtccjoh mqe tokbbtgbiw
nnxophye jo atb fwvp ho rgpmgnmgxxl jnf krzueu yj waecbc twd
fswmrniemlqef urhflgnkx xf jsw nwcqxwvrowc hkxlnovr qiu nvxbs
hbixuy rkvmxom sx lneooh yaoo dlx ponn vbwg kxxh fhkml ars toh

PS,声声慢的方法更科学一些,方便的话请帮忙贴出详细攻击方法.
雪    币: 212
活跃值: (105)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
声声慢 2 2004-11-22 19:50
10
0
肯定是我的弄错了,我才刚刚开始学密码,水平跟六岁小妹妹差不多,cnbragon 的方法才对。 :)
雪    币: 3686
活跃值: (1036)
能力值: (RANK:760 )
在线值:
发帖
回帖
粉丝
cnbragon 18 2004-11-22 21:15
11
0
:)
想到了The Index of Coincidence and Its Applications in Cryptography
声声慢兄的重合指数分析更有说服力:)
声兄不要谦虚嘛:)
游客
登录 | 注册 方可回帖
返回