跳转至

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 做这个”找到合理的借口。不要只说“我想换个算法试试”,要拔高立意:

  1. 后量子迁移需求:强调 NIST 正在推进后量子签名标准(FAEST 是热门候选),而我国的国密标准(SM4)在未来的量子环境下也需要相应的零知识证明或签名方案。你的工作是探索国密算法在后量子签名框架下的可行性

  2. 自主可控:目前的 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'CheeseWolverine 协议)支持在布尔域 \(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 在以下特定场景下是最优解”

  1. 对于 SM4(硬件友好型密码):VOLE 允许我们在 \(GF(2^8)\) 上直接验证电路,避开了 SNARK 的大素数域缺陷,实现了最快的证明生成速度

  2. 对于 SM2 门限签名(MPC):基于 PCG 的 Silent VOLE 解决了传统 OT 方案的通信瓶颈,使得在带宽受限的网络下协同签名成为可能。

  3. 对于应用场景:这符合“轻量级密码学”的趋势,适合算力受限但网络尚可的边缘计算环境(契合许老师的 Cloud/Fog Computing 背景)。

你的“必杀技”话术:

“老师,虽然 SNARK 证明短,但算得太慢;虽然传统 OT 算得快,但传得太多。VOLE 在‘国密算法的原生域适配’‘静默通信’这两个点上,找到了最佳的平衡点,特别是解决了 SM 系列算法在非素数域上难以高效证明的痛点。”

这样回答,既专业又客观,没人能反驳你。