- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用计算思维写简单的密码(含源代码)精选
用计算思维写密码程序
作者:王兆远 1 何祎 1 韩彦强 1
(南开大学物理科学学院,天津 300071 )
内容提要:简单介绍了密码学的起源、介绍了几种简单密码并给出了代码。
关键字:计算思维、密码、凯撒密码、Atbash 密码、换位密码
在有些时候,信息的保密性直接决定信息的价值,尤其是在涉及
国家的机密或个人的隐私的时候。在这些时候,我们将需要将信息变
成只有自己人才明白的“暗语”,而使外来人不知所云。在密码学中
这一过程称为加密(encryption),加密前的信息称为明文(clear
text),加密过后的信息称为密文(cipher text),而密钥是打开
加密的钥匙,通常它是在明文转换为密文或将密文转换为明文的算法
中输入的一种参数。用来传递加密后的信息的载体是加密旨,由于加
密的方法多种多样,加密旨的形式也多种多样,密码像蛋白质分子一
样千奇百怪。
密码学是一个神秘而吸引人的学科。它在人类历史上起到了独特
的作用,早在古罗马时代密码就出现在了战争中,用来秘密地传达消
息。在《高卢战记》中恺撒就记录了自己使用密码来传达军事命令的
策略,他由此成为历史上第一个使用加密旨的将领。于是他所使用的
这种密钥为3 的移位密码被称为恺撒密码。二战时密码战的博弈几乎
同战场上的厮杀一样激烈,德国开始使用当时世界上最先进的Enigma
密码机,而英国建造了“炸弹”机专门用来破译德军的密码;太平洋
战场上,美军用“钓鱼”法巧妙破译了日军的情报。到了今天,人们
一方面在不断求索着更好的加密算法用来保护信息的安全,另一方面
也在不断研究密码的破译来进行间谍或反恐工作。
由于我们在密码学和编程方面知识的局限,本文的讨论仅限于用
计算思维给出几个简单密码的算法。
1.凯撒密码
这种密码因为首先被裘里斯·凯撒使用并记载而闻名。它是一种
以26 个罗马字母(即拉丁字母)为基础的替换密码,所谓替换,意
即使26 个字母中的每个都有唯一另一个和它对应。凯撒密码的替换
规则是将每个字母换成后移 3 位的另一个字母(例如 a 换为d)。它
又被称为移位密码,这可以说是最简单的替换密码了。它在专业加密
中已经被淘汰,而由它发展出的ROT13 如今经常可见于英语社会娱乐
性的言论中,用以隐晦地表达一些看法。后来在凯撒密码的基础上还
形成著名的多表替换密码——维吉尼亚密码(本文不讨论此密码)。
想要将这样一个密码用算法实现,我们很容易想到用英文字母在
ASCII 码中的连续性。定义一个字符串,将原文赋值给它。将串中每
个字符的值加上一个移位值,输出加密后的字符串。而在ASCII 码中
不仅有英文字母,还有其他字符如标点。考虑到这一点,可以将移位
的范围拓延到更大的范围内(移位值可以取-33~5,下面的程序中缩
小了范围),只要不替换为不能输出的字符。而解密程序只要将移位
值取加密时的相反数。最后用do while 语句使之可以连续地执行加
密或解密。该程序代码如下:
#includeiostream
using namespace std;
int main()
{
char jud,A[100],B[100];
int key,n;
do
{
cout请输入密钥值n(0n5) :;
cinkey;
cout请输入密文:;
rewind(stdin);
gets(A);
n=strlen(A);
for(int i=0;i=n-1;i++)
B[i]=A[i]-key;
B[n]=0;
cout加密后的文字为:Bendl;
cout是否继续执行该程序?(输入Y 继续执行);
cinjud;
}while(jud==Y);
return 0;
}
2.Atbash 密码
Atbash 源于希伯来文,转化到罗马字母
您可能关注的文档
- 特定减免税业务简介20100818精选.doc
- 牵引变电所主接线设计精选.doc
- 牵手指挥棒--使用鼠标精选.doc
- 特征值和特征向量的数值算法精选.ppt
- 特征价格精选.doc
- 特大城市中心区城市设计的思考_以郑州二七中心区为例_王建国精选.pdf
- 特征多项式精选.ppt
- 特殊人群的输液治疗精选.ppt
- 特殊句式(题目)精选.doc
- 特殊值法精选.doc
- 高三生物一轮复习课件第8课时 酶和ATP.pptx
- 高三生物一轮复习课件 细胞中的元素和化合物,细胞中的无机物.pptx
- 2025年中考物理复习答题技巧与模板构建专题04热学必考的三个重点实验(解析版).docx
- 高三生物一轮复习课件:细胞核的结构和功能.pptx
- 高三生物一轮复习课件:光合作用的影响因素及其应用课件.pptx
- 高三生物一轮复习课件:细胞膜与细胞核.pptx
- 高三生物一轮复习课件蛋白质与核酸.pptx
- 高三一轮复习生物:细胞呼吸的原理和应用课件(1).pptx
- 高三生物一轮复习课件第8讲+酶和ATP.pptx
- 2.2基因在染色体上课件高一下学期生物人教版(2019)必修2 (2).pptx
最近下载
- 广东省广州市黄埔区部分学校2022-2023学年四年级下学期期末语文试卷.docx VIP
- 《矿用防爆电动无人驾驶车辆通用技术要求》.pdf
- 标准图集-07FS02-防空地下室给排水设施安装.pdf VIP
- 计算机事业单位考试题库100道及答案.docx VIP
- 辽宁省锦州市2024-2025学年七年级上学期期末质量检测英语试题(含答案).docx VIP
- 教育评价的一般理论.doc VIP
- 2021-2022学年河南省信阳市羊山新区人教版四年级下册期末考试数学试卷-6463.pdf VIP
- 水利水电工程弃渣场稳定安全评估规范(TCWHIDA0018-2021).pdf VIP
- 标准图集-07FD02_防空地下室电气设备安装.pdf VIP
- 公安院校公安专业本专科招生政治考察表(2022年西藏报考公安院校公安专业招生).doc VIP
文档评论(0)