RSA是一种基于(31)原理的公钥加密算法。网络上广泛使用的PGP协议采用 RSA和IDEA 2种加密算法组成链式加密体系,这种方案的优点是(32)。PGP还可以对电子邮件进行认证,认证机制是用MD5算法产生(33)位的报文摘要,发送方用自己的RSA私钥对

admin2005-03-15  82

问题 RSA是一种基于(31)原理的公钥加密算法。网络上广泛使用的PGP协议采用 RSA和IDEA 2种加密算法组成链式加密体系,这种方案的优点是(32)。PGP还可以对电子邮件进行认证,认证机制是用MD5算法产生(33)位的报文摘要,发送方用自己的RSA私钥对(34)进行加密,附加在邮件中进行传送。如果发送方要向一个陌生人发送保密信息,又没有对方的公钥,那么他可以(35)。

选项 A、大素数分解
B、椭圆曲线
C、背包问题
D、离散对数

答案A

解析 RSA的安全性依赖于大素数分解,但是否等同于大数分解却一直未能得到理论上的证明,因为没有证明破解RSA就一定需要做大数分解。假设存在一种无须分解大数的算法,那它肯定可以修改成为大数分解算法。目前,RSA的一些变种算法已被证明等价于大数分解。不管怎样,分解n是最显然的攻击方法,其具体过程为:
   首先,找出3个数p,q和r。其中p,q是2个相异的质数,r是与(p-1)(q-1)互质的数。p,q和r这3个数便是私钥。
   其次,找出m,使得rm==1 mod(p-1)(q-1)。这个m一定存在,因为r与(p-1)(q-1)互质,用辗转相除法就可以得到了。
   然后计算n=pq,m和n这2个数便是公钥。
   但是PGP不是一种完全的非对称加密体系,它是个混合加密算法,是由1个对称加密算法(IDEA)、1个非对称加密算法(RSA)、1个单向散列算法(MD5)以及1个随机数产生器(从用户击键频率产生伪随机数序列的种子)组成的,每种算法都是PGP不可分割的组成部分,PGP之所以得到流行,得到大家的认可,是由于它集中了几种加密算法的优点,使它们彼此得到互补。
   PGP的数字签名利用一个叫“邮件文摘”的功能,“邮件文摘"(message digest),简单地讲,就是对一封邮件用某种算法算出一个最能体现这封邮件特征的数来,一旦邮件有任何改变,这个数都会发生变化,那么这个数加上用户的名字(实际上在用户的密钥里)和日期等,就可以作为一个签名了。确切地说,PGP是用一个128位的二进制数进行“邮件文摘”的,用来产生它的算法就是MD5(message digest 5)。MD5的提出者是Ron Rirest, PGP中使用的代码是由Colin Plumb编写的MD5,MD5是一种单向散列算法,它不像校验码,是一份替代的邮件并且与原件具有同样的MD5特征值。
   PGP给邮件加密和签名的过程是这样的:首先甲用自己的私钥将上述的128位值加密,附加在邮件后,再用乙的公钥将整个邮件加密(要注意这里的次序,如果先加密再签名的话,别人可以将签名去掉后签上自己的签名,从而篡改了签名)。这样,这份密文被乙收到以后,乙用自己的私钥将邮件解密,得到甲的原文和签名,乙的PGP也从原文计算出一个128位的特征值来和用甲的公钥解密签名所得到的数进行比较,如果符合就说明这份邮件确实是甲寄来的。这样2个安全性要求都得到了满足。
   如何安全地得到D或其他签名朋友的公钥呢?确实有可能用户A拿到D或其他人签名的公钥也假的,但这个用户C必须对你们3人甚至很多人都很熟悉,这样的可能性不大,而且必须经过长时间的策划。当然,PGP对这种可能也有预防的建议,那就是由一个大家普遍信任的机构担当这个角色,被称为权威认证机构,每个由权威认证机构签过字的公钥都被认为是真的,这样大家只要有公钥就行了。认证权威认证机构的公钥是方便的,因权威认证机构广泛提供这个服务,假冒权威认证机构的公钥是极困难的,因为公钥流传广泛。这样的权威机构适合由非个人控制组织或政府机构充当。
转载请注明原文地址:https://jikaoti.com/ti/n1B7FFFM
0

最新回复(0)