在RSA公开密钥加密体系中,首先要选择足够大的两个素数p和q,算出p和q的乘积n,即 从理论上讲,只要知道了n,就可以通过我们上小学时就知道的分解因数的方法求出p和q,然后找出d。问题是,如果n很大,对于n进行因数分解的计算量就会非常非常大,以至用最快的计算机也不可能在合理的时间内算出p和q来。RSA算法在理论上的重大缺陷是并不能证明分解因数绝? RSA算法在实际应用当中的缺点是它不如秘密密钥算法的速度快,因此,在传输长文件时,人们往往只用公开密钥体系传输秘密密钥加密法的密钥,而用秘密密钥加密法加密文件本身。 RSA算法还有一个好处就是它可以用来作数字签名。这是利用RSA算法的对称性,即用数对(n,e)加密的消息只能用数对(n,d)解密,但反过来用数对(n,d)加密的消息又只能用(n,e)解密。如果我想用数字签名证实一个文件确实是我发出去的,我可以把它用我自己的本来用于解密的秘密密 现代广泛运用的密码体系,都是对算法公开,其安全性依靠密钥的保密,因此,有三种破解密码的基本方法。第一种是偷取密钥或收买密钥持有者。第二种是通过分析发现算法的漏洞——历史上曾有一些被高度信任的加密术为数学分析所破解。第三种是所谓“蛮力”(brute-force)破? 我们在前面介绍的这些密码术准备页码:[1] [2] [3] [4] [5] [6] [7] [8] 第4页、共8页 |