- 区块链教程
- 区块链 - 首页
- 区块链基础
- 区块链 - 简介
- 区块链的历史
- 区块链 - 技术
- 区块链与密码学
- 超越加密的区块链
- 区块链 - 高级概念
- 区块链 - 去中心化
- 区块链 - DApp
- 区块链 - DeFi
- 区块链 - 未来展望
- 区块链中的智能合约
- 区块链 - 里卡迪安合约
- 区块链 - 预言机
- 区块链 - DAO
- 比特币
- 比特币 - 无形的黄金
- 比特币是如何工作的?
- 比特币 - 网络
- 比特币 - 钱包
- 比特币 - 创新
- 以太坊
- 以太坊替代加密货币
- 以太坊生态系统
- 以太坊虚拟机
- 高级以太坊
- 以太坊钱包
- 以太坊矿工节点
- 其他
- 区块链 - 双重支付
- 公钥密码学
- 区块链 - 哈希
- 比特币 - 挖矿
- 区块链 - 区块链
- 区块链 - 工作量证明
- 区块链 - 网络与挖矿
- 区块链 - 矿工激励机制
- 区块链 - 梅克尔树
- 区块链 - 支付验证
- 区块链 - 解决冲突
- 区块链 - 隐私
- 比特币 - 缓解攻击
- 区块链 - 结论
- 区块链资源
- 区块链 - 快速指南
- 区块链 - 资源
- 区块链 - 讨论
区块链中的密码学
什么是区块链中的密码学?
密码学在现代数据安全和高效信息交换领域是一个日益增长的现象。密码学代表着古老的安全的通信追求。它已经从古代神秘的手稿发展到现代科学技术的复杂算法。
本章将深入探讨密码学和加密学这两个相互关联的学科。除了探索这项技术的历史和复杂性之外,我们还将深入了解途径、密钥、机制以及更多概念。
密码学的途径
密码学的痕迹可以追溯到遥远的古代,当时使用简单的加密方法(如密码)来保护重要信息。加密信息曾经是童年时代的一种乐趣活动,通常涉及与亲密朋友交换信息。许多人采用各种技术来保护其信息的私密性,例如使用隐形墨水或蜡封。自从原始生活过渡到有组织的社会和文明发展以来,隐藏信息的需求就一直存在。随着不同群体和部落的出现,竞争随之产生,导致等级侵略、秘密沟通和民众操纵。最早的加密形式是在与文明发源地相关的地区发现的,包括埃及、希腊和罗马。
古代埃及被认为是已知最早的密码学形式,使用象形文字来编码敏感信息。随着时间的推移,人们采用了不同的加密方法,包括替换密码、置换密码和多表代换密码。
凯撒密码,以公元前100年使用它来保护其军事通信的罗马军事将领朱利叶斯·凯撒命名,是最简单和最古老的替换密码之一。维吉尼亚密码和普莱费尔密码分别在16世纪和19世纪发展起来,是多表代换密码的例子。然而,这些传统的加密技术不再被认为是保护敏感数据的安全方法,因为现代计算机可以很容易地破译它们。
密码类型
在密码学和网络安全领域,最常用的密码类型有两种:
- 单表代换密码
- 多表代换密码
1. 单表代换密码
在单表代换密码中,消息中的每个字母都始终替换为单个字母。例如,在凯撒密码中,字母A的每次出现都可能始终转换为G,从而产生简单的模式。由于这种技术的简单性,这些密码容易受到诸如频率分析之类的技术的攻击,其中计算编码消息中字母的出现次数以破译加密。
在这种类型的密码中,原始消息中的每个字母都在字母表中移动固定数量的位置。
例如,如果移动2位,则可以观察到以下更改:
- 原文 - HEY
- 加密后 - JGA
在这种情况下,每个字母都替换为字母表中前面两个位置的字母。
2. 多表代换密码
相反,多表代换密码通过根据保密密钥对同一字母采用各种替换来提高复杂性。
一个例子是维吉尼亚密码,其中密钥中的每个字母对应于字母表中的不同移位。这种动态替换增加了密码分析人员解码消息的复杂性,与单表代换密码相比,提供了更好的保护。
术语“多”表示“许多”,表示对每个字母有多种加密方法,从而为编码的消息增加了额外的安全层。在这个密码中,使用关键字来为每个字母建立多个移位值。
例如:
- 原文 - TRUST
- 密钥 - KEY
- 加密后 - DVSCX
在上面的例子中,密钥重复到单词的长度,因此TRUST->KEYKE。然后,我们参考表格中每一行和每一列的对应值来加密消息。因此,在T行和K列下,我们得到D。类似地,在R行和E列下,我们得到V,依此类推。
密码学的基本术语
在深入研究密码学的相关概念和进一步链接之前。让我们先退一步,熟悉一些基本概念和术语:
- 加密 - 将明文转换为密文的过程,使其对未经授权的方不可读。
- 解密 - 将编码的消息(密文)解密回其原始形式(明文)的行为,以便那些被授权这样做的人能够阅读和理解它。
- 密码 - 用于加密和解密的算法。
- 密钥 - 与加密算法一起使用的私有值,用于加密和解密信息。
- 对称密钥 - 用于编码和解码过程的单个私钥。
- 非对称密钥 - 一对密钥,一个用于加密,一个用于解密,它们在数学上相关但不相同。
- 明文 - 原始的、未加密的数据。
- 密文 - 加密后的数据。
- 哈希函数 - 一种单向函数,它接受输入(或消息)并返回固定大小的字符字符串,通常是特定于唯一消息的摘要。
- 数字签名 - 附加到电子传输文档上的数字代码,用于验证其内容和发送者的身份。
- 公钥基础设施 (PKI) - 建立、管理、分发、使用、存储和撤销数字证书所需的硬件、软件、人员、协议和协议的集合。
- 证书颁发机构 (CA) - 发放数字证书和管理 PKI 的组织。
- 不可否认性 - 证明特定个人对特定行动或消息负责的能力。
- 身份验证 - 验证个人或实体身份的过程。
- 密钥管理 - 创建、分发、存储和保护密钥的过程。
我们将在本教程接下来的部分详细介绍以上概念。
密码学的原则
密码学是通过将信息转换为只有被授权者才能阅读的代码来保护信息的技术。密码学核心思想和规则包括:
- 机密性 - 确保机密信息受到保护,不会被未经授权的人员访问。
- 完整性 - 信息是敏感的,因此其性质不应以任何方式被篡改或更改。
- 身份验证 - 确认信息包的发送者和接收者的身份。
- 不可否认性 - 确保信息发送者不能否认内容的来源。
- 密钥管理 - 以安全的方式管理加密和解密密钥的生成、分发、存储和使用。
- 算法 - 算法是数学函数,通过将信息转换为不可读的形式并通过解密使其再次可读来帮助保护信息。
- 公钥密码学 - 公钥密码学涉及使用公开可访问的密钥加密数据,并使用私有密钥解密数据。另一方面,对称密钥密码学使用单个秘密密钥来加密和解密数据。
- 哈希函数 - 接受输入(或消息)并产生固定长度输出的数学函数,用于确认原始消息的完整性。
随着我们的前进,我们将深入探讨这些主题。这些概念和原则在各种加密技术中得到实践,包括对称密钥加密、非对称密钥加密和哈希函数。
密码学类型
现代网络和通信系统主要使用两种类型的密码学:
- 公钥密码学
- 椭圆曲线密码学
1. 公钥密码学
公钥密码学使用一组密钥,其中一个密钥是公开的(所有人都可以访问),另一个密钥是私有的(只有所有者知道)。
让我们以两个人为例——爱丽丝和鲍勃。爱丽丝想以安全的方式向鲍勃发送一条消息。为了向鲍勃发送消息,爱丽丝使用鲍勃的公钥进行加密。鲍勃拥有他的私钥,能够解密并访问该消息。
其工作方式如下:
- 加密 - 鲍勃的公钥就像一把特殊的锁,爱丽丝用它来锁住她的消息。
- 解密 - 鲍勃的私钥就像打开锁以阅读消息的唯一钥匙。
2. 椭圆曲线密码学
ECC 是一种强大且创新的加密方法,彻底改变了现代密码技术。与传统的密码算法相比,它在提高安全性的同时需要更小的密钥大小。让我们学习 ECC 的不同方面。
密钥生成
公钥 (Q) - 鲍勃选择一条曲线和曲线上的一个点。他称这个点为 (G)。他的公钥 (Q) 是将 (G) 乘以一个秘密数字 (d) 的结果。
示例 - Q = d . G
加密
- 当爱丽丝想向鲍勃发送一条秘密消息时,她会选择一个随机数 (k)。
- 她通过将 (G) 乘以 (k) 来计算曲线上的一个点 (C)。
- (C) 的 x 坐标是加密消息的一部分。
- 共享密钥由Bob用他的秘密数字(d)乘以(C)得出。
- 示例 − s = k . Q
解密
- Bob使用他的私钥,将(C)乘以(d)得到相同的共享密钥(s)。
- 使用密钥派生函数,Alice和Bob都从(s)派生出一个对称密钥。
- 对称密钥用于解密消息。
- 示例 − S = d . C