非对称加密又称为公开密钥加密算法,它需要两个密钥,一个称为公开密钥,即公钥;另一个称为私有密钥,即私钥;公钥与私钥需要配对使用,如果用工要对数据进行加密,只有用对应的私钥才能解密,而如果使用私钥对数据加密,那么公钥才能进行解密。因为加解密为不同的密钥,所以这种算法为非对称加密算法。
非对称加密算法的特点:对称加密算法中只有一种密钥,并且是非公开的,若果要解密就得让对方知道密钥,所以保证其安全性就是保证密钥的安全。非对称加密包含两种密钥,其中一个是公开的,这就不需要向对称加密算法那样,需要传输密钥给对方进行数据加密了,大大提高了加密算法的安全性。非对称加密,即时在获知公钥、加密算法和加密算法源码的情况下,也无法获取公钥对应的私钥,无法进行解密。
人们常常使用非对称加密与对称加密算法相结合的办法,对称加密算法速度快,人们使用它加密较长的文件,然后用非对称加密算法来给文件密钥加密,解决了对称加密算法的密钥分发问题。
RSA算法
RSA算法是目前最有影响力的非对称加密算法,它能够抵抗目前为止一直的所有密码攻击,已被ISO推荐为公钥数据标准,RSA算法基于一个十分简单的数论事实;将两个大素数相乘十分容易,但反过来要想对其乘积进行因式分解去极其困难,因此可以将乘积公开为加密密钥。