本文接着前一篇BLS密钥聚合,讲下原始的聚合密钥签名可能出现的问题,需要一些背景知识铺垫,以Schnorr签名为例来说明,对此不熟悉的可先参考相关文章:Schnorr签名与椭圆曲线
powersoftau,采用MPC以及随机Beacon,完成可信设置。通过POK算法实现可验证的密钥对,并建立和上一个参与方计算结果的绑定。参与可信设置的人数可扩展,并且参与方只需要按照顺序一个个的进行指定的计算即可。协调方在接收到某个参与方的计算后,验证后,发送给下一个参与方。
改进的密钥聚合的算法是如何防止伪签名的呢?本质上增加了公钥的可验证性
本文介紹了BLS签名简要过程及其原理,综上可以看出BLS签名过程没有使用随机数,签名结果具有确定性(与RSA,EdDSA类似,不同于ECDSA,Schnorr等)。其构建在具有双线性映射的配对函数之上。
本文介绍参与者少于门限值t时的方案,实质上是通过提高c的值来改变门限值。 需要说明的是后m个节点虽然也参与计算了,但不是和前k节点一样(生成秘密随机数,计算准备多项式),属于被动参与,不会影响最终结果。
动态秘密共享方案可有效提高长周期密钥的安全性。本文介绍了典型的Amir Herzberg实现方案,默认情况下所有参与者都参与,恢复阶段只要大于或等于门限t个参与能够周期性地更新自己的密钥部分,就能达到目的,本质上是 n 个参与者协商了一个常数项为零的 t-1 次多项式!
Feldman的方案提供了可验证的密钥分享机制,验证子密钥的正确性的关键是密钥分发者公布了承诺信息$(c_i)$,$c_i$ 绑定了多项式系数,从而使得每个参与者收到的承诺都来自同一个多项式
密钥分享技术本质上是单一密钥的拆分管理,使用n份冗余储存,保证m份分片确定的秘密。这个秘密可以是私钥,也可以扩展成其他任意信息,如资产共同管理,谜语答案,秘密遗嘱等。
本文介绍了比特币使用的多签方式,多钱类型地址 + 交易多个签名。但是如果参与者较多的话,签名数据就会倍增,占用很多存储空间,而Schnorr聚合签名则解决了这个问题,无论多少参与者,最后聚合成一个签名,跟普通的签名无样。
随机数在密码学体制中,占据重要的位置,如果不正确使用会带来非常大的安全隐患,历史上发生此类事故也不在少数。伪签名是一个弱问题,可能会对不熟悉的人造成欺骗。
本文主要说了EdDSA签名机制的发展及其优点
zk-SNARK 是如何实现零知识证明的
Ed25519使用了扭曲爱德华曲线,签名过程和之前介绍过的Schnorr,secp256k1, sm2都不一样,最大的区别在于没有使用随机数,这样产生的签名结果是确定性的,即每次对同一消息签名结果相同。
本文介绍了蒙哥马利曲线和应用实例Curve25519,Curve25519得到广泛使用,其自身的长处简单说明,没有展开
本文介绍了爱德华曲线运算的几何意义,引入了扭曲爱德华曲线。
本文简要概述了爱德华曲线方程和有限域K上点运算,在参数d不是k平方的情况下,是完备的,即没有异常点以及相同点操作也是一致的(对比之前的椭圆曲线点加法规则(有无穷远点,相同点操作异与不同点),这样的性质可以增强对侧信道攻击(side channel attack)的抵御能力,同时点乘的效率也更高!
本文原计划要讲椭圆曲线中的爱德华曲线,鉴于很多朋友咨询sm2的问题,所以把sm2恢复公钥问题详细说一下,原理跟secp256k1曲线一样,没有什么新的内容,只是细节的变化。
本文主要介绍了VRF基于ECC公钥体制的证明验证过程, 基于前一文的基础,本篇顺理成章地说明了验证的内在逻辑,别的地方很难有这样的内在分析!
本文主要介绍了VRF基于ECC公钥体制的证明生成过程, 其中涉及多个辅助方法,这些方法只是做了简要的介绍,因为详细说明每个方法会有很多内容,先搞清楚主要过程,后续有时间再细说。
PLONK算法的电路采用新的描述模型。整个电路由门电路约束和Copy约束(连线约束)组成。门电路约束和Copy约束都转换为多项式表达。Copy约束通过累加算法实现。
扫一扫 - 使用登链小程序
41 篇文章,411 学分
74 篇文章,301 学分
30 篇文章,258 学分
158 篇文章,167 学分
11 篇文章,160 学分