VOLE结合国密
简报
FAEST是NIST的PQC标准化项目中候选算法之一。本质是对AES进行基于VOLEitH的零知识证明(我知道私钥,满足AES后输出指定结果,而不泄露私钥本身),如果信任 AES 是安全的,那么 FAEST 就是安全的。
核心:FAEST的安全性主要依赖于AES和SHA-3,而SM-FAEST安全性依赖于SM4和SM3。(AES -> SM4 , SHA-3 -> SM3)
技术原理
利用VOLEitH实现。工作方式:签名者的私钥是一个 AES 密钥。签名的过程,实际上是生成一个非交互式的零知识证明,向验证者证明“我知道一个 AES 密钥,这个密钥可以将某个公开的明文加密成某个公开的密文”,但在这个过程中不泄露密钥本身。
方案特点
优点:
- 极小的密钥尺寸(基本上就是 AES 密钥和密文的大小)-> 适用于传输带宽受限、存储空间极小的场景。
- 安全性假设非常可靠(依赖于 AES 和 SHA-3 的安全性)
缺点:
- 相比于基于格的算法(如 Dilithium),FAEST 的签名文件比较大(通常在几 KB 到十几 KB 之间)。
- 速度较慢:签名和验证的速度比基于哈希或格的方案要慢。
参考论文
[CRYPTO 2023] Publicly Verifiable Zero-Knowledge and Post-Quantum Signatures From VOLE-in-the-Head:正式提出了 VOLE-in-the-Head 范式。论文展示了如何将基于 VOLE 的交互式零知识证明转换为非交互式,并利用它构造了基于 AES 的签名方案(后来演变为 FAEST)。这是理解 VOLEitH 的源头。
[CRYPTO 2025] Shorter, Tighter, FAESTer: Optimizations and Improved (QROM) Analysis for VOLE-in-the-Head Signatures:针对 VOLEitH 的旗舰应用 FAEST 签名算法进行了重要优化。论文改进了安全性分析(在量子随机预言机模型 QROM 下),并进一步减小了签名尺寸,提升了性能。
[ASIACRYPT 2024] One Tree to Rule Them All: Optimizing GGM Trees and OWFs for Post-Quantum Signatures:针对 VOLEitH 和 MPCitH 中核心的 "GGM Tree"(用于生成种子的树结构)进行了优化。这项工作直接减小了基于 VOLEitH 的签名(如 FAEST、KuMQuat)的大小。
[ASIACRYPT 2025] VOLE-in-the-Head Signatures from Subfield Bilinear Collisions:将 VOLEitH 范式应用于新的困难问题(子域双线性碰撞),构造了新的签名方案。这证明了 VOLEitH 不仅仅适用于 AES (FAEST),还具有更广泛的通用性。
My_Plan
直接把STF的代码,AES改为SM4,SHA3改为SM3,就能写一篇
然后如果想更厉害,可以再优化一下GGM Tree树的结构什么的。这篇论文提出的优化技术是通用的,直接用在 SM-FAEST 上就能立竿见影地减小签名尺寸。
SM-FAEST: A Fully SM-Suite Instantiation of VOLE-in-the-Head Signatures
SM4
相同点:都在\(FG(2^8)\) 进行运算
不同点
| AES-128 | SM4 | |
|---|---|---|
| 基本结构 | SPN | Feistel |
| 轮数 | 10 | 32 |
| 不可约多项式 | 0x11B | 0x1F5 |
核心逻辑不同:
- AES 的逻辑:每一轮都包含四个步骤:字节代替(SubBytes)、行移位(ShiftRows)、列混合(MixColumns)和轮密钥加(AddRoundKey)。它像是一个整体的“搅拌机”。
- SM4 的逻辑:每一轮只对 128 位分组中的最后 96 位进行线性与非线性变换,然后与最前 32 位异或,结果滑动到下一轮。它更像是一个“滚动”的过程。
非线性复杂度对比 (决定签名大小和速度的关键)
FAEST 的签名大小和证明生成时间主要取决于电路中非线性门(AND 门或 S 盒)的数量。
AES-128:
- 轮数:10 轮。
- 每轮 S 盒:16 个。
- 密钥扩展 S 盒:40 个。
- 总 S 盒数量 ≈ 200 个。
SM4:
- 轮数:32 轮。
- 每轮 S 盒:4 个(因为是 Feistel 结构,每轮只处理 32 位)。
- 密钥扩展 S 盒:\(32 times 4 = 128\) 个。
- 总 S 盒数量 = 128 (轮函数) + 128 (密钥扩展) = 256 个。
结论:SM4 的非线性复杂度(256 个 S 盒)略高于 AES-128(200 个 S 盒)。这意味着直接移植 FAEST 到 SM4,签名长度和证明时间可能会比 AES 版本增加约 25%-30%。
结构差异
- AES (SPN):状态更新是全并行的。
- SM4 (Feistel):状态更新是迭代的,但在电路表示中,这种迭代只是连线方式不同,对 ZK 的并行度影响不大(因为 ZKP 是验证整个 trace)。
一点思考:针对 Feistel 结构的 VOLE 优化
FAEST 主要是为 SPN 结构设计的。在 Feistel 结构中,每一轮只有 1/4 的状态经过 S 盒,另外 3/4 直接下传。是否能在 VOLE 的承诺阶段,利用这种“数据重用”来减少通信量?(例如,是否可以减少每一轮需要提交的 witness 数量?)
SM3
SM3和SHA-2比较像,而SHA-3是可拓展的
安全等级限制:SM3 只能支撑 128-bit 后量子安全等级(对应 FAEST-128)。
解法:使用 HMAC-SM3 作为核心组件。HMAC 结构天生抵抗长度扩展攻击,且被广泛认为不仅是 PRF,也是良好的随机预言机模拟器。
包装
在论文的“绪论”部分,你需要为“为什么要用 SM4 做这个”找到合理的借口。不要只说“我想换个算法试试”,要拔高立意:
-
后量子迁移需求:强调 NIST 正在推进后量子签名标准(FAEST 是热门候选),而我国的国密标准(SM4)在未来的量子环境下也需要相应的零知识证明或签名方案。你的工作是探索国密算法在后量子签名框架下的可行性。
-
自主可控:目前的 FAEST 是基于 AES 的,深度依赖 AES 的电路结构。研究 SM4 在此框架下的表现,有助于评估国产算法在 MPCitH(基于多方计算的零知识证明)类协议中的性能边界。
一句话总结你的工作:本文基于 VOLE-in-the-Head 协议,设计并实现了面向 SM4 分组密码的零知识证明方案,并构造了抗量子签名算法。
下面内容请选择性忽视,AI不懂事 随便说的
gemini pro又在帮我想美事了
开始幻想其他可以做的,但是我觉得目前还不太能做
方向一:基于 Ring-VOLE 的 SM3 高效原像证明 (难度:中等偏高)
背景与痛点:
目前的 ZK 系统(如 FAEST, QuickSilver)在处理布尔运算(XOR/AND)时效率很高,但在处理算术运算(模加 \(A+B mod 2^{32}\))时效率较低。
-
SM3 哈希算法 的核心结构不仅包含 XOR,还包含大量的 模 \(2^{32}\) 加法。
-
如果强行用布尔电路(Boolean Circuit)去表示 SM3 的模加,需要大量的 AND 门来实现进位逻辑,导致电路规模爆炸,证明速度变慢。
结合点 (Innovation):
利用最新的 Ring-VOLE 或 混合电路 (Mixed-Circuit) 技术来优化 SM3。
-
思路:现在的 VOLE 技术(如 Mac'n'Cheese 或 Wolverine 协议)支持在布尔域 \(F_2\) 和算术域 \(Z_{2^k}\) 之间进行高效切换。
-
你可以做的工作:设计一个针对 SM3 结构的专用 ZK 协议。
-
在 XOR 部分使用 \(F_2\) 上的 VOLE。
-
在模加部分使用 \(Z_{2^{32}}\) 上的 VOLE。
-
设计高效的“转换门(Switching Gate)”来连接这两部分。
为什么没人做?
国外主要研究 SHA-256(结构类似,但他们更关注 Poseidon 等 ZK 友好哈希)。专门针对 SM3 的混合电路优化几乎是空白。
拟定题目:
《基于混合域 VOLE 的国密 SM3 哈希函数零知识证明方案研究》
方向二:基于 VOLE 的 SM2 门限签名协议优化 (难度:高)
背景与痛点:
门限签名(Threshold Signature)在区块链钱包中刚需极大。目前的国密 SM2 门限签名方案大多基于 OT(不经意传输)或者传统的同态加密,通信开销大,速度慢。
- 趋势:最近的趋势是利用 PCG (Pseudorandom Correlation Generators) 生成大量的 VOLE 相关性,用来加速 MPC 协议中的乘法运算。
结合点 (Innovation):
将 VOLE 用于加速两方或多方 SM2 签名的生成过程。
-
思路:SM2 签名的核心是椭圆曲线标量乘法。在多方计算(MPC)环境下,这涉及到私钥分片的乘法。
-
你可以做的工作:
-
利用 VOLE 生成大量的乘法三元组(Beaver Triples)或者特定的线性相关性。
-
用这些预计算的素材,去加速 SM2 签名过程中的 \(k cdot G\) 和 \(d cdot P\) 运算。
-
对比传统的基于 OT 的 SM2 门限方案,证明基于 VOLE 的方案在在线阶段(Online Phase)具有极低的通信量。
为什么没人做?
SM2 的特殊性在于它不需要预处理哈希(这点与 ECDSA 不同),且涉及复杂的求逆运算。如何用 VOLE 优雅地处理 SM2 特有的 \((1+d)^{-1}\) 结构是一个有趣的难点。
拟定题目:
《基于 VOLE 预计算的高效两方 SM2 协同签名协议》
方向三:基于 SM4 的“Rain”类流密码 ZKP 方案 (难度:中等)
背景与痛点:
为了让 ZK 更快,现在的趋势是修改标准算法,使其对 ZK 更友好。比如 Rain 算法,就是基于 AES 的结构,但结合了“域反转”操作,专门为了 MPC-in-the-Head 设计。
结合点 (Innovation):
参考 Rain 的思路,魔改 SM4。
-
思路:SM4 是 32 轮 Feistel。这在 ZK 电路里太深了。
-
你可以做的工作:
-
提出一个 "SM4-Z" 变体。保持 SM4 的 S 盒和轮函数结构不变(为了复用硬件设计逻辑),但通过引入代数数域上的操作,将轮数减少(比如减到 4 轮或 6 轮),同时保持安全性。
-
然后使用 VOLE-in-the-Head 对这个“变体 SM4”进行证明。
-
价值:这属于“国密算法的 ZK 友好化改造”,这是一个非常前沿且符合国家战略(既要国密,又要高性能区块链隐私)的方向。
为什么没人做?
大家都在改 AES,没人改 SM4。
拟定题目:
《面向 MPC-in-the-Head 的国密 SM4 算法变体与零知识证明研究》
VOLE折磨牛
我该如何argue捏
优势一:通信量的极致压缩(针对 MPC/门限签名场景)
针对质疑:“用传统的 OT 也能做 SM2 门限签名,为什么要用 VOLE?”
你的回答(核心词:Silent / PCG):
“传统的基于 OT 的方案通信开销太大。而基于 PCG(伪随机相关性生成器)的 VOLE 可以实现‘静默’(Silent)生成。”
-
原始方案(Legacy OT):每生成一个乘法三元组(用于计算 SM2 的 \(d cdot P\) 或求逆),两方需要交互大量的数据。通信量与电路规模成正比。
-
VOLE 方案:
-
利用 LPN(带噪学习)假设,Alice 和 Bob 只需要交互几 KB 的种子(Seeds)。
-
然后在本地通过算法(如 Silver 或 Appletree 协议)将这几 KB 扩展成 几 GB 的线性相关性(Correlations)。
-
好处:这把通信带宽(Bandwidth)降低了几个数量级。在移动网络或物联网环境下,这种“低通信”特性比“计算速度”更重要。
一句话总结:VOLE 让 SM2 门限签名的预处理阶段通信量降低了 100 倍以上。
优势二:原生域的适配性(针对 SM3/SM4 结构)
针对质疑:“用 zk-SNARK(如 Groth16)证明 SM3 也可以,为什么要用 VOLE?”
你的回答(核心词:Native Field / Ring Arithmetic):
“SNARK 存在‘域不匹配’问题,而 VOLE 可以直接在国密算法定义的原生域上工作。”
-
原始方案(SNARK):
-
SNARK 通常工作在大素数域(比如 254 位的大素数)。
-
痛苦点:SM3 和 SM4 是基于 8-bit (字节) 或 32-bit (字) 运算的。要把这些位运算“翻译”到大素数域上,需要拆解成大量的二进制约束,导致电路膨胀几十倍,Prover 计算极慢。
-
VOLE 方案:
-
VOLE 可以在 任意环 \(Z_{2^k}\) 或 域 \(GF(2^n)\) 上构建。
-
好处:
-
做 SM4?我就用 \(GF(2^8)\) 的 VOLE,S 盒里的求逆直接对应域运算,没有额外开销。
-
做 SM3?我就用 \(Z_{2^{32}}\) 的 VOLE,模加运算直接对应环运算,完全原生。
-
-
效率提升:这避免了复杂的“嵌入”开销,使得证明生成速度(Prover Time)极快。
一句话总结:VOLE 避免了国密算法在数学映射上的“水土不服”,消除了额外的转换开销。
优势三:计算复杂度的线性化(针对轻量级设备)
针对质疑:“VOLE 的证明还是太大了(几 KB 到几 MB),不如 SNARK(几百字节)。”
你的回答(核心词:Linear Prover Time / No FFT):
“虽然 VOLE 的证明比较大,但它的计算复杂度是线性的 \(O(N)\),且不需要繁重的密码学运算。”
-
原始方案(SNARK):
-
为了生成那个小小的证明,Prover 需要做 FFT(快速傅里叶变换) 和大量的 MSM(多标量乘法)。这些都需要巨大的内存和强劲的 CPU。
-
后果:你很难在手机或 IoT 设备上快速生成 SNARK 证明。
-
VOLE 方案(VOLE-in-the-Head):
-
只涉及对称加密操作(哈希、XOR)。没有椭圆曲线运算,没有 FFT。
-
好处:计算速度极快,内存占用极低。
-
适用场景:这非常适合你的导师关注的 “云-雾计算” 或 “物联网” 场景。虽然传输的数据多一点,但端侧设备(手机、传感器)算得动了!
一句话总结:VOLE 是“用带宽换算力”,让低功耗设备也能跑得动国密算法的零知识证明。
综合:如何组织到你的论文/答辩 PPT 里?
当你写“研究意义”或回答导师时,不要说“VOLE 比所有方案都好”,要说“VOLE 在以下特定场景下是最优解”:
-
对于 SM4(硬件友好型密码):VOLE 允许我们在 \(GF(2^8)\) 上直接验证电路,避开了 SNARK 的大素数域缺陷,实现了最快的证明生成速度。
-
对于 SM2 门限签名(MPC):基于 PCG 的 Silent VOLE 解决了传统 OT 方案的通信瓶颈,使得在带宽受限的网络下协同签名成为可能。
-
对于应用场景:这符合“轻量级密码学”的趋势,适合算力受限但网络尚可的边缘计算环境(契合许老师的 Cloud/Fog Computing 背景)。
你的“必杀技”话术:
“老师,虽然 SNARK 证明短,但算得太慢;虽然传统 OT 算得快,但传得太多。VOLE 在‘国密算法的原生域适配’和‘静默通信’这两个点上,找到了最佳的平衡点,特别是解决了 SM 系列算法在非素数域上难以高效证明的痛点。”
这样回答,既专业又客观,没人能反驳你。