非对称密码也称公钥密码、双钥密码。与对称密码区别,其安全性是基于数学函数,而不是替代和置换技术。非对称密码需要两个密钥,公开密钥和私有密钥。公开密钥和私有密钥是一对,假如用公开密钥对数据进行加密只有用对应的私有密钥才能进行解密;假如用私有密钥对数据进行加密只有用对应的公开密钥才能进行解密。且不能够由此中一个密钥推出另一个密钥。非对称密码既能够用作加密,也能用于署名。
RSA是第一个非对称密码算法,其安全性是基于大整数因子剖析的困难性。现在主流的非对称密码还基于离散对数题目的Elgamal公钥密码和椭圆曲线公钥密码。除此之外,另有Rabin密码体制Mceliece密码体制、背包密码体制、Paillier同态密码体制等。此中Paillier同态密码体制在云计算平台下的数据安全防护中有重要意义。