
C语言加密解密
文章平均质量分 51
布Q丁
这个作者很懒,什么都没留下…
展开
-
希尔密码加密解密
希尔密码加密解密原理:希尔密码是运用基本矩阵论原理的替换密码。每个字母当作26进制数字:A=0,B=1...一串字母当成n维向量,跟一个n×n的矩阵相乘,再将得出的结果MOD 26。注意用作加密的矩阵(即密钥)必须是可逆的,否则就不可能译码。只有矩阵的行列式和26互质,才是可逆的。例如:设分组长度n=2,密钥为:K={7,9;8,3},明文为:friday加密过程为:(1)将明文分...原创 2018-09-09 17:04:30 · 21580 阅读 · 2 评论 -
RSA加密解密
RSA加密解密原理思路:RSA加密算法是一种典型的非对称加密算法,它基于大数因式分解数学难题,它也是应用最广泛的非对称加密算法。它的原理较为简单,只需几个步骤就可以完成消息的加密传递:(1)A方在本地构建密钥对,公钥和私钥;(2)A方将产生的公钥发送给B方;(3)B向A发送数据时,通过公钥进行加密,A接收到数据后通过私钥进行解密,完成一次通信。反之,B也另外构建一套公钥和私钥,...原创 2018-09-10 14:53:35 · 1903 阅读 · 1 评论 -
凯撒密码加密解密
加密方法:凯撒密码需要事先设置一个偏移量值(如:3,4,5等);然后将自己明文中每个字母加上该偏移量转变为另一字母(如偏移量为3,a字母转变为d字母)。加密程序:string encrypt(string mingwen,int k){ string miwen; int i; for(i=0; i<mingwen.length(); i++) ...原创 2018-09-07 15:50:35 · 1582 阅读 · 0 评论 -
维吉尼亚密码加密解密
加密方法:在维吉尼亚密码中,发件人和收件人必须使用同一个关键词(或同一段字母),这个关键词告诉他们怎么样才能前后改变字母的位置来获得该段信息中的每个字母的正确对应位置。比如:如果关键字为“BIG”,发件人将把明文中的第一个字母按“B”行来加密(向后移动1个位置,因为B是排在A后面的第1个字母),明文中的第二个字母按“I”行来加密(向后移动8个位置,因为I是排在A后面的第8个字母),明文中的第三...原创 2018-09-07 17:09:55 · 11488 阅读 · 4 评论 -
维吉尼亚密码破解
首先使用Friedman确定关键词长度//s为密文,len为密文长度int friedman(string s,int len){ int keyLength = 2; //猜测秘钥长度 double avgIc; //平均重合指数 while(true) { vector<string> cipherGroup; //...原创 2018-09-07 17:19:49 · 2295 阅读 · 0 评论 -
单表代换密码加密解密
单表代换密码加密解密原理:单表代换是指英文字母在进行密码编码替换的时候,有一张对照表,也就是说,对于每一个字母,都是唯一对应的,如:26个源字母表为:abcdefghijklmnopqrstuvwxyz代换的字母表为:qwertyuiopasdfghjklzxcvbnm在加密时,按照设计好的对照表对每一个明文字母进行替换,如a替换为q,b替换为w等。加密代码://s为代换...原创 2018-09-07 17:28:08 · 15101 阅读 · 0 评论 -
频率分析破解单表代换密码
频率分析破解原理:在任何一种书面语言中,不同的字母或字母组合出现的频率各不相同。而且,对于以这种语言写的任意一段文本,都具有大致相同的特征字母分布。比如,在英语中,字母E出现的频率很高,而X出现的较少。类似地,ST、NG、TH以及QU等双字母组合出现的频率非常高,NZ、QJ组合则极少。英语中出现频率最高的12个字母可以简记为“ETAOIN SHRDLU”。简单替换密码的频率分析,在一个简单...原创 2018-09-07 17:54:19 · 13126 阅读 · 1 评论 -
普莱费尔密码加密解密
普莱费尔密码的编写方法通常分为三个步骤,即编制密码表,整理明文,编写译文,下面以明文:pishoupideweinasi和密钥“culture”为例讲解。1、编制密码表我们需要一个5×5的方表,而用到的是密钥“culture”与英文字母表:(1)整理密钥字母culture,去掉后面重复的字母,得到字母串:cultre;(2)用上一步得到的字母自上而下填补5×5方表的纵列(也可横排)...原创 2018-09-07 18:18:19 · 7273 阅读 · 0 评论