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

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

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

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.pswp.cn/diannao/94995.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/94995.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/94995.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GridKernalGateway

GridKernalGateway 是 Apache Ignite 架构中一个关键的安全与状态管理组件,它的作用是 “在公共 API 和内部内核(kernal)之间建立安全、可控的访问通道”。 我们可以把它理解为一个 “门卫 状态哨兵”,确保外部调用不会在 Ignite…

MySQL索引、B+树相关知识总结

MySQL索引、B树相关知识汇总一、有一个查询需求,MySQL中有两个表,一个表1000W数据,另一个表只有几千数据,要做一个关联查询,如何优化?1、为关联字段建立索引2、小表驱动大表二、b树和b树的区别1、更高的查询…

Java学习进阶 -- 泛型的继承和通配符及综合练习

首先&#xff0c;泛型不具备继承性&#xff0c;但是数据具备继承性1.核心概念解析泛型不具备继承性即使类型A是类型B的子类&#xff0c;Generic<A>也不是Generic<B>的子类这是Java泛型的类型安全设计&#xff0c;防止不安全的类型转换数据具备继承性泛型容器中的元…

如何实现在多跳UDP传输场景,保证单文件和多文件完整传输的成功率?

如何实现在多跳UDP传输场景&#xff0c;保证单文件和多文件完整传输的成功率&#xff1f; 一、前言 UDP&#xff08;User Datagram Protocol&#xff09;是一个轻量、无连接的传输协议&#xff0c;广泛用于低延迟、高吞吐的应用中&#xff0c;如视频流、实时游戏等。然而&…

【Spring IoC 核心实现类详解:DefaultListableBeanFactory】

Spring IoC 核心实现类详解&#xff08;源码原理&#xff09;作为 Spring 的灵魂&#xff0c;IoC 容器&#xff08;Inversion of Control&#xff09;是整个框架的核心。 那么 IoC 的“心脏”到底是哪个类&#xff1f;它是怎么管理和装配 Bean 的&#xff1f;本文将从源码层面深…

为什么开启JWT全局认证后,CSRF失败会消失?

这是因为 JWT认证与CSRF校验的设计逻辑完全不同&#xff0c;当全局启用JWT认证后&#xff0c;Django的CSRF校验会被“绕过”或不再生效&#xff0c;具体原因如下&#xff1a; 核心原因&#xff1a;JWT认证不依赖Cookie&#xff0c;无需CSRF保护 1. CSRF的作用场景 CSRF攻击的前…

宝龙地产债务化解解决方案二:基于资产代币化与轻资产转型的战略重构

一、行业背景与代币化创新趋势1.1 房地产债务危机现状宝龙地产&#xff08;01238.HK&#xff09;截至2024年中债务总额达584亿元&#xff0c;其中50.7%为一年内到期债务&#xff0c;但现金储备仅89.47亿元&#xff0c;短期偿债覆盖率不足30%。2025年2月境外债务重组计划因债权人…

深信服GO面试题及参考答案(下)

Kubernetes 与容器 Kubernetes(简称 K8s)是容器编排平台,而容器是轻量级的虚拟化技术,两者紧密关联但定位不同,容器是 K8s 管理的核心对象,K8s 为容器提供了完整的生命周期管理、扩展和运维能力。 容器技术(如 Docker)通过 Linux 命名空间(Namespace)、控制组(CGro…

RAGFoundry:面向检索增强生成的模块化增强框架

本文由「大千AI助手」原创发布&#xff0c;专注用真话讲AI&#xff0c;回归技术本质。拒绝神话或妖魔化。搜索「大千AI助手」关注我&#xff0c;一起撕掉过度包装&#xff0c;学习真实的AI技术&#xff01; 1. 背景与动机 大型语言模型&#xff08;LLMs&#xff09;存在 知识静…

(第十期)HTML基础教程:文档类型声明与字符编码详解

&#xff08;第十期&#xff09;HTML基础教程&#xff1a;文档类型声明与字符编码详解 前言 在使用VS Code等现代编辑器生成HTML页面时&#xff0c;你会发现自动生成的代码中多了一些看似陌生但又非常重要的标签。这些标签不是多余的&#xff0c;而是现代Web开发的标准配置。…

OpenAPI(Swagger3)接口文档自定义排序(万能大法,支持任意swagger版本)

前置参考文档 基于OpenAPI(Swagger3)使用AOP技术&#xff0c;进行日志记录 使用SpringAOP的方式修改controller接口返回的数据 SpringBoot3集成OpenAPI3(解决Boot2升级Boot3) 总结一句话&#xff1a;既然没办法去通过各种方法或者官方的接口去修改接口顺序&#xff0c;那我们就…

vue3上传的文件在线查看

1、npm install vue-office/pdf vue-demi 安装依赖2、npm install vue-office/excel vue-demi 安装依赖3、npm install vue-office/docx vue-demi 安装依赖4、编写一个通用组件&#xff0c;现在只支持 .docx,.xlsx,.pdf 格式的文件&#xff0c;其他文件渲染不成功<temp…

深度学习中基于响应的模型知识蒸馏实现示例

在 https://blog.csdn.net/fengbingchun/article/details/149878692 中介绍了深度学习中的模型知识蒸馏&#xff0c;这里通过已训练的DenseNet分类模型&#xff0c;基于响应的知识蒸馏实现通过教师模型生成学生模型&#xff1a; 1. 依赖的模块如下所示&#xff1a; import arg…

【数据可视化-82】中国城市幸福指数可视化分析:Python + PyEcharts 打造炫酷城市幸福指数可视化大屏

&#x1f9d1; 博主简介&#xff1a;曾任某智慧城市类企业算法总监&#xff0c;目前在美国市场的物流公司从事高级算法工程师一职&#xff0c;深耕人工智能领域&#xff0c;精通python数据挖掘、可视化、机器学习等&#xff0c;发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…

TikTok网页版访问障碍破解:IP限制到高效运营的全流程指南

在跨境电商与社媒运营的数字化浪潮中&#xff0c;TikTok网页版因其多账号管理便捷性、内容采集高效性等优势&#xff0c;成为从业者的核心工具&#xff0c;然而“页面空白”“地区不支持” 等访问问题却频繁困扰用户。一、TikTok网页版的核心应用场景与技术特性&#xff08;一&…

spring的知识点:容器、AOP、事物

一、Spring 是什么? Spring 是一个开源的 Java 企业级应用框架,它的核心目标是简化 Java 开发。 它不是单一的工具,而是一个 “生态系统”,包含了很多模块(如 Spring Core、Spring Boot、Spring MVC 等),可以解决开发中的各种问题(如对象管理、Web 开发、事务控制等)…

HTML ISO-8859-1:深入解析字符编码标准

HTML ISO-8859-1:深入解析字符编码标准 引言 在HTML文档中,字符编码的选择对于确保网页内容的正确显示至关重要。ISO-8859-1是一种广泛使用的字符编码标准,它定义了256个字符,覆盖了大多数西欧语言。本文将深入探讨HTML ISO-8859-1的原理、应用及其在现代网页开发中的重要…

【计算机网络 | 第4篇】分组交换

文章目录前言&#x1f95d;电路交换&#x1f34b;电路交换技术的优缺点电路交换的资源分配机制报文交换&#x1f34b;报文交换技术的优缺点存储转发技术分组交换&#x1f426;‍&#x1f525;分组交换的过程分组交换解决的关键问题传输过程的关键参数工作原理分组传输时延计算网…

LLM - AI大模型应用集成协议三件套 MCP、A2A与AG-UI

文章目录1. 引言&#xff1a;背景与三协议概览2. MCP&#xff08;Model Context Protocol&#xff09;起源与动因架构与规范要点开发实践3. A2A&#xff08;Agent-to-Agent Protocol&#xff09;起源与动因架构与规范要点开发实践4. AG-UI&#xff08;Agent-User Interaction P…

机器学习DBSCAN密度聚类

引言 在机器学习的聚类任务中&#xff0c;K-means因其简单高效广为人知&#xff0c;但它有一个致命缺陷——假设簇是球形且密度均匀&#xff0c;且需要预先指定簇数。当数据存在任意形状的簇、噪声点或密度差异较大时&#xff0c;K-means的表现往往不尽如人意。这时候&#xff…