此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

密码算法

密码学领域,密码算法是一种可以加密明文使其不可读,且能够解密回明文的算法。

在信息时代很久以前,密码算法就已经很常见了(例如替换密码算法移位密码算法),但是它们之中除了一次性密码本算法以外,其他的均不满足密码学上的安全性。

在现代,密码算法发生了巨大变化。AESRSABlowfish 都是作为当代加密标准和系统不可或缺组成部分的密码算法。

现代密码算法通常为抵抗密码分析的攻击设计。无法保证所有攻击方法都已被发现,因此根据已知的攻击类别,每种算法适用于不同的用途

密码算法通常以两种方式工作,或者在连续的数据块、缓冲区中作为分块密码使用,或者在数据流(通常是音频或视频流)中作为流密码使用。

密码算法以处理密钥的方式不同可以分为两类:

  • 对称密钥算法使用同样的密钥进行消息的加密和解密。如果消息有保密性需求,那么密钥也应该进行安全的传送。
  • 非对称密钥算法使用不同的密钥进行消息的加密和解密。