- 密码学教程
- 密码学 - 首页
- 密码学 - 起源
- 密码学 - 历史
- 密码学 - 原理
- 密码学 - 应用
- 密码学 - 优点与缺点
- 密码学 - 现代密码学
- 密码学 - 传统密码
- 密码学 - 加密的需求
- 密码学 - 双重强度加密
- 密码系统
- 密码系统
- 密码系统 - 组成部分
- 密码系统攻击
- 密码系统 - 彩虹表攻击
- 密码系统 - 字典攻击
- 密码系统 - 暴力攻击
- 密码系统 - 密码分析技术
- 密码学类型
- 密码系统 - 类型
- 公钥加密
- 现代对称密钥加密
- 密码学哈希函数
- 密钥管理
- 密码系统 - 密钥生成
- 密码系统 - 密钥存储
- 密码系统 - 密钥分发
- 密码系统 - 密钥撤销
- 分组密码
- 密码系统 - 流密码
- 密码学 - 分组密码
- 密码学 - Feistel 分组密码
- 分组密码的工作模式
- 分组密码的工作模式
- 电子密码本 (ECB) 模式
- 密码分组链接 (CBC) 模式
- 密码反馈 (CFB) 模式
- 输出反馈 (OFB) 模式
- 计数器 (CTR) 模式
- 经典密码
- 密码学 - 逆向密码
- 密码学 - 凯撒密码
- 密码学 - ROT13 算法
- 密码学 - 置换密码
- 密码学 - 加密置换密码
- 密码学 - 解密置换密码
- 密码学 - 乘法密码
- 密码学 - 仿射密码
- 密码学 - 简单替换密码
- 密码学 - 简单替换密码加密
- 密码学 - 简单替换密码解密
- 密码学 - 维吉尼亚密码
- 密码学 - 维吉尼亚密码实现
- 现代密码
- Base64 编码和解码
- 密码学 - XOR 加密
- 替换技术
- 密码学 - 单表代换密码
- 密码学 - 单表代换密码破解
- 密码学 - 多表代换密码
- 密码学 - Playfair 密码
- 密码学 - Hill 密码
- 多表代换密码
- 密码学 - 一次性密码本
- 一次性密码本的实现
- 密码学 - 置换技术
- 密码学 - 栅栏密码
- 密码学 - 列置换密码
- 密码学 - 隐写术
- 对称算法
- 密码学 - 数据加密
- 密码学 - 加密算法
- 密码学 - 数据加密标准 (DES)
- 密码学 - 三重 DES (3DES)
- 密码学 - 双重 DES (2DES)
- 高级加密标准 (AES)
- 密码学 - AES 结构
- 密码学 - AES 变换函数
- 密码学 - 字节替换变换
- 密码学 - 行移位变换
- 密码学 - 列混淆变换
- 密码学 - 轮密钥加变换
- 密码学 - AES 密钥扩展算法
- 密码学 - Blowfish 算法
- 密码学 - SHA 算法
- 密码学 - RC4 算法
- 密码学 - Camellia 加密算法
- 密码学 - ChaCha20 加密算法
- 密码学 - CAST5 加密算法
- 密码学 - SEED 加密算法
- 密码学 - SM4 加密算法
- IDEA - 国际数据加密算法
- 公钥(非对称)密码算法
- 密码学 - RSA 算法
- 密码学 - RSA 加密
- 密码学 - RSA 解密
- 密码学 - 创建 RSA 密钥
- 密码学 - RSA 密码破解
- 密码学 - ECDSA 算法
- 密码学 - DSA 算法
- 密码学 - Diffie-Hellman 算法
- 密码学中的数据完整性
- 密码学中的数据完整性
- 消息认证
- 密码学数字签名
- 公钥基础设施 (PKI)
- 哈希算法
- MD5(消息摘要算法 5)
- SHA-1(安全哈希算法 1)
- SHA-256(安全哈希算法 256 位)
- SHA-512(安全哈希算法 512 位)
- SHA-3(安全哈希算法 3)
- 密码哈希
- Bcrypt 哈希模块
- 现代密码学
- 量子密码学
- 后量子密码学
- 密码协议
- 密码学 - SSL/TLS 协议
- 密码学 - SSH 协议
- 密码学 - IPsec 协议
- 密码学 - PGP 协议
- 图像和文件加密
- 密码学 - 图像
- 密码学 - 文件
- 隐写术 - 图像
- 文件加密和解密
- 密码学 - 文件加密
- 密码学 - 文件解密
- 物联网中的密码学
- 物联网安全挑战、威胁和攻击
- 物联网安全的密码技术
- 物联网设备的通信协议
- 常用密码技术
- 自定义构建密码算法(混合密码学)
- 云密码学
- 量子密码学
- 密码学中的图像隐写术
- DNA 密码学
- 密码学中的一次性密码 (OTP) 算法
- 区别
- 密码学 - MD5 与 SHA1 的比较
- 密码学 - RSA 与 DSA 的比较
- 密码学 - RSA 与 Diffie-Hellman 的比较
- 密码学与密码学的比较
- 密码学 - 密码学与密码分析的比较
- 密码学 - 经典密码学与量子密码学的比较
- 密码学与隐写术的比较
- 密码学与加密的比较
- 密码学与网络安全的比较
- 密码学 - 流密码与分组密码的比较
- 密码学 - AES 与 DES 密码的比较
- 密码学 - 对称加密与非对称加密的比较
- 密码学有用资源
- 密码学 - 快速指南
- 密码学 - 讨论
密码学 - 加密算法
加密算法将信息转换为密文。该算法使用加密密钥以可预测的方式转换数据,并将数据转换为看起来随机的密文,但可以使用解密密钥将其转换回明文。在上一章中,我们了解了数据加密是什么,本章我们将了解加密算法。
加密算法分类
根据加密算法的操作、密钥长度和用途,可以将其分为不同的类别。主要分类如下:
- 对称加密 - 这种加密使用同一个密钥进行加密和解密。例如,使用同一个密钥对 zip 文件进行加密和解密。由于密钥需要对外部保密,对称加密有时被称为“秘密密钥”加密。常用的对称加密算法包括 DES、AES 和 Blowfish。
- 非对称加密(公钥加密) - 公钥加密或非对称加密使用公钥-私钥对,其中使用公钥加密的数据只能使用私钥解密。非对称加密部分由 TLS(或 SSL)协议使用,该协议支持 HTTPS。常见的非对称加密算法包括 RSA 和 ECC。
- 哈希函数 - 哈希函数是从给定数据生成特定字符集(哈希值)的工具。这些哈希值是不可逆的,因此无法从哈希值恢复原始信息。哈希函数通常用于验证数据完整性。常用的例子包括 SHA-256 和 MD5。
- 分组密码和流密码 - 对称密钥方法提供两种主要形式:分组密码和流密码。两种密码都使用相同的密钥来加密和解密数据。流密码逐位处理数据,而分组密码则处理固定大小的数据块。
- 密钥长度 - 密钥长度通常以比特数的对数形式给出。例如,3 位密钥长度可以使用 8 个不同的密钥 (2 x 2 x 2 = 8)。密钥长度越大,数据通常被认为越安全。密钥长度是一个加密安全标准,它根据协议和算法而有所不同。
- 用途 - 加密算法的用途可以根据其具体的应用进行分类,例如保护互联网上的数据传输 (SSL/TLS)、保护存储数据(磁盘加密)以及保护各种程序中的通信(例如用于加密电子邮件的 PGP)。
加密算法类型
下图显示了一些根据分类列出的加密算法类型名称:
对称加密算法
如上图所示,常用的对称加密算法包括数据加密标准 (DES)、高级加密标准 (AES)、三重 DES (3DES)、Blowfish、Twofish、IDEA(国际数据加密算法)和 RC4(Rivest 密码 4)。下面我们将简要讨论这些加密技术。
- 数据加密标准 (DES) - 数据加密标准 (DES) 是一种使用单个密钥来保护数字数据的加密类型。虽然由于其 56 位的短密钥长度,它可能不如当前方法安全,但它在密码学的发展中发挥了至关重要的作用。
- 高级加密标准 (AES) - 高级加密标准 (AES) 是一种对称分组密码,美国政府使用它来保护机密数据。AES 在全球范围内广泛用于软件和硬件中,用于加密重要信息。它在政府计算机安全、网络安全和电子数据保护中发挥着至关重要的作用。
- 三重 DES (3DES) - 三重数据加密标准 (3DES) 是密码学中的一种标准,它使用固定长度的密钥,并涉及三次 DES 算法的传递。它是一种基于对称分组密码的加密方法,这意味着发送方和接收方共享相同的密钥进行加密和解密。
- Blowfish - Blowfish 是一种加密方法,旨在取代 DES。它将消息分成 64 位块并相应地进行加密。Blowfish 以其速度、灵活性和优异的安全性能而闻名,使其成为保护电子商务网站、银行交易和密码管理应用程序的流行选择。Blowfish 在开发者中非常流行,部分原因是它是公共领域的并且可以免费使用。
- Twofish - Twofish 是 Blowfish 的继任者,它也使用对称加密来解密 128 位数据块,无需许可证。与其他算法不同,Twofish 始终以 16 轮加密数据,而不管密钥大小如何。这使得它适用于软件和硬件环境,并且以其快速性能而闻名。许多组织使用 Twofish 来进行安全的数据通信和保护。
- RC4 - RC4 是一种具有可变长度密钥算法的流密码。该算法一次加密一个字节(或更大的数据单元)。密钥输入是一个伪随机位生成器,它创建一个 8 位数字流,在不知道输入密钥的情况下是不可预测的。生成器的输出,称为密钥流,使用 X-OR 运算与明文流密码逐字节混合。
- IDEA - 国际数据加密算法 (IDEA) 是对称密钥分组密码加密的一个例子。IDEA 使用 128 位密钥,并处理 64 位块。基本上,它将 64 位的明文块转换为 64 位的密文块。
非对称加密算法
非对称加密技术示例包括RSA、椭圆曲线加密(ECC)、Diffie-Hellman密钥交换、ElGamal和数字签名算法(DSA)。非对称加密,通常称为公钥加密,使用两个不同的密钥进行加密和解密。因此,让我们讨论所有流行的非对称加密算法:
- Rivest-Shamir-Adleman (RSA) − RSA是一种非对称公钥加密系统,作为互联网的加密标准。RSA加密可靠且安全。它是一种使用密钥对的加密类型:公钥和私钥分别用于加密和解密。
- 椭圆曲线加密(ECC) − 椭圆曲线加密(ECC)是一种类似于RSA的加密方法,允许公钥加密。顾名思义,ECC是一种基于有限域椭圆曲线代数结构的非对称加密技术。
- Diffie-Hellman密钥交换 − Diffie-Hellman算法用于创建共享密钥,可在通过公共网络发送数据时用于私密通信。椭圆曲线用于生成点,并使用参数获得密钥。
- ElGamal − ElGamal加密方案是一种基于Diffie-Hellman密钥交换的公钥加密的非对称密钥加密方法。ElGamal算法为公钥加密提供了RSA的替代方案。RSA的安全性依赖于对大整数进行因式分解的复杂性。ElGamal算法的安全性在于在大素数范围内计算离散数据的复杂性。
- 数字签名算法 (DSA) − DSA 指的是数字签名算法。它用于数字签名及其验证。它基于模幂运算和离散对数的数学原理。美国国家标准与技术研究院 (NIST) 于 1991 年制定了该算法。
哈希函数
- 安全哈希算法 (SHA-1, SHA-256, SHA-3) − 安全哈希算法或 SHA 是一组固定的加密函数,旨在确保数据安全。这些算法通过使用哈希函数(包括位运算、模加法和压缩功能)更改信息来发挥作用。
- 消息摘要算法 (MD5) − MD5算法通常用于创建128位哈希值以验证数据完整性。它是对MD4算法的改进,并于1992年在RFC 1321中正式记录。MD5可以作为校验和,以确保数据完整性得到维护并免受意外损坏。
- RIPEMD (RACE完整性基元评估消息摘要) − RIPEMD 代表 RACE 完整性基元评估消息摘要,它是一个于 1992 年创建的哈希函数组。它的灵感来自 MD4(一种以其漏洞而闻名的哈希函数)的弱点。它专门设计用于优化 32 位处理器的性能。
- Whirlpool − Whirlpool 是一种密码哈希函数。该算法的灵感来自方块密码和高级加密标准。Whirlpool 被设计为块密码哈希函数,能够处理小于 2^256 位的输入长度并产生 512 位的哈希输出。
广告