密码学教程

⚡ 智能摘要

密码学通过将信息转换为非人类可读的形式来保护信息,只有拥有正确密钥的人才能还原信息。本页介绍了密码学的特性、应用、算法以及 CrypTool 的实际操作练习。

  • 🔐 核心思想: 加密将明文转换成密文;解密则使用密钥将其还原。
  • 🧩 三个学科: 密码学隐藏含义,密码分析破解含义,而密码学则涵盖两者。
  • 📐 算法家族: 哈希函数、对称密码和公钥系统解决的是不同的问题。
  • 现行标准: AES 和 SHA-2 仍然被认可,而 MD5、SHA-1 和 RC4 被认为已失效。
  • 🧪 实践操作: CrypTool 1 演示了 RC4 加密和 24 位密钥的暴力破解分析。
  • 🔮 展望未来: 美国国家标准与技术研究院 (NIST) 于 2024 年 8 月发布了其首个后量子标准。

密码学教程

信息在商业、政府和军事行动中扮演着至关重要的角色,信息一旦落入不法分子之手,可能会造成经济损失,甚至更严重的后果。为了确保通信安全,组织机构会使用密码学对信息进行加密——将其转换为人类无法读取的格式,然后再转换回来。

在这篇关于密码学和网络安全的文章中,您将学习密码学的工作原理以及如何防止信息落入不法分子之手。

什么是密码学?

密码学是研究和应用各种技术来隐藏信息的真实含义,这些技术通过将信息转换成人类不可读的格式,然后再转换回来。

举个例子。要发送“我爱苹果”,你需要将每个字母替换成字母表中的第三个字母,得到“K NQXG CRRNGU”。要阅读它,收件人需要倒退三个字母,如下所示。

密码加密和解密过程中,每个字母移动三位
密码加密和解密

将信息转换成人类不可读的形式称为 加密而将其逆转则称为 解密加密后的结果被称为 暗号.

解密使用只有合法接收者才知道的密钥。由于需要密钥,即使攻击者截获了密文(没有密钥,密文就无法被截获),通信仍然安全。

密码学的特点

密码系统的优劣取决于以下特征。

特性 这是什么意思
算法 已发表的执行变换的数学过程。
保密协议 只有密钥持有者才能读取受保护的数据。
Integrity 任何数据变化都能被检测到。
适应性 该方案可根据不同的密钥大小和威胁级别进行调整。
互操作性 不同的系统和供应商交换受保护的数据。
认证 信息的来源是可以证明的。
可扩展性 随着数据量的增长,性能依然保持稳定。
密钥管理 密钥的生成、存储、轮换和退役都是安全的。

密码学的应用

这些特性会成为人们日常生活中不可或缺的服务,而人们却浑然不觉。

应用领域 密码学是如何使用的
TLS加密 保护浏览器和网站之间的通信流量。
密码存储 存储的是加盐哈希值,而不是可读密码。
网上银行业务 保障交易安全并验证银行身份。
Cryptocurrency 对交易进行签名,并将区块与哈希值链接起来。
加密电子邮件 在传输和存储过程中保护消息内容的私密性。
Digi签名 证明作者身份以及文档未被篡改。
安全消息传递 在设备间应用端到端加密。
电子商务 结账时保护银行卡信息。

什么是密码分析?

密码分析是在不使用加密密钥的情况下解密信息的艺术。它运用数学分析和算法来破解密码,既可用于入侵系统,也可用于防御,衡量算法的防护能力。

密码分析攻击的成功取决于:

  • 可用时间
  • 可用的计算能力
  • 可用存储容量

以下是一些常见的密码分析攻击:

  • 蛮力攻击 — 尝试明文或密钥的每一种可能组合,对每一种组合进行加密,并将其与原始密文进行比较。
  • 字典攻击 — 使用单词列表来匹配明文或密钥。它主要用于尝试…… 破解加密密码.
  • 彩虹桌攻击 — 将密文与预先计算的哈希值进行比较,以查找匹配项。对每个存储的密码进行加盐处理可以破解它。

什么是密码学?

密码学是结合了密码学和密码分析的综合领域。这两部分都至关重要:只有当密码分析人员尝试破解一个算法但失败后,该算法才能被信任。

加密 Algorithms

以下算法在安全工作中反复出现。请注意哪些算法仍然有效,哪些算法仅存在于旧系统中。

  • MD5 — MD5 是 Message-Digest 5 的缩写,它生成 128 位哈希值。MD5 是一种哈希函数,而不是…… 加密因此,从设计上来说,它就无法被逆向推导。它不具备抗碰撞性——两个不同的输入可能产生相同的哈希值——因此不适合用于密码或签名。
  • SHA — 安全哈希算法的缩写,该算法家族生成消息的精简表示,称为消息摘要:
    • SHA-0:生成 160 位哈希值。由于存在重大缺陷,它已被弃用,并被 SHA-1 取代。
    • SHA-1:生成 160 位哈希值。2017 年已演示过实际的哈希碰撞,NIST 也已禁止将其用于数字签名,因此请避免使用。
    • SHA-2:包含六种函数的系列,其中包括 SHA-256 和 SHA-512,分别处理 32 位和 64 位字。两者均仍然有效。
    • SHA-3:于 2015 年标准化,以前称为 Keccak,它使用不同的内部设计作为 SHA-2 的备份。
  • AES — 高级加密标准 (ADE) 是一种对称分组密码,目前用于保护大多数静态和传输中的数据,密钥长度分别为 128 位、192 位和 256 位。它取代了 DES,并且是新系统的默认加密算法。
  • RC4 RC4 是一种流密码,曾广泛用于安全套接字层 (SSL) 和有线等效加密 (WEP)。这两种协议都已过时,RFC 7465 在 2015 年发布的所有 TLS 版本中都禁止了 RC4。这里保留 RC4 仅作为教学示例。
  • 河豚 — 一种带密钥的对称分组密码,历史上曾用于密码和文件加密。其 64 位分组大小使 AES 成为更好的现代选择。

展望未来,NIST 于 2024 年 8 月发布了其首批后量子标准——用于密钥交换的 ML-KEM、用于签名的 ML-DSA 和 SLH-DSA——这些标准将逐步取代当今的公钥算法。

黑客活动:如何使用 CrypTool 创建密码

在这个 CrypTool 的实践练习中,您将使用 RC4 创建一个简单的密码,然后通过暴力破解分析来恢复它,假设密钥长度为 24 位。目的是为了说明为什么短密钥和已破解的密码无法提供真正的保护。

创建 RC4 流密码

步骤 1)下载并安装 CrypTool

CrypTool 1 是一款开源的密码学教育工具。虽然目前开发工​​作已转移到 CrypTool 2,但 1.4.42 版本仍然可以在 CrypTool 1 上运行。 Windows 与以下屏幕截图相符。从此处下载。 cryptool.org.

步骤 2)打开 CrypTool 并替换文本

要加密的短语是 永远不要低估一个有时间却没钱的孩子的决心密钥是 00 00 00。

  • 打开 CrypTool 1。

CrypTool 1 主窗口(替换示例文本之前)

  • 请将文本替换为以上短语。

包含替换短语的 CryptoTool 文档

步骤3)加密文本

  • 点击加密/解密菜单。

CrypTool 加密/解密菜单,选择对称现代模式

  • 指向对称(现代),然后选择 RC4。

CrypTool RC4 密钥输入对话框

步骤 4)选择加密密钥

  • 选择 24 位作为密钥长度。
  • 将值设置为 00 00 00。
  • 点击“加密”按钮生成以下流密码。

CrypTool 中显示的 RC4 流密码结果

攻击流密码

步骤 5)开始分析

  • 点击“分析”菜单。

CrypTool 分析菜单,以现代方式突出显示对称加密

  • 指向对称加密(现代),然后选择 RC4。

CrypTool RC4 暴力破解分析对话框

  • 假设密钥长度为 24 位,因此选择 24 位作为密钥长度。
  • 点击“开始”。

CrypTool 暴力破解分析进度窗口

  • 注意: 所需时间取决于所用机器的处理能力和密钥长度。密钥越长,所需时间越长,这就是为什么现代密钥的长度为 128 位或更长。

步骤 6)分析结果

  • 分析完成后,候选密钥按以下顺序排列。

CrypTool暴力破解结果按熵值排序

  • 注意: 较低的熵值通常表示结果正确,但较高的熵值也可能是正确的。
  • 选择读起来像有效文本的那一行,然后单击“接受选择”。

常见问题

对称加密使用一个共享密钥,速度快,因此适合保护海量数据。非对称加密使用公钥和私钥对,解决了密钥分发问题,并支持数字签名。

不。加密可以通过密钥逆向进行;哈希则是将数据单向转换为固定长度的摘要。密码系统存储加盐哈希值正是因为原始值无法恢复。

盐值是存储在每个密码哈希值旁边的唯一随机值。它使相同的密码产生不同的哈希值,从而绕过预先计算的彩虹表,迫使攻击者单独攻击每个帐户。

数字证书将公钥与已验证的身份绑定,并由证书颁发机构签名。浏览器在信任与网站的加密连接之前,会检查该签名。

大型量子计算机可以破解RSA和椭圆曲线密钥,而对称加密只需要更大的密钥。美国国家标准与技术研究院(NIST)的回应是,将于2024年发布后量子时代标准,以便尽早开始迁移。

机器学习并不能破解强大的现代加密算法。它主要用于侧信道分析,大规模发现弱密钥或重复使用的密钥,并在威胁检测过程中标记异常的加密流量。

Copilot 可以加快样板代码的编写速度,但经常会推荐过时的算法或硬编码的键。请将每个建议都视为草稿,优先选择经过验证的库而不是手工编写的代码,并请审阅者检查键的处理方式。

安全工程师、渗透测试人员和取证分析师每天都在应用它,它构成了一个完整的领域。 CISSP认证大多数角色负责配置经过验证的库,而不是设计算法。

总结一下这篇文章: