非对称密码体制简称公钥体制,是由 Diffie和 Hellman于1976年首先提出的一种新的密码体制,在这种密码体制中,每个用户都有一对选定的密钥,这两个密钥的作用和地位是不同的,一个是专门用于加密信息且可以公开的,称为公开密钥( Public Key,PK),简称公钥,可以像电话号码一样进行注册公布;另一个则是专门用于解密的,是秘密的,需要用户严格保密的,称为私有密钥( Private Key或者 Secret Key,SK),简称私钥因此非对称密码体制又称为双钥密码体制或公开密钥密码体制。
在安全性实现方面,对称密钥密码体制是依靠对密钥的保密性和基于复杂的非线性变换(扩散和混淆)与多步迭代运算实现算法安全性的,而非对称密钥密码体制则一般是依靠对私钥的保密性和基于某个公认的数学难题而实现安全性的。
在非对称密码体制中,用于加密的密钥与用于解密的密钥是不同的,而且难以(在有效的时间内)从加密密钥推导出解密密钥。非对称密码体制大都基于某个经过深入研究的数学难题。
非对称密码体制的安全性就在于要从公钥和密文推出私钥或明文在计算上是不可行的。非对称密码体制的主要特点是将加密和解密能力分开,因而可以实现多个用户加密的消息只能由一个用户解读,或由一个用户加密的消息而使多个用户可以解读。前者可用于公共网络中实现保密通信,而后者可用于实现对用户的认证以及数字签名等。
非对称密码体制的产生,是密码学革命性的发展。一方面,非对称密码体制将对称密钥体制中密钥的秘密传递变成了公开发布,比较科学地解决了对称密码技术的关键问题一密钥分配问题。另外,如果系统中有n个实体需要相互通信,采用非对称密码体制,只需要n对密钥即可。当前及以后较长的一段时间内,密钥仍然是信息安全保密的关键,它的产生、分配和管理是密码技术中的重要研究内容;另一方面,为数据的保密性、真实性和完整性提供了有效方便的技术,而且还为数字签名的实现提供了有效的方法。因此,相应地,非对称密码体制的基本模型也比较复杂,一般地,非对称密码体制有三种常用的基本模型:加密模型、认证模型和认证加密模型。
但是非对称密码体制的缺点是加解密速度比较慢,不便于硬件实现和大规模生产。