当前位置: 首页 > news >正文

区块链密码学简介

区块链密码学简介
一、对称密码算法
概述

对称密码算法的主要特点是使用相同的密钥进行加密和解密。这类算法根据其加密方式大致可以分为两类:流密码和分组密码。区块链技术主要采用分组密码。流密码以数据流的形式逐位或逐字节加密,而分组密码则将数据分成固定大小的块进行加密。

知名的对称密码算法包括:

DES(Data Encryption Standard): 较老的加密标准,现已被认为不够安全。
3DES(Triple DES): 是 DES 的一个更安全的变体,通过三次加密过程增强安全性。
IDEA(International Data Encryption Algorithm): 一种强大的加密算法,常用于商业加密软件。
RC2, RC4, RC5: 由 Ron Rivest 设计的一系列加密算法,其中 RC4 尤其流行,虽然现在被认为存在安全性问题。
Blowfish: 是一种块加密算法,设计用来替代 DES。
AES(Advanced Encryption Standard): 现代加密标准,提供了高级的安全性,是目前使用最广泛的加密算法之一。

  1. 流密码
    RC4:曾广泛用于 WEP 网络加密。
    SNOW 3G:在 3G 数据传输中用作加密算法。
    A5:用于 GSM 系统的加密。
    祖冲之序列密码:在 4G 通信中用于加密。
  2. 分组密码
    概述

分组密码是一种将长明文序列切分为固定长度段后,对每个段分别进行加密的方法。这类算法不仅用于加密数据,还广泛应用于构造随机数生成器、流密码、消息认证码(MAC)和哈希函数等。由于其安全性和高效性,分组密码算法如 DES、IDEA、AES 等得到了广泛的应用。

2.1 DES
开发与采用:DES 由美国 IBM 公司于 1992 年研制,基于现代密码学的基本理念。1976 年,它被美国国家标准局确认为联邦信息处理标准(FIPS),随后在全球范围内广泛使用。
技术细节:DES 的工作包括三个主要参数:密钥(key)、数据(data)和工作模式(mode)。加密过程中,数据以 64 位为一组进行处理,而 56 位的密钥用于加密或解密这些数据块。
安全性和遗留问题:尽管 DES 在早期被广泛使用,但其 56 位的密钥长度已不足以抵抗现代的攻击手段。例如,1999 年一个 DES 密钥在 22 小时 15 分钟内就被公开破解。尽管有理论上的弱点,实际中利用这些弱点进行攻击非常困难。为了提高安全性,可以使用 DES 的增强版本 3DES,虽然它也有已知的理论攻击方法。
替代和淘汰:DES 标准及其衍生算法 3DES 已逐步被更现代、安全的高级加密标准(AES)所取代。DES 自 1977 年发布以来服务了超过 20 年,直到 2000 年 AES 的推出,它才正式被新的加密标准所替代。
DES 现在已经不是一种安全的加密方法,主要因为它使用的 56 位密钥过短。1999 年 1 月,distributed.net 与电子前哨基金会合作, 在 22 小时 15 分钟内即公开破解了一个 DES 密钥。也有一些分析报告提出了该算法的理论上的弱点,虽然在实际中难以应用。为了提供实用所需的安全性, 可以使用 DES 的派生算法 3DES 来进行加密,虽然 3DES 也存在理论上的攻击方法。DES 标准和 3DES 标准已逐渐被高级加密标准(AES)所取代。 另外,DES 已经不再作为国家标准科技协会(前国家标准局)的一个标准。

DES 自 1977 年公布后服务了 20 多年,直到 2000 年高级加密标准(AES)公布,替代 DES 成为新的加密标准。

2.2 AES
概述

AES(高级加密标准)是一种加密标准,基于 Rijndael 加密算法,由美国国家标准与技术研究院(NIST)在 2001 年 11 月 26 日正式发布为 FIPS PUB 197 标准。

技术细节

分组长度:AES 算法将数据分组长度固定为 128 比特,以确保加密处理的统一性和效率。
密钥长度:AES 支持多种密钥长度选项,分别为 128 比特、192 比特和 256 比特。根据使用的密钥长度,AES 分为三个变体:AES-128, AES-192, 和 AES-256。
加密轮数:加密过程中的轮数(N)根据密钥长度不同而不同。AES-128 使用 10 轮加密,AES-192 使用 12 轮,而 AES-256 则使用 14 轮。这些加密轮数设计用于增强算法的安全性,使其能够抵御各种密码攻击。
应用和安全性

AES 因其强大的安全性和高效的性能成为了全球使用最广泛的加密标准之一。它被广泛应用于政府、金融和商业数据保护中,提供了一种坚固的防护措施,以防数据被未经授权的访问和窃取。

2.3 分组密码工作模式
概述

分组密码工作模式不是一种加密算法,而是描述如何在一个加密算法中重复使用密钥的方法。这些模式与加密算法如 DES 和 AES 搭配使用,以隐蔽明文的统计特性和数据格式,提高整体安全性,并降低数据被篡改、重放、插入和伪造等攻击的成功机会。

主要工作模式

ECB(Electronic Codebook)

描述:最简单的模式,单独加密每个 128 位明文分组,每个分组使用相同的密钥。
优点:简单,支持并行计算,没有误差传播。
缺点:相同明文分组产生相同密文分组,可能暴露固定内容的明文。
CBC(Cipher Block Chaining)

描述:明文分组在加密前与前一个密文分组进行异或操作。
优点:安全性较高。
缺点:存在错误传播,不支持并行计算。广泛应用于 SSL 和 IPSec。
CFB(Cipher Feedback)

描述:将分组密码转化为流密码模式,使用前一密文分组的部分比特和秘钥进行加密。
优点:适合加密小分组数据,通过更换初始向量(IV)可以有效隐藏明文内容。
缺点:存在比特级的错误传播。
OFB(Output Feedback)

描述:与 CFB 类似,但本次加密的输入是上一次加密的输出。
优点:没有错误传播,解决了 CBC 和 CFB 的错误传播问题。
缺点:需要频繁更换密钥或初始向量。
3. 对称密码算法小结
核心特性

对称密码算法的主要优势在于其开放性、低计算需求、快速加密速度和高加密效率。这些特性使得对称加密在需要快速处理大量数据的场景中非常有用。

安全性挑战

然而,对称加密也存在一些显著的安全挑战:

密钥管理: 由于加密和解密使用相同的密钥,因此保证密钥的安全变得尤为重要。密钥在双方之间共享,必须通过绝对安全的通道传输,否则安全性无法保障。
密钥泄露风险: 密钥的安全性高度依赖于其保存方式。如果密钥由多人知晓,泄露的风险显著增加,这可能导致加密信息的安全性大打折扣。
总结

http://www.lryc.cn/news/615081.html

相关文章:

  • (LeetCode 每日一题) 231. 2 的幂 (位运算)
  • 基于clodop和Chrome原生打印的标签实现方法与性能对比
  • 通过 SCP 和 LXD 配置迁移 CUDA 环境至共享(笔记)
  • 数据标准化与归一化的区别与应用场景
  • FAN5622SX 四通道六通道电流吸收线性LED驱动器,单线数字接口 数字式调光, 2.7 → 5.5 V 直流直流输入, 30mA输出FAN5622S
  • C++ unordered_map 和 unordered_set 的使用
  • 新手向:Python开发简易待办事项应用
  • 【JS-8-Json】深入理解JSON语法及Java中的JSON操作
  • Visual Studio Code (v1.103) 中 GitHub Copilot 最新更新!
  • [TryHackMe]Challenges---Game Zone游戏区
  • 避不开的数据拷贝(2)
  • 第二十天:数论度量
  • 【面试场景题】通过LinkedHashMap来实现LRU与LFU
  • C++隐式转换的魔法与陷阱:explicit关键字的救赎
  • 软件工程总体设计:从抽象到具体的系统构建之道
  • Python基础教程(六)条件判断:引爆思维Python条件判断的九层境界
  • 轻量化阅读应用实践:21MB无广告电子书阅读器测评
  • MySQL(188)如何使用MySQL的慢查询工具?
  • Spring Boot 2 集成 Redis 集群详解
  • 聊聊经常用的微服务
  • MBR分区nvme固态硬盘安装win7--非UEFI启动和GPT分区
  • day30-HTTP
  • 大语言模型提示工程与应用:LLMs文本生成与数据标注实践
  • 在Docker中下载RabbitMQ(详细讲解参数)
  • docker基础前置
  • STM32H503不同GPIO速度配置(HAL库)对应的最高速度
  • 【linux基础】Linux 文本处理核心命令指南
  • 麒麟系统 安装vlc
  • NumPy性能飞跃秘籍:向量化计算如何提升400倍运算效率?
  • Pytorch模型复现笔记-FPN特征金字塔讲解+架构搭建(可直接copy运行)+冒烟测试