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

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

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
信息安全认知实习–数学基础与密码学部分

数学基础与密码学部分实验内容 信息安全数学基础实验部分 数学是科学的“皇后”,数论是数学领域中的“皇后”。 Carl Friedrich Gauss 数论及近世代数知识现在已经得到了广泛的应用,这其中的部分原因应归结为以大素数为基础的密码体系的建立。这种体系的可行性在于我们可以轻松地找到一些大素数,而体系的安全性则在于将大素数的乘积重新分解因数往往十分困难。本实验部分将通过编程实现数论中比较基本的一些算法,从而加强对信息安全数学基础知识的理解。 定理:设n是一个正整数,如果对所有的素数p≤,都有p?n,则n一定是素数。 注:古希腊数学家埃拉托斯散(Eratosthenes,公元前275—公元前194)发明了求比某给定数小的素数的筛法技巧。 方法如下: 对于任意给定的正整数N,要求出所有不超过N的素数。我们列出N个整数,从中删除小于等于的所有素数p1,…,pk的倍数。然后依次删除, p1的倍数:2p1,…, p1 …… pk的倍数:2pk,…, pk 余下的整数(不包括1)就是所要求的不超过N的素数。 使用VC++编程语言编写一个可测定不超过1,000,000的素数判定程序。 .使用VC++编程语言设计实现一个算法程序库,要求包括以下部分: 1)欧几里德算法求a,b的最大公倍数; 2)扩展的欧几里德算法,求出gcd(a,b)和满足gcd(a,b)=ax+by的整数x和y; 3)求解模线性方程 ax ≡ b (mod n) 其中n0; 4)求解模线性方程组(中国余数定理); s.huH^,bB!V 5)模取幂运算,计算ab mod n (a,b1032); 6)Miller-Rabin随机性素数测试算法(要求判定n1016); . 使用VC++编程语言编程设计并验证下公式: (素数定理) Mersenne数,形如Mp=2p-1的素数称为Mersenne数。利用Mersenne数 可以构造出非常大的素数。(截止2006年4月, 数学家仅发现了42个 Mersenne素数)。程序验证并找出10个Mersenne数。 Fermat数,形如Fn=+1的数被称为 Fermat数。 Fermat宣称,对所有的整数n, Fn永远是素数。程序验证并找出一个Fermat数是合数。 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年获得:存在无穷多个素数p, 使p+2是不超过两个素数 的乘积。截止1999年发现的最大孪生素数是 密码学基础实验部分安全不等于密码、安全离不开密码,密码是安全之核心本适合于密码学及其技术、数学原理和概念性基础以及专门术语的程序员。接触过各种密码系统的描述以及关于特定软件和系统的安全性或非安全性的一般声明,但又并不彻底了解这些描述和声明的背景。本实验部分通过编程实现中一些算法,从而加强对基础知识的理解。使用VC++编程语言设计实现一个200位以上十进制数运算的:能够完成大整数加、减、乘、除、求模等运算。 使用VC++编程语言编写一个系统程序,要求综合应用Kasiski测试法、重合指 数法求出不同密文的明文。(已知:密文已通过Vigenère密码加密) .使用VC++编程语言编写一个程序,实现DES算法,并应用密文反馈(CFB)工作模式和输出反馈(OFB)工作模式进行加密、解密和输出。 .1999年3月22日第二次AES会议上,将候选算法名单减少为5个,这5个 算法是RC6,Rijndael,SERPENT,Twofish和MARS。使用VC++编程语言编写程序:(以上)RC6算法和SERPENT算法 IDEA算法和SHA-1算法MARS算法和MD5算法RC6算法和IDEA算法 MD5算法SHA-1算法MD5算法Twofish算法 使用以下编程语言或者数据结构完成DES算法中S-盒的设计: VC++语言,数组方式 VC++语言,链表方式 汇编语言,数据矩阵 增强DES的一种方法是进行两次加密:给定两个密钥,记K1、K2),记C=eK2(e K1(m)

文档评论(0)

junjun37473 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档