信息安全认知实习-数学基础与密码学部分

信息安全认知实习-数学基础与密码学部分

ID:1320417

大小:67.00 KB

页数:4页

时间:2017-11-10

信息安全认知实习-数学基础与密码学部分_第1页
信息安全认知实习-数学基础与密码学部分_第2页
信息安全认知实习-数学基础与密码学部分_第3页
信息安全认知实习-数学基础与密码学部分_第4页
资源描述:

《信息安全认知实习-数学基础与密码学部分》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数学基础与密码学部分实验内容第一章信息安全数学基础实验部分数学是科学的“皇后”,数论是数学领域中的“皇后”。——CarlFriedrichGauss数论及近世代数知识现在已经得到了广泛的应用,这其中的部分原因应归结为以大素数为基础的密码体系的建立。这种体系的可行性在于我们可以轻松地找到一些大素数,而体系的安全性则在于将大素数的乘积重新分解因数往往十分困难。本实验部分将通过编程实现数论中比较基本的一些算法,从而加强对信息安全数学基础知识的理解。1.定理:设n是一个正整数,如果对所有的素数p≤,都有płn,则n一定是素数。注:古希腊数学家埃拉托斯散(Eratosthen

2、es,公元前275—公元前194)发明了求比某给定数小的素数的筛法技巧。方法如下:对于任意给定的正整数N,要求出所有不超过N的素数。我们列出N个整数,从中删除小于等于的所有素数p1,…,pk的倍数。然后依次删除,p1的倍数:2p1,…,p1……pk的倍数:2pk,…,pk余下的整数(不包括1)就是所要求的不超过N的素数。使用VC++编程语言编写一个可测定不超过1,000,000的素数判定程序。2.使用VC++编程语言设计实现一个算法程序库,要求包括以下部分:1)欧几里德算法求a,b的最大公倍数;2)扩展的欧几里德算法,求出gcd(a,b)和满足gcd(a,b)=ax

3、+by的整数x和y;3)求解模线性方程ax≡b(modn)其中n>0;4)求解模线性方程组(中国余数定理);s.huH^,bB!V5)模取幂运算,计算abmodn(a,b>1032);6)Miller-Rabin随机性素数测试算法(要求判定n>1016);3.使用VC++编程语言编程设计并验证以下公式:1)(素数定理)2)Mersenne数,形如Mp=2p-1的素数称为Mersenne数。利用Mersenne数可以构造出非常大的素数。(截止2006年4月,数学家仅发现了42个Mersenne素数)。程序验证并找出10个Mersenne数。3)Fermat数,形如Fn

4、=+1的数被称为Fermat数。Fermat宣称,对所有的整数n,Fn永远是素数。程序验证并找出一个Fermat数是合数。4)Euler素数,Euler曾研究过公式:f(n)=n2+n+41,程序验证,当n=0,1,…,39时,f(n)都是素数,但f(40)是合数。有趣的是,公式能给出相当多的素数。5)孪生素数,间隔为2的相邻素数,如3与5,5与7。关于孪生素数的猜想是:孪生素数有无穷多个。用p(x)表示不超过x的孪生素数的个数。英国数学家Hardy与Littlewood猜测其中注:迄今为止,孪生素数猜想还没有证明。目前最好的结果是我国数学家陈景润于1966年获得:

5、存在无穷多个素数p,使p+2是不超过两个素数的乘积。截止1999年发现的最大孪生素数是第一章密码学基础实验部分安全不等于密码、安全离不开密码,密码是安全之核心!本章适合于已具备基本的密码学知识及其技术、数学原理和概念性基础以及专门术语的程序员。接触过各种密码系统的描述以及关于特定软件和系统的安全性或非安全性的一般声明,但又并不彻底了解这些描述和声明的背景的读者。本实验部分主要通过编程实现密码学中一些经典的算法,从而加强对密码学基础知识的理解。1.使用VC++编程语言设计实现一个200位以上十进制数运算的函数库:能够完成大整数加、减、乘、除、求模、与、或、非、异或等运

6、算。2.使用VC++编程语言编写一个系统程序,要求综合应用Kasiski测试法、重合指数法求出不同密文的明文。(已知:密文已通过Vigenère密码加密)3.使用VC++编程语言编写一个程序,实现DES算法,包括以下环节,密钥通过随机函数产生,并应用密文反馈(CFB)工作模式和输出反馈(OFB)工作模式进行加密、解密和输出。4.1999年3月22日第二次AES会议上,将候选算法名单减少为5个,这5个算法是RC6,Rijndael,SERPENT,Twofish和MARS。使用VC++编程语言编写程序:(以上六种方案供选择)1)RC6算法和SERPENT算法2)IDE

7、A算法和SHA-1算法3)MARS算法和MD5算法4)RC6算法和IDEA算法5)MD5算法和SHA-1算法6)MD5算法和Twofish算法5.使用以下编程语言或者数据结构完成DES算法中S-盒的设计:1)VC++语言,数组方式2)VC++语言,链表方式3)汇编语言,数据矩阵6.增强DES的一种方法是进行两次加密:给定两个密钥,记(K1、K2),记C=eK2(eK1(m))。如果加密函数与解密函数是相同的,那么K1和K2称为对偶密钥(对两次加密来说,非常不希望出现这种情况,因为所得的密文与明文相同)。如果一个密钥是它自己的对偶密钥,这个密钥是自对偶的,利用程序

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。