现代密码学08 - 椭圆曲线与IBC
- 格式:ppt
- 大小:1.40 MB
- 文档页数:47
《现代密码学习题》答案第一章1、1949 年,( A )发表题为《保密系统的通信理论》的文章,为密码系统建立了理论基础,从此密码学成了一门科学。
A、Shannon B 、Diffie C、Hellman D 、Shamir2、一个密码系统至少由明文、密文、加密算法、解密算法和密钥 5 部分组成,而其安全性是由( D)决定的。
A、加密算法B、解密算法C、加解密算法D、密钥3、计算和估计出破译密码系统的计算量下限,利用已有的最好方法破译它的所需要的代价超出了破译者的破译能力(如时间、空间、资金等资源),那么该密码系统的安全性是( B )。
A 无条件安全 B计算安全 C可证明安全 D实际安全4、根据密码分析者所掌握的分析资料的不通,密码分析一般可分为 4 类:唯密文攻击、已知明文攻击、选择明文攻击、选择密文攻击,其中破译难度最大的是( D )。
A、唯密文攻击 B 、已知明文攻击 C 、选择明文攻击D、选择密文攻击5、1976 年,和在密码学的新方向一文中提出了公开密钥密码的思想,从而开创了现代密码学的新领域。
6、密码学的发展过程中,两个质的飞跃分别指1949年香农发表的保密系统的通信理论和公钥密码思想。
7、密码学是研究信息寄信息系统安全的科学,密码学又分为密码编码学和密码分析学。
8、一个保密系统一般是明文、密文、密钥、加密算法、解密算法5部分组成的。
对9、密码体制是指实现加密和解密功能的密码方案,从使用密钥策略上,可分为称和非对称。
10、对称密码体制又称为秘密密钥密码体制,它包括分组密码和序列密码。
第二章1、字母频率分析法对( B )算法最有效。
A、置换密码 B 、单表代换密码C、多表代换密码D、序列密码2、(D)算法抵抗频率分析攻击能力最强,而对已知明文攻击最弱。
A 仿射密码 B维吉利亚密码C轮转密码 D希尔密码3、重合指数法对( C)算法的破解最有效。
A 置换密码 B单表代换密码C多表代换密码 D序列密码4、维吉利亚密码是古典密码体制比较有代表性的一种密码,其密码体制采用的是(C )。
《现代密码学习题》答案第一章判断题×√√√√×√√选择题1、1949年,(A )发表题为《保密系统的通信理论》的文章,为密码系统建立了理论基础,从此密码学成了一门科学。
A、ShannonB、DiffieC、HellmanD、Shamir2、一个密码系统至少由明文、密文、加密算法、解密算法和密钥5部分组成,而其安全性是由(D)决定的。
A、加密算法B、解密算法C、加解密算法D、密钥3、计算和估计出破译密码系统的计算量下限,利用已有的最好方法破译它的所需要的代价超出了破译者的破译能力(如时间、空间、资金等资源),那么该密码系统的安全性是(B )。
A无条件安全B计算安全C可证明安全D实际安全4、根据密码分析者所掌握的分析资料的不通,密码分析一般可分为4类:唯密文攻击、已知明文攻击、选择明文攻击、选择密文攻击,其中破译难度最大的是(D )。
A、唯密文攻击B、已知明文攻击C、选择明文攻击D、选择密文攻击填空题:5、1976年,W.Diffie和M.Hellman在密码学的新方向一文中提出了公开密钥密码的思想,从而开创了现代密码学的新领域。
6、密码学的发展过程中,两个质的飞跃分别指1949年香农发表的保密系统的通信理论和公钥密码思想。
7、密码学是研究信息寄信息系统安全的科学,密码学又分为密码编码学和密码分析学。
8、一个保密系统一般是明文、密文、密钥、加密算法、解密算法5部分组成的。
9、密码体制是指实现加密和解密功能的密码方案,从使用密钥策略上,可分为对称和非对称。
10、对称密码体制又称为秘密密钥密码体制,它包括分组密码和序列密码。
第二章判断题:×√√√选择题:1、字母频率分析法对(B )算法最有效。
A、置换密码B、单表代换密码C、多表代换密码D、序列密码2、(D)算法抵抗频率分析攻击能力最强,而对已知明文攻击最弱。
A仿射密码B维吉利亚密码C轮转密码D希尔密码3、重合指数法对(C)算法的破解最有效。
引言同RSA(Ron Rivest,Adi Shamir,Len Adleman三位天才的名字)一样,ECC(Elliptic Curves Cryptography,椭圆曲线密码编码学)也属于公开密钥算法。
前段时间刚刚进行了“基于国家密码标准算法密码卡”项目,其中算法部分就涉及了ECC,由于是采用芯片实现ECC算法,所以对ECC是如何具体实现信息加密的原理知之甚少。
目前,国内详细介绍ECC的公开文献并不多(反正我没有找到)。
有一些简介,也是泛泛而谈,看完后依然理解不了ECC的实质(可能我理解力太差了)。
前些天从互联网上找到这篇材料,看完后对ECC了解一些,但还是比较懵懂。
于是把本文整理了一下,与大家分享。
当然ECC博大精深,我的认识还很肤浅,有些问题今后还要向。
本文涉及的部分理论知识请参考《近世代数基础》、《初等数论》之类的书。
另外,由于原文中涉及的公式没有区分上标和下标,我对本文的一部分公式进行了整理,由于时间关系,对后半部分没有整理(因为公式比较多,我也懒得弄了)。
由此给大家带来的阅读上的不便表示歉意。
一、从平行线谈起平行线,永不相交。
没有人怀疑把?不过到了近代这个结论遭到了质疑。
平行线会不会在很远很远的地方相交了?事实上没有人见到过。
所以“平行线,永不相交”只是假设(大家想想初中学习的平行公理,是没有证明的)。
既然可以假设平行线永不相交,也可以假设平行线在很远很远的地方相交了。
即平行线相交于无穷远点P∞(请大家闭上眼睛,想象一下那个无穷远点P∞,P∞是不是很虚幻,其实与其说数学锻炼人的抽象能力,还不如说是锻炼人的想象力)。
给个图帮助理解一下:直线上出现P∞点,所带来的好处是所有的直线都相交了,且只有一个交点。
这就把直线的平行与相交统一了。
为与无穷远点相区别把原来平面上的点叫做平常点。
以下是无穷远点的几个性质。
▲直线L上的无穷远点只能有一个。
(从定义可直接得出)▲平面上一组相互平行的直线有公共的无穷远点。
内容安全研究室朱潜报告的主要内容⏹群和域的相关概念⏹椭圆曲线的定义和运算法则⏹椭圆曲线离散对数问题⏹椭圆曲线密码体制⏹椭圆曲线密码的优势⏹曲线密码体制的应用为什么要在有限域上研究椭圆曲线密码?密码学常在有限域的基础上研究椭圆密码曲线,在有限域的椭圆m基础上。
基于有限域Fp,而不是使用实数域、曲线主要是基于Fp和F2是因为实数计算时会产生截段误差,无法满足密码算法的精确性,而m是由于可以在计算机处理时大大提且实数运算的速度很慢。
基于F2高处理速度。
群和域的相关概念定义1:任意给定一个非空集合F和其上的二元运算“*”,如果满足(1)封闭性:对任意a,b∈F,存在c ∈F,使得c=a*b ∈F;(2)结合律:对于任意a,b∈F,都有(a*b)*c=a*b*c;(3)单位元e存在:即存在e ∈F,对于任意a ∈F,都有a*e=e*a;(4)逆元存在:对于任意a ∈F,存在b ∈F,使得a*b=b*a=e;则称集合F关于二元运算“*”构成群,记为(F,*)。
在群(F,*)中,如果对于任意a ,b∈F,都有a*b=b*a,则称群(F,*)是交换群,也称为阿贝尔(Abel)群。
定义2:设“+”,“*”是G上的二元运算,如果满足:(1)(G,+)是一个交换群,其单位元记为0;(2)(G-{0},*)是交换群,其单位元记为1;(3)运算“*”对“+”可分配,即对任意a ,b,c∈G,都有a*(b+c)=a*b+a*c(a+b)*c=a*c+b*c则称(G,+,*)是域。
群和域的相关概念定义3:有限域,如果域F中的元素个数有限,则称F为有限域或伽罗华域,其中F中的元素个数称为有限域F的阶,记为∣F ∣。
对有限域而言,其元素的个数必为一素数的方幂。
即存在一个q阶有限域F,当且仅当q是一个素数的幂,即q=p m,其中,p是一个素数,并称为域F的特征,m是一个正整数。
若m=1,则域F就称为素域。
定义4:设p是一个素数,以p为模,则模p的全体余数的集合{0,1,2,……,p-1}关于模p的加法和乘法构成一个p阶有限域,简称素域,并且用符号Fp表示。
椭圆曲线密码学(Elliptic Curve Cryptography, ECC)是一种基于椭圆曲线的公钥密码体制,其原理和运算方式与传统的RSA算法有所不同。
椭圆曲线密码学是一种现代密码学领域的前沿技术,被广泛应用于许多安全领域,如数据加密、数字签名、密钥交换等。
本文将主要介绍椭圆曲线密码学的原理及其应用。
椭圆曲线密码学是通过椭圆曲线上的离散对数问题来实现安全通信的。
首先,我们需要选择一条合适的椭圆曲线作为密码系统的基础。
椭圆曲线的方程可以表示为y² = x³ + ax + b,其中a和b是定义曲线的参数。
为了保证安全性,这些参数需要经过严格的选择和审核,以确保计算离散对数问题的困难性。
在椭圆曲线密码系统中,每个用户都有一对密钥,分别是公钥和私钥。
公钥由椭圆曲线上的一个点和曲线的参数生成,私钥是一个随机数,只有用户自己知道。
公钥可以被广泛分发,而私钥必须严格保密。
为了实现安全通信,发送方使用对方的公钥对要发送的数据进行加密,接收方使用自己的私钥对密文进行解密。
椭圆曲线密码学所基于的数学原理是椭圆曲线上的离散对数问题。
即给定一点P和一个整数k,求解使得kP = P + P + ... + P(k个P相加)的问题。
这个问题在目前的计算能力下是非常难以求解的。
利用这个困难问题,我们可以构建一个安全的公钥密码系统。
相比于传统的RSA算法,椭圆曲线密码学具有许多优势。
首先,椭圆曲线密码学能够提供相同的安全性,但使用更短的密钥长度。
这对于存储和传输密钥来说是非常重要的,可以减少存储和传输的开销。
其次,椭圆曲线密码学的加密和解密速度更快,特别是在资源有限的设备上。
这使得椭圆曲线密码学非常适合嵌入式设备和移动设备上的安全通信应用。
除了基本的加解密功能,椭圆曲线密码学还可以用于数字签名和密钥交换等安全协议。
数字签名可以用来验证信息的真实性和完整性,并防止信息被篡改。
而密钥交换协议则可以用来安全地协商通信双方之间的共享密钥,以确保通信过程中的机密性和完整性。
椭圆曲线⼀、概述椭圆曲线加密算法依赖于椭圆曲线理论,后者理论涵盖的知识⽐较深⼴,⽽且涉及数论中⽐较深奥的问题。
经过数学家⼏百年的研究积累,已经有很多重要的成果,⼀些很棘⼿的数学难题依赖椭圆曲线理论得以解决(⽐如费马⼤定理)。
本⽂涉及的椭圆曲线知识只是抽取与密码学相关的很⼩的⼀个⾓落,涉及到很浅的理论的知识,同时也是⼀点⽐较肤浅的总结和认识,重点是利⽤椭圆曲线结合数学技巧阐述加密算法的过程和原理。
本⽂特意构造有⽐较多的实例⽅便理解其过程和原理。
⼆、椭圆曲线椭圆曲线⽅程来源于椭圆积分,后者来最初来源于计算椭圆周长的问题,有⼀段时间的历史了,在欧拉时期就开始研究。
椭圆周长没有精确的初等函数的公式表⽰,只有近似的公式表⽰,精确的椭圆周长可以⽤不定积分表⽰。
现在⼀般将形如如下形式的积分定义为椭圆积分:其中R是其两个参数的有理函数,P是⼀个⽆重根的3或4阶多项式,⽽c是⼀个常数。
椭圆曲线⽅程与P(t)表现形式⽐较相像。
数学上的椭圆曲线⼀般由如下形式给出:椭圆曲线都是关于X轴对称的曲线。
典型的椭圆曲线如:,其图像为:更多的椭圆曲线图像:限定Δ不为零有特殊的意义。
如果判别式Δ(E)等于零,由三次⽅程判别式判定理可知,⽅程x3+ax2+bx+c=0存在⼆重根或者三重根,曲线表现为"⾃相交"或者有“尖点”。
两个典型的例⼦是:在密码学中⽤到的椭圆曲线⽅程⼀般限定为:也即是这⾥的⼆次项系数为0。
三、椭圆曲线算术椭圆曲线上可以定义⼀些很有意思的特殊运算规则。
⼀般来说会定义两种运算:加法和数乘运算。
加法运算是点与点之间的运算;数乘运算基于加法运算,重复的加法运算就是数乘。
1、实数域的加法运算1.1、加法运算的⼏何解释已知椭圆曲线上两个不同的点P和Q,则这两个点之和R=P+Q可以通过如下操作得到:过P、Q两点做直线L,与椭圆曲线相交于第三点,该点关于X轴的对称点即是所求的R点。
椭圆曲线的这种加法运算有⽐较明确的⼏何含义。
椭圆曲线密码学(Elliptic Curve Cryptography,ECC)是一种在现代密码学中广泛应用的公钥密码学算法。
它通过椭圆曲线的数学性质和运算法则,提供了一种高效、安全的加密和数字签名方案。
本文将从椭圆曲线密码学的基本原理、应用领域以及其优势等方面进行详细介绍。
首先,我们来了解一下椭圆曲线密码学的基本原理。
椭圆曲线密码学以椭圆曲线上的离散对数难题为基础,这个难题在当前的计算能力下是不可能被解决的。
利用这个难题,椭圆曲线密码学能够实现两个重要的功能:加密和数字签名。
在加密方面,椭圆曲线密码学可以用来构建公钥密码体制中的加密算法,如RSA算法的替代方案。
椭圆曲线公钥密码体制中,每个用户都有一对密钥:一个公钥和一个私钥。
公钥可公开,私钥需要保密。
发送者使用接收者的公钥对消息进行加密,接收者使用私钥解密。
由于离散对数难题的存在,即使获取到公钥也很难破解私钥从而获得消息内容。
在数字签名方面,椭圆曲线密码学可以用来构建公钥密码体制中的签名算法,如DSA算法的替代方案。
数字签名是用来确认数字信息的完整性和可信性的一种机制。
发送者使用自己的私钥对消息进行签名,接收者使用发送者的公钥验证签名的有效性。
利用离散对数难题,即使获取到签名和公钥也很难伪造有效的签名。
除了加密和数字签名,椭圆曲线密码学还有许多其他的应用。
例如,它可以用来构建密钥交换协议,如椭圆曲线Diffie-Hellman协议。
该协议可以在未经安全传输信道的情况下,使通信双方协商并建立一个共享密钥,从而实现安全通信。
此外,椭圆曲线密码学还可用于构建零知识证明、身份认证等密码学协议。
与其他公钥密码学算法相比,椭圆曲线密码学具有许多优势。
首先,椭圆曲线密码学的密钥长度相对较短,这意味着它在资源受限的环境中更加高效。
其次,椭圆曲线密码学提供了更强的安全性,相同安全强度的椭圆曲线密钥长度要短于RSA密钥长度,从而减少了计算和存储成本。
此外,椭圆曲线密码学还能够提供更高的性能和较小的带宽占用,适合于移动设备和无线通信等场景。
1数字签名《现代密码学》第八讲2上章内容回顾公钥密码体制的提出及分类公钥密码体制的基本概念单向陷门函数的概念设计公钥加密算法--背包密码体制RSA算法及攻击方法ElGmal算法椭圆曲线密码体制3本章主要内容数字签名的基本概念一般数字签名算法Z RSA数字签名技术Z 数字签名标准Z 基于离散对数的数字签名Z 椭圆曲线数字签名4数字签名的基本概念手写签名与数字签名的区别手写签名是一种传统的确认方式,如写信、签订协议、支付确认、批复文件等.手写签名是所签文件的物理组成部分;数字信息没有固定的物理载体,如何使数字签名与所签文件捆绑在一起?手写签名通过与标准签名比较或检查笔迹来验证,受验证人主观影响大;二进制数字信息无法用人眼辨识,但可以使用数学算法来验证数字签名,不受验证人主观影响。
手写签名不易复制;二进制数字信息,十分容易复制,所以必须防止数字签名重复使用。
5数字签名和消息认证码的异同:消息完整性验证、消息源认证.消息认证的作用是保护通信双方以防第三方的攻击,然而却不能保护通信双方中的一方防止另一方的欺骗或伪造.①B伪造一个消息并使用与A共享的密钥产生该消息的认证码,然后声称该消息来自于A.②由于B有可能伪造A发来的消息,所以A就可以对自己发过的消息予以否认.数字签名的基本概念6数字签名技术则可有效解决这一问题, 类似于手书签名,数字签名应具有以下性质:①能够验证签名产生者的身份,以及产生签名的日期和时间.②能保证被签消息的内容的完整性.③数字签名可由第三方公开验证,从而能够解决通信双方的上述争议.数字签名在网络安全中提供数据完整性、数据源认证性、数据不可否认性等性质数字签名的基本概念7所谓数字签名(Digital Signature ),也称电子签名,是指附加在某一电子文档中的一组特定的符号或代码,它是利用数学方法对该电子文档进行关键信息提取并与用户私有信息进行混合运算而形成的,用于标识签发者的身份以及签发者对电子文档的认可,并能被接收者用来验证该电子文档在传输过程中是否被篡改或伪造.81976,W Diffie 和M Hellman 在“New Directions in Cryptography ”, 首先提出了数字签名的思想并猜测存在这样的方案1978,R Rivest, A Shamir, 和L Adleman 发明了RSA 算法可以用作数字签名算法.1984, S Goldwasser, S Micali, 和R Rivest 首次粗略提出了数字签名算法的安全性要求. 2004,中国颁布电子签章法9一般签名算法包含密钥生成(公钥/私钥)消息签名S=Sig x (M)用私钥对消息(消息摘要)进行签名运算 消息验证用公钥验证消息的签名是否正确,输出“True ”或“False ”一般数字签名算法()()(),x x x True S Sig M Ver S M False S Sig M =⎧⎪=⎨≠⎪⎩10数字签名的攻击:惟密钥攻击:攻击者只有用户公开的密钥. 已知消息攻击:攻击者拥有一些消息的合法签名,但是消息不由他选择.选择消息攻击:攻击者可以自由选择消息并获取消息的签名.攻击结果:完全破译:攻击者恢复出用户的密钥. 一致伪造:攻击者对于任意消息可以伪造其签名. 选择性伪造:攻击者可以对一个自己选取的消息伪造签名.存在性伪造:攻击者可以生成一些消息的签名,但在伪造前对该消息一无所知.数字签名的基本概念11①参数和密钥生成选两个保密的大素数p 和q ,计算n=p ×q ,φ(n)=(p-1)(q-1);选一整数e ,满足1<e<φ(n),且gcd(φ(n),e)=1;计算d ,满足d ·e ≡1 mod φ(n);以{e,n}为公开钥, {d,n}为秘密密钥.一般数字签名算法--RSA12②签名过程设消息为m ,对其签名为s ≡m d mod n③验证过程接收方在收到消息m 和签名s 后,验证是否成立,若成立,则发送方的签名有效.?mod e m s n≡一般数字签名算法--RSA13加密算法和签名算法同用,攻击者可以方便解密一般攻击者是将某一信息作一下伪装( Blind),让拥有私钥的实体签署。