- 27
- 0
- 约4.89千字
- 约 9页
- 2016-02-25 发布于江苏
- 举报
实验一__古典密码算法.doc
一、目的二、要求、这里对应密文字母可能是一个,也可能是多个。接收者对密文进行逆向替换即可得到明文。替代密码有五种表现形式:单表代替即简单替代密码或者称为单字母代替,明文字母表中的一个字符对应密文字母表中的一个字符。这是所有加密中最简单的方法。 多名码代替就是将明文字母表中的字符映射为密文字母表中的多个字符。多名码简单代替早在1401年就由DuchyMantua公司使用。在英文中,元音字母出现频率最高,降低对应密文字母出现频率的一种方法就是使用多名码,如e可能被密文5、13或25替代。 多音码代替就是将多个明文字符代替为一个密文字符。比如将字母“i” 和“j”对应为“K”,“v”和“w”代替为“L”最古老的这种多字母加密始见于1563年由波他的《密写评价》(De furtiois literarum notis)一书。 多表代替即由多个简单代替组成,也就是使用了两个或两个以上的代替表。比如使用有5个简单代替表的代替密码,明文的第一个字母用第一个代替表,第二个字母用第二个表,第三个字母用第三个表,以此类推,循环使用这五张代替表。多表代替密码由莱昂.巴蒂斯塔于1568年发明,著名的维吉尼亚密码和博福特密码均是多表代替密码。
将明文中的每个字母用字母表中该字母后的第R个字母来替换,达到加密的目的。
其中,m为明文字母在字母表中的位置数;n为字母表中的字母个数;k为密钥; 为密文字母在字母表中对应的位置数。
例如:对于明文字母H,其在字母表中的位置数为8,设,则按照上式计算出来的密文为L,计算过程如下:
2.置换密码
置换密码算法的原理是不改变明文字符,而是按照某一规则重新排列消息中的比特或字符顺序,才而实现明文信息的加密。置换密码有时又称为换位密码。
矩阵换位法是实现置换密码的一种常用方法。它将明文中的字母按照给定的顺序安排在一个矩阵中,然后用根据密钥提供的顺序重新组合矩阵中的字母,从而形成密文。例如,明文为attack begins at five,密钥为cipher,将明文按照每行6个字母的形式排在矩阵中,形成如下形式:
根据密钥cipher中各个字母在字母表中出现的先后顺序,给定一个置换:
根据上面的置换,将原有居住中的字母按照第1列、第4裂、第5裂、第3裂、第2列、第6列的顺序排列,则有下面的形式:
从而得到密文:abatgftetcnvaiikse
其解密过程是根据密钥的字母数作为列数,将密文按照列、行的顺序写出,再根据由 密钥给出的矩阵置换产生新的矩阵,从而恢复明文。
四、#includestdio.h
#includemath.h
#includestring.h
#define N 500
int main()
{
/*--------------------------------*/
int i=0,k,m,n,l;
char str1[N],str2[N]; /*C=M+K...K is key...*/
clrscr();
/*--------------------------------*/
printf(This is a code password program......\n);
printf(Please input proclaimed in writing(M)::\n);
gets(str1);/*输入要加密的明文M*/
printf(Please input the key(K)(int)::\n);
scanf(%d,k);/*输入密钥K*/
m=strlen(str1);/*测试明文的长度*/
printf(The M length is %d\n,m);
printf(\n *\n *\n *\n***\n *\n);
printf(ciphertext(C) is ::\n\n);
for(i=0;im;i++)/*加密的过程*/
{
n=(int)str1[i];/*将字符转换成ASCII*/
if(str1[i]== )/*如果字符串中出现空格返回空格*/
{
printf( );
str2[i]=str1[i];
}
else if(n96n123)/*对小写进行加密*/
{
n=(n-97+k)%26;
if(n0)
n=26+n;
l=(char)(n+97);
printf(%c,l);
str2[i]=l;
}
else if(n64n91)
您可能关注的文档
- 复习题及解答1.doc
- 复件 扶持民营科技企业发展的意见修改2.doc
- 复工复产安全技术措施.doc
- 复旦大学微分几何教学大纲.doc
- 夏季小儿常见疾病预防知识.doc
- 外包项目评审办法.doc
- 外国文学 文艺复兴时代背景和艺术概述.ppt
- 外国语学院成教毕业论文说明.doc
- 外科学模拟试卷十九(心胸外科7).doc
- 外科手术中的节约用血与科学用血(刘斌).doc
- 2025年全国演出经纪人员资格认定考试试卷带答案(研优卷).docx
- 2025年全国演出经纪人员资格认定考试试卷完整版.docx
- 2025年全国演出经纪人员资格认定考试试题库及完整答案.docx
- 2025年全国演出经纪人员资格认定考试试卷完美版.docx
- 2025年全国演出经纪人员资格认定考试试卷含答案(实用).docx
- 2025年全国演出经纪人员资格认定考试试卷及答案(各地真题).docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
- 2025年全国演出经纪人员资格认定考试试卷及答案1套.docx
- 2025年下半年四川成都市郫都区面向社会引进公共类事业单位人员2人备考题库最新.docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
最近下载
- 塔吊工作安全培训内容课件.pptx VIP
- 2024-2025学年天津市部分区七年级(上)期末历史试卷(含答案).docx
- 天津大学物理化学教学课件ppt合集.pptx
- 土豆种植时间和方法.doc VIP
- SMAR公司DT301密度计说明书.pdf
- 2、高鸿业宏观经济学教案.doc VIP
- 高杆灯取电照明装置.pdf VIP
- Unit 2 Expressing yourself Part B let's learn 教案 三年级英语下册 人教PEP版.docx VIP
- 【通用】马年猜猜乐PPT(猜成语)打印版【课件】.pptx
- PDCA循环-提高手术间无菌物品定位放置规范率PPT优秀案例.pptx
原创力文档

文档评论(0)