educoder之密码学
发布时间
阅读量:
阅读量
第1关:移位密码
任务描述
移位加密作为密码学领域中一种极为经典且关键的加密手段,掌握其原理对于后续其他加密技术的学习具有重要的基础性意义。
本关任务:采用 c++ 编程语言实现移位密码算法,对用户输入的明文字符串执行相应的移位加密操作,并将结果输出显示。
相关知识概述
为顺利通过本阶段任务,需熟练掌握以下内容:1. 数论中与模运算相关的知识;2. 如何在模 m 的条件下定义相应的运算规则;3. 移位密码系统的原理与应用。
模运算
设a与b均为整数,m为一个正整数。当m能够整除b−a时,可将这一关系表示为:
a≡b(mod m)
上述表达方式读作“a与b在模m下同余”,其中正整数m被称作模数。
接下来将展示如何计算一组数据中满足特定模数条件的同余数字对,具体的C++代码实现示例如下:
constexpr int mod=9; // 模数 mod 取值为9
int a[10]= {2,11,12};
for(size_t i=1; i<3; i++) // 循环遍历数组 a 中所有的数字对
if((a[i]-a[i-1])%mod==0) // 判断mod是否可以整除两数之差
cout<<a[i-1]<<"与"<<a[i]<<"模"<
全部评论 (0)
还没有任何评论哟~
