密码学教程

密码学和网络安全教程

信息在企业、组织、军事行动等方面发挥着至关重要的作用。信息落入坏人之手可能会导致业务损失或灾难性后果。为了确保通信安全,企业可以使用密码学来加密信息。密码学涉及将信息转换为非人类可读的格式,反之亦然。

在本密码学和网络安全教程中,我们将向您介绍密码学的世界以及如何保护信息不落入坏人之手。

什么是密码学?

密码学是一门研究和应用技术,通过将信息转换成人类无法读取的格式或将信息转换成人类无法读取的格式来隐藏信息的真实含义。

让我们通过一个例子来说明这一点。假设你想发送消息 “我爱苹果”,你可以用字母表中的第三个连续字母替换短语中的每个字母。加密消息将是 “K NQXG CRRNGU”。要解密我们的消息,我们必须使用要解密的字母返回字母表中的三个字母。下图显示了转换过程。

密码加密和解密
密码加密和解密

将信息转换为非人类可读形式的过程称为加密。

逆向加密的过程称为 解密.

解密是使用 密钥 只有合法的信息接收者才知道。密钥用于解密隐藏的消息。这使得通信更加安全,因为即使攻击者设法获取了信息,他们也无法理解。

加密信息被称为 暗号. 接下来在本密码学教程中,我们将学习什么是密码分析。

密码学的特点

密码学的特点列表如下:

  • 算法
  • 保密协议
  • Integrity
  • 适应性
  • 互操作性
  • 认证
  • 可扩展性
  • 密钥管理

密码学的应用

密码学的应用如下:

  • SSL/TLS 加密
  • 密码存储
  • 安全网上银行
  • 加密货币
  • 加密电子邮件
  • Digi签名
  • 安全通信
  • 电子商务和在线交易

什么是密码分析?

密码分析 是在不使用加密消息的密钥的情况下尝试解密加密消息的技术。密码分析使用数学分析和算法来解密密码。它用于破坏安全系统以获取加密内容和消息,即使不知道加密密钥也是如此。

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

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

以下是常用的密码分析攻击列表;

  • 蛮力攻击– 这种类型的攻击使用算法试图猜测明文的所有可能的逻辑组合,然后对其进行加密并与原始密码进行比较。
  • 字典攻击– 这种类型的攻击使用单词列表来查找明文或密钥的匹配项。它主要用于尝试 破解加密密码.
  • 彩虹桌攻击– 这种类型的攻击将密文与预先计算的哈希值进行比较以找到匹配项。

什么是密码学?

密码学结合了密码学和密码分析学的技术。

加密 Algorithms

MD5– 这是 Message-Digest 5 的缩写。它用于创建 128 位哈希值。理论上,哈希值不能反转为原始纯文本。MD5 用于加密密码以及检查数据完整性。MD5 不具有抗碰撞性。抗碰撞性是指很难找到两个产生相同哈希值的值。

  • SHA– 这是安全哈希算法的首字母缩写。SHA 算法用于生成消息的压缩表示(消息摘要)。它有各种版本,例如;
  • SHA-0:产生 120 位哈希值。由于存在严重缺陷,该算法已停止使用,并由 SHA-1 取代。
  • SHA-1:生成 160 位哈希值。它与早期版本的 MD5 类似。它存在加密弱点,自 2010 年以来不建议使用。
  • SHA-2:它有两个哈希函数,即 SHA-256 和 SHA-512。SHA-256 使用 32 位字,而 SHA-512 使用 64 位字。
  • SHA-3:该算法正式被称为 Keccak。
  • RC4– 强力 RC4 算法用于创建流密码。它主要用于以下协议: 安全套接字层(SSL) 加密互联网通信和 有线等效保密(WEP) 确保无线网络的安全。
  • 河豚– 该算法用于创建密钥对称分组密码。它可用于加密密码和其他数据。

现在,在这个密码学教程系列中,我们将学习如何破解 RC4 并使用 CrypTool 创建密码。

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

在本实用 Cryptool 教程中,我们将使用 RC4 暴力破解工具创建一个简单的密码。然后,我们将尝试使用暴力破解来解密它。在本练习中,我们假设我们知道 加密 密钥为 24 位。我们将使用此信息来破解密码。

创建 RC4 流密码

步骤 1) 下载并安装 CryptTool

我们将使用 CrypTool 1 作为我们的密码学工具。CrypTool 1 是一款用于密码学研究的开源教育工具。您可以从以下网址下载 https://www.cryptool.org/en/ct1/

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

我们将加密以下短语

永远不要低估一个有时间却没钱的孩子的决心

我们将使用 00 00 00 作为加密密钥。

  • 打开 CrypTool 1

创建 RC4 流密码

  • 将文本替换为“永远不要低估一个有时间却没钱的孩子的决心”

创建 RC4 流密码

步骤3)加密文本

  • 点击加密/解密菜单

创建 RC4 流密码

  • 指向“对称(现代)”,然后选择 RC4,如上所示
  • 将出现以下窗口

创建 RC4 流密码

步骤4)选择加密密钥

  • 选择24位作为加密密钥
  • 将值设置为 00 00 00
  • 点击加密按钮
  • 您将获得以下流密码

创建 RC4 流密码

攻击流密码

步骤5)开始分析

  • 点击分析菜单

攻击流密码

  • 指向对称加密(现代),然后选择 RC4,如上所示
  • 您将看到以下窗口

攻击流密码

  • 请记住,假设密钥为 24 位。因此,请确保选择 24 位作为密钥长度。
  • 点击开始按钮。您将看到以下窗口

攻击流密码

  • 注意:完成暴力分析攻击所需的时间取决于所用机器的处理能力和密钥长度。密钥长度越长,完成攻击所需的时间越长。

步骤6)分析结果

  • 当分析完成后,您将得到以下结果。

攻击流密码

  • 注意:熵值越低,表示结果越有可能正确。高于最低熵值的结果是可能正确的。
  • 选择最有意义的行,然后单击“接受选择”按钮

总结

  • 密码学是加密和解密消息的科学。
  • 密码是转换成非人类可读格式的消息。
  • 解密就是将密码逆转为原文。
  • 密码分析是在不知道密钥的情况下破译密码的技术。
  • 密码学结合了密码学和密码分析学的技术。
  • RC4 暴力在线算法用于创建流密码。它主要用于诸如安全套接字层 (SSL) 之类的协议中,用于加密互联网通信,以及有线等效保密 (WEP) 来保护无线网络。