跳转至

图像零知识证明:如何证明图片经过了可信且合规的处理

一张图片经过裁剪、旋转或调色之后,原来的数字签名通常就不再有效。那有没有办法让发布者证明“这张结果图来自一张可信来源的原图,而且只做过允许的处理”,同时不公开原图、被裁掉的部分和编辑历史?

图像零知识证明尝试回答这个问题。它把数字签名、图像变换规则和零知识证明组合起来:证明者提供结果图片与一个短证明,验证者检查证明是否成立,而无需拿到原图和完整处理过程。

这类证明能证明的是一条明确的数学关系,不是图片内容在现实世界中必然真实。若原始拍摄对象就是摆拍,或允许的编辑规则过宽,密码学证明不会自动纠正这些问题。

摘要

图像零知识证明试图让发布者证明一张结果图源自可信签名的原图,并且只经过预先允许的图像变换,同时隐藏原图、被裁掉的区域和处理历史。本文从数字签名、合规谓词、零知识证明和 PCD 四个部件出发,说明证明关系怎样落到像素约束上;再介绍 2016 年 PhotoProof 论文,并以一个现代可运行实现 VIMz 说明图像变换证明如何在真实分辨率下落地;进而梳理 2024–2026 年图像零知识证明的若干主流技术路线(折叠、承诺—证明分离、可验证 JPEG 压缩、基于 VOLE 的证明与 C2PA 软脱敏);最后结合一个 Go 课程项目示例,指出“生成了证明”与“证明绑定了收到的图片”之间的差异。

关键词: 图像认证;零知识证明;PhotoProof;Groth16;PCD;图像变换

一、一个具体场景

假设记者收到一张带有可信数字签名的原始照片。照片包含一名需要保护隐私的路人,记者希望裁掉路人后发布。读者想确认:

  1. 原图确实由可信来源签名;
  2. 发布的图片确实由这张原图经过允许的裁剪得到;
  3. 发布者没有借裁剪之名替换或修改其他像素;
  4. 读者不必看到原图、路人或编辑历史。

普通数字签名只能解决第一步。签名通常覆盖原图的字节或摘要,裁剪会改变内容,因此原签名无法直接验证裁剪后的文件。若让可信方为每一种裁剪结果重新签名,又要求可信方参与每次编辑,也无法隐藏每次处理的细节。

零知识证明提供另一条路:编辑者自己生成一个证明,说明存在一张已签名的原图和一组允许的操作,使得结果恰好是按规则处理后的图片。验证者检查这个陈述,而不必看到隐藏的输入和中间过程。

二、它究竟证明什么

把要验证的陈述写成关系会更清楚。设:

  • \(I_0\) 是可信签名方签名的原图;
  • \(I_n\) 是最终公开的结果图;
  • \(op_1, \dots, op_n\) 是中间的图像操作;
  • \(R\) 是系统规定的合规规则;
  • \(\sigma\) 是原图签名。

证明者要证明自己知道一组隐藏数据 \(w\),使得:

\[ \operatorname{VerifySig}(p_k, I_0, \sigma)=1 \]

并且

\[ I_n = op_n(\cdots op_2(op_1(I_0))\cdots), \qquad op_i \in R. \]

这里的 \(w\) 可以包含原图、操作参数和中间状态。验证者看到的公开输入通常包括最终图片、可信签名公钥和协议参数;证明则说明隐藏数据与公开输入满足约束。

这不是“证明图片看起来是真的”,而是证明某个经过精确定义的程序关系成立。例如“输出像素和输入某个矩形区域一一对应”可以被约束;“这张照片没有误导公众”则不是一个仅靠像素电路就能判定的数学条件。

三、关键部件各自做什么

1. 数字签名:确立可信起点

可信相机或签名方用私钥对原图(或其安全摘要)签名。后续证明需要约束这份签名确实对应原图,以及最终图确实从这张原图演化而来。

验证者必须信任正确的公钥来源。若编辑者可以自行提交一个新公钥并声称它可信,那么签名验证并没有建立信任。

2. 合规谓词:把“允许编辑”写成可计算规则

协议需要明确允许哪些操作、参数范围和边界行为。以矩形裁剪为例,电路不能只接收一个名为 crop 的操作标签;它必须验证:

  • 裁剪坐标和宽高在图像边界内;
  • 每个输出像素等于输入图对应位置的像素;
  • 输出尺寸、填充区域和元数据符合约定;
  • 没有通过整数溢出、舍入或编码差异绕开规则。

论文把这种合规判定写作合规谓词(compliance predicate,记为 \(\Pi\)),其 Algorithm 1(论文第 262 页)明确分为两个分支:起点分支检查原图签名是否有效;编辑分支检查本次操作属于允许集合、输出图确实等于对输入图执行该操作的结果,并且签名公钥没有在中途更换。只检查操作名为 crop,或者只检查签名存在,都不满足 \(\Pi\) 对输入—输出关系与公钥延续性的要求。

所有规则都必须针对实际被认证的表示。JPEG 文件字节、解码后的 RGB 像素矩阵,以及带有宽高等元数据的图像对象是不同对象。证明者和验证者需要对编码、色彩空间、通道顺序和元数据采用一致的规范。

3. 零知识证明:隐藏见证,公开验证结果

证明者把原图、编辑参数等作为秘密见证,把最终图和必要的信任参数作为公开输入,生成证明。验证者只需运行验证算法。

“零知识”不意味着最终结果图也被隐藏。若发布者公开了裁剪后的图片,图片本身可见的内容自然仍然公开;零知识性质针对的是证明额外泄露的信息,例如原图中被裁掉的区域或隐藏的操作参数。

4. 递归证明或 PCD:把多步编辑接成一条链

若图片要被多人连续编辑,后续证明需要接住前一轮的结果和证明,并证明本轮操作符合规则。PCD(Proof-Carrying Data,携带证明的数据)描述了这种逐步传递有效性的方式。

这样,最终验证者可以检查最后的证明,而不用逐项重放所有历史步骤。这里的关键是每一步都要在约束中验证旧证明,并正确绑定当前输入图、输出图及操作参数。单独生成一份 Groth16 证明,不会自动得到递归证明或 PCD 能力。

四、从证明电路看图像操作

零知识证明系统并不知道“图片”这个高层概念。对电路来说,图片最终是有限域中的变量,编辑算法要被编译成加法、乘法、比较、位分解等约束。

以固定尺寸的灰度图矩阵 I 为例。要证明从左上角裁出宽 \(w\)、高 h 的矩形,可以对每个有效输出位置约束:

\[ O[x,y] = I[x+x_0, y+y_0], \]

其中 (x_0,y_0) 是隐藏的裁剪起点。还要约束坐标范围、输出尺寸,以及输出矩阵其他位置的约定值。通道图像需要对每个通道应用对应关系;RGB 图还要把通道顺序和像素范围定义清楚。

简单操作也可能很贵。逐像素相等约束大致随像素数增长;裁剪、旋转和压缩还需要边界检查、索引选择、插值或舍入规则。证明系统通常让验证很快、证明很短,但证明生成、参数大小和内存消耗可能很高。因此,实际设计会在图片尺寸、操作种类、隐私目标和证明成本之间取舍。

五、PhotoProof 论文的方案

Assa Naveh 和 Eran Tromer 在 2016 年 IEEE Symposium on Security and Privacy 论文 PhotoProof: Cryptographic Image Authentication for Any Set of Permissible Transformations 中研究了图像认证与允许变换的问题。论文核心目标是:让任意一组预先定义的可允许变换能被验证,同时隐藏原图和处理历史。

论文用 PCD 思路构造逐步证明。证明链从验证原图签名开始;后续每一步证明前一份证明有效、本次编辑在允许集合中,并且输出图与输入图及操作参数满足变换关系。最终证明覆盖整条处理链。

论文原型实际实现的编辑范围如下表所示(依据论文第 V-A、V-E 节与表 I):

操作 论文原型 本文所分析的 Go 仓库
不改变图片(Identity) 检查像素及元数据相等 声称只演示此场景,但主电路没有输入—输出相等约束
任意矩形裁剪 已实现;裁掉区域清零、保留区域平移到左上角并更新宽高 未实现
水平/垂直翻转、转置 已实现 未实现
旋转 已实现;用三次剪切与桶形移位器,并约束定点计算 未实现
亮度/对比度调整 已实现;约束线性变换与像素截断范围 未实现
JPEG 压缩、缩放 构造可支持,但表 I 标明原型当时尚未实现 未实现
多人连续编辑、最终证明覆盖历史 PCD 的设计与原型能力 未实现

需要注意两点:不能把“方案构造可支持某种操作”和“原型已经实现并测量该操作”混为一谈;也不能因为 Go 仓库的限制,就低估论文原型的能力。原型实验使用的图像尺寸很小,展示的是可行性探索,不代表对现代高分辨率图像已经具备实用的证明成本。

论文第 266 页表 II 给出了当时的性能测量(机器为 4 核 3.4 GHz Intel i7-4770、32 GB RAM,每项取 10 次运行平均,证明密钥已预加载到内存):

最大图片尺寸 参数生成 每次编辑证明生成 验证 证明密钥大小
16×16 16.92 s 13.97 s 0.09 s 144.4 MB
32×32 32.9 s 25.2 s 0.10 s 255.5 MB
64×64 83.2 s 69.8 s 0.14 s 635.1 MB
128×128 367 s 306 s 0.50 s 2601.4 MB

表中验证密钥为 2.7 MB,单个证明为 2.67 KB。结论很明确:证明很短、验证很快,但参数生成与证明生成的代价很高,当时仍是小图上的概念验证。此外,“最终证明大小不随编辑次数增长”并不等于“验证完全不读图片”——论文第 260 页定义的验证时间为 \(O_\lambda(|I|)\),仍随最终图片的数据量增长,不依赖的只是被隐藏的历史长度。

论文也讨论了优化:先由可信来源签署图像摘要,再在证明链中维持摘要与图像的一致性,避免在每一步都重复昂贵的签名验证。这种优化仍要求严格绑定摘要、原图、变换和最终图。摘要不是可以随意省掉的关联步骤。

这种“先签摘要、后续维持摘要不变”的原型优化带来一个隐私上的重要差别:公开并沿用同一个原图摘要,可以关联来自同一原图的不同结果图。论文明确承认,这不再满足前文最强的零知识定义;原型变体只保证不泄露公开摘要和签名之外的信息。若还要让摘要本身不暴露原图信息,论文讨论了引入足够随机性的隐藏承诺,而不能把普通的确定性哈希直接等同于隐藏承诺。

论文的安全边界

论文第 262–264 页的论证建立在所用 PCD 与签名方案本身的安全性之上,并要求规则集合与系统参数被正确设置。需要保留两个边界条件:

  • 知识性定义使用的是预先选择的签名图片,并不是对参数发布后任意适应性签名查询的最强保证(论文 §IV-C)。
  • 可信相机的现实攻击不在证明范围内。附录第 270–271 页专门讨论了私钥泄漏、传感器输入注入、拍摄伪造图片或摆拍等情况:PhotoProof 保证来源与合法计算,但不会自动消除这些现实层面的攻击。

就防止借助换脸等手段伪造或篡改图片而言,准确的说法是:在可信原图与正确规则下,任何无法由允许操作产生的篡改结果(如换脸)都通不过验证;若原始签名对象本来就是假图,或允许规则过宽,这一结论不再成立。论文第 260 页 Remark 6 也提醒,合法裁剪仍可能误导观众——证明只能保证遵守了规则,并不保证内容在现实世界中真实无误。

因此,阅读任何“图像证明”方案时都要问:签名覆盖了什么?最终图片是否作为公开输入绑定进验证关系?像素变换约束是否完整?允许规则由谁设定?验证公钥从哪里来?

六、一个真实可运行的现代实现:VIMz

PhotoProof 论文(2016)的实验仍停留在小图概念验证,而 2025 年 PETS 论文 VIMz(开源地址 zero-savvy/vimz)给出了一个在现代分辨率上真正跑通的图像变换证明。它不再使用 PhotoProof Go 实验里的 gnark、BN254 与 Groth16,而是走另一条技术路线:用 Circom 电路描述每一行的变换,借助 Nova 把各行的证明逐步折叠,再用 Spartan 与 IPA 多项式承诺把最终证明压缩到很短。

它如何摊薄大图的成本

VIMz 把整张图片拆成逐行计算。对每一行,电路检查该行是否确实由输入图按规则变换得到(例如灰度化),同时把这一行的像素累计进原图与输出图各自的摘要链;所有行处理完毕,得到两个最终摘要,分别对应验证者预期的原图承诺与输出图承诺。各行计算用 Nova 迭代折叠成一份证明,再经 Spartan/IPA 压缩。

这种方式与 PhotoProof 用递归 SNARK/PCD 串接“多步不同编辑”的思路不同:VIMz 折叠的是一次变换内部的逐行计算,用增量折叠来摊薄大图的开销,而不是把多轮编辑接成一条历史链。它正好说明本文第四节讨论的成本问题——面对大图,可行的工程选择之一是“按行/分块折叠”,而非一次性为整张图构造单一巨型电路。

灰度约束本身也体现了合规谓词的“容差”设计:它允许约一个灰度等级的舍入误差,而非强制逐字节相等,

\[ \left|299R + 587G + 114B - 1000\cdot \text{Gray}\right| \le 1000 \]

证明约束的是“变换在容差内成立”,而不是“输出与某个固定字节串完全相同”。

一个关键边界:它证明变换,不证明来源

在公开样例与真实硬件(Apple M1)上,复现实验完成了 1280×720 彩色图的灰度变换真实证明生成与验证:压缩后的证明约 11.6 KB,验证函数耗时约 0.64 秒(不含读取与反序列化验证密钥的开销,验证密钥约 122.8 MiB)。这与 PhotoProof 原型 128×128 的量级相比,已经逼近日常照片的分辨率。

但必须强调:VIMz 证明的是“输出图确实由某张输入图按允许的变换得到”,并不证明这张输入图本身来自可信来源。任意人都能对自己选择的图片生成一份合规变换证明;只有把原图摘要与相机签名、C2PA 链路或可信发布者认证绑定之后,才能进一步讨论来源真实性。

这一点正好呼应本文开头:图像零知识证明能约束“处理过程合规”,但“来源可信”是另一回事,必须由签名或可信硬件单独建立。VIMz 目前也只复现了灰度这一种变换,尚未覆盖亮度、对比度、裁剪、缩放,也没有多变换链、签名与匿名身份;把它说成“已经完整实现任意图像认证”同样属于夸大。

七、技术路线全景:2024–2026 年的主要思路

PhotoProof(2016)把整张图塞进一个静态电路,在几十万像素以上会因内存与约束规模爆炸而不可行。此后几年的工作围绕同一个核心矛盾展开:如何对高分辨率图像的变换给出简短、可公开验证的证明,同时不让证明者的内存或时间随分辨率失控。下面按底层密码学机制归纳五条主流路线(数值均来自各工作的公开报告或复现)。

路线 代表工作 核心机制 关键权衡
折叠(Folding) VIMz(PETS 2025) Nova 增量折叠 + Spartan/IPA 压缩;逐行处理 内存与行数解耦,但时间随行数线性、不支持 JPEG
承诺—证明分离 VerITAS(IEEE S&P 2025) KZG/FRI 多项式承诺 + Plonkish;哈希移出电路 省去电路内全图哈希,但高分辨率峰值内存仍达数十 GB
可验证 JPEG 压缩 可验证图像压缩(2026 预印本) KZH 亚线性承诺 + 折叠;霍夫曼编码移出电路 首次跑通编辑 + JPEG 闭环,但仍整体重算
信息论 VOLE 证明 ZK-JPEG(SCN 2026) LPZK/VOLE + PicoZK 编译器 证明者不碰椭圆曲线、流式内存,但为指定验证者/交互式,非公开可验证简短
元数据软脱敏与并行视觉推理 Soft Redaction(2026)、ZKTorch/zkPyTorch PlonK 软脱敏;查找表 + 并行证明累积 聚焦溯源元数据与神经网络推理,不直接做全图变换证明

路线 1:折叠——以 VIMz 为代表

第六节已详述 VIMz 如何在 Apple M1 上把 720p 高清图的峰值内存压到 1.21 GiB、压缩证明仅约 11.36 KiB。它的代价同样明确:证明时间仍与图像总行数成线性(M1 上 720 行约 11 分 14 秒),且原型只覆盖灰度这类无损变换,尚未支持有损 JPEG 压缩。后续分析(如 2026 年关于可验证图像压缩的预印本)还指出,其逐行状态转移在中间图像数据与外部承诺的强制绑定上仍有待加强;代码审计中也发现灰度电路对每 24-bit 像素槽的高 16 位未强制为零,属于需要收紧的表示层约束。

路线 2:承诺与证明分离(Commit-and-Prove)

斯坦福 Dan Boneh 团队在 VerITAS(Verifying Image Transformations at Scale,IEEE S&P 2025)中指出,图像 ZKP 最大的性能杀手是在算术电路内部计算整张原图的密码学哈希。其思路是“把哈希/承诺移出通用算术电路”:相机先对原图像素向量计算多项式承诺并签名,编辑者在证明裁剪、灰度或模糊时,不再于电路内重算原图哈希,而是借助多项式承诺的代数性质,用轻量的相等性/共享见证协议直接证明“喂给编辑电路的输入”与“相机签名的承诺”打开的是同一组数据。电路内大量使用 PlonK 查找表加速像素级截断与定点除法,验证时间可低于 1 秒。代价是峰值内存依然巨大——数千万像素图像需要数十 GB 内存来一次性加载并计算多项式 FFT/MSM,难以在消费级笔记本或移动端运行。

路线 3:可验证 JPEG 压缩

真实场景中修完图几乎总要存成 JPEG,而 JPEG 的霍夫曼熵编码是纯比特流查表拼接,写进电路会产生天量约束。2026 年的可验证图像压缩预印本(eprint 2026/1717,Benedikt Bünz 与香港科技大学团队)用 KZH 亚线性多项式承诺(直接复用以太坊 Powers-of-Tau 的通用可信设置)配合折叠方案,并把霍夫曼编码彻底剥离出零知识电路:验证者在电路外把公开 JPEG 解码回“量化后的 DCT 系数矩阵”,折叠电路只需证明从原图到量化 DCT 系数的计算正确。该工作首次在公开可验证的折叠框架下跑通“C2PA 编辑 + JPEG 压缩”闭环,并针对路线 1 中 VIMz 的状态绑定弱点提出了修复。其空白在于仍把图像当作必须从头算到尾的整体,没有利用 JPEG 宏块(MCU)的局部独立性做“未修改宏块零开销透传”。

路线 4:基于 VOLE 的极速证明

前述三条路线都基于 zkSNARK,需要做昂贵的椭圆曲线多标量乘法或多项式承诺。ZK-JPEG(Zero-knowledge Image Editing and Compression,SCN 2026 录用,eprint 2026/2039,Stealth Software 与佛蒙特大学团队)换了一条赛道:基于信息论 MAC 与 VOLE(向量不经意线性评估)的 LPZK。开发者用 Python 直接写裁剪、卷积滤波和 JPEG 压缩逻辑,经 PicoZK 编译器自动编译成算术电路,利用 VOLE 相关性的线性同态性质生成证明。优势是证明者完全不做椭圆曲线运算、内存呈流式线性占用、生成速度极快;硬伤是它属于指定验证者或交互式证明体系,需要双方预先建立 VOLE 相关性,或生成体积达数十乃至上百 MB 的非交互证明——不具备公开可验证的简短性,因此难以直接服务于社交媒体、C2PA 这类“一张图发到网上、成千上万陌生人用浏览器离线验证一个小证明”的场景。

路线 5:C2PA 软脱敏与并行视觉推理

这一路线不再纠缠全图像素的繁重变换,而是转向两个互补方向。

其一是 C2PA 溯源清单的“软脱敏”:前文介绍的 Soft Redaction of Image Provenance via Zero-Knowledge Proofs(Awan、Collomosse,萨里大学与 Adobe Research,2026 年 8 月预印本)用 PlonK 把清单里的敏感断言替换为关于其隐藏属性的零知识证明——例如用 Chebyshev 多项式在电路内逼近 Haversine 球面距离,证明“照片拍摄于某公开坐标半径 \(R\) 之内”而不暴露精确 GPS;或用 512 维视觉/人脸特征的 \(\ell_2\) 距离证明肖像权归属与反水印移植。在 Apple M3 Max 上,512 维距离证明生成约 6.7 秒、验证约 320 毫秒。

其二是 并行视觉推理证明:ZKTorch(2025,arXiv:2507.07031)与 zkPyTorch(eprint 2025/535)针对视觉神经网络里的卷积、ReLU、池化、插值等非线性算子,采用查找表论证(Lasso/PlonKup)并引入并行证明累积(如二叉树合并)来改造原本必须串行的折叠链条。它们面向的是“证明某张图经过某个模型推理得到某结果”,与本文主线“证明图像经过允许的图像处理”属于相邻但不同的目标。

小结与共同难题

五条路线在密码学底层(折叠、多项式承诺、VOLE、查找表)和工程取舍上差异很大,但都要回答本文反复出现的三件事:来源是否可信、变换是否合规、披露到什么程度。它们也共享两个尚未真正解决的难题:一是在普通消费设备上兼顾高效率与简短公开可验证;二是证明“变换合规”与证明“来源可信”仍然是两件事——无论哪条路线,只要没有把原图与可信签名(或相机硬件、C2PA 链路)绑定,就只是证明了“某张输入经过了允许的变换”,而非“这张输入本身真实”。

八、论文、课程项目和实验结果不能混为一谈

文中以一个名为 drakstik/PhotoProof 的 Go 仓库为例。它是课程项目,不是 2016 年论文作者的原型。仓库使用 gnark、BN254、EdDSA 和 MiMC,能够演示签名电路与 Groth16 证明,但它没有实现论文完整的图像变换协议。

从源码看,该仓库的电路验证一个秘密域元素消息上的 EdDSA 签名;电路本身没有图像输入、输出像素关系、裁剪参数,也没有递归验证上一轮证明。因此,不能因为函数或结构体名称里出现 PCD、Identity 或 Image,就推断相关密码学关系已经被约束。

真实图片实验进一步检查了验证端的绑定。实验使用一张 1440×810 的图片,将其转换成 RGB 整数矩阵后,分别测试原图、单像素修改、红色块覆盖、左半部分裁剪和无关黑图。直接的数字签名验证能区分原图与修改图;但 Groth16 验证分支忽略了传入的图片参数,沿用同一证明时,修改图和其他图片也都能得到证明验证通过的结果。

这说明该实现的证明验证成功不能作为收到图片身份正确的证据。它暴露的是证明与验证端图片之间缺少绑定,不是图像认证成功,也不是论文方案的漏洞。另一个实现注意点是 fr.Element.SetBytes 将字节串解释为整数并映射到有限域;不能把它直接当作对任意长度图片文件计算的抗碰撞哈希。

九、设计或评估图像零知识证明时的检查清单

问题 为什么要检查
被证明的原图是什么表示? 文件字节与解码像素并不相同
最终图是否是公开输入并参与约束? 否则同一证明可能被拿去验证别的图片
签名或摘要是否与原图绑定? 仅证明某个签名有效不等于证明图片来源
每种变换是否约束输入、输出和参数? 操作标签不能替代像素关系
多步处理中是否验证前一份证明? 否则证明链没有继承旧步骤的有效性
允许规则由谁设定并如何固定? 规则决定“合规”到底是什么意思
编码、尺寸、颜色和元数据如何规范化? 不一致会产生绕过或歧义
证明成本是否在目标分辨率下测量? 小图实验不能直接外推到大图
验证公钥和系统参数是否可信? 攻击者自选参数无法建立可信认证

十、小结

图像零知识证明把“可信来源”和“合规处理”变成一个可验证的关系:签名确定起点,合规谓词描述允许的像素变换,零知识证明隐藏原图和处理见证,PCD 等结构可以把多轮编辑串成一条可验证的证明链。

评估实现时,最重要的不是看它是否生成了一个短证明,而是检查最终公开图片是否真正进入验证关系,并且每一步像素变换是否被约束。证明系统只能保证写进电路的命题;没有绑定的图像、没有实现的操作,以及没有验证的上一轮证明,都不会因为项目名称或论文背景而自动成立。

参考资料与延伸阅读

  1. Assa Naveh, Eran Tromer, “PhotoProof: Cryptographic Image Authentication for Any Set of Permissible Transformations,” 2016 IEEE Symposium on Security and Privacy, pp. 255–271. DOI: 10.1109/SP.2016.23.
  2. PhotoProof Go 课程项目(分析对象;不是论文作者的原型)。
  3. 本系列:zk-SNARK 原理详解(算术电路、R1CS/QAP 与 SNARK 基础)、KZG 多项式承诺、IPA 多项式承诺与 R1CS。
  4. VIMz 官方仓库与 PETS 2025 artifact(现代图像变换证明实现;本文第六节所述为对其灰度电路的复现实验)。
  5. Muhammad Awan, John Collomosse, “Soft Redaction of Image Provenance via Zero-Knowledge Proofs,” arXiv:2608.07063v1 (2026)(将零知识选择性披露用于 C2PA 图像溯源的前沿预印本;本文第七节据此讨论)。
  6. C2PA 规范与 Content Credentials(Adobe 等联盟维护的开放内容溯源标准,https://c2pa.org;其透明溯源与零知识“软编辑”形成对照)。
  7. Trisha Datta, Binyi Chen, Dan Boneh, “VerITAS: Verifying Image Transformations at Scale,” IEEE Symposium on Security & Privacy (S&P) 2025(承诺—证明分离路线;eprint 2024/1066)。
  8. Benedikt Bünz 等,“Verifiable Compression of Images,” IACR eprint 2026/1717(可验证 JPEG 压缩与对 VIMz 状态绑定弱点的修复;本文第七节路线 3)。
  9. “ZK-JPEG: Zero-knowledge Image Editing and Compression,” SCN 2026(基于 LPZK/VOLE 的极速证明;eprint 2026/2039;本文第七节路线 4)。
  10. Bing-Jyue Chen, Lilia Tang, Daniel Kang, “ZKTorch: Compiling ML Inference to Zero-Knowledge Proofs via Parallel Proof Accumulation,” 2025(arXiv:2507.07031;并行视觉推理证明)。
  11. “zkPyTorch”(面向视觉神经网络推理的零知识证明;IACR eprint 2025/535;本文第七节路线 5)。

本文作者: Wcowin王科文