分组密码算法工作模式

news/2025/10/14 14:26:30/文章来源:https://www.cnblogs.com/luminescence/p/19141011

安全需求

1.机密性需求
保密工作模式:ECB模式、CBC模式、CTR模式
2.完整性、不可否认性
认证工作模式:CMAC
3.机密性、完整性、不可否认性
加密认证工作模式:EtM算法、MtE算法、GCM模式

保密工作模式

ECB模式

电子码密码本模式
给定密钥K,每一块明文对应固定密文块
可并行计算,独立加解密,速度快,易于标准化
适用于随机独立存取的数据块例如数据库
不能隐藏消息格式,暴露统计特征;不能抵抗重放、嵌入、删除

CBC模式

密码链接模式
引入随机初始向量IV
\(C[i] = E(K,m[i-1]\bigoplus c[i-1])\)
隐蔽了明文数据格式,一定程度抗重放和防篡改
会出现错误传播,加密速度慢(解密可并行处理)

CTR模式

计数器模式
对计数器序列\(T_i\)用分组密码加密得到密钥流,与明文异或得到密文
解密采用相同办法,CTR模式不需要解密算法
计数器序列生成方法
1.随机R-CTR
2.确定性D-CTR
加密可以并行处理,不需要解密模块
不需要填充明文
不存在错误传输

认证工作模式

奇偶校验、CRC循环冗余校验 标签容易被伪造
哈希函数 不能验证消息是否来源于合法主体
消息认证码MAC:验证消息源、防止篡改
MA = (K,T,V)
密钥生成算法,生成共享密钥K
MAC生成算法T:tag = T(k,m),概率算法
验证算法V:确定性算法,d = V(k,m,tag)
适用场景:
公共信息,无需保密
确保传输过程未被修改
验证消息来自发送者

CMAC

基于密码的消息认证码
NISTSP 800-38B标准

子密钥生成(Subkey Generation$

  • 步骤1:用密钥\(K\) 加密全零块\(0_b\),得到中间值\(L\)
    \(L = CIPH_K(0_b)\)(其中\(CIPH_K\) 表示用密钥\(K\) 的分组加密,如AES)
  • 步骤2:判断\(L\) 的最高位(MSB)是否为0:
    • \(MSB(L = 0)\),则\(K1 = L \ll 1\)(左移1位,相当于乘以2)
    • 否则,\(K1 = (L \ll 1 \oplus R_b)\)(左移后异或一个常数\(R_b\),用于防止单位元攻击)
  • 步骤3:同理生成\(K_2\)
    • \(MSB(K1= 0)\),则\(K2 = K1 \ll 1\)
    • 否则,\(K2 = (K1 \ll 1 \oplus R_b)\)
  • 常数说明
    图片中给出\(R_{128} = 0^{120}10000111\)(128位常数的最高7位为1000011,其余为0),\(R_{64} = 0^{59}11011\)(64位常数的最高5位为11011,其余为0)。这些常数是NIST标准化定义的,用于保证子密钥的唯一性

消息分组(Message Blocking)

将明文消息\(M\) 分成固定长度的分块(如AES的128位/16字节):

  • 若消息长度\(Mlen = 0\),则设\(n = 1\)(空消息视为1个分块);否则,\(n = \lceil Mlen / l \rceil\)\(l\) 为分组长度,如128位)。
  • 将消息分成\(M_1, M_2, ..., M_n\) 个分块:
    \(n-1\) 个分块是完整的(长度为\(l\)),最后一个分块\(M_n^*\) 可能不足\(l\) 位(称为“不完整分块”)

分块处理(Final Block Processing)

针对最后一个分块的不完整性,用子密钥\(K1\)\(K2\) 进行填充:

  • 判断\(M_n^*\) 是否为完整分块:
    • \(M_n^*\) 是完整分块(长度为\(l\)),则\(M_n = K1 \oplus M_n^*\)(用\(K1\) 异或后加密);
    • 否则(不完整分块),则\(M_n = K2 \oplus (M_n^* || 10^j)\)(其中\(j = n'l - Mlen - 1\)\(n'l\) 是消息总长度(以位为单位),\(10^j\) 表示在\(M_n^*\) 后添加1个‘1’和\(j\) 个‘0’,完成填充至\(l\) 位)
      这种填充方式(“10…0”)是为了区分完整和不完整分块,防止攻击者构造伪造消息

链式加密(Chain Encryption)

采用类似CBC模式的结构,将分块依次加密,形成链式依赖:

  • 初始化初始向量\(C_0 = 0_b\)(全零块)。
  • 对每个分块\(i\)(从1到\(n\)),执行:
    \(C_i = E_K(C_{i-1} \oplus M_i\)(其中\(E_K\) 是密钥\(K\) 的分组加密,如AES;\(C_{i-1}\) 是前一阶段的密文,\(M_i\) 是当前分块)

认证标签生成(Tag Generation)

从最终密文中提取指定长度的标签:

  • 取最终密文\(C_n\) 的最高\(Tlen\) 位(MSB,Most Significant Bits),作为认证标签\(T\)
  • 返回\(T\),用于验证消息完整性。

加密认证模式

加密认证方案\(AE=(K,E,D)\)
密钥生成算法:生成双方共享密钥K
加密算法E:加密输出密文C,概率算法输出标签tag
解密算法D:确定性算法,返回明文m或者认证不通过

Etm先加密后认证

\(c = E(K_{enc},m)\)
\(tag = S(K_{mac},c)\)
\(c||tag\)

MtE先加密后认证

\(tag = S(K_{mac},m)\)
\(c = E(K_{enc},(m,tag))\)

GCM

GCM由两个主要算法组成:
GCTR:基于计数器的加密算法
GHASH:认证哈希函数
特点:
使用CTR计数器模式进行加密
使用\(GF(2^{128})\)上的Galois域乘法进行认证计算
加密和认证可以并行处理
NIST SP 800-38D标准

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/936826.shtml

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

相关文章

2025 年山西/在职研究生培训机构推荐榜:同等学力申硕培训机构,聚焦数智化与个性化学习新范式

随着终身学习理念普及和职场竞争加剧,2025 年在职研究生教育市场呈现出 “技术驱动、精准服务” 的新趋势。政策层面,非全日制研究生与全日制同等效力的落实,叠加 AI 技术在教育领域的深度渗透,推动行业从 “规模扩…

2025 年涡街流量计厂家推荐,湖北南控仪表科技有限公司技术创新与行业应用解决方案解析

行业背景在工业自动化进程不断加快的当下,流量测量作为工业生产中的关键环节,其准确性与稳定性直接影响企业的生产效率、成本控制及安全运营。涡街流量计凭借结构简单牢固、测量精度高、应用范围广等优势,已成为众多…

2025 年超声波流量计厂家推荐,湖北南控仪表科技有限公司产品技术与行业应用解决方案解析

在工业自动化与能源管理精细化发展的双重驱动下,超声波流量计凭借非接触式测量、高精度、低维护需求等优势,成为流量测量领域的核心设备。2025 年全球超声波流量计市场规模将突破 169.31 亿元,石油化工、市政供水、…

ArcGIS 10.2.2 字符串长度为20却仅能输入3个汉字的解决方法

ArcGIS 10.2.2 字符串长度为20却仅能输入3个汉字的解决方法问题: 字符串长度为20,却仅能输入3个汉字。 原因: 长度20为字节,非字符。 解决方法: 安装补丁 链接:https://pan.baidu.com/s/1MNobUc5FLqkGloNTuu_64w…

2025 年涡轮流量计厂家推荐:湖北南控仪表科技有限公司设备供应与多行业适配解决方案

在工业生产过程中,流量测量是把控生产流程、保障产品质量的关键环节,而涡轮流量计凭借测量精度高、响应速度快、量程范围广的特点,在液体、气体等介质的流量测量场景中应用广泛,涵盖节能、环保、市政工程、化工、核…

OAuth/OpenID Connect安全测试全指南

本文详细介绍了OAuth和OpenID Connect在现代Web应用中的安全测试案例,涵盖端点侦察、开放重定向、代码重放攻击、CSRF防护、令牌生命周期管理等关键测试场景和防护建议。Web应用渗透测试:OAuth/OpenID Connect测试案…

采用虚幻引擎(UE5)打造黑夜场景氛围

采用虚幻引擎(UE5)打造黑夜场景氛围pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mona…

2025 年电磁流量计厂家推荐:湖北南控仪表科技有限公司专业设备供应与行业适配解决方案

行业背景在工业自动化快速发展的当下,流量测量作为工业生产中的关键环节,直接关系到生产效率、成本控制与产品质量。电磁流量计凭借其能精准测量导电液体流量、不受流体密度、粘度等参数影响的特性,在节能、环保、市…

90%企业忽略的隐藏成本:Data Agent如何降低数据分析总拥有成本(TCO)

引言:数据分析的“成本冰山”与决策者的认知盲区 一个令人深思的现实是:许多企业每年在商业智能(BI)平台上投入超过10万美元,却仍在为低下的工具采用率和决策效率而苦恼。根据 Querio.ai的分析,传统BI工具的投资…

adb logcat 根据Tag 过滤日志

adb logcat根据tag获取需要指定标签(tag)和日志级别adb logcat [TAG:LEVEL ] [TAG:LEVEL ] ... LEVEL: 可以选择:[V D I W E S]中其中一个 TAG:X 的作用为: 输出标签为TAG的log级别大于X的信息. 例如: adb logcat Te…

详细介绍:Spring Boot 详细介绍

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025 年艺术涂料厂家最新推荐排行榜,全方位呈现优质品牌特色与竞争力

随着家居装饰与商业空间装修需求的不断升级,艺术涂料凭借丰富的纹理、多样的色彩及良好的性能,成为众多消费者与合作商的优选装饰材料。然而,当前艺术涂料市场品牌繁杂,部分品牌存在产品质量参差不齐、工艺技术落后…

爬虫遇到的问题与解

学习爬虫过程中遇到的一些问题 requests的content和text方法的区别 Requests对象的get和post方法都会返回一个Response对象,这个对象里面存的是服务器返回的所有信息,包括响应头,响应状态码等。其中返回的网页部…

自动化测试框架选型指南:数据驱动、关键字驱动还是混合模式?

做自动化测试的同学,大概率都踩过 “框架选错” 的坑:明明花了几周搭好框架,落地时却发现用例维护比手动测试还麻烦;或者写好的脚本,换个测试场景就得大改,完全没起到 “自动化” 的作用。做自动化测试的同学,大…

直播软件搭建避坑!从直播源码选型到运维,3步搞定上线+降本60%

在数字化浪潮的推动下,直播行业早已不再是少数巨头的游戏。无论是教育机构、电商品牌、社交平台还是企业内训,拥有一个自主可控的直播平台,都成为了赋能业务、连接用户的重要战略。许多有远见的决策者正将目光投向“…

LatchUtils:简化Java异步任务同步的利器

转自https://mp.weixin.qq.com/s/p1nwmRl6-dyThqJ6StxC-A在Java应用开发中,为了提升系统性能和响应速度,我们经常需要将一些耗时操作(如调用外部API、查询数据库、复杂计算等)进行异步并行处理。当主流程需要等待所…

Qoder + ADB Supabase :5分钟GET超火AI手办生图APP

视频效果:一、前言 在AI原生应用开发的时代,传统的后端架构正在被重新定义。本文将带你体验如何使用 Qoder、阿里云ADB Supabase 和通义千问图像编辑模型(Qwen Image Edit),快速搭建一个完整的 AI 手办生图 Flutt…

实验报告2

实验1 问题1:srand(time(NULL))设置时间为随机种,保证每次随机数都不一样 问题2:在两个班中随机抽五个学号实验2 问题1:每次循环总价不清空,导致后面询问时数据出错 问题2:结束这一轮循环,跳过后面的语句;实验3 #inclu…

Agentic RAG对比传统RAG的优势

Agentic RAG 是传统检索增强生成(RAG)技术与AI智能体(Agent)自主能力相结合的一种进阶范式。它让RAG系统从一个遵循固定流程的“信息助手”,升级成了一个具备“大脑”、能够自主规划、决策并与多种工具交互的“智…

linux系统查看磁盘过程

1.查看磁盘信息:df -h2.查看一级文件信息:du -hd 13.查看数量前十的文件:du -a | sort -nr | head -n 104.ubuntu EasyConnect清除路由才能连本地其他的地址 route | grep 192.168.1. | grep tun1 |awk {print &quo…