当前位置:文档之家› 第八讲 HASH函数 武汉大学密码学

第八讲 HASH函数 武汉大学密码学

武汉大学计算机学院04级《密码学》试题

武汉大学计算机学院 信息安全专业2004级“密码学”课程考试题 (卷面八题,共100分,在总成绩中占70分) 一、单表代替密码(10分) ①使加法密码算法称为对合运算的密钥k称为对合密钥,以英文为例求出其对合密钥,并以明文M=WEWILLMEETATMORNING 为例进行加解密,说明其对合性。 ②一般而言,对于加法密码,设明文字母表和密文字母表含有n个字母,n为≥1的正整数,求出其对合密钥k。 二、回答问题(10分) ①在公钥密码的密钥管理中,公开的加密钥Ke和保密的解密钥Kd的秘密性、真实性和完整性都需要确保吗?说明为什么? ②简述公钥证书的作用? 三、密码比较,说明两者的特点和优缺点。(10分) 对DES和AES进行比较,说明两者的特点和优缺点。 四、设A=[01,02,03,04]T,B=[b0,b1,b2,b3]T,利用反对数表查表计算AES中的列混淆,求出B。(10分) 五、设g(x)=x4+x2+1,g(x)为GF(2)上的多项式,以其为连接多项式组成线性移位寄存器。画出逻辑框图。设法遍历其所有状态,并写出其状态变迁及相应的输出序列。(15分) 六、考虑RSA密码体制:(15分) 1.取e=3有何优缺点?取d=3安全吗?为什么? 2.设n=35,已截获发给某用户的密文C=10,并查到该用户的公钥e=5,求出明文M。

七、令素数p=29,椭圆曲线为y2=x3+4x+20 mod 29,求出其所有解点,并构成解点群,其解点群是循环群吗?为什么?。(15分) 八、在下述站点认证协议中函数f起什么作用?去掉f行不行?为什么?(15分) 设A,B是两个站点,A是发方,B是收方。它们共享会话密钥Ks ,f是公开的简单函数。A认证B是否是他的意定通信站点的协议如下: 1.A产生一个随机数RN,并用Ks对其进行加密:C=E(RN,Ks),并发C给B。同时A对RN进 行f变换,得到f(RN)。 2.B收到C后,解密得到RN=D(C,Ks)。B也对RN进行f变换,得到f(RN),并将其加密成 C’=E(f(RN),Ks),然后发C’给A 。 3.A对收到的C’解密得到f(RN),并将其与自己在第①步得到的f(RN)比较。若两者相等,则A 认为B是自己的意定通信站点。否则A认为B不是自己的意定通信站点。 参考答案 (卷面八题,共100分,在总成绩中占70分) 一、单表代替密码(10分) ①使加法密码算法称为对合运算的密钥k称为对合密钥,以英文为例求出其对合密钥,并以明文M=WEWILLMEETATMORNING 为例进行加解密,说明其对合性。 ②一般而言,对于加法密码,设明文字母表和密文字母表含有n个字母,n为≥1的正整数,求出其对合密钥k。 解答: 1.加法密码的明密文字母表的映射公式: A为明文字母表,即英文字母表,B为密文字母表,其映射关系为: j=i+k mod 26 显然当k=13时,j=i+13 mod 26,于是有i = j+13 mod 26。此时加法密码是对合的。称此密钥k=13为

武大信息安全密码学带答案

密码学 一、单表代替密码(10分) ①使加法密码算法称为对合运算的密钥k称为对合密钥,以英文为例求出其对合密钥,并以明文M =WEWILLMEETATMORNING 为例进行加解密,说明其对合性。 ②一般而言,对于加法密码,设明文字母表和密文字母表含有n个字母,n为≥1的正整数,求出其对合密钥k。 二、回答问题(10分) ①在公钥密码的密钥管理中,公开的加密钥Ke和保密的解密钥Kd的秘密性、真实性和完整性都需要确保吗?说明为什么? ②简述公钥证书的作用? 三、密码比较,说明两者的特点和优缺点。(10分) 对DES和AES进行比较,说明两者的特点和优缺点。 四、设A=[01,02,03,04]T,B=[b0,b1,b2,b3]T,利用反对数表查表计算AES中的列混淆,求出B。(10分) 五、设g(x)=x4+x2+1,g(x)为GF(2)上的多项式,以其为连接多项式组成线性移位寄存器。画出逻辑框图。设法遍历其所有状态,并写出其状态变迁及相应的输出序列。(15分) 六、考虑RSA密码体制:(15分) 1.取e=3有何优缺点?取d=3安全吗?为什么? 2.设n=35,已截获发给某用户的密文C=10,并查到该用户的公钥e=5,求出明文M。 七、令素数p=29,椭圆曲线为y2=x3+4x+20 mod 29,求出其所有解点,并构成解点群,其解点群是循环群吗?为什么?。(15分) 八、在下述站点认证协议中函数f起什么作用?去掉f行不行?为什么?(15分) 设A,B是两个站点,A是发方,B是收方。它们共享会话密钥Ks ,f是公开的简单函数。A认证B

是否是他的意定通信站点的协议如下: 1.A产生一个随机数RN,并用Ks对其进行加密:C=E(RN,Ks),并发C给B。同时A对RN 进行f变换,得到f(RN)。 2.B收到C后,解密得到RN=D(C,Ks)。B也对RN进行f变换,得到f(RN),并将其加 密成C’=E(f(RN),Ks),然后发C’给A 。 3.A对收到的C’解密得到f(RN),并将其与自己在第①步得到的f(RN)比较。若两者相等, 则A认为B是自己的意定通信站点。否则A认为B不是自己的意定通信站点。 一、单表代替密码(10分) ①使加法密码算法称为对合运算的密钥k称为对合密钥,以英文为例求出其对合密钥,并以明文M =WEWILLMEETATMORNING 为例进行加解密,说明其对合性。 ②一般而言,对于加法密码,设明文字母表和密文字母表含有n个字母,n为≥1的正整数,求出其对合密钥k。 解答: 1.加法密码的明密文字母表的映射公式: A为明文字母表,即英文字母表,B为密文字母表,其映射关系为: j=i+k mod 26 显然当k=13时,j=i+13 mod 26,于是有i = j+13 mod 26。此时加法密码是对合的。称此密钥k=13为对合密钥。 举例:因为k=13,所以明文字母表A和密文字母表B为 第一次加密:M=W E W I L L M E E T A T M O R N I N G

武汉大学应用密码学RSA加密解密大作业

1 对RSA算法的理解 RSA加密算法是一种非对称加密算法,它基于一个非常简单的数论思想:“将两个素数乘起来是很容易的,但是分解该乘积是非常困难的”。 1.1加解密步骤 (1)生成公钥和私钥 a)随机生成两个不相等的大素数p和q,计算N=p*q; b)根据欧拉函数,求出φ=(p-1)*(q-1); c)选择一个小于r的整数e,求e关于r的模反元素d使得e*d mod φ =1 得到公钥,私钥 (2)加密 给定明文m,公钥,计算密文c = m e(N)。 (3)解密 给定密文c,私钥,计算明文m’ = c d(N)。 1.2素性检验 RSA算法的实现难点之一是生成大素数,这就需要生成一个大数并对其进行素性检验。素性检验有很多种方法。其中包括确定性方法和随机方法。确定性方法有试除法(埃拉托斯特尼筛法),卢卡斯-莱默检验法和AKS素数测试。常见的随机方法有费马素性检验,米勒-拉宾检验和欧拉-雅科比测试。本次作业采用就是米勒-拉宾检验方法。 米勒-拉宾(Miller Rabin) 算法原理: 要测试N 是否为素数,首先将N-1 分解为2s d。在每次测试开始时,先随机选一个介于[1, N-1]的整数a,之后如果对所有的r∈[0, s-1],若a d mod N ≠ 1 且a2^rd mod N ≠1,则N 是合数。否则,N 有3/4 的概率为素数。 1.3安全问题 (1)公共模数攻击。每个人具有相同的r,但有不同的指数e和d,这是不安全的。 (2)低加密指数攻击。如果选择了较低的e值,虽然可以加快计算速度,但存在不安全性。 (3)低解密指数攻击。如果选择了较低的d值,也是不安全的。 (4)选择密文攻击。如A想让T对一个T不愿意签名的消息m’签名,A首先选择一个任意值x,计算y=x e(mod r),然后要求T对m=ym’签名,A最后计算(m d mod r)x-1 mod r =( ym’) d x-1mod r= m’d mod r。 还有一些不是直接对RSA的算法本身进行的攻击,如中间人攻击、时间攻击、边信道攻击等。 2.具体实现 2.1函数说明 void ProducePrime(JTextField prime):使用JA V A的Biginteger生成512位的

密码学在电子商务中的应用

密码学在电子商务中的应用

密码学在电子商务中的应用 摘要 : 随着Internet的发展,电子商务已经逐渐成为人们进行商务活动的新模式。越来越多的人通过Internet进行商务活动。从而人们面对面的交易和作业变成网上相互不见面的操作,电子商务的发展前景十分诱人,但是由于没有国界、没有空间时间限制,可以利用互联网的资源和工具进行访问、攻击甚至破坏。而其安全问题也变得越来越突出,如何建立一个安全、便捷的电子商务应用环境,对心细提供足够的保护,已经成为商家和用户都十分关心的话题。本文从密码学基础,电子商务安全问题,电子商务中的信息安全技术出发进行分析。 关键词:密码学;电子商务;交易安全问题。 收稿日期:2011-06-11 中图分类号TP391 文献标识码 B 文章编号1007 - 7731 (2011) 23 - 40 – 02 作者简介:李春丹, 女, 理科部电子商务班大二学生,40926102。 互联网已经日渐融入到人类社会的各个方面中,网络防护与网络攻击之间的斗争也将更加激烈。这就对网络安全技术提出了更高的要求。未来的网络安全技术将会涉及到计算机网络的各个层次中,但围绕电子商务安全的防护技术将在未来几年中成为重点,如身份认证、授权检查、数据安全、通信安全等将对电子商务安全产生决定性影响。一,密码学基础 现代密码学研究信息从发端到收端的安全传输和安全存储,是研

究“知己知彼”的一门科学。其核心是密码编码学和密码分析学。前者致力于建立难以被敌方或对手攻破的安全密码体制,即“知己”;后者则力图破译敌方或对手已有的密码体制,即“知彼”。 编码密码学主要致力于信息加密、信息认证、数字签名和密钥管理方面的研究。信息加密的目的在于将可读信息转变为无法识别的内容,使得截获这些信息的人无法阅读,同时信息的接收人能够验证接收到的信息是否被敌方篡改或替换过;数字签名就是信息的接收人能够确定接收到的信息是否确实是由所希望的发信人发出的;密钥管理是信息加密中最难的部分,因为信息加密的安全性在于密钥。历史上,各国军事情报机构在猎取别国的密钥管理方法上要比破译加密算法成功得多。 密码分析学与编码学的方法不同,它不依赖数学逻辑的不变真理,必须凭经验,依赖客观世界觉察得到的事实。因而,密码分析更需要发挥人们的聪明才智,更具有挑战性。 现代密码学是一门迅速发展的应用科学。随着因特网的迅速普及,人们依靠它传送大量的信息,但是这些信息在网络上的传输都是公开的。因此,对于关系到个人利益的信息必须经过加密之后才可以在网上传送,这将离不开现代密码技术。 二,电子商务安全问题。 电子商务的一个重要技术特征是利用IT技术来传输和处理商业信息。因此,电子商务安全从整体上可分为两大部分:计算机网络安全和商务交易安全。

《密码学引论》第二版重点 武汉大学

一、信息系统安全包括四个侧面:设备安全,数据安全,内容安全,行为安全。 设备安全:是指确保信息设备的稳定性、可靠性和可用性,这里的设备包括软件和硬件。 数据安全:包括数据的秘密性、数据的真实性和数据的完整性3个侧面。 行为安全:包括行为秘密性、行为完整性和行为可控性3个侧面。 二、密码技术的基本思想是伪装信息,伪装就是对数据施加一种可逆的数学变换。 三、密码体制,由5部分组成: ①明文空间M,它是全体明文的集合。 ②密文空间C,它是全体密文的集合。 ③密钥空间K,它是全体密钥的集合。其中一个密钥K均由加密密钥K e和解密密钥K d组成,即K=。 ④加密算法E,它是一族由M到C的加密变换。 ⑤解密算法D,它是一族由C到M的解密变换。 如果一个密码体制的K d=K e,或由其中一个很难推出另外一个,则称为(单密钥密码体制)或则传统传统密码体制,否则称为(双密钥密码体制)。如果在计算上K d不能由K e推出,这样将K e公开也不会损害K d 的安全,于是便可将K e公开,这种密码体制称为公开密钥密码体制,简称(公钥密码体制)。 四、密码体制分类: ①根据明密文的划分和密钥的使用不同,可将密码体制分为分组密码和序列密码体制。 分组密码:将明文M划分为一系列的明文块M i,通常每块包含若干位或字符,所有明文块M i使用同一个密钥K e进行加密。 序列密码:将明文和密钥都划分为位或字符的序列,并对明文序列中每一位或字符都用密钥序列中对应的分量来加密。 ②根据加密算法在使用过程中是否变化,将密码体制分为固定算法密码体制和演化算法密码体制。 五、密码分析: 1、攻击密码的方法主要有以下三种: ①穷举攻击(最基本攻击)②统计分析攻击③数学分析攻击 2、根据密码分析者可利用的数据资源来分类,可将攻击密码的类型分为4种: ①仅知密文攻击(对分析者最不利的情况) ②已知明文攻击:已经知道某些明文----密文对来破译密码,一个密码仅当它能经得起已知明文攻击时才是可取的。 ③选择明文攻击:分析者能够选择明文并获得相应的密文,这是对密码分析者十分有利的情况。 ④选择密文攻击:能选择密文并获得相应的明文,这也是十分有利的情况,这种攻击主要攻击公开密钥密码体制,特别是攻击其数字签名。 六、分组密码 1、数据加密标准(DES)(1977~1998年),用于加密保护静态存储和传输信道中的数据 DES综合运用置换、代替、代数等多种密码技术;DES是面向二进制的密码算法,因而能够加密任何形式的计算机数据;其明文、密文。密钥的分组长度都是64位;DES是对合运算,因而加密和解密共用同一算法,从而使工程量减半。 注:①64位密钥经子密钥产生算法产生出16个48位的子密钥供16次加密迭代使用。②初始置换IP 是DES的第一步密码变换。③加密函数是DES的核心部分,加密函数里有代替函数组S(其由8个代替函数也称S盒组成),S盒有6位输入,产生4位输出。③S盒是DES保密性的关键所在,它是一种非线性变换,也是DES中唯一的非线性运算。④可逆性是对称密码算法的基本要求,对合性可使密码算法实现的工作量减半。 DES加密L i = R i-1;R i = L i-1⊕f(R i-1,K i); i=1,2,3, (16) DES解密R i-1= L i;L i-1=R i⊕f(L i,K i);i=16,15,14, (1) DES的安全性:

武汉大学密码学期末试题

1.武汉大学计算机学院信息安全专业2004级“密码学”课程考试题 1)在公钥密码的密钥管理中,公开的加密钥Ke和保密的解密钥Kd的秘密性、真实性和完整 性都需要确保吗?说明为什么? ①公开的加密钥Ke:秘密性不需确保,真实性和完整性都需要确保。因为公钥是公开的,所 以不需要保密。但是如果其被篡改或出现错误,则不能正确进行加密操作。如果其被坏人置 换,则基于公钥的各种安全性将受到破坏,坏人将可冒充别人而获得非法利益。 ②保密的解密钥Kd:秘密性、真实性和完整性都需要确保。因为解密钥是保密的,如果其秘 密性不能确保,则数据的秘密性和真实性将不能确保。如果其真实性和完整性受到破坏,则 数据的秘密性和真实性将不能确保。 2、对DES和AES进行比较,说明两者的特点和优缺点。 DES:分组密码,Feist结构,明文密文64位,有效密钥56位。有弱密钥,有互补对称性。 适合硬件实现,软件实现麻烦。安全。算法是对合的。 AES:分组密码,SP结构,明文密文128位,密钥长度可变≥128位。无弱密钥,无互补对 称性。适合软件和硬件实现。安全。算法不是对合的 六、考虑RSA密码体制:(15分) 1.取e=3有何优缺点?取d=3安全吗?为什么? ②设n=35,已截获发给某用户的密文C=10,并查到该用户的公钥e=5,求出明文M。 解答: ①e=3的优点是计算快,因为其二进制表示中只有2个1,缺点是不安全。当M较小时,直接开立方可求出M。d=3不安全,经不起穷举攻击。 ②分解n=35=7×5,于是p=7,q=5。φ(n)=6×4=24。因为e=5,根据ed=1 modφ(n),求出d=5 根据M=Cd mod n,M=105 mod 35,求出M=5。 八、在下述站点认证协议中函数f起什么作用?去掉f行不行?为什么?(15分) 设A,B是两个站点,A是发方,B是收方。它们共享会话密钥Ks ,f是公开的简单函数。A认证B是否是他的意定通信站点的协议如下:

武汉大学密码学课件-张焕国教授

密码学 (第八讲) 复习对称密码学 张焕国 武汉大学计算机学院

目录 1、密码学 密码学的基本概念 密码 、古典密码 2、古典 3、数据加密标准( ) 、数据加密标准(DES DES) ) AES)4、高级 高级数据加密标准( 数据加密标准(AES ) 、中国商用密码(SMS4 5、中国商用密码( SMS4) 6、分组密码的应用技术 7、序列密码 8、习题课:复习对称密码 9、公开密钥密码( 、公开密钥密码(11)

目录 公开密钥密码(22)10、 10 11、数字签名(1) 12、数字签名(2) 、HASH函数 13 13、 、认证 14、 14 、密钥管理 15、 15 技术 PKI技术 16 16、 、PKI 、习题课:复习公钥密码17、习题课:复习公钥密码17 、总复习//检查:综合实验18、总复习 18

要求 ①同学们书面作业为所有奇数号的题目,要交作业。 ②偶数号的题目中的一部分由辅导老师在作业课上讲解, 一部分点学生上台解答。 ③期末验收大作业。

第一讲复习题 ①解释信息安全的含义。 ②密码的基本思想是什么? ③密码体制分哪些类型?各有什么优缺点? 密码分析有哪些类型? 什么是密码分析?密码分析有哪些类型? ④什么是密码分析? ⑤为什么说 任何实用的密码都是可破的? 理论上,任何实用的密码都是可破的? 为什么说理论上, ⑥计算机的程序文件和数据库文件加密容易受到什么攻击? 为什么?

第二讲复习题 ①已知置换如下: 明文=642135 ,密文=? 密文=214365 ,明文=? ②使加法密码算法称为对合运算的密钥k 称为对合密钥,以英文为例求出其对合密钥。 1 2 3 4 5 6 3 5 1 6 4 2 P =

《密码学》教案(很有价值)

《密码学》教案 张焕国,唐明,伍前红 武汉大学计算机学院 一、教学目的 本课程是计算机科学与技术、信息安全专业的专业选修课。开设本课程的目的是使学生了解并掌握计算机安全保密所涉及的基本理论和方法,具备保障信息安全的基本能力。 二、教学要求 通过讲授、讨论、实践,使学生了解计算机安全的威胁、密码学算法、安全技术的发展,熟悉计算机安全保密的基本概念、操作系统安全和网络安全,掌握计算机密码学的基本理论、基本方法、常见加密算法及其实现技术、应用方法,重点掌握传统加密算法、DES算法、AES算法、背包算法、RSA算法、ECC算法、DSA算法等。

第一讲密码学的基本概念 一、信息安全学科概论 1、信息安全学科建设 2001年经教育部批准武汉大学创建了全国第一个信息安全本科专业; 2007年全国信息安全本科专业已达70多所高校; 2003年经国务院学位办批准武汉大学建立信息安全硕士点、博士点、博士后流动站 2007年1月成立国家信息安全教指委 2006年武汉大学信息安全专业获湖北省“品牌专业” 武汉大学成为我国信息安全科学研究和人才培养的重要基地。 2、信息安全学科特点 ●信息安全学科是交叉学科:计算机、通信、数学、物理、生物、管理、法律等; ●具有理论与实际相结合的特点; ●信息安全技术强调整体性、系统性、底层性; ●对信息安全来说,法律、管理、教育的作用很大,必须高度重视。 ●人才是关键,人的综合素质是关键的关键! 3、武汉大学的办专业思路 以学信息安全为主,兼学计算机、通信,同时加强数学、物理、法律等基础,掌握信息安全的基本理论与技能,培养良好的品德素质。 二、信息安全的基本概念 1、信息安全事关国家安全 信息成为社会发展的重要战略资源,信息技术改变着人们的生活和工作方式。信息产业成为新的经济增长点。社会的信息化已成为当今世界发展的潮流。 信息获取、处理和安全保障能力成为综合国力的重要组成部分。 信息安全事关国家安全,事关社会稳定。 2、信息系统安全的概念 能源、材料、信息是支撑现代社会大厦的三根支柱。 信息是逻辑的、抽象的,不能脱离系统而独立存在! ①信息系统安全包括四个层面 信息系统安全=设备安全+数据安全+内容安全+行为安全 简称信息系统安全为信息安全! ②中文词安全=Security + Safety –中文安全的含义等于英文Security 加上Safety的含义。 –Security是指阻止人为的对安全的危害。 –Safety是指阻止非人为的对安全的危害。 ③信息系统设备安全的概念 信息系统设备的安全是信息系统安全的首要问题和基础之一。 三个侧面:设备的稳定性(Stability ),设备的可靠性(Reliability),设备的可用性 (A vailabity)。 设备:硬设备,软设备 ④数据安全的概念 IBM公司的定义:采取措施确保数据免受未授权的泄露、篡改和毁坏。

武汉大学计算机一级学科硕士培养方案

计算机科学与技术学科各专业 攻读硕士学位研究生培养方案 一、培养目标 计算机科学与技术一级学科包含计算机系统结构、计算机软件与理论、计算机应用技术、信息安全、数字影视技术和安防应急信息技术6个二级学科、专业。 为适应我国现代化建设的需要,培养德、智、体全面发展的计算机科学与技术学科各专业的硕士学位专业人才。具体目标是: 1、掌握马列主义、毛泽东思想、邓小平理论和三个代表重要思想,拥护党的基本路线,树立正确的世界观、人生观和价值观,遵纪守法,具有较强的事业心和责任感,具有良好的道德品质和学术修养,愿为社会主义现代化建设事业服务。 2.、计算机科学与技术学科相关专业中,掌握扎实的基础理论和系统的专业知识,具有从事科学研究、教学工作或担任专门技术工作的能力。 3、掌握一门外国语,能流利的进行交流,能运用该外语比较熟练地阅读本专业的文献资料。 4.身心健康。 二、研究方向 (一)计算机系统结构专业主要研究方向 1、绿色计算机系统 主要研究绿色计算、绿色存储介质、低功耗芯片设计、高效能低能耗计算机体系结构等。 2、并行与分布式计算 主要研究并行与分布计算机系统的总体结构、并行与分布程序设计语言及算法,并行与分布系统模拟的方法与技术等。 3、云计算 主要研究虚拟计算技术,虚拟机的实现、调度和迁移、云计算基础平台及关键技术等。 4、高性能计算 主要研究DNA计算、基于GPU的高性能计算及程序设计、多平台的并行计算及多处理器程序设计等。 5、新型计算机体系结构 主要研究量子计算、生物计算、光计算等。 6、信息存储 主要研究分布存储、存储局域网(SAN)、IP存储、面向对象存储、集群存储、检错纠错技术、海量信息存储系统等。 7、嵌入式系统 主要研究嵌入式系统设计、嵌入式操作系统、嵌入式人机交互技术、嵌入式通讯技术、嵌入式分布并行计算、嵌入式多媒体技术、嵌入式系统低功耗设计及应用等。 8、物联网技术 主要研究RFID技术、无线传感器网络、物联网协议、物联网中间件、物联网信息存储

武汉大学密码学实验报告

武汉大学计算机学院 课程实验(设计)报告 课程名称:密码学 专业:信息安全 姓名: 学号: 学期:

RSA加密算法 RSA是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。在非对称加密(或称公开密钥加密)体系中,密钥被分解为一对,即公开密钥(公钥)和私有密钥(私钥)。这对密钥中任何一把都可以作为公开密钥,通过非保密方式向他人公开,而另一把作为私有密钥,加以妥善保存。公开密钥用于加密,私有密钥用于解密,私有密钥只能由生成密钥的交换方掌握,公开密钥可广泛公布,但它只对应于生成密钥的交换方。非对称加密方式可以使通信双方无须事先交换密钥就可以建立安全通信,广泛应用于身份认证、数字签名等信息交换领域。非对称加密体系一般是建立在某些已知的数学难题之上,是计算机复杂性理论发展的必然结果。最具有代表性是RSA公钥密码体制。 算法的基本思路如图1所示,过程是首先随意选择两个大的素数p和q,p不等于q,计算N=pq。根据欧拉函数,求得r = (p-1)(q-1)选择一个小于r 的整数 e,求得e 关于模r 的模逆元素,记为为d。将 p 和 q 的记录销毁。(N,e)是公钥,(N,d)是私钥。然后加密消息,对于消息M采用模幂运算C ≡ Me(mod N)获得密文M;最后对密文C采用解密公式M= Cd(mod N)。 图1 在设计RSA程序时首先由RandomPrime()获得随机数p,q,,其中p,q是由IsPrime()函数看它们是否能够除2,3,5,7,判断是否是素数。利用GenKeyPair()函数通过GetDNum()GetENum()分别获得。当用户输入要加密的字符串后,利用Encryptor()函数可以对字符串进行加密,然后用Dencryptor()函数进行解密。

Vigenere的编程实现

一、实验目的与意义 1、实验目的: 通过编程实现vigenere加密,更加深入的了解其原理,掌握vigenere算法。 2、实验意义: 验证理论知识,更重要的是通过实验加强实验手段与实践技能,培养分析问题、解决问题、应用知识的能力和创新精神,全面提高综合素质。 二、实验环境 操作系统:Windows XP 调试软件名称:Microsoft Visual studio 版本号:2005 上机地点:综合楼208 三、实验的预习内容 1、预习内容: 1、vigenere cipher加密规则: 1)找到一个关键字作为密钥; 2)将关键字重复的写在明文上; 3)根据vigenere table 找出对应的密文 2、解密: 1)根据vigenere table找到中对应的字母; 2)再看密文字母对应的关键字字母; 3)唯一的确定明文字母。 3、关键的代码(如何让3个字母实现类似vigenere table的形式)#include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { char a[3]={'a','b','c'}; char table[3][3]; for(int i=0;i<3;i++) for(int j=0;j<3;j++) table[i][j]=a[(j+i)%3]; for(int i=0;i<3;i++) {for(int j=0;j<3;j++) {printf("%c",table[i][j]); } printf("\n");} return 0; } 2、实验思路: 打出vigenere table->输入关键字->用户输入明文->进行加密>得到密文;

相关主题
文本预览
相关文档 最新文档