数字签名算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数字签名是个加密的过程,数字签名验证是个解密的过程。
椭圆算法(ECC) 一般的,椭圆曲线的三次方程为:
方程中的参数取自域F上。F可以使有理数域、实数域或有限域。 如果,则称椭圆曲线E定义在F上。在这个点集上按如下规则定 义一个代数运算,称为加法,记为“+” (注:这里的“+”代表了很多种运算,不只是普通代数意义上 的+,它的操作对象可能是字符串,乘法标量也可能是整数, 分数,有理数)。
椭圆曲线离散对数问题实例
令q=23,椭圆曲线E(23)(1,1),方程y^2=x^3+1,即a=b=1; 所以根据条件4*1^3+27*1^2(mod23)=8 ≠0;所以满足一 个模23的椭圆群条件 令P(3,10) Q(9,7),那么k=(7-10)/(9-3)=-1/2=11mod23 注: -1=22mod 23 (-1/2)=22/2mod(23) R(x3,y3) x3=11^2-3-9=109=17mod23 y3=11*(3-17)-10=-164=20mod23 P+Q=(17,20)
简单地说,所谓数字签名就是附加在数据单 元上的一些数据,或是对数据单元所作的密 码变换。 这种数据或变换允许数据单元的接收者用 以确认数据单元的来源和数据单元的完整 性并保护数据,防止被人(例如接收者)进行 伪造。 它是对电子形式的消息进行签名的一种方 法,一个签名消息能在一个通信网络中传输。
基于公钥密码体制和私钥密码体制都可以 获得数字签名,目前主要是基于公钥密码体 制的数字签名。包括普通数字签名和特殊 数字签名。
主要功能
保证信息传输的完整性、发送者的身份认证、防止交易中的 抵赖发生。 数字签名技术是将摘要信息用发送者的私钥加密,与原文一起 传送给接收者。

接收者只有用发送的公钥才能解密被加密的摘要信息,然后用 HASH函数对收到的原文产生一个摘要信息,与解密的摘要信息对 比。如果相同,则说明收到的信息是完整的,在传输过程中没有被 修改,否则说明信息被修改过,因此数字签名能够验证信息的完整 性。
椭圆密码曲线体制
椭圆曲线密码体制是建立在求椭圆曲线离散对数 (ECDLP)是困难问题的基础上。椭圆曲线上P的阶是 指一个最小的正整数n, 满足nP=O.
椭圆曲线离散对数(ECDLP)是指:给定曲线E上阶为n 的点P, 若Q是E上的另一个点,找到一个整数m,0 ≤ m ≤n-1,使得 Q=mp.定义m=logp(Q)
数字签名(又称公钥数字签名、电子签章) 是一种类似写在纸上的普通的物理签名, 但是使用了公钥加密领域的技术实现,用 于鉴别数字信息的方法。一套数字签名通 常定义两种互补的运算,一个用于签名, 另一个用于验证。 数字签名,就是只有信息的发送者才能产 生的别人无法伪造的一段数字串,这段数 字串同时也是对信息的发送者发送信息真 实性的一个有效证明。
建立椭圆曲线密码体制
现在我们描述如何利用椭圆曲线进行加密的过程。 Bob( 使用者) 执行下列计算生成密匙: ������ 选定一条椭圆曲线E( Fq) , 并取椭圆曲线上一点, 作为基点p。 在区间[ 1, n- 1] 选择一个私有密钥m, 并生成公开密钥Q= mp。( m 个p 相+ ) Bob 公开自己的公开密匙, ( E( Fq) , p, n, Q) 。Bob的私有密匙是m。 Alice( 发送消息者) 要发送消息( Message) 给Bob, Message 需要加密, Alice 按如下方式执行: ������ Alice 接到Bob 的公开密匙信息后, 将待传输的明文编码到E( Fq) 上一点M。 在区间−1, n- 1.并产生一个随机整数k( k< n) 。 依据Bob 的公开密匙( E( Fq) , p, n, Q) 计算点C1= M+ kQ, C2= kp。传送加密数 据C1、C2 给Bob。 Bob 收到的密文C1 和C2 后, 执行下列运算解密: 计算C1- mC2, 结果就是点M。因为 C1 - mC2= M+kQ- m( kp) = M+ kQ- k( mp) = M+ kQ- kQ= M 再对点M 进行解码就可以得到明文。 在这个加密通信中, 如果有一个偷窥者H , 他只能看到E ( Fq) 、p、n、Q、C1、C2 而通过Q、p 求k 或通过C2、p 求k 都是非常困难的。因此, H 无法得到A、B 间 传送的明文信息。
设P ,Q两点为曲线上任意两点 (1) O是单位元,O=-O, O+P=P,P+O=O (2) 若Q=-P,则Q+P=O; (3) 若P≠O,Q≠O,Q≠-P,则PQ表示经过P和Q两点的直线(P≠Q时) 或者 是经过P的切线(P=Q),则PQ将与曲线交于第三点R,定义P+Q=-R
加法规则满足正常加法性质,比如交换律结合律。一个椭圆曲线上的一 个点P与一个正整数K相乘的乘法被定义为K个P相加。 Q=P+P+……+P(共k个P) 下面讨论在F(q)域上的曲线。 实际中,我们运用得椭圆曲线算法中的曲线,并不是真正的椭圆: 在Zp的椭圆曲线 (F(q)上的椭圆曲线)
这里介绍一下普通数字签名算法,普通数 字签名算法有RSA、ElGamal、FiatShamir、Guillou- Quisquarter、Schnorr、 Ong-Schnorr-Shamir数字签名算法、 Des/DSA,椭圆曲线数字签名算法和有限自 动机数字签名算法等。
数字签名过程
数据源发送方使用自己的私钥对数据校验和 或其他与数据内容有关的变量进行加密处理, 完成对数据的合法“签名” 数据接收方则利用对方的公钥来解读收到的 “数字签名”,并将解读结果用于对数据完 整性的检验,以确认签名的合法性。 数字签名技术是在网络系统虚拟环境中确认 身份的重要技术,完全可以代替现实过程中 的“亲笔签字”,在技术和法律上有保证。 在数字签名应用中,发送者的公钥可以很方 便地得到,但他的私钥则需要严格保密。
相关文档
最新文档