- 密码学教程
- 密码学 - 首页
- 密码学 - 起源
- 密码学 - 历史
- 密码学 - 原理
- 密码学 - 应用
- 密码学 - 优点与缺点
- 密码学 - 现代密码学
- 密码学 - 传统密码
- 密码学 - 加密的需求
- 密码学 - 双重强度加密
- 密码系统
- 密码系统
- 密码系统 - 组成部分
- 密码系统攻击
- 密码系统 - 彩虹表攻击
- 密码系统 - 字典攻击
- 密码系统 - 暴力攻击
- 密码系统 - 密码分析技术
- 密码学类型
- 密码系统 - 类型
- 公钥加密
- 现代对称密钥加密
- 密码学哈希函数
- 密钥管理
- 密码系统 - 密钥生成
- 密码系统 - 密钥存储
- 密码系统 - 密钥分发
- 密码系统 - 密钥撤销
- 分组密码
- 密码系统 - 流密码
- 密码学 - 分组密码
- 密码学 - Feistel 分组密码
- 分组密码的工作模式
- 分组密码的工作模式
- 电子密码本 (ECB) 模式
- 密码分组链接 (CBC) 模式
- 密码反馈 (CFB) 模式
- 输出反馈 (OFB) 模式
- 计数器 (CTR) 模式
- 经典密码
- 密码学 - 反向密码
- 密码学 - 凯撒密码
- 密码学 - ROT13 算法
- 密码学 - 置换密码
- 密码学 - 加密置换密码
- 密码学 - 解密置换密码
- 密码学 - 乘法密码
- 密码学 - 仿射密码
- 密码学 - 简单替换密码
- 密码学 - 简单替换密码的加密
- 密码学 - 简单替换密码的解密
- 密码学 - 维吉尼亚密码
- 密码学 - 维吉尼亚密码的实现
- 现代密码
- Base64 编码和解码
- 密码学 - XOR 加密
- 替换技术
- 密码学 - 单表代换密码
- 密码学 - 单表代换密码的破解
- 密码学 - 多表代换密码
- 密码学 - Playfair 密码
- 密码学 - Hill 密码
- 多表代换密码
- 密码学 - 一次性密码本
- 一次性密码本的实现
- 密码学 - 置换技术
- 密码学 - 栅栏密码
- 密码学 - 列置换密码
- 密码学 -隐写术
- 对称算法
- 密码学 - 数据加密
- 密码学 - 加密算法
- 密码学 - 数据加密标准
- 密码学 - 三重DES
- 密码学 - 双重DES
- 高级加密标准
- 密码学 - AES 结构
- 密码学 - AES 变换函数
- 密码学 - 字节替换变换
- 密码学 - 行移位变换
- 密码学 - 列混淆变换
- 密码学 - 轮密钥加变换
- 密码学 - AES 密钥扩展算法
- 密码学 - Blowfish 算法
- 密码学 - SHA 算法
- 密码学 - RC4 算法
- 密码学 - Camellia 加密算法
- 密码学 - ChaCha20 加密算法
- 密码学 - CAST5 加密算法
- 密码学 - SEED 加密算法
- 密码学 - SM4 加密算法
- IDEA - 国际数据加密算法
- 公钥(非对称)加密算法
- 密码学 - RSA 算法
- 密码学 - RSA 加密
- 密码学 - RSA 解密
- 密码学 - 创建 RSA 密钥
- 密码学 - 破解 RSA 密码
- 密码学 - ECDSA 算法
- 密码学 - DSA 算法
- 密码学 - Diffie-Hellman 算法
- 密码学中的数据完整性
- 密码学中的数据完整性
- 消息认证
- 密码学数字签名
- 公钥基础设施
- 哈希算法
- 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 密码
- 密码学 - 对称与非对称
- 密码学有用资源
- 密码学 - 快速指南
- 密码学 - 讨论
密码学 - 三重DES(数据加密标准)
1990年后,针对DES的穷举密钥搜索速度开始让DES用户感到不安。然而,用户并不想替换DES,因为更换已被广泛采用并嵌入大型安全架构中的加密算法需要花费大量时间和金钱。
务实的做法不是完全放弃DES,而是改变DES的使用方式。这导致了三重DES(有时称为3DES)的改进方案。
需要注意的是,三重DES有两个版本:2密钥三重DES(2TDES)和3密钥三重DES(3TDES)。
什么是三重DES?
三重数据加密算法,通常称为三重DES、TDEA和3DES,是一种使用三个独立的DES版本加密单个文本片段的加密方法。在第一个版本中,每个使用的密钥都是唯一的;在第二个版本中,两个密钥相同,一个密钥不同;在第三个版本中,每个密钥都相同。这些是使用的不同的密钥选择方法。
三重DES首次引入于1998年。为了获得更长的有效密钥长度,它对每个数据块运行DES密码算法三次。
三重DES的加密过程
- 三重DES操作的三个阶段是加密-解密-加密(EDE)。它的功能是使用密钥包,该密钥包由三个56位密钥(K1、K2和K3)组成。
- 最初使用K1进行加密;然后使用K2进行解密;最后使用K3进行最终加密。还有一个双密钥三重DES版本,其中K1用于第一步和最后一步,但相同的算法运行三次。2015年,这个双密钥版本被淘汰。
- 由于双重加密的限制,算法执行三次。中间相遇攻击是一种从一端加密,从另一端解密,并搜索冲突或导致两个方向结果相同的密钥的攻击类型。如果内存足够,双重DES或任何其他运行两次的密码将只有基准密码的两倍强度。
- 简单来说,如果双重密码的密钥长度较短,其强度与相同的密码运行一次的强度相同。
- 不仅如此,如果密码组合在一起,使用两个密钥进行两次加密等同于使用备用密钥进行一次加密。但是确定另一个密钥并不简单,使用暴力攻击中的每个密钥都会导致发现第三个密钥。
- 因此,如果密码是一个群,则多次加密是浪费时间。
- 运算符和集合之间存在称为群的关系。如果它们与加法的行为与整数几乎相同,则它们构成一个群。
- 如果您继续加密一个块并且它在潜在块的集合上完成一个完整的循环,那么也会形成一个群。
- DES不属于群。但DES具有流行的结构特征,这导致一些人坚持认为它绝对不是一个群,换句话说,它可能是一个群。
- 例如,已知DES循环,您可以通过连续使用相同的密钥进行加密而陷入无限循环。
加密模式
三重DES允许在三个轮次中的每一个轮次中以任一方向(加密或解密)使用DES算法。因此,三重DES有八种不同的可能模式。
模式 | 加密序列 |
---|---|
DDD | 解密-解密-解密 |
DDE | 解密-解密-加密 |
DED | 解密-加密-解密 |
DEE | 解密-加密-加密 |
EDD | 加密-解密-解密 |
EDE | 加密-解密-加密 |
EED | 加密-加密-解密 |
EEE | 加密-加密-加密 |
如果存在更好的选择,您不太可能想出于与您不想使用EED、DEE、DDE或EDD相同的结构原因而使用EEE或DDD模式。由于DES的弱非群性,最有效的组合是EDE或DED。EDE也更有意义。如果您决定使用DED,则必须阐明三重DES如何以解密开始。
三重DES的模块
三重DES有一些模块,如下所示:
- 管理员登录 - 在这个项目中,管理员可以使用用户名和密码进行验证,以访问帐户面板模块。
- 用户登录 - 在此模块中,用户可以使用用户名和密码进行身份验证,以访问其帐户面板模块。
- 用户注册模块 - 在此模块中,用户可以输入用户名、密码、地址、手机号码和邮箱地址进行注册,以访问帐户面板模块。
- 管理员发消息模块 - 在此模块中,管理员可以选择用户名,然后输入消息以及主题,以及可用于加密消息和主题的输入加密密钥,然后将其发送给所选用户,消息和主题都保存在用户收件箱中。
- 管理员检查可疑邮件 - 在此模块中,管理员可以检查通常不存储在用户收件箱中而是标记为可疑状态的可疑邮件,并将其作为包含用户元素的可疑邮件发送给管理员。
- 管理员数据字典 - 在此模块中,管理员可以将可疑词添加到当前数据字典中,以便更直接、更有效地检测用户发送的可疑邮件。
- 管理员查看数据字典 - 在此模块中,管理员可以看到数据字典中存在哪些可疑词,还可以删除数据字典中当前的可疑词。
- 管理员查看用户列表 - 在此模块中,管理员可以看到已注册的用户及其完整信息,如果发现任何已注册用户在网站上进行可疑活动,则可以删除这些用户。
- 用户发消息模块 - 在此模块中,用户可以选择其他用户,然后输入消息和主题,然后将其发送给所选用户,消息和主题都保存在接收用户的收件箱中,并在网站后端。处理可疑邮件检测模块,该模块将发送的邮件标记为可疑或正常。
- 用户收件箱模块 − 在此模块中,用户可以查看已注册用户发送的收件箱消息。如果用户是已注册用户,则此消息将在无需任何解密模块的情况下被查看,并且用户也有权删除该邮件。
三重 DES 的安全性
三重 DES 方法使用密钥加密数据以确保其安全。三重 DES 可以通过两种不同的方式使用。第一种方法必须高度安全,因为它使用了三个不同的密钥。然而,由于攻击者可以利用的一种方式,它并不像我们想象的那么安全。这就像一扇门上有三个锁,但攻击者仍然可以很容易地打开。
第二种方法较弱,因为其中一个密钥与第一个密钥相同。可以将其想象成一扇门有两个锁,其中一个很容易打开。因此,它不再推荐使用,因为它不够安全。
此外,当多个数据片段由同一个密钥保护时,三重 DES 存在问题。这类似于密码过短,很容易被破译。这个问题存在于 TLS 和 OpenVPN 系统中。
由于这些问题,三重 DES 已不再建议使用,并且在 OpenSSL 等较新版本的安全程序中也不再存在。
优点
以下是三重 DES 的一些优点:
- 与原始 DES 的三层加密相比,安全性得到了增强。
- 3DES 通过保持与当前 DES 实现的连接性,允许平滑迁移。
- 通过将所有三个密钥设置为相同的值,3DES 可以针对向后兼容性用作单 DES。
- 3DES 广泛应用于各种硬件、协议和应用程序。
缺点
以下是使用三重 DES 时必须考虑的一些缺点:
- 与 AES 等较新的加密方法相比,3DES 的速度较慢,降低了处理效率。
- 即使 3DES 比 DES 更强大,但其有效密钥长度仍然有限,尤其是在使用三个 56 位密钥时。
- 在资源有限的情况下,三重加密过程会降低性能,因为它需要更多的计算能力。
- 3DES 的安全裕度低于 AES 等较新的加密方法,但比 DES 更安全。
三重 DES 的实现
以下应用程序可以使用三重 DES 加密数据:
Botan、Bouncy Castle、cryptlib、Crypto++、Libgcrypt、Nettle、OpenSSL、wolfSSL、可信平台模块 (TPM)。
但请记住,在最新的版本中,其中一些程序可能没有将三重 DES 作为默认选项。务必确认您正在使用的特定版本中是否可用。