题目要求
已知下列密文是通过维吉尼亚密码加密得来的,试求其明文。
Per zlrracm, vxmcs r qipqlczhs. Qs fcv rihw sxxhblrxh sm nkidhvzphw. Ixxvn qsn, lysh sifecs uuijrrfyg, mk xj suvc kd ss wbrzrrz uqh jpp zyw qv ylgn osfz fin isi bpgyoj, fg dm zdqzap, cl sifecsqks cdfy iu xyxey iu tipp zcni dt. Sin lj nt rfy jszcxhi jik iyfixky iysmh hzuwwwxpk izayv; mw lv olhkfxeu nr gitrhy d afgcr qkiit vjyucsdum bdw kwvcjssiilbcwc kd wwhg e ads, ohg ewuffx fscavuy; ljnt rfy jszcx hi vemt kvy hrmxichpiei rbx giwtrhzxxlgv duqhvbzqm, wlvc ns uui xdzba ws ypmsnr hf xk hijikwvf.
由于密钥未知,我们采用惟密文攻击。解密方式为重合指数法确定分组m,再利用拟重合指数法得到每个单表密钥。
鉴于计算过程过于繁琐,我采用C语言代码辅助计算。
- 首先,我将密文整理成无空格、均小写的格式,方便计算。
perzlrracmvxmcsrqipqlczhsqsfcvrihwsxxhblrxhsmnkidhvzphwixxvnqsnlyshsifecsuuijrrfygmkxjsuvckdsswbrzrrzuqhjppzywqvylgnosfzfinisibpgyojfgdmzdqzapclsifecsqkscdfyiuxyxeyiutippzcnidtSinljntrfyjszcxhijikiyfixkyiysmhhzuwwwxpkizayvmwlvolhkfxeunrgitrhydafgcrqkiitvjyucsdumbdwkwvcjssiilbcwckdwwhgeadsohgewufffscavuyljntrfyjszcxhivemtkvyhrmxichpieirbxgiwtrhzxxlgvduqhvbzqmwlvcnsuuixdzbawsypmsnrhfxkhijikwvf
- 接下来进行文本的重合指数运算部分,推测出m分组数。以下为代码实现:
//文本的重合指数运算部分
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
//分组
char* apart(char text[],int lines,int point){
char newtext[1000]="";
int length=strlen(text);
int num=0;
for(int i=0;i<length;i++){
if(i%lines==0)
{
newtext[num]=text[i+point];
num++;
}
}
newtext[num]='\0';
// printf("%s ",newtext);
return newtext;
}
int main(){
char mess[1000]="";
char *text[300];
int lines=1;
printf("请输入文本内容:\n");
scanf("%[^\n]", mess);
for(lines;lines<30;lines++){
double averCI=0;
printf("当分组m为%d时:\n",lines);
for (int i=0;i<lines;i++){
text[i] = (char *)malloc(1000 * sizeof(char));
strcpy(text[i],apart(mess,lines,i));
}
for(int j=0;j<lines;j++){
int length=strlen(text[j]);
double CI=0;
for (int p=97;p<123;p++){
int count = 0;
for (int q=0;q<length;q++){
if(text[j][q]==p){
count++;
}
}
if(count>1){
CI+=(double(count)/length)*((double(count)-1)/(length-1));
}
}
averCI+=CI;
if(j!=lines-1)printf("%lf ",CI);
else printf("%lf\n",CI);
}
printf("当m为%d时平均CI为%lf\n",lines,averCI/lines);
}
}
我将代码得出的结果、截图与结论放在下方:
结果:
请输入文本内容:
perzlrracmvxmcsrqipqlczhsqsfcvrihwsxxhblrxhsmnkidhvzphwixxvnqsnlyshsifecsuuijrrfygmkxjsuvckdsswbrzrrzuqhjppzywqvylgnosfzfinisibpgyojfgdmzdqzapclsifecsqkscdfyiuxyxeyiutippzcnidtSinljntrfyjszcxhijikiyfixkyiysmhhzuwwwxpkizayvmwlvolhkfxeunrgitrhydafgcrqkiitvjyucsdumbdwkwvcjssiilbcwckdwwhgeadsohgewufffscavuyljntrfyjszcxhivemtkvyhrmxichpieirbxgiwtrhzxxlgvduqhvbzqmwlvcnsuuixdzbawsypmsnrhfxkhijikwvf
当分组m为1时:
0.042934
当m为1时平均CI为0.042934
当分组m为2时:
0.038641 0.047654
当m为2时平均CI为0.043147
当分组m为3时:
0.040481 0.039107 0.046271
当m为3时平均CI为0.041953
当分组m为4时:
0.040816 0.048237 0.036819 0.042920
当m为4时平均CI为0.042198
当分组m为5时:
0.037975 0.035054 0.048036 0.044142 0.040293
当m为5时平均CI为0.041100
当分组m为6时:
0.039627 0.043823 0.034033 0.043357 0.035096 0.053846
当m为6时平均CI为0.041630
当分组m为7时:
0.043860 0.049499 0.050649 0.053896 0.050000 0.051948 0.055844
当m为7时平均CI为0.050814
当分组m为8时:
0.043265 0.044082 0.035714 0.039966 0.034864 0.057823 0.038265 0.042517
当m为8时平均CI为0.042062
当分组m为9时:
0.038055 0.031712 0.048626 0.033827 0.035941 0.043340 0.034884 0.042082 0.042082
当m为9时平均CI为0.038950
当分组m为10时:
0.028205 0.035897 0.035897 0.046154 0.051282 0.040486 0.028340 0.066127 0.037787 0.028340
当m为10时平均CI为0.039852
当分组m为11时:
0.030159 0.038095 0.057143 0.025397 0.034921 0.036508 0.039683 0.036508 0.041270 0.058824 0.040336
当m为11时平均CI为0.039895
当分组m为12时:
0.045455 0.034091 0.035985 0.034091 0.041667 0.053030 0.034091 0.047348 0.026515 0.041667 0.022177 0.050403
当m为12时平均CI为0.038877
当分组m为13时:
0.040860 0.049462 0.040860 0.049462 0.071264 0.043678 0.043678 0.027586 0.068966 0.034483 0.043678 0.048276 0.041379
当m为13时平均CI为0.046433
当分组m为14时:
0.027094 0.071429 0.034392 0.063492 0.050265 0.047619 0.050265 0.055556 0.039683 0.076720 0.039683 0.037037 0.042328 0.084656
当m为14时平均CI为0.051444
当分组m为15时:
0.022792 0.022792 0.051282 0.037037 0.036923 0.021538 0.046154 0.027692 0.040000 0.043077 0.040000 0.040000 0.055385 0.043077 0.049231
当m为15时平均CI为0.038465
当分组m为16时:
0.053333 0.033333 0.036667 0.023333 0.040000 0.043333 0.043333 0.036667 0.046667 0.046667 0.028986 0.065217 0.050725 0.105072 0.025362 0.032609
当m为16时平均CI为0.044457
当分组m为17时:
0.072464 0.025362 0.028986 0.027668 0.055336 0.055336 0.039526 0.027668 0.051383 0.051383 0.043478 0.043478 0.055336 0.059289 0.023715 0.031621 0.043478
当m为17时平均CI为0.043265
当分组m为18时:
0.051948 0.038961 0.030303 0.030303 0.038961 0.043290 0.043290 0.047619 0.030303 0.038961 0.025974 0.060606 0.030303 0.043290 0.030303 0.030303 0.042857 0.038095
当m为18时平均CI为0.038648
当分组m为19时:
0.019048 0.052381 0.057143 0.061905 0.038095 0.042857 0.052381 0.052381 0.028571 0.080952 0.033333 0.028571 0.076190 0.033333 0.042105 0.026316 0.052632 0.031579 0.047368
当m为19时平均CI为0.045113
当分组m为20时:
0.021053 0.015789 0.021053 0.036842 0.057895 0.031579 0.015789 0.026316 0.042105 0.021053 0.026316 0.042105 0.047368 0.042105 0.046784 0.040936 0.017544 0.093567 0.029240 0.017544
当m为20时平均CI为0.034649
当分组m为21时:
0.046784 0.029240 0.035088 0.035088 0.023392 0.076023 0.070175 0.052632 0.040936 0.052632 0.040936 0.052632 0.046784 0.023392 0.052632 0.070175 0.032680 0.039216 0.078431 0.058824 0.078431
当m为21时平均CI为0.049339
当分组m为22时:
0.019608 0.032680 0.052288 0.032680 0.039216 0.032680 0.052288 0.045752 0.045752 0.091503 0.058824 0.026144 0.045752 0.078431 0.019608 0.039216 0.026144 0.045752 0.026144 0.032680 0.029412 0.044118
当m为22时平均CI为0.041667
当分组m为23时:
0.039216 0.052288 0.032680 0.080882 0.029412 0.036765 0.066176 0.066176 0.044118 0.051471 0.044118 0.058824 0.014706 0.007353 0.044118 0.036765 0.073529 0.044118 0.044118 0.066176 0.029412 0.029412 0.022059
当m为23时平均CI为0.044082
当分组m为24时:
0.095588 0.036765 0.029412 0.051471 0.044118 0.073529 0.036765 0.044118 0.022059 0.029412 0.033333 0.050000 0.058333 0.041667 0.016667 0.041667 0.058333 0.025000 0.033333 0.066667 0.016667 0.033333 0.025000 0.041667
当m为24时平均CI为0.041871
当分组m为25时:
0.058333 0.008333 0.041667 0.050000 0.050000 0.033333 0.025000 0.041667 0.025000 0.058333 0.041667 0.041667 0.033333 0.025000 0.041667 0.058333 0.050000 0.116667 0.033333 0.009524 0.019048 0.076190 0.028571 0.028571 0.038095
当m为25时平均CI为0.041333
当分组m为26时:
0.025000 0.025000 0.041667 0.041667 0.038095 0.085714 0.066667 0.038095 0.038095 0.028571 0.019048 0.019048 0.076190 0.047619 0.047619 0.028571 0.057143 0.152381 0.028571 0.019048 0.019048 0.123810 0.028571 0.076190 0.057143 0.009524
当m为26时平均CI为0.047619
当分组m为27时:
0.028571 0.038095 0.028571 0.038095 0.057143 0.038095 0.028571 0.028571 0.038095 0.028571 0.028571 0.047619 0.028571 0.028571 0.047619 0.038095 0.054945 0.065934 0.032967 0.032967 0.054945 0.021978 0.021978 0.087912 0.010989 0.065934 0.043956
当m为27时平均CI为0.039479
当分组m为28时:
0.028571 0.047619 0.010989 0.043956 0.032967 0.054945 0.054945 0.076923 0.043956 0.109890 0.076923 0.032967 0.032967 0.032967 0.021978 0.098901 0.021978 0.054945 0.032967 0.021978 0.032967 0.054945 0.021978 0.065934 0.054945 0.032967 0.032967 0.109890
当m为28时平均CI为0.047855
当分组m为29时:
0.043956 0.021978 0.021978 0.032967 0.021978 0.054945 0.021978 0.032967 0.065934 0.021978 0.043956 0.032967 0.032967 0.043956 0.043956 0.054945 0.065934 0.025641 0.051282 0.038462 0.038462 0.012821 0.038462 0.076923 0.000000 0.025641 0.038462 0.038462 0.064103
当m为29时平均CI为0.038209
结论:通过结果分析我们可以得到,当m为7与7的倍数时,所得的CI与平均CI高于m取其他值时的情况。因此我们推测:m=7
- 接着,我来进行文本的拟重合指数运算部分 ,推测出每个单标密钥的移位量。以下为代码实现:
//文本的拟重合指数运算部分
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
//分组
char* apart(char text[],int lines,int point){
char newtext[1000]="";
int length=strlen(text);
int num=0;
for(int i=0;i<length;i++){
if(i%lines==0)
{
newtext[num]=text[i+point];
num++;
}
}
newtext[num]='\0';
printf("%s ",newtext);
return newtext;
}
int main(){
char mess[1000]="";
char *text[300];
double frequencyP[30][26]={0};
double corr[26]={0};
//通常文本字母概率来自百度百科,单位为%
int frequencyQ[26]={8.167,1.492,2.782,4.253,12.702,2.228,2.015,6.094,6.966,0.153,0.772,4.025,2.406,6.749,7.507,1.929,0.095,5.987,6.327,9.056,2.758,0.978,2.360,0.150,1.974,0.074};
int lines=0;
printf("请输入文本内容:\n");
scanf("%[^\n]", mess);
printf("请输入所预测的m长度:\n");
scanf("%d",&lines);
printf("已分组如下:\n");
for(int i=0;i<lines;i++){
text[i] = (char *)malloc(1000 * sizeof(char));
strcpy(text[i],apart(mess,lines,i));
}
printf("\n");
for(int j=0;j<lines;j++){
int length=strlen(text[j]);
for (int p=97;p<123;p++){
int count = 0;
for (int q=0;q<length;q++){
if(text[j][q]==p){
count++;
}
}
if(count>0){
frequencyP[j][p-97]=(count*1.0)/length;
}
}
printf("第%d段的字母频率如下:\n",j+1);
for(int o=0;o<26;o++){
printf("%lf ",frequencyP[j][o]);
}
printf("\n");
printf("\n");
}
for(int ro=0;ro<lines;ro++){
printf("进行第%d段的相关值卷积计算:\n",ro+1);
for(int le=0;le<26;le++){
printf("进行左移%d位的计算:",le);
for(int ele=0;ele<26;ele++){
corr[le]+=0.01*frequencyQ[ele]*frequencyP[ro][(ele+le)%26];
}
printf("correlation=%lf;\n",corr[le]);
}
printf(".....................................................\n");
corr[26]={0};
}
}
我将代码得出的结果与结论放在下方:
结果:
请输入文本内容:
perzlrracmvxmcsrqipqlczhsqsfcvrihwsxxhblrxhsmnkidhvzphwixxvnqsnlyshsifecsuuijrrfygmkxjsuvckdsswbrzrrzuqhjppzywqvylgnosfzfinisibpgyojfgdmzdqzapclsifecsqkscdfyiuxyxeyiutippzcnidtSinljntrfyjszcxhijikiyfixkyiysmhhzuwwwxpkizayvmwlvolhkfxeunrgitrhydafgcrqkiitvjyucsdumbdwkwvcjssiilbcwckdwwhgeadsohgewufffscavuyljntrfyjszcxhivemtkvyhrmxichpieirbxgiwtrhzxxlgvduqhvbzqmwlvcnsuuixdzbawsypmsnrhfxkhijikwvf
请输入所预测的m长度:
7
已分组如下:
pasccxhhxlerxdrpyzbgaedxpttciiuilxtgtdwidduvrxkirrvznzmkv ecrzvxsvxycrjsrplfpdpcfepSrxyywzvercvuvlwsfufhvcbhdqsbshf rmqhrhmzvssfsszzgigmcsyyzifhfswaouhrjmcbwofyyiyhxzumuani zvisibnpnhuyuwuynnyzlqiicnyiimwylnyqybjchhfljvhpgxqwuwrj lxpqhlkhqsugvbqwoiodskuunljjxhxvhrdkudswggsjseriixhlishi rmqswriwsiimcrhqssjqisxtijsikhpmkgaicwsceecnzmmewlvvxyfk rclfsxdinfjkkzjvfifzfcyidnzkyzkwfifiskikawatctxitgbcdpxw
第1段的字母频率如下:
0.035088 0.017544 0.052632 0.087719 0.035088 0.000000 0.035088 0.035088 0.087719 0.000000 0.035088 0.035088 0.017544 0.017544 0.000000 0.052632 0.000000 0.087719 0.017544 0.070175 0.035088 0.052632 0.017544 0.105263 0.017544 0.052632第2段的字母频率如下:
0.000000 0.035088 0.087719 0.035088 0.052632 0.087719 0.000000 0.052632 0.000000 0.017544 0.000000 0.035088 0.000000 0.000000 0.000000 0.070175 0.017544 0.087719 0.087719 0.000000 0.035088 0.105263 0.035088 0.052632 0.052632 0.035088第3段的字母频率如下:
0.035714 0.017857 0.035714 0.000000 0.000000 0.071429 0.035714 0.089286 0.071429 0.017857 0.000000 0.000000 0.089286 0.017857 0.035714 0.000000 0.017857 0.053571 0.107143 0.000000 0.053571 0.017857 0.035714 0.017857 0.089286 0.089286第4段的字母频率如下:
0.000000 0.035714 0.035714 0.000000 0.000000 0.017857 0.017857 0.071429 0.107143 0.053571 0.000000 0.053571 0.017857 0.107143 0.000000 0.035714 0.053571 0.017857 0.017857 0.000000 0.071429 0.035714 0.071429 0.017857 0.125000 0.035714第5段的字母频率如下:
0.000000 0.017857 0.000000 0.053571 0.017857 0.000000 0.053571 0.107143 0.089286 0.053571 0.053571 0.071429 0.000000 0.017857 0.035714 0.017857 0.053571 0.035714 0.107143 0.000000 0.071429 0.035714 0.035714 0.071429 0.000000 0.000000第6段的字母频率如下:
0.017857 0.000000 0.071429 0.000000 0.053571 0.017857 0.017857 0.035714 0.125000 0.035714 0.053571 0.017857 0.089286 0.017857 0.000000 0.017857 0.053571 0.053571 0.125000 0.017857 0.000000 0.035714 0.071429 0.035714 0.017857 0.017857第7段的字母频率如下:
0.035714 0.017857 0.071429 0.053571 0.000000 0.125000 0.017857 0.000000 0.125000 0.035714 0.107143 0.017857 0.000000 0.035714 0.000000 0.017857 0.000000 0.017857 0.035714 0.053571 0.000000 0.017857 0.053571 0.053571 0.035714 0.071429进行第1段的相关值卷积计算:
进行左移0位的计算:correlation=0.036140;
进行左移1位的计算:correlation=0.028421;
进行左移2位的计算:correlation=0.030702;
进行左移3位的计算:correlation=0.036140;
进行左移4位的计算:correlation=0.043333;
进行左移5位的计算:correlation=0.027193;
进行左移6位的计算:correlation=0.035439;
进行左移7位的计算:correlation=0.030526;
进行左移8位的计算:correlation=0.032105;
进行左移9位的计算:correlation=0.030877;
进行左移10位的计算:correlation=0.036316;
进行左移11位的计算:correlation=0.036316;
进行左移12位的计算:correlation=0.031754;
进行左移13位的计算:correlation=0.031579;
进行左移14位的计算:correlation=0.028772;
==进行左移15位的计算:correlation=0.048246;==
进行左移16位的计算:correlation=0.034561;
进行左移17位的计算:correlation=0.038421;
进行左移18位的计算:correlation=0.027368;
进行左移19位的计算:correlation=0.039474;
进行左移20位的计算:correlation=0.029474;
进行左移21位的计算:correlation=0.036140;
进行左移22位的计算:correlation=0.030175;
进行左移23位的计算:correlation=0.033158;
进行左移24位的计算:correlation=0.030175;
进行左移25位的计算:correlation=0.037193;
……………………………………………..
进行第2段的相关值卷积计算:
进行左移0位的计算:correlation=0.064561;
进行左移1位的计算:correlation=0.063684;
进行左移2位的计算:correlation=0.064386;
进行左移3位的计算:correlation=0.072807;
进行左移4位的计算:correlation=0.081579;
进行左移5位的计算:correlation=0.057544;
进行左移6位的计算:correlation=0.057368;
进行左移7位的计算:correlation=0.063860;
进行左移8位的计算:correlation=0.056667;
进行左移9位的计算:correlation=0.063509;
进行左移10位的计算:correlation=0.072281;
进行左移11位的计算:correlation=0.077193;
进行左移12位的计算:correlation=0.060702;
进行左移13位的计算:correlation=0.070175;
进行左移14位的计算:correlation=0.072105;
进行左移15位的计算:correlation=0.080526;
进行左移16位的计算:correlation=0.065965;
==进行左移17位的计算:correlation=0.083333;==
进行左移18位的计算:correlation=0.060175;
进行左移19位的计算:correlation=0.065439;
进行左移20位的计算:correlation=0.060351;
进行左移21位的计算:correlation=0.065789;
进行左移22位的计算:correlation=0.055965;
进行左移23位的计算:correlation=0.065088;
进行左移24位的计算:correlation=0.071754;
进行左移25位的计算:correlation=0.071754;
……………………………………………..
进行第3段的相关值卷积计算:
进行左移0位的计算:correlation=0.097240;
进行左移1位的计算:correlation=0.099934;
进行左移2位的计算:correlation=0.089565;
进行左移3位的计算:correlation=0.104771;
==进行左移4位的计算:correlation=0.119436;==
进行左移5位的计算:correlation=0.098615;
进行左移6位的计算:correlation=0.092190;
进行左移7位的计算:correlation=0.099574;
进行左移8位的计算:correlation=0.089524;
进行左移9位的计算:correlation=0.090830;
进行左移10位的计算:correlation=0.103174;
进行左移11位的计算:correlation=0.106657;
进行左移12位的计算:correlation=0.096416;
进行左移13位的计算:correlation=0.104283;
==进行左移14位的计算:correlation=0.118534;==
进行左移15位的计算:correlation=0.108741;
进行左移16位的计算:correlation=0.098643;
进行左移17位的计算:correlation=0.116548;
进行左移18位的计算:correlation=0.095711;
进行左移19位的计算:correlation=0.096153;
进行左移20位的计算:correlation=0.105887;
进行左移21位的计算:correlation=0.104004;
进行左移22位的计算:correlation=0.081858;
进行左移23位的计算:correlation=0.086516;
进行左移24位的计算:correlation=0.108540;
进行左移25位的计算:correlation=0.111219;
……………………………………………..
进行第4段的相关值卷积计算:
进行左移0位的计算:correlation=0.125097;
进行左移1位的计算:correlation=0.131363;
进行左移2位的计算:correlation=0.123850;
进行左移3位的计算:correlation=0.139771;
进行左移4位的计算:correlation=0.156400;
进行左移5位的计算:correlation=0.142544;
进行左移6位的计算:correlation=0.125226;
进行左移7位的计算:correlation=0.136003;
进行左移8位的计算:correlation=0.125060;
进行左移9位的计算:correlation=0.131544;
进行左移10位的计算:correlation=0.130674;
进行左移11位的计算:correlation=0.137372;
进行左移12位的计算:correlation=0.121595;
进行左移13位的计算:correlation=0.138925;
进行左移14位的计算:correlation=0.147462;
进行左移15位的计算:correlation=0.141598;
进行左移16位的计算:correlation=0.140251;
进行左移17位的计算:correlation=0.151726;
进行左移18位的计算:correlation=0.124997;
进行左移19位的计算:correlation=0.123296;
==进行左移20位的计算:correlation=0.162137;==
进行左移21位的计算:correlation=0.140789;
进行左移22位的计算:correlation=0.112572;
进行左移23位的计算:correlation=0.112945;
进行左移24位的计算:correlation=0.143540;
进行左移25位的计算:correlation=0.137826;
……………………………………………..
进行第5段的相关值卷积计算:
进行左移0位的计算:correlation=0.159383;
进行左移1位的计算:correlation=0.164577;
进行左移2位的计算:correlation=0.156350;
==进行左移3位的计算:correlation=0.188700;==
==进行左移4位的计算:correlation=0.202115;==
进行左移5位的计算:correlation=0.175758;
进行左移6位的计算:correlation=0.158261;
进行左移7位的计算:correlation=0.173681;
进行左移8位的计算:correlation=0.151310;
进行左移9位的计算:correlation=0.160294;
进行左移10位的计算:correlation=0.165138;
进行左移11位的计算:correlation=0.165586;
进行左移12位的计算:correlation=0.146952;
进行左移13位的计算:correlation=0.166961;
==进行左移14位的计算:correlation=0.188891;==
进行左移15位的计算:correlation=0.181241;
进行左移16位的计算:correlation=0.183465;
进行左移17位的计算:correlation=0.182083;
进行左移18位的计算:correlation=0.163033;
进行左移19位的计算:correlation=0.156153;
==进行左移20位的计算:correlation=0.195172;==
进行左移21位的计算:correlation=0.168289;
进行左移22位的计算:correlation=0.143108;
进行左移23位的计算:correlation=0.144552;
进行左移24位的计算:correlation=0.167826;
进行左移25位的计算:correlation=0.175683;
……………………………………………..
进行第6段的相关值卷积计算:
进行左移0位的计算:correlation=0.196169;
进行左移1位的计算:correlation=0.194934;
进行左移2位的计算:correlation=0.186707;
进行左移3位的计算:correlation=0.220307;
==进行左移4位的计算:correlation=0.256222;==
进行左移5位的计算:correlation=0.214865;
进行左移6位的计算:correlation=0.186476;
进行左移7位的计算:correlation=0.198324;
进行左移8位的计算:correlation=0.191667;
进行左移9位的计算:correlation=0.192259;
进行左移10位的计算:correlation=0.197638;
进行左移11位的计算:correlation=0.197014;
进行左移12位的计算:correlation=0.178380;
进行左移13位的计算:correlation=0.192140;
进行左移14位的计算:correlation=0.229784;
进行左移15位的计算:correlation=0.219633;
进行左移16位的计算:correlation=0.217572;
进行左移17位的计算:correlation=0.218155;
进行左移18位的计算:correlation=0.199104;
进行左移19位的计算:correlation=0.187581;
进行左移20位的计算:correlation=0.228029;
进行左移21位的计算:correlation=0.199182;
进行左移22位的计算:correlation=0.173108;
进行左移23位的计算:correlation=0.173123;
进行左移24位的计算:correlation=0.203719;
进行左移25位的计算:correlation=0.212469;
……………………………………………..
进行第7段的相关值卷积计算:
进行左移0位的计算:correlation=0.225454;
进行左移1位的计算:correlation=0.232256;
进行左移2位的计算:correlation=0.220279;
进行左移3位的计算:correlation=0.249057;
==进行左移4位的计算:correlation=0.292650;==
进行左移5位的计算:correlation=0.256651;
进行左移6位的计算:correlation=0.225404;
进行左移7位的计算:correlation=0.224753;
进行左移8位的计算:correlation=0.223095;
进行左移9位的计算:correlation=0.222794;
进行左移10位的计算:correlation=0.231209;
进行左移11位的计算:correlation=0.227372;
进行左移12位的计算:correlation=0.211416;
进行左移13位的计算:correlation=0.217318;
进行左移14位的计算:correlation=0.262462;
进行左移15位的计算:correlation=0.259455;
进行左移16位的计算:correlation=0.246858;
==进行左移17位的计算:correlation=0.263869;==
进行左移18位的计算:correlation=0.238568;
进行左移19位的计算:correlation=0.218653;
进行左移20位的计算:correlation=0.262137;
进行左移21位的计算:correlation=0.235968;
进行左移22位的计算:correlation=0.207215;
进行左移23位的计算:correlation=0.208838;
进行左移24位的计算:correlation=0.235683;
进行左移25位的计算:correlation=0.245147;
……………………………………………..
结论:通过结果分析我们可以得到:
第1段进行相关值计算后:
进行左移15位(a-p)的计算结果(0.048246)值明显最大第2段进行相关值计算后:
进行左移17位(a-r)的计算结果(0.083333)值明显最大第3段进行相关值计算后:
进行左移4位(a-e)的计算结果(0.119436)值最大其次为左移14位(a-o)的计算结果(0.118534)值与之接近
第4段进行相关值计算后:
进行左移20位(a-u)的计算结果(0.162137)值最大第5段进行相关值计算后:
发现近似较多
进行左移4位(a-e)的计算结果(0.202115)值最大
其次为左移20位(a-u)的计算结果(0.195172)值与之接近
其次为左移14位(a-o)的计算结果(0.188891)值与之接近
其次为左移3位(a-d)的计算结果(0.188700)值与之接近
第6段进行相关值计算后:
进行左移4位(a-e)的计算结果(0.256222)值最大第7段进行相关值计算后:
进行左移4位(a-e)的计算结果(0.292650)值最大
其次为左移17位(a-r)的计算结果(0.263869)值与之接近
最后,我们按照顺序依次将移位量代入进行比对,发现以下移位方式符合正常单词拼写:
第1段左移15位(a-p)
第2段左移17位(a-r)
第3段左移14位(a-o)
第4段左移20位(a-u)
第5段左移3位(a-d)
第6段左移4位(a-e)
第7段左移17位(a-r)
最终解密后为:
And finally, build a community. No one does big things by themselves. Right now, when people are scared, it is easy to be cynical and say let me just look out for myself, or my family, or people who look or think or pray like me. But if we are going to get through these difficult times; if we are going to create a world where everybody has the opportunity to find a job, and afford college; if we are going to save the environment and defeat future pandemics, then we are going to have to do it together.