77范文网 - 专业文章范例文档资料分享平台

古典密码实验报告(5)

来源:网络收集 时间:2018-12-22 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

一、查看移位密码算法运行结果并学习核心算法

1.1 点击【移位密码.exe】,选择【0】对明文进行加密。如图1所示

图1

1.2 重新运行程序,选择【1】,对密文进行解密。如图2所示

图2

1.3 移位密码的核心算法如下所示。

//#include \ #include #include \ #include using namespace std;

void ISD_yiwei_Secret(string &code, int k) {

int i;

for (i = 0; i

if ((code[i] + k)>'z') { } else {

code[i] = code[i] + k;

code[i] = ((code[i] + k) % 'z') + 'a' - 1;

}

}

}

code[i] = code[i] - 32;

void ISD_yiwei_Public(string &code, int k) { } int main() {

int k; string code;

cout << \请选择 \\n移位加密:0 , 解密 : 1 : \;

int n; cin >> n; switch (n) {

case 0:

cout << \请输入密匙(0 ~ 26), k = \;

cin >> k;

cout << \请输入原文:\ << endl; cin >> code;

ISD_yiwei_Secret(code, k);

cout << \密文为:\\n\ << code << endl; break; case 1:

cout << \请输入密文:\ << endl; cin >> code;

cout << \请输入密匙(0 ~ 26), k = \; cin >> k;

ISD_yiwei_Public(code, k);

cout << \原文为:\\n\ << code << endl;

int i;

for (i = 0; i

if ((code[i] - k)<'A') { } else { }

code[i] = code[i] + 32;

code[i] = code[i] - k;

code[i] = 'Z' - ('A' - (code[i] - k)) + 1;

}

}

break;

default:

cerr << \输入错误! \\n\;

while (!_kbhit()); return 0;

九、 实验结果及分析:

测试修改后的程序,结果正确,如下图所示:

在加密过程中对于每个字符进行(ASCII值+13)&+’A’的计算,可证明加密结果正确。同样解密过程中上式加号变减号,且转换为对应字母的小写字母,可以验证结果正确。程序无误。

十、 实验结论:

移位密码实际上是代换密码的一个特例,其思想比较简单,密钥空间较小,属于单表代换密码,即每个字符对应的加密字符都是固定对应的,实现起来也比较简单,可对字符的ASCII码值进行操作得到加密的结果。

十一、 总结及心得体会:

移位密码中的凯撒密码是我们之前已熟悉的经典古典密码之一,移位密码的思想实在凯撒密码的基础上进行了扩展,但思想仍比较简单,其加密和解密都比较容易实现,通过读程序源码对算法的原理有了更深的理解。

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库古典密码实验报告(5)在线全文阅读。

古典密码实验报告(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/383416.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: