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

零知识证明-FFS身份鉴别方案

FFS(Feige-Fiat-Shamir)身份鉴别方案

证明者(Prover)可以向验证者(Verifier)证明自己拥有某个秘密,而无需透露该秘密的任何信息。它基于大整数分解的数学难题来保证安全性。

简化版FFS方案

单次交互有50%的概率被攻击者欺骗

1. 初始化阶段:生成密钥

  • 选择模数:证明者选择一个模数 $ n $,它是两个大素数的乘积。
  • 生成秘密:随机选择一个秘密数字 $ s $,它与 $ n $ 互质。
  • 计算公钥:计算 $ v = s^{-2} \mod n $(即 $ s^2 $ 的模逆元)。
  • 公布密钥:公钥为 $ (n, v) $,私钥为 $ s $ 需妥善保管。

2. 交互阶段:证明身份

证明者(Alice)向验证者(Bob)证明自己拥有私钥 $ s $:

  • 承诺 (Commitment):Alice 随机选取一个数 $ r $,计算承诺值 $ x = r^2 \mod n $,并将 $ x $ 发送给 Bob。
  • 挑战 (Challenge):Bob 随机生成一个挑战位 $ e \in {0, 1} $,发送给 Alice。
  • 响应 (Response):Alice 根据挑战计算响应值 $ y $:
    • 若 $ e = 0 $,则 $ y = r $。
    • 若 $ e = 1 $,则 $ y = r \cdot s \mod n $。
  • 验证 (Verification):Bob 收到 $ y $ 后,验证等式 $ y^2 \equiv x \cdot v^e \pmod{n} $ 是否成立:
    • 若 $ e=0 $:验证 $ y^2 \equiv r^2 \equiv x \pmod{n} $,成立。
    • 若 $ e=1 $:验证 $ y^2 \equiv (r \cdot s)^2 \equiv r^2 \cdot s^2 \equiv x \cdot v^{-1} \pmod{n} $。由于 $ v = s^{-2} $,所以 $ x \cdot v^{-1} \equiv x \cdot s^2 $,验证通过。

若等式成立,Bob 相信 Alice 知道 $ s $,但无法从中获取 $ s $ 的任何信息。

3. 安全性分析

单次验证,攻击者有50%的概率猜对挑战 $ e $ 并伪造响应。为了降低风险,通常会将协议重复执行 $ t $ 次,将欺骗概率降至 $ (1/2)^t $

完整版FFS方案

  • 密钥生成:证明者选择一个Blum整数 $ n = p \cdot q $。然后选择 $ k $ 个随机数 $ s_1, s_2, ..., s_k $ 和 $ k $ 个随机比特 $ c_1, c_2, ..., c_k $,计算 $ v_i = (-1)^{c_i} \cdot s_i^{-2} \mod n $。公钥为 $ (n, v_1, ..., v_k) $,私钥为 $ (s_1, ..., s_k) $。
    1. Alice选择一个随机数 $ r $ 计算 $ x = r^2 \mod n $,发送给 Bob。
    2. 发送所有挑战:Bob 为每一轮生成一个挑战向量 $ (b_{1}, ..., b_{k}) $,其中每个 $ b_{j} $ 是随机比特,然后一次性发送给 Alice。
    3. 发送所有响应:Alice 计算响应 $ y = r \cdot \prod_{j=1}^{k} s_j^{b_{j}} \mod n $,并一次性发送给 Bob。
    4. 批量验证:Bob 验证等式 $ x \equiv y^2 \cdot \prod_{j=1}^{k} v_j^{b_{j}} \pmod{n} $ 是否成立。全部通过,则验证成功。
http://www.gsyq.cn/news/1562774.html

相关文章:

  • 2026寄大件怎么省钱?个人寄件全流程+5折技巧 - 快递物流资讯
  • Claude Opus 4.6实测:前端工程化能力与认知写作方法论深度解析
  • 安徽水利水电职业技术学院的王牌专业有没有校企合作项目?实习和实训机会多不多? - 寻茫精选
  • 对口升学本科靠谱吗?推荐合肥理工学校! - 教育为先
  • 2026年安徽省初三中考成绩差考不上高中适合上什么学校??——推荐合肥理工学校! - 教育为先
  • 广东农工商职业技术学院王牌专业的师资强不强?有没有院士、国家级教学名师? - 寻茫精选
  • RetDec反编译器实战指南:从部署到恶意软件分析
  • Python股票价格预测实战包:随机森林多版本代码+全市场行情数据+逐行中文注释
  • Z Code+GLM 5.2:本地化AI编程工作流实战指南
  • 广东农工商职业技术学院王牌专业主要学什么课程?未来的培养方向和就业领域是什么? - 寻茫精选
  • P89LPC952/954定时器与UART实战:从模式解析到避坑指南
  • DeepSeek V4架构解密:SKV-MQA如何重构KV Cache效率
  • Grok 4.20四Agent模式:提示词工程驱动的显式分片推理
  • Python+Appium移动自动化实战:从环境搭建到脚本编写完整指南
  • 2026帝王宫海鲜加工饭店口碑排行,业内老饕推荐榜出炉 - 官方资讯
  • 2026年6月正规的杏壳活性炭订做厂家推荐,活性炭/椰壳黄金炭/煤质活性炭/食品级活性炭,杏壳活性炭供应商哪家权威 - 品牌推荐师
  • Windows驱动管家:Driver Store Explorer完全使用手册
  • Hermes Agent 本地AI工作台:MiMo V2 Pro白嫖与Telegram网关实战指南
  • 互联网大厂 Java 求职面试:从 Spring Boot 到微服务架构的深度探讨
  • 从零搭建Python+Selenium自动化测试框架:分层架构与核心模块详解
  • Gemini三层次使用路径:从Chrome内置到API开发的完整指南
  • 开源SIEM与威胁情报集成实战:Wazuh对接AlienVault OTX实现零日漏洞检测
  • Grok深度解析:社交数据驱动的工作流智能协作者
  • GLM-5全栈工程解析:MoE架构、IcePop训推一致与DSA稀疏注意力
  • AI Agent 30天速成|Day5 笔记
  • 终极解决方案:3分钟在Windows上搞定iPhone USB网络共享驱动安装
  • 广东农工商职业技术学院的王牌专业有没有校企合作项目?实习和实训机会多不多? - 寻茫精选
  • MD5哈希算法安全隐患全解析:从碰撞攻击到密码存储迁移实战
  • ETS2LA:欧洲卡车模拟2智能驾驶辅助终极指南
  • 红日靶场VulnStack4实战:从Docker逃逸到域控提权的完整内网渗透