信息安全实验报告_实验报告信息安全

2020-02-28 其他范文 下载本文

信息安全实验报告由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“实验报告信息安全”。

《信息安全》实验报告

班级:

姓名:

学号:

1. 实验题目:置换密码技术实现程序开发 2. 实验目的:通过置换密码算法的实现,进一步掌握置换密码算法的原理,为今后的工程应用打下坚实的基础。

3. 实验原理:置换密码亦称为换位密码。置换只不过是一个简单的换位。每个置换都可以用一个置换矩阵Ek来表示。每个置换都有一个与之对应的逆置换Dk。置换密码的特点是仅有一个发送方和接收方知道的加密置换(用于加密)和对应的逆置换(用于解密)。它是对明文L长字母组中的字母位置进行重新排列,而每个字母本身并不改变。令明文为 mm1m2mL。令置换矩阵所决定的置换为,则 加密置换 CEk(c1c2cL)m(1)m(2)m(L)解密置换 dDk(c1(1)1(2)cc1(L))

例,给定明文为tba simpodst yoibje trqnspbsition cipderk,将明文分成长为L=5的段,m1=tbasi, m2=mpods m3=tyo m4=ibjet,m5=rqnsp, m6=bsiti m7=oncip m8=derkz

最后一段长不足5,加添一个字母z。将隔断的字母序号按下述置换矩阵进行换位:

Ek= 0 1 2 3 44 3 0 2

得到密文如下

STIAB DMSOP STSOY EITJB SRPNQ TBIIS IOPCN KDZRE

利用下述置换矩阵:

Dk=0 1 2 3 40 4 2 1

可将密文恢复为明文。

L=5时可能的置换矩阵总数为5!=120,一般为L!个。可以证明,在给定L下所有的置换矩阵构成一个L!对称群。4. 实验代码

void Permutation()/*置换密码*/ {

char c[100], *q;

int *key, len, m, i, j=0;

system(“cls”);

printf(“********Permutation Cipher(置换密码)********nPlease input primal sentence(请输入最初的明文): ”);

gets(c);

strcpy(c, strupr(c));

len = strlen(c);

for(i=0;i

{

if(c[i]90)

{

for(j=i;j

c[j] = c[j+1];

len--;

}

}

c[len] = '';

printf(“Input the length of the key: ”);

scanf(“%d”, &m);

key =(int*)malloc(m*sizeof(int));

q =(char *)malloc(len*sizeof(int));

printf(“Input the key: ”);

for(i=0;i

{

scanf(“%d”, key+i);

key[i]--;

}

getchar();

for(i=0;i

{

j =(i/m)*m;

q[i] = c[*(key+i%m)+j];

}

q[i] = '';

printf(“Result is: %sn”, q);

for(i=0, j=0;i

{

j =(i/m)*m;

c[*(key+i%m)+j] = q[i]+32;

}

c[len] = '';

printf(“After translated the sentence,we can see the primal sentence as follow:n%sn”, c);

printf(“Pre any key to return(按任何键返回)...”);

free(key);

free(q);

getch();}

int main(){

char i = '0';

system(“cls”);

while(i!='5')

{

system(“cls”);

printf(“********Pre 1~5 to choose(请按1~5选择):********n”);

printf(“1.Shift Cipher(移位密码)n2.Affine Cipher(仿射密码)n3.Vigenere Cipher(维吉利亚密码)n4.Permutation Cipher(置换密码)n5.Exit(退出)n”);

i = getch();

if(i=='1')

Shift();

else if(i=='2')

Affine();

else if(i=='3')

Vigenere();

else if(i=='4')

Permutation();

else if(i=='5')

break;

} system(“pause”);return 0;

5.实验总结:通过这次上机实验,我了解道常用置换矩阵的特点和作用,它具有很高的安全性和可靠性,然而由于我对置换矩阵算法了解不够深入,理解不够透彻,以至于出现了很多麻烦,幸运的是经过老师和同学的指点,我成功地解决了上机遇到的各种问题。

《信息安全实验报告.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
信息安全实验报告
点击下载文档
相关专题 实验报告信息安全 实验报告 信息安全 实验报告信息安全 实验报告 信息安全
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文