網絡安全快速入門5-密碼學及密碼破解工具CrypTool實戰

简介

信息在企业、组织、军方等的运作中起着至关重要的作用。不当使用信息会导致企业损失或灾难性后果。 为了保护通信,企业可以使用密码学来加密信息。密码学涉及将信息转换为非人类可读的格式,反之亦然。

在本文中,我们将向您介绍密码学领域,以及如何确保信息不会落入他人之手。

  • 什么是密码学?
  • 什么是密码分析?
  • 加密算法
  • 破解实践

什么是密码学?

密码学通过将信息转换为非人类可读的格式来隐藏信息的真正含义,反之亦然。

假设您要发送消息“I LOVE APPLES”,则可以用字母中的第三个连续字母替换短语中的每个字母。 加密的消息将为“K NQXG CRRNGV”。 要解密我们的消息,我们必须使用要解密的字母返回字母表中的三个字母。 下图显示了转换的完成方式。

网络安全快速入门5-密码学及密码破解工具CrypTool实战

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

什么是密码分析?

密码分析是一种尝试在不使用密钥的情况下解密的技术。密码分析使用数学分析和算法来解密密码。

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

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

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

  • 暴力攻击

这种类型的攻击使用的算法尝试猜测所有可能的明文逻辑组合,然后将其加密并与原始密码进行比较。

  • 字典攻击

使用单词表来查找明文或密钥的匹配项。 它通常在尝试破解加密密码时使用。

  • 彩虹表攻击

这种攻击将密文与预先计算的哈希值进行比较以找到匹配项。

  • 猜测

比如默认出厂密码

  • 爬虫
网络安全快速入门5-密码学及密码破解工具CrypTool实战

常用加密算法

  • MD5

Message-Digest 5的首字母缩写。它用于创建128位哈希值。 从理论上讲,哈希不能转换成原始的纯文本。 MD5用于加密密码以及检查数据完整性。很难找到两个相同的 MD5。

  • SHA
    安全哈希算法(Secure Hash Algorithm)的缩写。 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 –此算法用于创建流密码。 它主要用于安全套接字层(SSL)等协议中以加密Internet通信,以及用于保护无线网络的有线等效保密性(WEP) 。 BLOWFISH –此算法用于创建对称密钥。 它可以用来加密密码和其他数据。

使用CrypTool 加密

在这种实际情况下,我们将使用RC4算法创建一个简单的密码。 然后,我们将尝试使用蛮力攻击将其解密。 对于本练习,让我们假设我们知道加密密钥为24位。 我们将使用此信息来破解密码。

我们将使用CrypTool 1作为我们的加密工具。 CrypTool 1是一个用于密码学研究的开源教育工具。

创建RC4流密码:我们将加密以下短语"Never underestimate the determination of a kid who is time-rich and cash-poor",我们将使用00 00 00作为加密密钥。

  • 打开CrypTool 1
网络安全快速入门5-密码学及密码破解工具CrypTool实战

文本替换

网络安全快速入门5-密码学及密码破解工具CrypTool实战

单击 Encrypt/Decrypt菜单

网络安全快速入门5-密码学及密码破解工具CrypTool实战

  • 指向Symmetric (modern),然后选择RC4,如上所示
  • 将出现以下窗口
  • 网络安全快速入门5-密码学及密码破解工具CrypTool实战

  • 选择24位作为加密密钥
  • 将值设置为00 00 00
  • 单击Encrypt 按钮
  • 您将获得以下流密码
  • 网络安全快速入门5-密码学及密码破解工具CrypTool实战

    使用CrypTool 解密

    • 单击Analysis 菜单
    网络安全快速入门5-密码学及密码破解工具CrypTool实战

  • 指向 Symmetric Encryption (modern),然后选择RC4,如上所示
  • 您将获得以下窗口
  • 网络安全快速入门5-密码学及密码破解工具CrypTool实战

  • 请记住,所做的假设是密钥为24位。 因此,请确保选择24位作为密钥长度。
  • 单击开始按钮。 您将获得以下窗口
  • 网络安全快速入门5-密码学及密码破解工具CrypTool实战

  • 注意:完成暴力分析攻击所需的时间取决于所用机器的处理能力和密钥长度。 密钥长度越长,完成攻击所需的时间就越长。
  • 分析完成后,您将获得以下结果。
  • 网络安全快速入门5-密码学及密码破解工具CrypTool实战

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

    <code>  

    md5sum

    password

    5f4dcc3b5aa765d61d8327deb882cf99

    /<code>

    <code>

    import

    hashlib h = hashlib.md5() h.update(

    "password"

    .encode(

    'utf-8'

    ))

    print

    (h.hexdigest())/<code>
    <code>

    password

    5f4dcc3b5aa765d61d8327deb882cf99 password1 7c6a180b36896a0a8c02787eeafb0e4c password

    @Test001

    43afc7177d19f57e59b4858fe1a3c154 /<code>

    小结

    • 密码学是对消息进行加密和解密的科学。
    • 密码是一种已被转换为非人类可读格式的消息。
    • 解密将密码转换为原始文本。
    • 密码分析在不知道用于加密密码的密钥的情况下解密密码。
    • 密码学结合了密码学和密码分析技术。

    最后多说一句,小编是一名python开发工程师,这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。想要这些资料的可以关注小编,并在后台私信小编:“01”即可领取


    分享到:


    相關文章: