1 / 7
文档名称:

仿射密码和置换密码.doc

格式:doc   大小:122KB   页数:7页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

仿射密码和置换密码.doc

上传人:aena45 2020/3/7 文件大小:122 KB

下载得到文件列表

仿射密码和置换密码.doc

文档介绍

文档介绍:福州大学数学与计算机科学学院《计算机密码学》上机实验报告专业和班级数学2班姓名吴少敦成绩学号030801212实验名称古典密码学实验实验目的和要求(1)练****古典密码学的加密和解密;(2)练****仿射密码和置换密码的加密和解密实验任务(1)熟悉仿射密码。(2)熟悉置换密码。实验内容仿射密码:;lassFangsheMima{ publicFangsheMima(){ ("请输入两个密钥:"); 1=newScanner(); intk1=(); intk2=(); if(gcd(k1,26)!=1){ ("密钥错误!!!"); }else{ booleanboo=true; do{ ("请选择功能:"); ("1:加密"); ("2:解密"); ("3:退出"); intt=(); switch(t){ case1: ("请输入明文:"); 2=newScanner(); Stringmingwen=(); ("明文:"+mingwen); ("密钥:k1="+k1+",k2="+k2); ("密文:"+jiaMi(mingwen,k1,k2)); break; case2: ("请输入密文:"); 3=newScanner(); Stringmiwen=(); ("密文:"+miwen); ("密钥:k1="+k1+",k2="+k2); ("明文:"+jieMi(miwen,k1,k2)); break; case3: boo=false; ("已经退出!!!"); break; } }while(boo); } } publicintgcd(inta,intb){ intk=0; do{ k=a%b; a=b; b=k; }while(k!=0); returna; }//辗转相除球最大公约数 publicintni(inta,intb){ inti=1; while(a*i%b!=1){ i++; } returni; }//a相对b的逆 publicStringjiaMi(Stringmingwen,intk1,intk2){ Stringmiwen=""; char[]c=newchar[()]; for(inti=0;i<;i++){ c[i]=(i); if(c[i]>='a'&&c[i]<='z'){ c[i]=(char)((k1*(c[i]-'a')+k2