区块链中的加密技术

什么是区块链中的加密技术?

加密技术是现代数据安全和高效信息交换领域的一种新兴现象。加密技术代表了对安全通信的古老追求。它从古老的神秘手稿演变为现代科学技术的复杂算法。

本章将深入探讨密码学和加密的相互关联的学科。除了探索这项技术的历史和复杂性之外,我们还将深入了解路线、密钥、机制和更多概念。

加密技术的路线

加密技术的痕迹可以追溯到很久以前,当时人们使用密码等简单的加密方法来保护重要信息。加密消息曾经是童年时期的一项令人愉快的活动,通常涉及与亲密朋友交换消息。许多人采用了各种技术来保护他们的消息的私密性,例如使用隐形墨水或蜡封。自从从原始生活过渡到有组织的社会以及文明的发展以来,隐藏信息的需求就一直存在。随着不同群体和部落的出现,竞争也随之而来,导致了等级侵略、秘密交流和对群众的操纵。最早的加密形式是在与文明发源地相关的地区发现的,包括埃及、希腊和罗马。

古埃及被认为是最早的密码学形式,使用象形文字对敏感信息进行编码。随着时间的推移,人们采用了不同的加密方法,包括替换密码、换位密码和多表密码。

凯撒密码以公元前 100 年的罗马军事将领尤利乌斯·凯撒的名字命名,他利用该密码来保护自己的军事通信,是最简单、最古老的已知替换密码之一。维吉尼亚密码和普莱费尔密码分别于 16 世纪和 19 世纪开发,是多表密码的典型代表。然而,这些传统的加密技术不再被认为是保护敏感数据的安全技术,因为它们很容易被现代计算机破译。

密码类型

在密码学和网络安全领域,有两种最常用的密码类型,如下所示 −

  1. 单表密码
  2. 多表密码

1. 单表密码

在单表密码中,消息中的每个字母都始终与单个字母交换。例如,在凯撒密码中,字母 A 的每次出现都可以转换为 G,从而得到一个简单的模式。由于这种技术简单易行,这些密码很容易受到频率分析等技术的攻击,其中计算编码消息中字母的出现次数以解密加密。

在这种类型的密码中,原始消息中的每个字母都会在字母表中移动固定数量的位置。

例如,如果移位 2,可以观察到以下更改 −

  • 原始 − HEY
  • 加密 − JGA

在这种情况下,每个字母都被字母表中前两个位置的字母替换。

2. 多字母密码

相反,多字母密码通过基于机密密钥对同一字母采用各种替换来增加复杂性。

维吉尼亚密码就是一个例子,其中密钥中的每个字母对应于字母表中的不同移位。这种动态替换增加了密码分析人员解码消息的复杂性,与单字母密码相比提供了更好的保护。

术语"多"表示"许多",表示加密每个字母的多种方法,因此为编码消息增加了额外的安全层。在此密码中,使用关键字为每个字母建立多个移位值。

例如 −

  • 原始 − 信任
  • 密钥 − KEY
  • 加密 − DVSCX

在上面的例子中,密钥重复到单词的长度,因此TRUST->KEYKE。然后,我们从表中引用每行和每列的相应值来加密消息。因此,在行T和列K下,我们得到D。同样,在行R和列E下,我们得到V,依此类推。

密码学的基本术语

在深入研究密码学的相关概念和进一步的链接之前。让我们先熟悉一些基本概念和术语−

  • 加密 − 将明文转换为密文的过程,使未经授权的各方无法读取。
  • 解密 −将编码消息(密文)解密回其原始形式(明文)的行为,以便有权这样做的人可以阅读和理解它。
  • 密码 − 用于加密和解密的算法。
  • 密钥 − 与加密算法结合使用的私有值,用于对信息进行加扰和解密。
  • 对称密钥 − 用于编码和解码过程的单独私钥。
  • 非对称密钥 − 一对密钥,一个用于加密,一个用于解密,它们在数学上相关但不相同。
  • 明文 − 原始的未加密数据。
  • 密文 −加密的数据。
  • 哈希函数 − 一种单向函数,接受输入(或消息)并返回固定大小的字符串,该字符串通常是特定于唯一消息的摘要。
  • 数字签名 − 附加到电子传输文档的数字代码,用于验证其内容和发送者的身份。
  • 公钥基础设施 (PKI) − 建立、管理、传播、使用、存储和撤销数字证书所需的硬件、软件、个人、协议和协议的集合。
  • 证书颁发机构 (CA) − 颁发数字证书和管理 PKI 的组织。
  • 不可否认性 −证明特定个人对特定操作或消息负责的能力。
  • 身份验证 − 验证个人或实体身份的过程。
  • 密钥管理 − 创建、分发、存储和保护密钥的过程。

我们将在本教程的后续部分详细介绍上述概念。

密码学原理

密码学是一种通过将信息转换为只有获得许可的人才能读取的代码来保护信息的技术。密码学的核心思想和规则包括 −

  • 机密性 − 确保机密信息受到保护,不让未经授权的人访问。
  • 完整性 − 信息是敏感信息,因此其性质不应以任何方式被篡改或改变。<​​/li>
  • 身份验证 − 确认信息包发送者和接收者的身份。
  • 不可否认性 −确保信息发送者无法否认内容的来源。
  • 密钥管理 − 以安全的方式管理加密和解密密钥的生成、分发、存储和使用。
  • 算法 − 算法是一种数学函数,它通过将信息转换为不可读的形式并通过解密使其再次可读来帮助保护信息。
  • 公钥加密 − 公钥加密涉及使用可公开访问的密钥来加密数据并使用私人持有的密钥对其进行解密。另一方面,对称密钥加密使用单个密钥来加密和解密数据。
  • 哈希函数 −接受输入(或消息)并产生固定长度输出的数学函数,用于确认原始消息的完整性

随着我们的进展,我们将深入探讨这些主题。这些概念和原则在各种加密技术中得到实践,包括对称密钥加密、非对称密钥加密和哈希函数。

密码学的类型

现代网络和通信系统中主要使用两种类型的密码学 −

  1. 公钥密码学
  2. 椭圆曲线密码学

1. 公钥密码学

公钥密码学使用一组密钥,其中一个是公开的(所有人都可以访问),另一个是私有的(只有所有者知道)。

让我们以两个人为例 - Alice 和 Bob。 Alice 想要以安全的方式向 Bob 发送消息。为了向 Bob 发送消息,Alice 使用 Bob 的公钥进行加密。Bob 拥有私钥,因此能够解密并访问该消息。

其工作原理如下 −

  • 加密 − Bob 的公钥就像一把特殊的锁,Alice 使用它来锁定她的消息。
  • 解密 − Bob 的私钥就像打开锁以读取消息的唯一钥匙。

2. 椭圆曲线密码学

ECC 是一种强大而创新的加密方法,彻底改变了现代加密技术。与传统加密算法相比,它增强了安全性,同时需要更小的密钥大小。让我们学习 ECC 的不同方面。

密钥生成

公钥 (Q) − Bob 选择一条曲线和其上的一个点。他称这个点为 (G)。他的公钥 (Q) 是 (G) 乘以一个秘密数字 (d) 的结果。

示例 − Q = d . G

加密

  • 当 Alice 想要向 Bob 发送秘密消息时,她会选择一个随机数 (k)。
  • 她通过将 (G) 乘以 (k) 来计算曲线上的一个点 (C)。
  • (C)​​ 的 x 坐标是加密消息的一部分。
  • 共享秘密由 Bob 将 (C) 乘以他的秘密数字 (d) 得出。
  • 示例 − s = k 。 Q

解密

  • Bob 使用他的私钥将 (C) 乘以 (d) 以获得相同的共享密钥 (s)。
  • 使用密钥派生函数,Alice 和 Bob 都从 (s) 派生出对称密钥。
  • 对称密钥用于解密消息。
  • 示例 − S = d . C