本文介绍了BLS门限签名,它允许将私钥拆分为多个共享,并设置一个阈值,只有达到该阈值数量的共享才能用于签名。文章通过一个示例展示了如何使用Zig语言实现BLS门限签名,其中将私钥拆分为五个共享,并允许任意三个共享组合生成有效签名。
文章讨论了后量子密码学(PQC)的迁移,特别是NIST推荐的ML-KEM和ML-DSA算法,用于替换现有的RSA和ECC密钥交换及数字签名方法。文章通过代码示例展示了如何在OpenSSL 3.5和Botan3库中集成ML-KEM,并对不同密钥交换方法的性能进行了基准测试,展示了ML-KEM在性能上与传统加密方法相当。
本文探讨了后量子密码(PQC)签名迁移的启动,重点介绍了ML-DSA(又名Dilithium)作为RSA、ECDSA和EdDSA等传统签名算法的潜在替代方案。文章通过OpenSSL和Botan3库的代码示例,展示了ML-DSA的集成和应用,并对密钥生成速度和签名验证进行了测试。
本文介绍了Botan3,一个开源密码学库,常用于AWS,支持多种对称密钥方法(如AES, Blowfish)和哈希方法(如SHA-256, SHA-3),以及RSA, ECDSA, Ed25519等公钥签名算法,以及DH, ECDH, X25519等密钥交换算法。文中还提供了各种算法的性能基准测试数据。
本文介绍了使用Rust编程语言和Bellman库实现Groth16零知识证明,并测量了生成和验证证明所需的时间。实验结果表明,生成电路需要较长时间(140秒),生成证明需要15秒,但验证证明非常快(0.03秒)。
本文介绍了非交互式零知识证明(NI-ZKP)的原理和应用,重点介绍了Groth16算法,它是第一个定义了恒定大小的证明并能有效验证的算法,并探讨了其在区块链中的实际应用。文章还提供了使用Groth16证明知道方程解的示例代码。
本文介绍了基于Logistic Map的加密方法,通过Logistic Map生成的混沌序列对明文数据进行置换或替换,实现加密。Logistic Map加密具有非重复性和难以预测的特点,可将ASCII字符映射到图像或数据块中,通过调整Logistic Map的参数可以改变加密效果。
本文介绍了AES-GCM-SIV,这是一种改进的AES-GCM版本,它通过从nonce值派生密钥来克服nonce重用问题,从而提供更高的安全性。文章对比了AES-GCM和AES-GCM-SIV的性能,并提供了Python代码示例,展示了如何在实际中使用AES-GCM-SIV进行加密和解密。
本文介绍了MiMC-Feistel密码,它是一种对称密钥加密方法,基于Feistel网络,并在有限域上进行操作。MiMC-Feistel在多方计算、全同态加密和零知识证明等领域具有应用前景,并且相比AES,其复杂度更低。
本文介绍了在以太坊等区块链中,为了实现零知识证明(ZKP)并提高效率,对哈希函数的需求。传统哈希函数如SHA-256在区块链环境中计算成本高昂,因此提出了Pedersen哈希(基于椭圆曲线数学)和Poseidon哈希(基于有限域计算)作为替代方案,并提供了代码示例。