湘潭大学信息安全课作业答案4

湘潭大学信息安全课作业答案4
教师:李澄清院长
整理自助好心的助教大哥—申哥。
代码答案等来自19级各位同学,与网上流传的参考答案不一致,仅供参考

  1. 这道思考题主要针对数字证书(即公钥证书)。
    a.请问,数字证书必须包含的信息有哪些?
    b.请问,数字证书可能包含的附加信息有哪些?
    c.为什么说,对于数字证书,最小化其中包含的信息的数量,会是个好主意呢?
    答:
    A、 包含身份信息和公钥,且所有信息都被CA签名过
    B、 附加信息理论上可以是任何信息,比如电话,地址等
    C、 因为证书里的任何信息更改了都需要新的证书,包含的信息越少更改的几率越小。
  2. 假设Bob收到了Alice的数字证书,其发送方声称自己就是Alice。请思考下面的问题。
    a.在Bob验证该证书上的签名之前,他对于该证书发送方的身份能够知道多少呢?
    b. Bob 如何验证该证书上的签名呢?通过验证签名,Bob能够获得什么有用的信息呢?
    c.在 Bob 验证了该证书上的签名之后,他对于该证书发送方的身份又能够知道些什么呢?
    答:
    A、 Bob在验证之前什么都不知道。
    B、 对该证书的消息求其哈希值并解密签名的数量(使用CAS公钥)然后进行比较。Bob能够得知该签名的完整性
    C、 如果Bob信任CA,那么他会认为证书中的公钥由Alice持有
  3. 在实施加密时,公开密钥加密系统的操作方式就类似于基于ECB(电子密码本)模式的分组加密方案。也就是说,明文消息会被截成多个分组,再对每个分组实施独立的加密操作。请思考下面的问题。
    A、为什么说,采用分组密码加密方案实施加密时,ECB模式不是个好主意呢?为
    什么使用链模式,如CBC模式,对于分组密码加密方案,其优势有多大呢?
    B、当使用公开密钥加密方案时,为什么采用任何类型的链模式都是不必要的呢?
    C、你关于b的原因分析是否也适用于分组密码加密方案呢?请说明为什么?
    答:
    A、 加密算法在传输过程中就会有数据报文输出输入,当这个过程被嗅探工具探知以后大数据算法解密,就存在不安全性。而CBC的特点是不容易主动攻击,适合传输长度长的报文,加密过程串行,无法并行化
    B、 因为在不知道的私钥的情况下,明文的结构也是不清楚的,没必要使用链模式使得明文结构信息不可见
    C、 适用于,分组密码加密的不同方案,对于明文结构信息的隐藏也不同

答:已知公钥RSA公钥为(e,N),私钥为d
即Alice可能用到的数学表达式有:
[M]Alice=Md mod N
{h(M)}Alice =h(M)d mod N h为加密hash函数
5.
答:由于M de = M ed mod N,文中又有地方证明(ga)b mod p = gab mod p, (gb)a mod p = gab mod p,能够相互解密。
6.假设Alice的RSA公钥是(N, e)=(33,3),她对应的私钥是d=7。请考虑下面的问题。
a.如果Bob使用Alice的公钥加密消息M=19,那么请计算对应的密文C是什么?并请证明Alice能够解密密文C,得到明文M。
b.假设S表示Alice对消息M=25实施数字签名计算的结果,那么S的值是什么?如果Bob收到了消息M和相应的签名S,请说明Bob验证该数字签名的过程,并请证明在这个特定的案例中,数字签名的验证能够成功通过。
答:
a.加密:193=28 mod 33。解密:287=19 mod 33。
b.有符号结果是S=Md mod N=257 mod 33=31。为了验证签名,Bob计算S3 mod N,如果结果与接收到的值M匹配,则验证签名。在这种情况下,313=25 mod 33。假设Bob接收到发送的消息M=25,则验证签名。
7.为什么说在签名计算和解密操作中使用同一PSA密钥对,这不是一个好主意?
答:因为签名计算使用密钥对需要传输的文本的摘要进行了加密,得到的密文即被称为该次传输过程的签名。而解密操作中签名验证、数据接收端拿到传输文本,但是需要确认该文本是否就是发送发出的内容,中途是否曾经被篡改,因此拿自己持有的公钥对签名进行解密,得到了文本的摘要,然后使用与发送端相同的HASH算法计算摘要值,再与解密得到的摘要做对比,发现二者完全一致,说明文本没有篡改过。由此可见加密解密和数字签名的两种概念和实现过程,两种实现的方式是正好相反的,因此一般不使用同一种PSA密钥对。一般情况下公钥负责加密,私钥负责解密。

8.为了加速RSA算法的执行速度,有可能对于所有的用户统一选择e=3。但是,这为本章中讨论的立方根攻击创造了可能性。
a.请解释一下立方根攻击,并说明如何预防。
答:如果M3<N,则mod N操作没有效果,Trudy可以简单地取密文的立方根进行解密。为了防止攻击,用比特填充,作为一个数字,M>N1/3,当然,接收者也必须知道填充方案。
b.对于(N,e)=(33,3)和d=7,请证明:当M=3时,立方根攻击能够奏效,而当 M=4时却行不通。
答:由于33=27<33,Trudy可以取立方根得到M,但43=64=31mod33,Trudy不能简单取立方根。

9.请回顾一下,对于RSA公钥系统,为所有的用户选择相同的加密指数e是可能的。出于性能方面的考虑,有时会选用公共的值e=3。假定现在的情况就是如此,请考虑下面的问题。
a.什么是针对RSA加密体制的立方根攻击?在什么情况下该攻击能够成功?
答:如果e=3,M<N^(1/3),则mod N运算不起作用,所以Trudy可以使用C的常用立方根来恢复M。
b.请给出两种不同的防止立方根攻击的方法。需要注意的是,你的两种提议应该满足:在未使用公共的加密指数 e=3的情况下,仍然能够确保性能获得有效提升。
答:最直接的解决方案是使用随机位填充,确保将足够高的阶数设置为1,以便在包括填充时,M>N^(1/3),无论实际消息如何。
10.请考虑RSA公钥加密系统。对于该加密体制来说,最广为人知的攻击就集中在对模的因式分解上,而其中最著名的算法(对于足够大的模数来说)就是所谓的数域筛( number field sieve)方法。根据二进制的位数不同,数域筛方法的工作量因子可以表示为如下等式

其中,n是待分解数值的二进制位的个数。例如,由于f(390)=60,因此对390位二进制长的RSA模数进行因子分解,所需要耗费的工作量大约等价于通过穷举式检索来找到61位二进制长的对称密钥需要花费的代价。
请绘制出函数f(n)的图形,设定1≤n≤10000

a请问,对于1024位二进制长的RSA模数N来说,其提供的安全强度大约相当于长度为多少位的对称密钥?
89位
b.请问,对于2048位二进制长的RSA模数N来说,其提供的安全强度大约相当于长度为多少位的对称密钥?
121位
c请问,要想提供与256位二进制长的对称密钥大致相当的安全强度,需要多大长度的RSA模数N?
13620位
11.
题目:请在图4-1所示的Diffie-Hellman密匙交换体制的图形中,清楚地标识出哪些信息是公开的,哪些信息是私密的。

如图,红色圈内是私密的,蓝色圈内是公开的。
12.假如Bob和Alice 共享对称密钥K。请给出一-种工作于Bob和Alice 之间的Dife-Hellman密钥交换体制的变体,要求其能够防止中间人攻击,并请绘制图解进行说明。
答:
(1)Alice选择自己密钥SA,计算出自己的公钥,PA = a^SA mod p,然后把PA传给Bob
(2)Bob选择自己密钥SB,计算出自己的公钥,PB = a^SB mod p,然后把PB传给Alice
(3)Alice根据Bob的公钥、自己的私钥、P和a计算出用于对称加密的加密密钥,K = PB^SA mod p
(4)Bob根据Alice的公钥、自己的私钥、P和a计算出用于对称加密的加密密钥,K = PA^SB mod p
最终,Alice和Bob得到了用于对称加密的加密密钥。
在密钥交换过程中,p、a、PA和PB是公开的,SA和SB是不公开的。而通过p、a、PA和PB计算出SA或SB是困难的,所以这种方法是安全的。

不行。因为这需要Bob求解(g^a )^b mod⁡p=X中的b,但是但是鉴于计算离散对数的困难性,Bob无法计算出b来。
14.
使用Diffie-Hellman并使用PIN码X加密交换,即Alice计算并发送E( mod p,X),Bob计算并发送E(g mod p,X)。为什么更安全呢?为了进行中间人攻击,Trudy必须实时行动(即在交换发生时)。当Trudy截获E(g mod p, x)时,她可以猜测X的可能值,但她无法知道她的猜测是否正确。所以,实际上,她只有一次猜X的机会,所以她的成功几率只有1/10000,而在原来的协议中,她的成功几率是1,这是以最小的额外工作在安全性上的一个很大的改进.
15.
答案:私钥只有签名者知道
16.
混合加密系统既使用公开密钥加密技术,又使用对称密钥加密技术,由此该系统便可以兼得二者的益处。
a.请阐述-一个混合加密系统,其中使用Diffie-Hellman 密钥交换体制作为公钥技术部分,使用DES加密方案作为对称密钥技术部分。
b.请阐述一个混合加密系统,其中使用RSA体制作为公钥技术部分,使用AES加密方案作为对称密钥技术部分。
答: a:使用DES加密Diffie-Hellam交换。
b:使用RSA加密对称密钥。
17.请阐述针对Diffie-Hellman密钥交换体制的椭圆曲线版本的中间人攻击的执行过程。
第三方C在和A通信时扮演B;和B通信时扮演A。A和B都与C协商了一个密钥,然后C就可以监听和传递通信量。中间人攻击按如下进行:
B在给A的报文中发送他的公开密钥。
C截获并解析该报文。C将B的公开密钥保存下来并给A发送报文,该报文具有B的用户ID但使用C的公开密钥Yc,仍按照好像是来自B的样子发送出去。A收到C的报文后,将Yc和B的用户ID存储在一块。类似的,C使用Yc向B发送好像来自A的报文。
B基于私有密钥Xb和Xc计算秘密密钥K1。A基于私有密钥Xa和Yc计算秘密密钥K2.C使用私有密钥Xc和Yb计算Ki,并使用Xc和Ya计算K2。
18.假设Alice对消息M=“I love you”实施了数字签名,然后使用Bob的公钥将其加密,之后将结果发送给了Bob。正如本章前面所讨论的,Bob 能够对结果实施解密,获得签名的消息,然后再加密该签名消息,比如说使用Charlie的公钥加密,最后将这个结果密文转发给Charlie。请问,Alice是否可以使用对称密钥加密技术防止此类“攻击”?
能,如果使用对称密钥,那么Bob就不会那么容易混淆Charlie,因为Bob不能访问Alice和Charlie共享的对称密钥。
19.
当Alice发送一条消息M给Bob时,她和 Bob约定使用如下协议:
Alice计算S = [M]Alice。
Alice 将(M,S)发送给Bob。
Bob收到消息后,计算V = {S} Alice。
只要V = M,Bob就接受该数字签名为有效的。
对于这个协议,Trudy有可能按照如下方式,对随机的“消息”伪造出Alice的签名。Trudy首先生成值R,然后计算N = {R}Alice,再把(N,R)发送给Bob。根据上述协议,Bob会计算V = {R}Alice,只要V = N,Bob就接受该签名。于是,Bob就相信了Alice 发送给他的带有数字签名的但无意义的“消息”N。结果就是,Bob会迁怒于Alice。
此类攻击是需要我们认真对待的严重问题呢,还是仅仅算一种无关紧要的干扰而已呢?请说明理由。
假设我们对该协议进行了修改,结果如下:
Alice计算S = [F(M)]Alice。
Alice将(M,S)发生给Bob。
Bob收到消息后,计算V = {S}Alice。
只要V = F(M),Bob就接受该数字签名为有效的。
请问,函数F必须满足哪些条件,才能够防止上述令人深恶痛绝的攻击呢?
作答:
a:此类攻击是需要我们认真对待的严重问题,对于公开密钥加密技术,有一些内在的局限性,其中大部分是因为任何人都可以实施公开密钥的操作这一事实。也就是说,任何人都可以加密一条消息,任何人也都可以验证数字签名。如果使用者不够小心的话,这个事实可能成为造成混乱的根源。
b:如果F是一个单向函数(即给定F(M)就不能找到M),则能够防止攻击,比如加密哈希函数就是单向的,并且还提供了其他需要的属性。
20.
假设 Bob的背包加密方案的私钥包括(3,5,10,23)。另外,相对应的乘数m^(-1)=6,模数n= 47。
如果给定密文C= 20,那么请找出对应的明文。请以二进制形式表示。
如果给定密文C=29,那么请找出对应的明文。请以二进制形式表示。
请给出 m 和该背包方案的公钥。
答:
首先,计算m^(-1)C = 6∙20 = 120 = 26 mod 47。在私钥背包中,我们发现明文为1001(二进制)。
首先,计算m^(-1)C= 6∙29 = 174 = 33 mod 47。使用私钥中的超大型背包,我们发现明文为0011。
因为m^(-1)m = 6m = 1 mod 47,所以m =8。将超级背包中的每个元素乘以m并减少mod 47,以获得“通用”背包(24,40,33,43)。很容易验证出现在部分a和b中的加密。
21.
a.公钥:(18,30,25,44) n=47
b.结果是C=18+30+25=73=26 mod 47.
22.
请考虑背包加密系统。假设公钥包括(18,30,7,26)和模数n= 47。
a.如果乘数m=6,那么请给出私钥。
超大背包 是 (3,5,9, 20) 且 m^-1=8。
b.请加密消息M=1101(以二进制形式表示),给出十进制形式的加密结果.
C=74或者 C=74 mod 47 = 28。
23.
令c=∑▒〖a_iW_i 〗,其中W_i=S_im mod n,S_i是超级背包中的元素。
m^(-1) C=∑▒〖a_iW_im(-1)=∑▒〖a_i*S_i*m*m(-1)=∑▒〖a_iS_i mod n〗〗〗
得证。
24.
a.
b.根据23题结论,是否模n对消息接收者来说都无差别。
c.应该没有区别,第6章中的背包攻击似乎在密文被模n时更经常使用。只是我的想象力吗?
25.
图4-2说明了针对Diffie-Hellman密钥交换方案的中间人攻击。假设Trudy想要建立单独的Diffie-Hellman值gabt mod p,以供他自己,Alice和Bob三人共享。图4-7所示的攻击能否成功?请说明并给出理由?
不。Trudy没有办法确定Alice和Bob共享的gebd mod p密钥值(即不解决离散日志问题)。
26.
本思考题针对的是Diffie-Hellman密钥交换体制。
a.对于g的选择来说,为什么g=1是不允许的?
b.对于g的选择来说,为什么g=p-1是不允许的?
答:a.因为对所有 n 来说g ^ n = 1 mod p ,所以9不是生成器。
b.因为g =-1 mod p,所以对任何 n g ^ n mod p 都是1或-1,且9不是生成器。
27.在RSA公钥加密方案中,有时会使用通用的加密指数e=3或e=216+1。从理论上看,如果我们使用公共的解密指数,比方说d=3,那么RSA体制也仍将有效运行。请问,为什么使用d=3作为公共解密指数并不是一个好主意﹖你是否能够为RSA方案找到安全的公共解密指数d?请详细说明。
非常坏的主意。
28.如果Trudy 能够对模数N进行因子分解,她就能够破解RSA公钥加密系统。因子分解问题的复杂性水平尚不可知。假设有人能够证明整数因子分解是“真正的难题”,即在某种意义上说,它属于一类非常难解的问题(这是显然的)。那么这样的一个发现,其实际意义又在哪里呢?
只有一小部分时间成功的加密将对密码系统是毁灭性的,而且事实上,一般问题是困难的并不能妨碍出现一些相对简单的情况。例如,有一些有效的算法可以给出旅行商问题/中国邮路问题的近似解,但是在一般情况下找到精确的解决方案仍然是非常棘手的。因此,即使RSA问题是NP-hard问题,也不能排除找到一个足够近似的有效的攻击使加密系统在使用时失效。
29.在RSA加密系统中,有可能M=C,也就是说,明文消息和密文消息可能相同。
a.在现实中,这是否是个安全隐患呢?
答:不,因为概率很低。
b.对于模数N=3127以及加密指数e=17,请找到至少一条消息M,使得对其加密
后得到自身。
答:1 <M < 3127的所有M
30.假设Bob使用如下RSA方案的变体。他首先选择N,然后再找到两个加密指数e0和e1,以及相应的解密指数d0和d1。他请Alice加密她的消息M并发送给他,具体处理过程如下:首先计算C-M mod N,然后加密C0得到密文C1=mod N.Alice再将C发送给Bob。请问,这种双重加密相对于单一的RSA加密方案是否提高了安全性?为什么?
答案:
在这种情况下,双加密等价于指数e=e0·e1的单次加密。一般来说,RSA中的双重加密不会增加安全性。
和私钥e1
e2和公钥d1*d2进行一次加密的效果是一样的。所以2次和1次完全没区别。
RSA要增强安全性只能选择更大的质数。
31. Alice接收到一条来自Bob的独立的密文消息C,该消息是使用Alice的RSA公钥加密的。假设M为相对应的明文消息。Alice按照如下规则向Trudy发出挑战,看Trudy是否能够恢复出正确的明文消息M。Alice 发送密文C给Trudy,而且Alice同意解密一条使用Alice的公钥加密的密文消息,只要该密文消息不是C,并将解密的结果明文发送给Trudy。请问,Trudy 是否有可能恢复出明文M?
可能。Trudy从中发送密文seC(mod N),而Alice从中返回sCd(mod N)。Trudy可以轻松地恢复M = Cd(mod N)。
32.假如你获得了如下一组RSA公钥,表示形式为(e, N):
公钥 用户名
Alice (3,5356488760553659)
Bob (3,8021928613673473)
Charlie (3,560869 10298885 139)
另外,你还知道,Dave已经使用上述每-一个公钥对同–条消息M(并未附加填充信息)实施了加密,而且该消息M仅包含大小写的英文字母,并使用了参考文献[144]中的方法"进行编码。假定Dave计算的加密消息如下:
接收方 密文
Alice 4324345136725864
Bob 2102800715763550
Charlie 46223668621385973
a.请利用中国剩余定理找到M.
b.还有其他可行的方法能找到M吗?
M=(34,73,71,71,76,69,83)
正向搜索和系数分解
33.正如本章所述,教科书式的RSA加密体制容易遭受前向检索攻击。防止这种攻击的一个简单方法是:在加密之前对明文消息附加随机的填充位。这里的问题表明,通过对明文附加填充位,还能够预防RSA加密体制的另一个问题。假设Alice的RSA公钥是(N, e),她的私钥是d。Bob使用 Alice的公钥加密消息M并未附加填充信息),得到了密文C=M" mod N。Bob将C发送给Alice,同往常一样,Tnudy截获了这条密文消息C.
a.假如 Alice可以为 Trudy解密Trudy自己选择的一条消息,只要消息不是C。
请证明,Trudy能够轻松地确定M。提示:请考虑Trudy选择r,并请求 Alice解密密文C=Cr mod N.
b.为什么可以通过对消息附加填充位来预防这样的攻击呢?
答:
a. Trudy obtains (Cr)d= (M·y)^ed = M·r mod N.Using the modular inverse of r,Trudy computes r^(-1) ·M·r = M mod N.
b. TBD
34. 假设Trudy获得了RSA加密的两条消息,这两条消息都是用Alice的公钥加密的,即C0=M0emodN和C1=M1emod N。Trudy不知道Alice的私钥,也不知道明文消息。
a.请证明,Trudy 能够轻松地确定(M0-M1)emod N.
b.请问,Trudy 也能够确定(M0+ M1)e mod N吗?
c.由于在a中呈现出来的特性,RSA加密体制针对乘法操作来说就被称为同态的。最近,有人证明了一个全同态的加密体制(译者注:对于乘法和加法都是同态的),也就是说,无论从乘法运算的同态特性来看(a中所示),还是从加法运算的同态特性来看(b 中所示),该体制都能够支持,请参见[67]。讨论一下,实际可用的全同态加密体制都有哪些潜在的重要意义?
答:
能够轻松确定。因为C0·C1 = M0emodN·M1emod N = (M0-M1)emod N
不能,没有任何简单的代数操作可以提供所需的结果
在加密数据上计算任意函数是可能的。因此,例如,可以将一些加密数据发送到不可信的计算机,该计算机可以直接对加密数据进行计算,并将结果以加密的形式返回给您。而不受信任的计算机将无法访问明文数据或明文结果。
35.这个思考题针对的是数字签名问题。
a.数字签名为什么能够提供数据完整性保护,具体是如何做到的?
b.数字签名为什么能够提供不可否认性保护,具体是如何做到的?
答:
a.数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造。
只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。数字签名是非对称密钥加密技术与数字摘要技术的应用。
b.因为数字签名是信息的发送者创造的,除了信息发送者之外,没有第二者知道这串数据是什么。因此数字签名对发送者私有,对数据提供不可否认的保护。
36.
在加密技术领域,请思考如下问题。
a.请对不可否认性给出定义。
b.请举一个例子,说明不可否认性是非常重要的。当然,要与本章中给出的例子不同。

答:
a.不可否认性是指信息交换的双方不能否认其在交换过程中发送信息或接收信息的行为。
b. 就像某人去商店买东西赊账,恰巧这个人不守信用!幸好店主让其留了字据并录了视频!最终赊账顾客无法抵赖!
数字签名或消息认证码MAC,都可用于提供加密技术中的数据完整性校验。
a.假设Alice和 Bob想要使用一种加密技术中的数据完整性校验方法。你会推荐他们使用哪一种?是消息认证码MAC还是数字签名?为什么?
b.假如Alice和 Bob需要一种加密技术中的数据完整性校验方法,另外他们还需要有不可否认性保护。你会推荐Alice和 Bob使用哪一种?是消息认证码MAC还是数字签名?为什么?
答:
都可以,取决于可用的密钥类型(对称的或公共/私有的)。MAC可能有一些效率优势(取决于用于MAC的块密码和用于签名的哈希函数公钥方法的比较效率)。但是,如果公钥和对称密钥是可用的,那么这两者之间可能没有什么主要区别。
推荐使用数字签名,因为MAC不提供不可否认性。
38、Alice想要显得“格外安全”,所以她向Bob提议:他们先计算消息认证码MAC,然后再对MAC进行数字签名。
a.请问,Alice 的方法是否提供了一种数据完整性校验的密码学方法?为什么?
b.请问,Alice的方法是否提供了一种不可否认性保护的密码学方法?为什么?
c.请问,Alice的方法是个好的主意吗?为什么?
解答:
a、是的。数字签名是一种常用的工具用来实现签名,认证,数据完整性保证,这是一种公钥保证的方式,相应的,MAC就是私钥的保护方法。两者同时验证可以保证数据的完整性。
b、是的。因为对于单独使用消息验证码原理而言,它是通过双方共享的密钥产生的验证码,如果一个发送者对多个人发送相同的签名,则如果是对称方式,每两两之间就会有产生一个新的消息验证码。但是对于公钥密码体制而言就不需要了,因为对于公钥密码体制是采用私钥进行签名,而采用公钥进行验证,不需要达到每两个人直接都有一种不能被别人知道的密钥,签名者的公钥可以被任何人知道,只要生成一次,那么就可以被多方验证。而且对于密钥而言,公钥密码体制中的公钥我可以在公开信道进行传输,但是对称密码体制不会在公开信道进行传送,必须保护对称密码。
c、我觉得并不是一个很好的主义,因为他需要很多额外的精力和花销,但是他对于安全性而言没有很实际的提高,没有MAc的数字签名安全性也已经足够使用,如果不是特地的追求不可否认性这个问题的话,单独使用MAC或者数字签名就已经足够保证安全性了。
39: 在本章,我们展示了:你能够通过附加随机填充位的方式,来防止针对公开密钥加密系统的前向检索攻击。
请问,为什么人们喜欢最小化随机填充位的数量?
请问,多少位数的随机填充是必需的?请给出你的理由。
除了填充附加信息之外,是否还有其他简单可行的方案能够防止前向检索攻击
因为使用这种方式使得内容被加密了。增加了破解的难度(在有多个数据块的情况下) ,并且消耗了带宽。
想要随机填充,相当于需要在排气管上进行检查。目前来说,64bits可能是一个合理的最低限度,如果随机填充达到128bits,那么这时候将会有非常高的安全性
简单的进行二次加密
40.
将P(4,5)代入E中,有5^2(mod 11)=3,则4^3+74+b(mod 11)=3,有b=10;
因为基于模数11进行运算,因此只需要考虑x=0,1,2,3,4,5,6,7,8,9,10.
X=0 =>y2=10=>no solution mod 11;
X=1 =>y2=7=>no solution mod 11;
X=2=>y2=10=>no solution mod 11;
X=3=>y2=3=>y=5,6 mod 11;
X=4=>y2=3=>y=5,6 mod11;
X=5=>y2=5=>y=4,7 mod11;
X=6=>y2=4=>y=2,9 mod 11;
X=7=>y2=6=>no solution mod 11;
X=8=>y2=6=>no solution mod 11;
X=9=>y2=10=>no solution mod 11;
X=10=>y2=2=>no solution mod 11;
所以E上的所有点为(3,5),(3,6),(4,5),(4,6),(5,4),(5,7),(6,2),(6,9)和oo。
对(4,5),(5,4)进行以下计算
m=(4-5)/(5-4)=-1/1=-1=10(mod 11)
x3=100-4-5=3(mod 11)
y3=5+10
(3-4)=6(mod 11)
这样在椭圆曲线上就有(4,5)+(5,4)=(3,6).
3(4,5) = (4,5) + (4,5) + (4,5) = (3,6) + (4,5)
对于(4,5) + (4,5)有:m = 0;
故x4 = 0-4-4(mod 11) = 3; y4 = -5 (mod 11) = 6;
故(4,5) + (4,5) = (3,6);
3(4,5) = (3,6) + (4,5)
对于(3,6) + (4,5),有: m = -1 (mod 11) = 10;
则x5 = 100-3-4(mod 11) = 5;y5 = 10(3-5)-6 (mod11) = 7
故3(4,5) = (4,5) + (4,5) + (4,5) = (3,6) + (4,5) = (5,7)
请考虑如下椭圆曲线:E: y2=x3+ 11x+ 19 (mod 167)
请验证点P=(2, 7)是否位于椭圆曲线E上。
41.假如在某个椭圆曲线版本的Diffie-Hellman 密钥交换方案中使用了椭圆曲线E和点P=(2, 7),其中Alice选择的秘密值是A=12,Bob 选择的秘密值是B =31.请问,Alice 发送给Bob的值是多少? Bob 发送给Alice 的值是多少?最后的共享秘密是多少?
解:
把点P带入带曲线方程中得:
49=(8+22+19)(mod167)
即49=49,所以点P位于椭圆曲线E上。
Alice发送给Bob:12(2,7)=(153,36)
Bob发送给Alice:31(2,7)=(103,153)
共享秘密为:12(103,153)=31(153,36)=(137,54)
42.EIgamal 数字签名体制使用包含三元组(y. p,g)的公钥以及私钥x,其中的数值满足如下条件:
y=gxmod p 式(4.9)
为了对消息M进行签名计算,要选择随机数k,使得k 与p-1互素,再执行如下运算:
a=gkmod p
然后找到值s,使得满足如下等式:
M=xa+ks mod (p-1)
这使用Euclidean算法很容易做到。只要满足如下等式,签名就通过了验证。
yads=gMmod p 式(4.10)
a.请选择三元组(y,p,g)和x的值,使得它们满足式(4.9)。请再选择一条消息M,计算该消息的签名,并通过式(4.10)验证该签名的有效性。
b.请给出Elgamal 数字签名体制有效的数学证明。也就是说,证明式(4.10)在选取适当的取值后总是成立。提示:考虑使用费马小定理,其中给出:如果p是质数,并且p不能整除于z,那么有zp-1=1 mod p。
答:a、可取(y,p,g)=(1,3,2),x=2
b、因为:M=xa+ks mod(p-1)有M=n(p-1)+(xa+ks)
其中0<=xa+ks<p-1,所以gM=gn(p-1)gxa+ks mod p
根据费马小定理得gn(p-1)=1 mod p

猜你喜欢

转载自blog.csdn.net/xuanyulevel6/article/details/126067891
今日推荐