1、经典的简单密码:
移位密码、一次一密乱码本、仿射密码。
2、移位密码:这是最简单的一种加密方式,早期的Caesar密码就是移位密码,这种密码很简单就是约定
把第个字母的位数往后移动3位,改进后的Caesar密码是发送方和接收方协商一个密钥k,1≤k≤25,代表移
动位数。下面写一个简单的程序展示一下:
#include<iostream>
#include <ctype.h>
using namespace std;
#define CNT 5 //移动的位数
#define MAXLEN 100 //要加密的字符串可能的最大长度
int main()
{
char str[MAXLEN];
scanf("%s",str);
for(int i = 0; i < strlen(str); i ++)
{
if(str[i]-' ' != 0)
{
str[i] = toupper(str[i])+CNT;
if(str[i] > 'Z') str[i] -= 26;
}
}
printf("%s\n",str);
return 0;
}
可以想像,这种密码很容易攻击,穷举25种可能就行了。
特点:
1)是对称密码:加密密钥和解密密钥相同;
2)是单表代替密码:所有的明文字母用同一种方法
加密,即子密钥相同。
3、乘法逆
n模m的乘法逆t满足:n×t%m=1,记作:t=n-1%m
乘法逆是复杂点的密码学算法的基础。
举例:
2-1%5的值为:3,因为 3×2%5=1
3-1%100的值为:67,因为 67×3%100=1
乘法逆的计算可以用
1)穷举法:
技巧:若t×n%m=-1,则n-1%m=m-t。
如:33×3%100=-1,所以3-1%100的值为67。
2)欧几里德算法:
原理:辗转求余
gcd(a,b)=gcd(b,a mod b)这个公式是欧几里德算法的基础,gcd就是最大公约数。
把公式变形后得:
ax+by=gcd(x,y) 当等号右边等于1时,这个式子就是我们用来求的乘法逆的关键式子了。
下面是我写的一个程序,用来模仿这个计算过程:
#include<iostream>
#include<stack>
using namespace std;
stack<int> s;
int cfn(int n, int m)
{
bool flag = false;
int cnt,a,b,t=1;
if(n > m)
{
flag = !flag;
a = n;
n = m;
m = a;
}
while(t)
{
cnt = 1;
while(m-n >= n)
{
cnt++;
m-=n;
}
m -= n;
s.push(-cnt);
t = m;
m = n;
n = t;
}
a = 0,b=1;
s.pop();
while(!s.empty())
{
t = b;
b = a + b*s.top();
a = t;
s.pop();
}
return flag?a:b;
}
int main()
{
int m,n;
while(scanf("%d%d",&n,&m) == 2)
printf("%d\n",cfn(n,m));
return 0;
}
- 大小: 38.6 KB
分享到:
相关推荐
密码学复习要点
密码学期末复习笔记,这门课的书是《密码学原理与实践第三版》
信息安全专业,现代密码学的复习资料. 本人亲自试验,内容总结的极好.
密码学复习资料,讲解详细,重点难点配图讲解。主要的安全协议都有。
计算机网络安全 密码学 复习题.docx
天津大学,密码学课程,期末复习重点,临近毕业,善良无私的学长留给可爱的学弟学妹们,祝学弟学妹们考试顺利,永不挂科
这是我关于密码学的笔记, 只讲各种加密算法到底是什么, 应当如何使用, 而不去讲学术的内容. 所以, 这是精华中的精华, 适合绝大多数想对密码学进行快速学习和完整了解的程序员. 我使用的是markdown形式做笔记, 树状...
绪论信息安全面临的威胁安全威胁被动攻击也称窃听,以获取信息为目的。可分为两类:获取消息的内容和业务流分析主动攻击对数据流进行篡改或产生假的数据流安全业务鉴别业务
西安电子科技大学 953 密码学 复习笔记 个人整理
密码学读书笔记1
密码 - 密码学复习 欧拉函数 一次同余式求解 本原根
Java基础每日复习笔记-JavaSE高级阶段.edf
密码学复习试题。
Java基础每日复习笔记-JavaSE高级阶段.2020-10-13-211312.edf
对于现代密码学的期末考试很有帮助,总结了密码学的一些专业知识点和考点
此课后习题答案对应的教材信息如下: 书名:现代密码学 第二版 作者:陈鲁生 沈世镒 出版社:科学出版社 附件下载列表如下: 现代密码学_第二版_陈鲁生_课后答案[2-9章].pdf
四川大学网络空间安全学院应用密码学的课程笔记,针对2022年期末考试复习来整理的,里面还有每一次学习通章节测试的题目和答案。
《灰灰的密码学笔记》《灰灰的密码学笔记》《灰灰的密码学笔记》《灰灰的密码学笔记》