本节将介绍如何使用离散域上椭圆曲线进行加密和解密过程。若果觉得阅读理解本文有困难,可以先参考之前的一些铺垫的历史文章。以后所说的椭圆曲线默认都是指离散域上模素数的椭圆曲线。
本节介绍如何让椭圆曲线点的坐标离散化。
本节主要说涉及到数论的一些知识和椭圆曲线上加法运算。
本节主要说椭圆曲线的背景及基本性质。
本节主要讲欧几里得算法及其扩展算法。
密码学很神秘?很高端?本文是密码学系列的第一篇:概述。带你一起来揭秘! 根据密钥的类型一般可以分为对称加密和非对称加密
19年底360安全发布的一篇有关零知识证明安全的文章。这篇文章是Zhiniang Peng在PacSec2019大会发言的总结。文章框架性地介绍零知识证明zk-SNARK的知识,并给出了一些安全提示和思考。
不知不觉,写了不少零知识证明相关的文章,单独总结成列表。方便对零知识证明感兴趣的小伙伴,学习开发。零知识证明,乃至区块链技术,需要学习,深入研究的东西太多太多了。零知识证明学习入门...
libsnark库代码层次非常清晰。libsnark也给出了SNARK相关算法的全貌,各种Relation,Language,Proof System。为了更好的生成R1CS电路,libsnark抽象出protoboard和gadget,方便开发者快速搭建...
理解为什么以及如何基于多项式构造零知识证明,这篇文章讲的比较清楚。虽然文章只讲到了皮诺曹协议,但是足够理解基于多项式构造零知识证明的本质。想深入零知识证明的小伙伴都建议看看。
ht...
几种通用的zk-SNARKs 实现的比较
DIZK源代码导读
DIZK,Distributed Zero Knowledge,分布式的零知识证明系统。在分布式环境下,DIZK能支持超大规模电路(10亿门级别)的计算。
作为本系列的最后一篇文章,本文继续对 zk-SNARK 协议进行完善,最终形成一个完整的 zk-SNARK 协议
上一篇文章中我们学习了如何将程序转换为多项式进行证明。到这里似乎已经有点晕了,本文将对协议执行进一步的约束,并对协议展开优化。
前文主要介绍了如何构造多项式的零知识证明协议,现在将开始探讨如何构造更通用的协议。本节主要是讲如何将一组计算的证明转换为多项式进行证明。本文重点主要包括:多项式的算术性质,多项式插值等。
有限域上的椭圆曲线是零知识证明的基础。零知识的实现是基于离散对数问题。从计算的角度来看,F_p是个有限域,在之基础上建立的椭圆曲线点的运算都是在这个域范围内。有限域上的椭圆曲线上有很多循环子群F_r,具有加法同态的特性。离散对数问题指的是,在循环子群上已知两点,却很难知道两点的标量。
相信看完前一篇文章的朋友们会有一点很不解的地方:为什么我们可以如此简短的创建一个证明,并且证明很长的信息呢?在上课前我也有这同样的疑惑,甚至觉得这个是一个“黑科技”,不过相信大家看完这篇文章,就会知道如何去驾驭这个“黑科技”了。
探索零知识证明系列(五)
上一篇文章(多项式的性质与证明)中,作者介绍了如何利用多项式的性质来证明某个多项式的知识,相信大家已经对构造证明有了一些基本的认识。目前的证明协议仍然存在一些缺陷,本文将会针对这些薄弱项进行改进,进而最终构造出关于多项式的零知识证明协议。本文重点:KEA,交互式零知识证明,非交互式零知识证明和 Setup。
扫一扫 - 使用登链小程序
106 篇文章,294 学分
3 篇文章,269 学分
55 篇文章,237 学分
13 篇文章,206 学分
16 篇文章,163 学分