公钥加密
公钥加密——或非对称加密——是一种加密系统,其中密钥成对出现。一个密钥执行的转换只能用另一个密钥来撤销。一个密钥(私钥)保密,而另一个密钥公开。
当用于数字签名时,私钥用于签名,公钥用于验证。这意味着任何人都可以验证签名,但只有拥有相应私钥的人才能生成它。
当用于加密时,公钥用于加密,私钥用于解密。这使得公钥加密系统比对称加密系统更具优势,因为加密密钥可以公开。任何人都可以向私钥所有者加密消息,但只有私钥所有者才能解密它。但是,它们通常比对称算法慢得多,并且它们可以加密的消息大小与密钥的大小成正比,因此它们不适合处理长消息。
因此,加密系统通常使用对称算法加密消息,然后使用公钥系统加密对称密钥。这种安排可以兼顾两种系统的优点。
常用的公钥密码系统有 RSA(用于签名和加密)、DSA(用于签名)和 Diffie-Hellman(用于密钥协商)。椭圆曲线密码学为这些密码系统提供了一种替代方法,它具有使用相对较小的密钥大小、更快的操作以及更小的存储和传输的优点。流行的椭圆曲线算法包括椭圆曲线 Diffie-Hellman 和椭圆曲线数字签名算法,开发人员经常将其缩写为 ECDH 和 ECDSA。
另请参阅
- Web Crypto API
- SubtleCrypto 支持的算法
- 相关词汇表术语
- 公钥密码学 在维基百科上