Advertisement

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)

还没有任何评论哟~