数字签名与认证协议.ppt
上传人:天马****23 上传时间:2024-09-11 格式:PPT 页数:20 大小:330KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

数字签名与认证协议.ppt

数字签名与认证协议.ppt

预览

免费试读已结束,剩余 10 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

M进行签名:SigK(x,k)=(,),其中,=k(modp),=(x-)k-1(modp-1)对x,Fp*和Zp-1,验证签名定义为Ver(x,,)=真(true)x(modp)对EIGamal签名方案安全性的讨论:若Oscar在不知道a的情况下企图伪造一个给定消息x的签名:Sigoscar(x,k)=(,)(1)Oscar先选定一个,然后企图找,这样,他就必须解一个关于未知数的方程:x(modp)这个方程是一个已知无可行解法的难处理问题!(2)Oscar先选定一个,使其满足:x(modp),于是,-x(modp),这样,他就必须计算离散对数log(-x)=?,这自然是难处理的问题!(3)若两者,都被Oscar首先选定,然后企图解出一个随机消息x,使得x(modp),于是Oscar利用这种方式也不能伪造随机消息的签名。(4)Oscar同时选择,和x来伪造签名问题:假设i和j是整数,0<=I<=p-2,0<=j<=p-2,且(j,p-1)=1,先完成下列计算:ij(modp)-j-1(modp-1)x=-ij-1(modp-1)(其中j-1是用模p-1来计算的)可以证实(,)是一个消息x的有效签名:例子:假设p=467,=2和=132,它们为Bob公开的签名方案中的参数。Oscar利用这些参数伪造对一随机信息x的签名:选择i=99和j=179,那么j-1(modp-1)=151,计算出下列的x,,:那么(117,41)是消息331的一个有效签名。验证:因此,这个伪造的签名有效!(5)其他类型的伪造签名:Oscar依据Bob已签名的消息来做伪签名。假设(,)是一个消息x的有效签名,那么Oscar可以用此来伪签其它消息:设h,i,j为整数,0<=h,i,j<=p-2且,计算(其中是模p-1算出)然后可验证出因此,为假消息的一个有效签名讨论两个问题:(1)用EIGamal方案计算一个签名时,使用的随机数k为什么不能泄露?(2)若Bob用相同的值来签名不同的两份消息,Oscar能否攻破这个体制?2数字签名标准注:1*.DSS的使用涉及到Smart卡的使用,要求短的签名。DSS以一个巧妙的方法修改了EIGamal方案,使得签名160bits消息产生一个320bit的签名,但是计算使用了512比特的模p.2*.要求在整个签名算法中,如果计算了一个值,程序自动拒绝,并且产生一个新的随机值计算新的签名,事实上,的发生概率大约为2-160.3*.DSS是一个产生签名比验证签名快得多的方案,验证签名太慢!4*.Smart卡的应用!!Smart卡有有限的处理能力,但是能与计算机进行通信。人们企图设计一种让Smart卡仅作小量运算的签名方案。该方案必须完成签名、验证签名两部分,而且方便安全。用DSS签名的例子:假设取q=101,p=78*9+1=7879,3为F7879的一个本原元,所以能取=378(mod7879)=170为模p的q次单位根。假设a=75,那么a(mod7879)=4567.现在,假设Bob想签名一个消息x=1234,且他选择了随机值k=50,可算得k-1(mod101)=99,签名算出:=(17050(mod7879)(mod101)=2518(mod101)=94=(1234+75*94)99(mod101)=97签名为(1234,94,97)。验证:-1=97-1(mod101)=25,e1=1234*25(mod101)=45,e2=94*25(mod101)=27(17045*456727(mod7879))(mod101)=2518(mod101)=94因此,该签名是有效的。3一次签名定义其中,yixi=ai,f(ai)=Zixi验证:注:1*.待签名的消息为一个二进制元组,每一个都单独签名.这个特征决定了“一次签名”2*.验证是简单的检查:签名结果的每一个元素是相应公开钥元素的愿象.例子:取单向函数f(x)=x(modp),设p=7879(素数),3为F7879的本原元,定义f(x)=3x(mod7879)假设Bob想签名3比特消息,他选择了6个(秘密的)随机数:y10=5831,y11=735,y20=803,y21=2467,y30=4285,y31=6449在f的作用下计算y的像:z10=2009,z11=3810,z20=4672,z21=4721,z30=268,z31=5732将这些Z值