第一章:猪圈密码,第二章∶埃特巴什密码,第三章:元音密码
犯罪大师经典三大加密答案
一、答案一览
第一题:FREE
第二题:MKCHEN
第三题:4523103033103513
第四题:HOLMES
猪圈密码就是共济会密码,一种以格子为基础的简单替代式密码即使使用符号,也不会影响密码分析,亦可用在其它替代式的方法,早在1700年代共济会常常使用这种密码保护—些私密纪录或用来通讯,所以又称共济会密码。
扩展资料:
犯罪大师埃特巴什密码
埃特巴什码(Atbash Cipher)是一个系统:最后一个字母代表第一个字母,倒数第二个字母代表第二个字母。
在罗马字母表中,是这样出现的:
常文: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。
密文:Z、Y、X、W、V、U、T、S、R、Q、P、O、N、M、L、K、J、I、H、G、F、E、D、C、B、A。
1、RSA算法密码
RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。
2、ECC加密法密码
ECC算法也是一个能同时用于加密和数字签名的算法,也易于理解和操作。同RSA算法是一样是非对称密码算法使用其中一个加密,用另一个才能解密。
3、二方密码
二方密码(en:Two-square_cipher)比四方密码用更少的矩阵。
4、四方密码
四方密码用4个5×5的矩阵来加密。每个矩阵都有25个字母(通常会取消Q或将I,J视作同一样,或改进为6×6的矩阵,加入10个数字)。
5、三分密码
首先随意制造一个3个3×3的Polybius方格替代密码,包括26个英文字母和一个符号。然后写出要加密的讯息的三维坐标。讯息和坐标四个一列排起,再顺序取横行的数字,三个一组分开,将这三个数字当成坐标,找出对应的字母,便得到密文。
6、仿射密码
仿射密码是一种替换密码。它是一个字母对一个字母的。
7、埃特巴什码
埃特巴什码是一个系统:最后一个字母代表第一个字母,倒数第二个字母代表第二个字母。
8、栅栏加密法密码
栅栏加密法是一种比较简单快捷的加密方法。栅栏加密法就是把要被加密的文件按照一上一下的写法写出来,再把第二行的文字排列到第一行的后面。
9、针孔加密法密码
这种加密法诞生于近代。由于当时邮费很贵,但是寄送报纸则花费很少。于是人们便在报纸上用针在需要的字下面刺一个孔,等到寄到收信人手里,收信人再把刺有孔的文字依次排列,连成文章。
10、回转轮加密法密码
一种多码加密法,它是用多个回转轮,每个回转轮实现单码加密。这些回转轮可以组合在一起,在每个字母加密后产生一种新的替换模式。
参考资料来源:百度百科—密码
三次密码输错24小时后解除。
密码是按特定法则编成,用以对通信双方的信息进行明密变换的符号,换而言之,密码是隐蔽了真实内容的符号序列。就是把用公开的、标准的信息编码表示的信息通过一种变换手段,将其变为除通信双方以外其他人所不能读懂的信息编码,这种独特的信息编码就是密码。
密码是一门科学,有着悠久的历史,密码在古希腊与波斯帝国的战争中就被用于传递秘密消息。密码一般用于信息通信传输过程中的保密和存储中的保密,随着计算机和信息技术的发展,密码技术的发展也非常迅速,应用领域不断扩展。
加密方法:
1、RSA算法
RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。
2、ECC加密法
ECC算法也是一个能同时用于加密和数字签名的算法,也易于理解和操作。同RSA算法是一样是非对称密码算法使用其中一个加密,用另一个才能解密。
3、埃特巴什码
埃特巴什码是一个系统,最后一个字母代表第一个字母,倒数第二个字母代表第二个字母。
切片即可。
将密文的每一个单词word,使用word[::-1]得到明文。
反之亦然。
例如:
s='This is a ciphertext'
print(' '.join(map(lambda _:_[::-1],s.split(' '))))
埃特巴什码(Atbash Chiper)是一个系统:最后一个字母代表第一个字母,倒数第二个字母代表第二个字母。
在罗马字母表中,它是这样出现的:
常文: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
密文:Z Y X W V U T S R Q P O N M L K J I H G F E D C B A
比如愤怒英文是Anger
埃特巴什码就是Zmtui
如果埃特巴什码正好也是英文词语最好,我打的愤怒是没有对照的单词的
/*你说的埃特巴什码(Atbash Chiper)是不是这种:最后一个字母代表第一个字母,倒数第二个字母代表第二个字母。也就是A转成Z,X转成C*/
/*如果是这样的,那他的加解密函数应该是同一个,你可以用我下面的代码来实现*/
#includeiostream
#includestring
using namespace std;
string Conversion(string s)
{
string ss;
for(int i=0; is.length(); i++)//扫描每个字符
{
char m = s.at(i);//取出每个字符
if(isalpha(m))//是字母则转换
{
//大小写字母各中分,共分成四组
if(m=65 m=77)//A~M
{
m = m + 25 - (m-65)*2;
}
else if(m=78 m=90)//N~Z
{
m = m - 25 + (90-m)*2;
}
else if(m=97 m=109)//a~m
{
m = m + 25 - (m-97)*2;
}
else//n~z
{
m = m - 25 + (122-m)*2;
}
}
char *k = m;
ss += *k;//形成新的字符串
}
return ss;
}
void main()
{
string s;
//输入完成后需要按两次回车,是因为getline这个函数内部的BUG问题,对程序没影响
getline(cin,s,'\n');
coutConversion(s)endl;
}