Ed25519使用了扭曲爱德华曲线,签名过程和之前介绍过的Schnorr,secp256k1, sm2都不一样,最大的区别在于没有使用随机数,这样产生的签名结果是确定性的,即每次对同一消息签名结果相同。
本节扩展了一般椭圆曲线上密码协商的原理,原理更简单易于理解,接着讨论了大素数判定的方法,这是在密码学实现中普遍使用的方法,给出了简单的论证,并不详细
本文将介绍一种新的椭圆曲线实例-- Baby Jubjub Elliptic Curve。
深入解析椭圆曲线
以太坊是一个公共的区块链网络,可以通过各种不同类型的账户访问。与比特币类似,底层密码学用的是SECP256K1椭圆曲线。但这是什么意思呢?什么是账户?什么是密钥?什么是地址?为什么要校验checksum ?
有限域上的椭圆曲线是零知识证明的基础。零知识的实现是基于离散对数问题。从计算的角度来看,F_p是个有限域,在之基础上建立的椭圆曲线点的运算都是在这个域范围内。有限域上的椭圆曲线上有很多循环子群F_r,具有加法同态的特性。离散对数问题指的是,在循环子群上已知两点,却很难知道两点的标量。
文章详细介绍了BLS12-381椭圆曲线的参数化和实例化过程,包括如何计算其基础域模数和子群,以及构造效率的双线性配对函数的步骤。尤其关注了适合zk-SNARK使用的结构和性能要求,提供了具体的生成器和序列化形式的实现细节。
本文介绍了椭圆曲线在加密和数字签名中的应用,详细阐述了公钥和私钥基于离散对数问题的生成原理,以及椭圆曲线集成加密方案(ECIES)和椭圆曲线数字签名算法(ECDSA)的工作机制。文章强调椭圆曲线群运算在保障加密和签名安全性中的核心作用,并指出哈希函数等进阶主题将在后续讨论。
本文探讨了zkSNARK技术在Groth16协议中的可塑性攻击漏洞,解释了攻击者如何通过修改证明中的椭圆曲线点来生成新的有效证明,并提供了相关的代码示例。
本文是密码学系列文章的一部分,重点介绍了基于椭圆曲线的加密协议,包括密钥交换、承诺方案、签名、零知识证明和可验证随机函数等。文章通过清晰的示例和图示,详细解释了这些协议的原理和实现方法。
开始鼓捣之前,我希望我知道的。 近年来,椭圆曲线BLS12-381逐渐火了起来。许多协议都将其应用到了数字签名和零知识证明中:Zcash、Ethereum 2.0、Skale、Algorand、Dfinity、Chia 等等。 不幸的是,现有的关于 BLS12-381 的资料里充满着晦涩的咒语,比如
哈希到曲线函数的技术现状,在secp256k1椭圆曲线上的应用,以及一般的哈希到曲线算法背后的一些安全考虑和性能优化。
这篇文章为初学者提供了关于椭圆曲线密码学(ECC)的入门介绍,包括基本概念、操作和实际应用示例。文章通过定义关键术语、解释椭圆曲线的数学原理、讲解ECC的单向性以及Diffie-Hellman密钥交换算法,帮助读者理解ECC如何用于保护信息安全。整体内容系统且易于理解。
本文详细介绍了以太坊预编译合约的九种类型及其应用场景,包括椭圆曲线数字签名恢复、哈希方法、内存复制和椭圆曲线数学运算等,并提供了如何使用Solidity调用这些预编译合约的示例代码。
文章详细介绍了如何从公钥生成以太坊地址,包括椭圆曲线公钥的生成、使用Python代码示例,以及使用掷硬币或骰子生成私钥的方法。同时,文章还深入探讨了secp256k1曲线的数学原理。