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

[论文阅读] 算法 | 抗量子+紧凑!SM3-OTS:基于国产哈希算法的一次签名新方案

抗量子+紧凑!SM3-OTS:基于国产哈希算法的一次签名新方案

论文信息

信息类别具体内容
论文原标题SM3-OTS: 基于国密算法SM3的紧凑型后量子一次签名方案
主要作者杨亚涛、殷方锐、陈亮宇、潘登
研究机构1. 北京电子科技学院 电子与通信工程系(北京 100070)
2. 西安电子科技大学 通信工程学院(陕西 西安 710071)
通信作者杨亚涛,E-mail: yy2008@163.com
发表期刊软件学报(ISSN 1000-9825, CODEN RUXUEW)
DOI10.13328/j.cnki.jos.007392
APA引文格式杨亚涛, 殷方锐, 陈亮宇, 潘登. (2024). SM3-OTS: 基于国密算法SM3的紧凑型后量子一次签名方案. 软件学报. https://www.jos.org.cn/1000-9825/7392.htm

一段话总结

面对量子计算对传统密码的威胁,后量子签名方案SPHINCS+因核心组件WOTS+签名值过长限制应用,研究团队设计了基于国密算法SM3的紧凑型一次签名方案SM3-OTS:通过消息摘要的二进制信息索引前32条哈希链、十六进制信息索引后16条哈希链,大幅缩短密钥与签名长度;相较于WOTS+、Balanced WOTS+、WOTS+C,签名值分别缩短29%、27%、26%,密钥生成、签名生成、验证时间较WOTS+分别减少27.2%、18.7%、25.3%,同时依托SM3具备抗量子能力,适用于存储/带宽受限场景(如物联网)。

四、思维导图

在这里插入图片描述

研究背景

咱们先从“为什么要做这个研究”说起——毕竟任何技术方案,都是为了解决实际问题而生的。

首先,量子计算是传统密码的“天敌”。以前我们常用的密码(比如银行转账用的RSA、手机支付用的ECC),都依赖“大整数分解”“离散对数”这些数学难题——就像用一把复杂的锁把数据锁起来,传统计算机要解开得花几百年。但1994年Shor算法出现后,量子计算机能“秒解”这些难题;1996年Grover算法更狠,能把对称密码的破解时间砍半。这就好比,量子计算机手里有一把“万能钥匙”,传统密码的锁很快就不管用了。

为了应对这个危机,后量子密码(PQC) 应运而生——目标是设计“量子计算机也解不开”的密码。2022年NIST(美国国家标准与技术研究院)选出了4种首批标准化PQC方案,其中SPHINCS+ 很特别:它是唯一基于“哈希函数”的方案(其他3种基于格理论)。哈希函数就像“单向榨汁机”——把水果(输入)榨成汁(哈希值)容易,但想从汁还原出水果几乎不可能,这种特性让SPHINCS+的签名/验证速度快、安全性可靠,很适合物联网、嵌入式设备。

但问题来了:SPHINCS+的核心组件WOTS+(一次签名方案)有个大缺点——签名值太长。比如安全参数n=32时,WOTS+的签名要2144字节(差不多2KB)。这对手机、传感器这些“小身板”设备很不友好:想象一下,一个物联网传感器只有几KB存储,存一个签名就占了一半空间;或者偏远地区的设备靠窄带宽传输,一个2KB的签名要传半天——就像快递包装比里面的物品还大,小快递柜根本放不下,运输也费时间。

除此之外,国内场景还关注**“国产自主可控”**:很多现有方案用的是国外哈希函数(比如SHA-256),而国密算法SM3是我国自主设计的,安全性经过验证,更符合国内合规要求。但当时还没有基于SM3的“紧凑后量子签名方案”——这就是论文要填补的空白:用SM3做一个“又小又快、抗量子、国产化”的一次签名方案,解决WOTS+的“大体积”痛点。

创新点

这篇论文的核心亮点,简单说就是“用对方法,解决了老问题”,具体有三个关键创新:

  1. 双信息维度索引哈希链,从根源缩短签名长度
    传统OTS方案(比如WOTS+)只用消息摘要的“单一格式”(比如二进制)索引哈希链,需要更多哈希链或更长节点才能覆盖安全需求。SM3-OTS则“一鱼两吃”:把32字节的消息摘要拆成两种格式——二进制(m_bin)和十六进制(m_hex),分别对应前32条、后16条哈希链的节点索引。这样既保证了安全覆盖,又减少了冗余,最终签名长度从WOTS+的2144字节压缩到1536字节,缩短了29%。

  2. 深度结合国密SM3,兼顾合规与抗量子
    很多后量子方案依赖国外哈希函数,而SM3-OTS全程用国密算法SM3:私钥生成、公钥推导、签名计算、验证都基于SM3。这不仅符合国内“自主可控”的合规要求,还利用了SM3的抗量子特性——哈希函数的“单向性”“无碰撞性”在量子环境下仅受Grover算法轻微影响(安全级别从128位降至85位,可通过扩展输出弥补),比基于数论的密码抗量子能力更稳定。

  3. 算法流程优化,效率与紧凑性双赢
    传统方案为了缩短签名,常牺牲效率(比如增加复杂计算),但SM3-OTS在紧凑的同时还提升了效率:密钥生成时,48个私钥块仅需各做255次SM3哈希就得公钥;签名/验证时,通过“索引直接定位哈希链节点”减少无效计算。实验显示,它比WOTS+的密钥生成快27.2%、签名快18.7%、验证快25.3%——相当于“包装变小了,快递速度还变快了”。

研究方法和思路、实验方法

(一)核心研究思路

论文的整体思路很清晰:“发现痛点→针对性设计方案→验证安全性→测试性能”,具体路径是:

  1. 痛点:SPHINCS+的WOTS+签名过长,缺乏国产方案;
  2. 方向:基于SM3设计紧凑型OTS,用双信息索引优化哈希链;
  3. 验证:从理论证明方案安全(归约到SM3特性),从实验验证性能(对比主流方案)。

(二)SM3-OTS方案的具体实现步骤

1. 密钥生成算法(KeyGen):“造钥匙”的过程

目标:生成一对“私钥(自己用)+公钥(别人验证用)”
步骤:
① 确定安全参数:默认n=256bits(行业常用安全级别);
② 生成私钥块:用伪随机数生成函数(PRNF),以“秘密种子(Seed)”为基础,生成48个32字节的私钥块(sk₀~sk₄₇),私钥sk就是这48个块的集合(1536Bytes);
③ 生成公钥块:对每个私钥块skᵢ,用SM3哈希255次(记为H²⁵⁵(skᵢ)),得到48个32字节的公钥块(pk₀~pk₄₇),公钥pk就是这48个块的集合(1536Bytes);
④ 形成哈希链:每个skᵢ到pkᵢ的过程就是一条“哈希链”(共48条),链上有256个节点(首节点=skᵢ,尾节点=pkᵢ)。

2. 签名生成算法(Sign):“签名字”的过程

目标:给明文消息M生成唯一签名σ
步骤:
① 算消息摘要:用SM3对M哈希,得到32字节的摘要m=H(M);
② 处理摘要格式:

  • 二进制格式(m_bin):把m转成二进制,每8位分成一组,共32组,每组转成0-255的十进制数(作为前32条哈希链的“节点索引”);
  • 十六进制格式(m_hex):把m转成十六进制(含0-F共16个字符),统计每个字符在64位十六进制串中的位置和,再对255取模(作为后16条哈希链的“节点索引”);
    ③ 生成签名块:对每条哈希链,根据索引找到对应的节点——比如前32条的第1条索引是10,就取sk₀哈希10次的结果(H¹⁰(sk₀))作为签名块σ₀;
    ④ 组合签名:48个签名块(σ₀~σ₄₇)组合成最终签名σ(1536Bytes)。
3. 签名验证算法(Verify):“验真假”的过程

目标:确认签名σ是不是“真的”(没被篡改)
步骤:
① 重复签名生成的①-②:对收到的M重新算摘要m,再得到m_bin和m_hex的索引;
② 推导验证公钥:对每个签名块σᵢ,用SM3哈希“255-索引值”次(比如σ₀索引是10,就哈希255-10=245次,记为H²⁴⁵(σ₀)),得到验证公钥块pk’ᵢ;
③ 对比验证:把48个pk’ᵢ组合成验证公钥pk’,如果pk’和原公钥pk完全一致,说明签名有效(输出true),否则无效(输出false)。

(三)实验方法:怎么证明方案“好用”

1. 实验环境(保证结果可信)
  • 硬件:AMD Ryzen 7840S CPU(3.3 GHz)、4GB RAM(模拟嵌入式/物联网设备的中等配置);
  • 软件:Ubuntu 22.04 LTS操作系统(Linux环境,常见服务器/设备系统)。
2. 对比对象(选行业主流方案)
  • WOTS+(SPHINCS+核心组件);
  • Balanced WOTS+(SPHINCS-α优化方案);
  • WOTS+C(SPHINCS+C优化方案);
  • LMOTS(经典哈希基OTS方案)。
3. 测试指标(关键性能维度)
  • 尺寸指标:私钥长度、公钥长度、签名值长度(单位:Bytes);
  • 效率指标:密钥生成时间、签名生成时间、签名验证时间(单位:ms)。

主要成果和贡献

(一)核心成果总结(用表格更清晰)

成果类别具体内容
方案设计完成SM3-OTS方案的完整设计,包含密钥生成、签名生成、验证3个核心算法
尺寸优化成果安全参数n=32时,私钥/公钥/签名均为1536Bytes,较WOTS+(2144Bytes)缩短29%,较Balanced WOTS+(2112Bytes)缩短27%,较WOTS+C(2080Bytes)缩短26%
效率优化成果较WOTS+:密钥生成时间减少27.2%,签名生成时间减少18.7%,签名验证时间减少25.3%
安全性成果理论证明:方案安全归约到SM3的抗第一原像、抗第二原像、抗碰撞性;抗量子性:仅受Grover算法影响,可通过扩展SM3输出弥补
兼容性成果基于国密SM3算法,符合国内密码合规要求,可直接替换SPHINCS+中的WOTS+

(二)领域贡献(实实在在的价值)

  1. 解决“签名过长”痛点,拓展后量子签名的应用场景
    以前WOTS+签名太长,物联网传感器、智能卡等资源受限设备用不了;SM3-OTS的1536字节签名能轻松适配这些设备,让后量子密码从“实验室”走进“实际产品”。

  2. 填补国产紧凑型后量子签名的空白
    之前国内多是“用SM3替换国外方案的哈希函数”,而SM3-OTS是从算法设计层面深度结合SM3,首次实现“国产算法+紧凑结构+后量子安全”的结合,为国内行业提供了自主可控的选择。

  3. 提供“效率+安全”平衡的参考方案
    很多方案要么追求紧凑牺牲效率,要么追求效率牺牲紧凑;SM3-OTS证明了“两者可以兼得”,为后续哈希基后量子签名的优化提供了思路(比如双信息索引的设计)。

(三)开源代码/数据集说明

论文中未提及开源代码或公开数据集,推测目前处于理论验证与实验阶段,后续可能在相关学术平台(如GitHub、IEEE Xplore)发布。

关键问题

1. 问:SM3-OTS是怎么解决传统OTS方案(比如WOTS+)签名过长的问题?

答:核心是“双信息维度索引哈希链”:传统方案只用消息摘要的单一格式(如二进制)索引哈希链,需要更多链或更长节点;SM3-OTS把32字节摘要拆成二进制(m_bin)和十六进制(m_hex),分别索引前32条、后16条哈希链,既覆盖安全需求,又减少冗余——比如WOTS+需要更多哈希链节点才能保证安全,而SM3-OTS通过“精准索引”直接定位节点,最终签名从2144Bytes缩到1536Bytes,缩短29%。

2. 问:SM3-OTS的抗量子能力从哪里来?和传统密码(如RSA)比有什么优势?

答:抗量子能力来自国密算法SM3的特性:哈希函数的“单向性”(从哈希值反推输入难)和“无碰撞性”(找两个不同输入得相同哈希值难),在量子环境下仅受Grover算法影响(安全级别从128位降至85位,可通过扩展SM3输出弥补);而RSA依赖大整数分解,会被Shor算法“秒破”。优势在于:SM3-OTS的抗量子能力更稳定,不会被量子算法完全破解。

3. 问:SM3-OTS的“国密属性”有什么实际意义?国内企业为什么要关注?

答:国密属性的核心意义是“自主可控+合规”:① 避免依赖国外算法的“卡脖子”风险(比如国外算法升级或限制使用);② 符合国内《网络安全法》《密码法》对“关键信息基础设施用国产密码”的要求。国内企业(尤其是金融、政务、物联网领域)用SM3-OTS,既能满足后量子安全需求,又不用为合规额外改造,降低成本。

4. 问:SM3-OTS是“一次签名方案”,这意味着什么?怎么扩展到“多次签名”场景?

答:“一次签名”是指一对私钥/公钥只能给一条消息签名(重复用会被伪造);论文提到未来可通过“二叉哈希树(Merkle Tree)”扩展:把多个SM3-OTS的公钥作为哈希树的“叶子节点”,树的“根节点”作为总公钥——用户每次签名用一个叶子节点的SM3-OTS密钥,就能实现“多次签名”,同时保持无状态(不用记录已签名次数)。

5. 问:和SPHINCS+的其他优化方案(如Balanced WOTS+、WOTS+C)比,SM3-OTS的核心优势是什么?

答:核心优势是“综合性能最优”:① 签名更短:比Balanced WOTS+短27%、比WOTS+C短26%;② 效率更高:密钥生成、签名、验证时间均优于这两种方案;③ 国密兼容:后两者基于国外哈希函数,SM3-OTS基于SM3,更适合国内场景。简单说,SM3-OTS在“短、快、合规”三个维度上都做到了更好。

总结

论文针对后量子签名方案SPHINCS+中WOTS+签名过长的痛点,设计了基于国密算法SM3的紧凑型一次签名方案SM3-OTS。该方案通过消息摘要的二进制与十六进制信息双维度索引哈希链,有效缩短了密钥与签名长度(较WOTS+缩短29%);同时依托SM3的抗量子特性,从理论上证明了方案的安全性(归约到SM3的单向性与抗碰撞性);实验验证显示,方案在密钥生成、签名生成、验证效率上均优于主流OTS方案(较WOTS+效率提升18.7%-27.2%)。

SM3-OTS的价值在于:既解决了传统OTS方案“大体积”的应用瓶颈,又填补了国产紧凑型后量子签名的空白,为物联网、嵌入式设备等资源受限场景提供了“安全、紧凑、高效、合规”的后量子签名选择。未来通过二叉哈希树扩展为无状态方案后,其应用范围还将进一步扩大。


文章转载自:

http://bv6nZ2PH.LhwLp.cn
http://y2x6bhuq.LhwLp.cn
http://dSWI7cuO.LhwLp.cn
http://j5bKnh94.LhwLp.cn
http://lidqWL6V.LhwLp.cn
http://bguxOtI5.LhwLp.cn
http://WyIFQ2eY.LhwLp.cn
http://NO77Kly2.LhwLp.cn
http://zUV107ii.LhwLp.cn
http://NGeJYvKu.LhwLp.cn
http://IPPh7XKQ.LhwLp.cn
http://dZr7uxYD.LhwLp.cn
http://BF9bygB0.LhwLp.cn
http://FTPE0X8V.LhwLp.cn
http://Vbxrqsh7.LhwLp.cn
http://nie7j9mn.LhwLp.cn
http://PmnZiPmX.LhwLp.cn
http://9ku6GARW.LhwLp.cn
http://grRrwxOX.LhwLp.cn
http://mJmi3YNO.LhwLp.cn
http://e6coKUpM.LhwLp.cn
http://26Z9SPzI.LhwLp.cn
http://2TxVLmdR.LhwLp.cn
http://NagrKPjP.LhwLp.cn
http://onGfMr8P.LhwLp.cn
http://nASuSAKm.LhwLp.cn
http://Zr2vH3Jf.LhwLp.cn
http://k7e81QNn.LhwLp.cn
http://zKcUa7Gt.LhwLp.cn
http://UaQd0TdJ.LhwLp.cn
http://www.dtcms.com/a/374951.html

相关文章:

  • 鸿蒙NEXT UI性能优化实战:打造流畅用户界面的关键策略
  • PostgreSQL认证_PGCM考试难度有多大?
  • Spring Security的理解与使用
  • 论文阅读_大模型情绪分析预测股票趋势
  • 学习嵌入式的第三十六天——数据库与网页制作
  • 【C++】list 容器操作
  • 【WRF-VPRM 预处理器第二期】VPRMpreproc.r 脚本详解
  • 430章:Python Web爬虫入门:使用Requests和BeautifulSoup
  • 在 Vite 中,环境变量的处理方式与传统的 Node.js 环境有所不同
  • 不同射频对应不同mac地址(查找无线用户连接AP信息)
  • 《红色脉络:一部PLMN在中国的演进史诗 (1G-6G)》 第9篇 | 5G:领跑者的姿态——SA/NSA之争与中国的战略选择
  • 36页可编辑PPT | 某制造集团灯塔工厂解决方案
  • 基于springboot+vue的厨艺交流平台的设计与实现(源码+论文+部署+安装)
  • 【华为OD】5G网络建设
  • 使用LLM(Ollama部署)为Bertopic确定的主题命名
  • C++容器:list
  • PAT 1178 File Path
  • ESP32开发:ubuntu22.04 下esp-idf开发环境搭建
  • JWT全面理解
  • C++:类和对象
  • Linux(3)|入门的开始:Linux基本指令(3)
  • REST接口幂等设计深度解析
  • 在Word和WPS文字中便捷切换英文段落大小写
  • 【华为OD】寻找连续区间
  • 渗透测试信息收集步骤与工具详解
  • #C语言——刷题攻略:牛客编程入门训练(十):攻克 循环控制(二),轻松拿捏!
  • 乐吾乐大屏可视化组态软件【SQL数据源】
  • 打工人日报#20250909
  • PyTorch中的flatten操作详解:从start_dim=1说起
  • 上网行为审计软件应该如何选择?适配图书馆管理的上网行为审计软件推荐