RSA算法是最早得到广泛使用的非对称加密算法,RSA算法基于分解大素数之乘积的困难性。较新的非对称加密算法是ECC,ECC基于离散对数难题。它能够以较少的计算资源消耗达到与RSA相当的安全性。目前,大多的数字证书仍然基于RSA算法。如果数学上发现了一种快速计算素数乘积或者离散对数的方法,就意味着相应的非对称加密算法被彻底破解。在这样一个数学天才出现之前,我们还能够无忧地使用这些算法。
对称加密算法本身对密钥的值没有约束,虽然我们会有意避开一些太有规律的密钥值。与对称密钥不同,非对称加密算法不能使用任意比特串作为密钥。非对称加密所用的密钥是符合算法原理要求的特别大数。例如,RSA算法的密钥来自于两个大的素数。非对称私钥没有密钥交换和分配,非对称私钥只应在预期的私钥持有者安全可控的环境里产生。由于无需与任何其他人共享,非对称私钥比较容易管控。如此,我们能建立一个安全的非对称加密系统,在这个系统中,只有私钥的所有者,能够对预期的内容进行解密和签署操作。
实现非对称加密功能的软件或者硬件模块一般都具备私钥的产生及保护能力。在具备USBkey、智能卡等加密安全硬件的情况下,私钥的产生和保护会在这些硬件内部。私钥与安全硬件绑定时,用户容易理解和落实对存有私钥的这些实物安全凭证的管理要求。在不具备外置安全硬件时,加密软件包利用本地计算平台的资源,产生密钥对和保护私钥。这种文件形式存储私钥,会受到计算机上的恶意代码的威胁,其安全对用户的要求相对较高。
时间: 2024-12-29 09:39:32