欢迎来到天天文库
浏览记录
ID:45560302
大小:148.21 KB
页数:27页
时间:2019-11-14
《-【优秀文档资料】C语言课程设计实习报告封面(打印版)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、信息安全基础课程设计姓名:范相地专业:192112院(系):信息安全学号:20111004304班学号:192112—28指导教师:宋军、杨帆、余林琛2014年工月第一部分数学基础与密码学部分实验内容第一章信息安全数学基础实验部分1、题目:使用VC卄编程语言编写一个可测定不超过1,000,000的素数判定程序。设n是一个正整数,如果对所冇的素数pW,都有phi,则n—定是素数。注:古希腊数学家埃拉托斯散(Eratosthenes,公元前275-公元前194)发明了求比某给定数小的素数的筛法技巧。方法如下:对于任意给定的正整数N,要求出所有不超
2、过sqrt(N)的素数。我们列出N个整数,从中删除小于等于的所冇素数pl,…,pk的倍数。然后依次删除,pl的倍数:2pl,…,plpk的倍数:2pk,…,pk余下的整数(不包括1)就是所要求的不超过N的素数。3、代码设计:首先要求出sqrt(n)以内的素数,创建一个函数进行调用來判断是否为素数。intis_Prime(intq){intsq;intflag=1;inti;sq=sqrt(q);fbr(i=2;i<=sq;i++){if(q%i=0){flag=0;break;}}returnflag;当求出sqrt(n)以内的索数,并存储于
3、数组a[i]中,则对于要判定的素数m只盂判断是否n%a[i]==O0fbr(i=O;i#includeusingnamespacestd;intmain(){intn,k;inti;intj=0;intp=0;inta[200];cout«"输入数n=”
4、;cin»n;intisPrime(int);k=sqrt(n);lllllllllllllllllllllllllllllllllllllllllllllllllllllllfbr(i=2;i<=k;汁+){is_Prime(i)==1){cout«i«”aUl=i;j++;}}cout«endl«endl;llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllfor(i=0;i5、}if(i==j)cout«n«”是素数”vvendl;cout«endl«endl;return0;}llllllllllllllllllllllllllllllllllllllllllllintis_Prime(intq){intsq;intflag=1;inti;sq=sqrt(q);fbr(i=2;i<=sq;i++){if(q%i==0){flag=0;break;}returnflag;第二章密码学基础实验部分题目:1999年3刀22日第二次AES会议上,将候选算法名单减少为5个,这5个算法是RC6,Rijndael,SERPEN6、T,Twofish和MARS。使川VC卄编程语言编写一个程序:(五选一)以Rijndael为例关于Rijndael算法:Rijndael算法首先是一个密钥分组加密的算法,通过置换(permutations)和替换(substitutions)迭代加密,进过多轮操作形成密文。AES算是Rijndael算法的一■种特殊实现,选的分组为128bit(16字节),密钥可以使用128、192和256bit三种。分组上面已经说了AES分组为16个字节,下血说说他的排列,其实就是一个4x4的矩阵,不过要注意是竖着排的。AES原文:ala2a3a4a5a6a7、7a8a9al0allal2al3al4al5al6...ala5a9al3a2a6alOal4a3a7allal5a4a8a!2al6密钥AES的密钥虽然有三种,但是并不意味着这三种密钥的AES差界很人,相反加密过程其实完全一样,只是种子密钥是128,192,256bit三种而已。密钥在AES与分组数据并没冇做非常复杂的变化,其实只是简单的&(与)操作而已。不过又因为AES算法冇很多轮,所冇单单的种了密钥是不够的,所冇AES冇自己的扩展密钥的方法。还要提一下,密钥扩展后也是竖着排成方阵的。key:klk2k3k4k5k6k7k8k9kl0k8、llkl2kl3kl4kl5kl6...klk5k9kl3k2k6klOkl4k3k7kllkl5k4k8kl2kl6轮数轮数主要跟种了密钥长度冇关。一般习惯川Nk
5、}if(i==j)cout«n«”是素数”vvendl;cout«endl«endl;return0;}llllllllllllllllllllllllllllllllllllllllllllintis_Prime(intq){intsq;intflag=1;inti;sq=sqrt(q);fbr(i=2;i<=sq;i++){if(q%i==0){flag=0;break;}returnflag;第二章密码学基础实验部分题目:1999年3刀22日第二次AES会议上,将候选算法名单减少为5个,这5个算法是RC6,Rijndael,SERPEN
6、T,Twofish和MARS。使川VC卄编程语言编写一个程序:(五选一)以Rijndael为例关于Rijndael算法:Rijndael算法首先是一个密钥分组加密的算法,通过置换(permutations)和替换(substitutions)迭代加密,进过多轮操作形成密文。AES算是Rijndael算法的一■种特殊实现,选的分组为128bit(16字节),密钥可以使用128、192和256bit三种。分组上面已经说了AES分组为16个字节,下血说说他的排列,其实就是一个4x4的矩阵,不过要注意是竖着排的。AES原文:ala2a3a4a5a6a
7、7a8a9al0allal2al3al4al5al6...ala5a9al3a2a6alOal4a3a7allal5a4a8a!2al6密钥AES的密钥虽然有三种,但是并不意味着这三种密钥的AES差界很人,相反加密过程其实完全一样,只是种子密钥是128,192,256bit三种而已。密钥在AES与分组数据并没冇做非常复杂的变化,其实只是简单的&(与)操作而已。不过又因为AES算法冇很多轮,所冇单单的种了密钥是不够的,所冇AES冇自己的扩展密钥的方法。还要提一下,密钥扩展后也是竖着排成方阵的。key:klk2k3k4k5k6k7k8k9kl0k
8、llkl2kl3kl4kl5kl6...klk5k9kl3k2k6klOkl4k3k7kllkl5k4k8kl2kl6轮数轮数主要跟种了密钥长度冇关。一般习惯川Nk
此文档下载收益归作者所有