说明:双击或选中下面任意单词,将显示该词的音标、读音、翻译等;选中中文或多个词,将显示翻译。
您的位置:首页 -> 词典 -> 加密锁原理
1)  Principle of Security Lock
加密锁原理
2)  encrypt theory
加密原理
3)  theory of encryption and decryption
加解密原理
4)  Lock of File encrypting
文件加密锁
5)  net software dog
网络加密锁
6)  LPT Security Dog
并口加密锁
补充资料:Rsa加密算法

这是一个现在在网络上、银行系统、军事情报等等许多领域用处非常广泛的加密算法,已经深深的影响到我们每一个人。一个以rsa加密算法为业务的公司他的市值就可以达到5亿美元。他极大的保证了我们的交易的安全性,一组以rsa算法产生的密码是需要当前世界上所有电脑联机不断的工作25年才能够破解的,这个足以说明他的价值之大,用处之广泛。有一组资料说,以rsa加密算法进行的加密软件他的下载和使用量远远超过了windows软件、ie浏览器等等著名软件。这个是进入未来网络生活中不可缺少的工具。

1978年就出现了这种算法,它是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。算法的名字以发明者的名字命名:ron rivest, adishamir 和leonard adleman。但rsa的安全性一直未能得到理论上的证明。

rsa的安全性依赖于大数分解。公钥和私钥都是两个大素数( 大于 100个十进制位)的函数。据猜测,从一个密钥和密文推断出明文的难度等同于分解两个大素数的积。

密钥对的产生:选择两个大素数,p 和q 。计算:

n = p * q

然后随机选择加密密钥e,要求 e 和 ( p - 1 ) * ( q - 1 ) 互质。最后,利用euclid 算法计算解密密钥d, 满足

e * d = 1 ( mod ( p - 1 ) * ( q - 1 ) )

其中n和d也要互质。数e和n是公钥,d是私钥。两个素数p和q不再需要,应该丢弃,不要让任何人知道。 加密信息 m(二进制表示)时,首先把m分成等长数据块 m1 ,m2,..., mi ,块长s,其中 2^s <= n, s 尽可能的大。对应的密文是:

ci = mi^e ( mod n ) ( a )

解密时作如下计算:

mi = ci^d ( mod n ) ( b )

rsa 可用于数字签名,方案是用 ( a ) 式签名, ( b ) 式验证。具体操作时考虑到安全性和 m信息量较大等因素,一般是先作 hash 运算。

rsa 的安全性。

rsa的安全性依赖于大数分解,但是否等同于大数分解一直未能得到理论上的证明,因为没有证明破解rsa就一定需要作大数分解。假设存在一种无须分解大数的算法,那它肯定可以修改成为大数分解算法。目前,rsa的一些变种算法已被证明等价于大数分解。不管怎样,分解n是最显然的攻击方法。现在,人们已能分解140多个十进制位的大素数。因此,模数n必须选大一些,因具体适用情况而定。

rsa的速度:

由于进行的都是大数计算,使得rsa最快的情况也比des慢上100倍,无论是软件还是硬件实现。速度一直是rsa的缺陷。一般来说只用于少量数据加密。

rsa的选择密文攻击:

rsa在选择密文攻击面前很脆弱。一般攻击者是将某一信息作一下伪装(blind),让拥有私钥的实体签署。然后,经过计算就可得到它所想要的信息。实际上,攻击利用的都是同一个弱点,即存在这样一个事实:乘幂保留了输入的乘法结构:

( xm )^d = x^d *m^d mod n

前面已经提到,这个固有的问题来自于公钥密码系统的最有用的特征--每个人都能使用公钥。但从算法上无法解决这一问题,主要措施有两条:一条是采用好的公钥协议,保证工作过程中实体不对其他实体任意产生的信息解密,不对自己一无所知的信息签名;另一条是决不对陌生人送来的随机文档签名,签名时首先使用one-way hashfunction 对文档作hash处理,或同时使用不同的签名算法。在中提到了几种不同类型的攻击方法。

rsa的公共模数攻击。

若系统中共有一个模数,只是不同的人拥有不同的e和d,系统将是危险的。最普遍的情况是同一信息用不同的公钥加密,这些公钥共模而且互质,那末该信息无需私钥就可得到恢复。设p为信息明文,两个加密密钥为e1和e2,公共模数是n,则:

c1 = p^e1 mod n

c2 = p^e2 mod n

密码分析者知道n、e1、e2、c1和c2,就能得到p。

说明:补充资料仅用于学习参考,请勿用于其它任何用途。
参考词条