原题链接:http://www.wechall.net/challenge/training/crypto/caesar/index.php
告诉我们这是个古凯撒密码,让我们解。。。我们百度下古凯撒密码
它是一种代换密码。据说恺撒是率先使用加密函的古代将领之一,因此这种加密方法被称为恺撒密码。
凯撒密码作为一种最为古老的对称加密*,在古罗马的时候都已经很流行,他的基本思想是:通过把字母移动一定的位数来实现加密和解密。明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推X将变成A,Y变成B,Z变成C。由此可见,位数就是凯撒密码加密和解密的密钥。
而他给我们的暗文是:
ESP BFTNV MCZHY QZI UFXAD ZGPC ESP WLKJ OZR ZQ NLPDLC LYO JZFC FYTBFP DZWFETZY TD OMTOXWAAQSNC
这里附上一个我自己写的c语言程序来解码
#include <stdio.h>
#include <string.h>
int main(){
char str[99];
int l,i,m;
gets(str);
l=strlen(str);
for(i=0;i<26;i++){
for(m=0;m<l;m++){
if(str[m]==' ') continue;
str[m]=str[m]+1;
if('Z'<str[m]) str[m]='A';
}
printf("%d: ",i+1);
puts(str);
printf("\n");
}
}
运行一遍得到solution