信息安全概论实验一

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《信息安全概论》课程实验报告

实验名称古典密码验证与设计:Hill、Playfair、Vigenere算法实验序号1姓名系院专业班级学号

实验日期指导教师成绩

一、实验目的

(具体内容见实验大纲)

掌握密码学的基本概念,掌握几种典型的古典密码的设计原理。

二、实验内容与要求

(具体内容见实验大纲)

1 手工计算以下算法

1)用Vigenere加密we are discovered”

K=deceptive

2)采用Hill密码对明文best加密,并写出解密过程,使用密钥

K= 4 9

3 7

3)用Playfair算法加密明文“playfair is not secure”K=fivestars

2 采用密码分析软件CAP验证以上计算,并写出实验分析

3 编程实现Vigenere算法(编程工具不限)

三、实验设备

地点:科技楼网络实验室602

硬件环境:windows xp操作系统

软件环境:cap4,vc++6.0

四、实验步骤

1. 手工计算以下算法

1) 明文对应数字分别为22 4 0 17 4 3 8 18 2 14 21 4 17 4 3

密钥对应数字分别为3 4 2 4 15 19 8 21 4

明文22 4 017438182142141743

密钥34241519821434241519

密文25822119221613617256211922

密文z i c v t w q n g r z g v t w

由上表得密文为zicvtwqngrzgvtw

2)明文best分别对应1 4 18 19

即矩阵为1 4

18 19

此矩阵乘密钥k后mod26得到矩阵

16 11

25 9

即密文为qlzj

3)由k得到5*5矩阵 f i v e s

t a r b c

d g h k l

m n o p q

u w x y z

将明文分组得到pl ay fa ir is no ts ec ur eq

由矩阵和明文分组得对应密文qk bw it va vf op cf sb xt sp

2. 采用密码分析软件CAP验证以上计算,并写出实验分析

由CAP验证得1中1)的结果为zicvtwqngrzgvtw,结果正确

2)的数字结果分别为142 163 71 87,与结果不同,原因不明。

3)的结果为qkbwitvavfopcfsbxtsp,结果正确

3. 编程实现Vigenere算法(编程工具不限)

#include

#include

void main()

{

char a[101],b[101],d[101]={'?'},c[]={'a','b','c','d','e','f','g','h','i','j','k',

'l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};

int i=0,j,k,m=0,n;

printf("输入不超过100字数的字母明文a:");

scanf("%s",a);

printf("输入不超过100字数的字母密钥b:");

scanf("%s",b);

for(i=0;i<=100;i++)

{

if(b[i]=='\0')

{

n=i;

break;

}

}

for(i=0;i<100;i++)

{

if(a[i]=='\0')break;

for(j=0;j<26;j++)

{

if(a[i]==c[j])

break;

}//j是a[i]在26字母中的序号

for(k=0;k<26;k++)

{

if(b[m]==c[k])

break;

}//k是b[m]在26字母中的序号

m++;

m=m%n;

j=(k+j)%26;

d[i]=c[j];

}

printf("密文为:%s\n",d);

}

五、实验结果与分析

1.测试数据及结果

答:第四题中,题1的1)

2)

3)

第四题中题3

2.实验中遇到的问题及解决办法

答:第四题中,题3中输入的字母中不能有空格,否则会发生错误。尚未解决。3.实验中尚未解决的问题及不足

答:未解决的问题及不足即在上一小题中所说的。

相关文档
最新文档