您的位置:首页 > 文旅 > 美景 > 山西时代网站建设_建筑人才网邀约投递_网络市场调研的五个步骤_百度指数关键词搜索趋势

山西时代网站建设_建筑人才网邀约投递_网络市场调研的五个步骤_百度指数关键词搜索趋势

2025/1/1 17:10:30 来源:https://blog.csdn.net/2301_79096184/article/details/144750792  浏览:    关键词:山西时代网站建设_建筑人才网邀约投递_网络市场调研的五个步骤_百度指数关键词搜索趋势
山西时代网站建设_建筑人才网邀约投递_网络市场调研的五个步骤_百度指数关键词搜索趋势

目的:了解加密和对称加密的基础知识。

任务1:介绍

你有没有想过如何防止第三方阅读你的消息?您的应用程序 或 Web 浏览器如何与远程服务器建立安全通道?安全是指没有人可以读取或更改交换的数据;此外,我们可以确信我们正在与真实服务器连接。多亏了密码学,这些要求得到了满足。

密码学为我们的数字世界奠定了基础。虽然网络协议使分布在全球各地的设备能够进行通信,但加密技术使信任这种通信成为可能。

这个房间是三个关于密码学的介绍性房间中的第一个。除了使用 Linux 命令行的基本能力外,没有学习先决条件。如果您不确定,请考虑加入 Pre Security 路径。

  • 密码学基础 (this room)
  • 公钥加密基础知识
  • 哈希基础知识

学习目标

完成此房间后,您将学习以下内容:

  • 加密密钥术语
  • 密码学的重要性
  • 凯撒密码
  • 标准对称密码
  • 常见的非对称密码
  • 密码学中常用的基本数学

任务2:密码学的重要性

密码学的最终目的是确保在有对手的情况下进行安全通信。术语 安全 包括所通信数据的机密性和完整性。密码学可以定义为安全通信和数据保护技术的实践和研究,我们预计会有对手和第三方的存在。换句话说,这些对手应该无法披露或更改消息的内容。

加密技术用于保护机密性、完整性和真实性。在这个时代,您每天都在使用加密技术,而且几乎可以肯定您是通过加密连接读取的。请考虑以下使用加密的方案:

  • 当您登录 TryHackMe 时,您的凭据会被加密并发送到服务器,因此没有人可以通过窥探您的连接来检索它们。
  • 当您通过 SSH 连接时,您的 SSH 客户端和服务器会建立加密隧道,因此没有人可以窃听您的会话。
  • 当您进行网上银行业务时,您的浏览器会检查远程服务器的证书,以确认您正在与银行的服务器通信,而不是与攻击者的服务器通信。
  • 下载文件时,如何检查它是否下载正确?加密通过哈希函数提供解决方案,以确认您的文件与原始文件相同。

如您所见,您很少需要直接与密码学交互,但它的解决方案和影响在数字世界中无处不在。考虑一家公司想要处理信用卡信息和处理相关交易的情况。在处理信用卡时,公司必须遵循并执行支付卡行业数据安全标准 (PCI DSS)。在这种情况下,PCI DSS 可确保存储、处理和传输与卡信用相关的数据的最低安全级别。如果您检查大型组织的 PCI DSS,您将了解到数据在存储(静态)和传输(动态)时都应该加密。

与处理支付卡详细信息需要遵守 PCI DSS 的方式相同,处理医疗记录需要遵守各自的标准。与信用卡不同,处理医疗记录的标准因国家/地区而异。处理医疗记录时应考虑的示例法律和法规包括美国的 HIPAA(健康保险流通与责任法案)和 HITECH(经济和临床健康信息技术)、欧盟的 GDPR(通用数据保护条例)和英国的 DPA(数据保护法)。虽然该列表并不详尽,但它给出了医疗保健提供者应该根据其国家/地区考虑的法律要求的想法。这些法律和法规表明,密码学是一种必需品,应该存在,但通常对用户直接访问是隐藏的。

任务3:明文转密文

在介绍关键术语之前,让我们先从一个例子开始。我们从要加密的明文开始。明文是可读数据;它可以是任何东西,从简单的“你好”、猫照片、信用卡信息或医疗健康记录。从密码学的角度来看,这些都是等待加密的 “明文” 消息。明文与适当的密钥一起通过加密函数传递;加密函数返回密文。加密功能是密码的一部分;密码是一种将明文转换为密文的算法,反之亦然。

要恢复明文,我们必须通过解密功能将密文与正确的密钥一起传递,这将为我们提供原始明文。如下图所示。

我们刚刚介绍了几个新术语,我们需要学习它们才能理解有关密码学的任何文本。条款如下:

  • 纯文本Plaintext是加密之前的原始可读消息或数据。它可以是文档、图像、多媒体文件或任何其他二进制数据。
  • 密文Ciphertext是加密后消息的乱序、不可读版本。理想情况下,除了它的大致大小外,我们无法获得有关原始明文的任何信息。
  • 密码Cipher是一种将纯文本转换为密文并再次转换回来的算法或方法。密码通常由数学家开发。
  • Key 是密码用于加密或解密数据的一串位。通常,使用的密码是公共知识;但是,除非它是非对称加密中的公钥,否则密钥必须保持机密。我们将在后面的任务中访问非对称加密。
  • 加密Encryption是使用密码和密钥将明文转换为密文的过程。与密钥不同,密码的选择是公开的。
  • 解密Decryption是加密的相反过程,使用密码和密钥将密文转换回明文。尽管密码是公共知识,但在不知道密钥的情况下恢复明文应该是不可能的(不可行)

任务4:历史密码

密码学的历史悠久,可以追溯到公元前 1900 年的古埃及。然而,最简单的历史密码之一是公元前 1 世纪的凯撒密码。这个想法很简单:将每个字母移动某个数字以加密消息。

请考虑以下示例:

  • 明文:TRYHACKME
  • key:3(假设它是 3 的右移。
  • 密码:Caesar Cipher

我们可以很容易地弄清楚 T 变成 W,R 变成 U,Y 变成 B,依此类推。正如您所注意到的,一旦我们到达 Z,我们就会重新开始,如下图所示。因此,我们得到 的密文 。WUBKDFNPH

要解密,我们需要以下信息:

  • 密文:WUBKDFNPH
  • key:3
  • 密码:Caesar Cipher

对于加密,我们向右移动 3;对于解密,我们向左移动 3 并恢复原始明文,如上图所示。但是,如果有人给你一个密文并告诉你它是使用 Caesar Cipher 加密的,那么恢复原始文本将是一项简单的任务,因为只有 25 个可能的密钥。英文字母表是 26 个字母,移动 26 个字母将保持字母不变;因此,有 25 个有效的密钥用于使用 Caesar Cipher 进行加密。下图显示了如何通过尝试所有可能的密钥来成功解密;在本例中,我们使用 Key = 5 恢复了原始消息。因此,按照今天的标准,在密码是众所周知的地方,Caesar Cipher 被认为是不安全的。

您会在电影和密码学书籍中遇到更多历史密码。示例包括:

  • 16 世纪的 Vigenère 密码
  • 第二次世界大战的 Enigma 机器
  • 冷战时期的一次性垫子

任务5:加密类型

加密的两个主要类别是对称和非对称

对称加密Symmetric Encryption

对称加密,也称为对称加密,使用相同的密钥对数据进行加密和解密,如下图所示。保守密钥是必须的;它也称为私钥加密。此外,将密钥传达给目标各方可能具有挑战性,因为它需要一个安全的通信渠道。维护密钥的机密性可能是一项重大挑战,尤其是在有许多收件人的情况下。在强大的对手面前,问题变得更加严重;例如,考虑一下工业间谍活动的威胁。

考虑一个简单的案例,您创建了一个受密码保护的文档以与您的同事共享该文档。您可以轻松地将加密文档通过电子邮件发送给您的同事,但很可能您无法通过电子邮件将密码发送给他们。原因是任何有权访问其邮箱的人都可以访问受密码保护的文档及其密码。因此,您需要考虑一种不同的方式,即 channel,来共享密码。除非您考虑一个安全、可访问的渠道,否则一种解决方案是亲自见面并将密码传达给他们。

对称加密的示例包括 DES(数据加密标准)、3DES(三重 DES)和 AES(高级加密标准)。

  • DES 于 1977 年作为标准采用,并使用 56 位密钥。随着计算能力的进步,1999 年,DES 密钥在不到 24 小时内成功破解,推动了向 3DES 的转变
  • 3DES 是 DES 应用了三次;因此,密钥大小为 168 位,但有效安全性为 112 位。当 DES 不再被认为是安全的时,3DES 更像是一种临时解决方案。3DES 已于 2019 年弃用,应替换为 AES;但是,它可能仍存在于某些旧系统中。
  • AES 于 2001 年被采用为标准。其密钥大小可以是 128、192 或 256 位。

在各种应用程序中使用了更多的对称加密密码;但是,它们尚未被采纳为标准。

非对称加密Asymmetric Encryption

与使用相同密钥进行加密和解密的对称加密不同,非对称加密使用一对密钥,一个用于加密,另一个用于解密,如下图所示。为了保护机密性,非对称加密或非对称加密使用公钥对数据进行加密;因此,它也被称为公钥密码学

示例包括 RSA、Diffie-Hellman 和椭圆曲线加密 (ECC)。该过程中涉及的两个密钥称为公钥私钥。使用公钥加密的数据可以使用私钥解密。您的私钥需要保持私有,因此得名。

非对称加密往往速度较慢,并且许多非对称加密密码使用的密钥比对称加密大。例如,RSA 使用 2048 位、3072 位和 4096 位密钥;2048 位是建议的最小密钥大小。Diffie-Hellman 还建议的最小密钥大小为 2048 位,但使用 3072 位和 4096 位密钥以增强安全性。另一方面,ECC 可以用更短的密钥实现同等的安全性。例如,对于 256 位密钥,ECC 提供与 3072 位 RSA 密钥相当的安全级别。

非对称加密基于一组特定的数学问题,这些问题很容易在一个方向上计算,但极难逆转。在这种情况下,极其困难意味着实际上不可行。例如,我们可以依赖一个数学问题,而这个问题需要很长时间,例如数百万年才能用今天的技术来解决。

我们将在隔壁房间访问各种非对称加密密码。目前,需要注意的重要一点是,非对称加密为您提供了一个与所有人共享的公钥和一个您保护和保密的私钥。

新术语摘要

  • Alice 和 Bob 是加密示例中常用的虚构角色,用于表示试图安全通信的两方。对称加密是一种将同一密钥用于加密和解密的方法。因此,此密钥必须保持安全,绝不能透露给除预期方以外的任何人。非对称加密是一种使用两种不同密钥的方法:用于加密的公钥和用于解密的私钥。

任务6:基础数学

现代密码学的基石在于数学。为了演示一些基本算法,我们将介绍各种算法中使用的两个数学运算:

  • 异或操作
  • 模运算

异或操作

XOR 是“异或”的缩写,是二进制算术中的一种逻辑运算,在各种计算和加密应用中起着至关重要的作用。在二进制中,XOR 比较两个位,如果位不同则返回 1,如果它们相同则返回 0,如下面的真值表所示。此操作通常由符号 ⊕ 或 ^ 表示。

一个BA ⊕ B
000
011
101
110

如果这是您第一次使用真值表,则它是一个显示所有可能结果的表。上面的 XOR 真值表说明了所有四种情况:0 ⊕ 0 = 0、0 ⊕ 1 = 1、1 ⊕ 0 = 1 和 1 ⊕ 1 = 0。

让我们考虑一个例子,我们想对二进制数 1010 和 1100 应用 XOR。在这种情况下,我们一点一点地进行运算:1 ⊕ 1 = 0,0 ⊕ 1 = 1,1 ⊕ 0 = 1,0 ⊕ 0 = 0,得到 0110。

您可能想知道 XOR 如何在密码学中发挥作用。XOR 具有几个有趣的特性,使其在加密和错误检测中非常有用。一个关键属性是,将 XOR 应用于具有自身的值会导致 0,而将 XOR 应用于任何具有 0 的值将使其保持不变。这意味着对于任何二进制值 A,A ⊕ A = 0,A ⊕ 0 = A。此外,XOR 是可交换的,即 A ⊕ B = B ⊕ A。它是结合的,即 (A ⊕ B) ⊕ C = A ⊕ (B ⊕ C)。

让我们看看如何在密码学中利用上述内容。我们将演示如何将 XOR 用作基本的对称加密算法。考虑二进制值 P 和 K,其中 P 是纯文本,K 是密钥。密文为 C = P ⊕ K。

现在,如果我们知道 C 和 K,我们就可以恢复 P。我们从 C 开始 ⊕ K = (P ⊕ K) ⊕ K。但我们知道 (P ⊕ K) ⊕ K = P ⊕= (K ⊕ K),因为 XOR 是结合的。此外,我们知道 K ⊕ K = 0;因此,(P ⊕ K) ⊕ K = P ⊕ (K ⊕ K) = P ⊕ 0 = P。换句话说,XOR 是一种简单的对称加密算法。在实践中,它更复杂,因为我们需要一个密钥,只要是明文。

模运算

我们在密码学中经常遇到的另一个数学运算是模运算符,通常写成 % 或 mod。模运算符 X%Y 是 X 除以 Y 时的余数。在我们的日常生活计算中,我们更关注除法的结果而不是余数。其余部分在密码学中起着重要作用。

在解决一些密码学练习时,您需要使用大数。如果您的计算器失败,我们建议使用 Python 等编程语言。Python 有一个内置类型,可以处理任意大小的整数,并会根据需要自动切换到更大的类型。许多其他编程语言都有用于大整数的专用库。如果您更喜欢在线数学运算,请考虑 WolframAlpha。int

让我们考虑几个例子。

  • 25%5 = 0,因为 25 除以 5 等于 5,余数为 0,即 25 = 5 × 5 + 0
  • 23%6 = 5,因为 23 除以 6 等于 3,余数为 5,即 23 = 3 × 6 + 5
  • 23%7 = 2,因为 23 除以 7 是 3 余数为 2,即 23 = 3 × 7 + 2

关于 modulo 需要记住的一个重要一点是它是不可逆的。如果我们给出方程 x%5 = 4,则 x 的无限值将满足此方程。

取模运算始终返回小于除数的非负结果。这意味着对于任何整数 a 和正整数 n,a%n 的结果将始终在 0 到 n − 1 的范围内。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com