文章深入探讨了Diffie-Hellman问题及其在密码学中的应用,重点介绍了椭圆曲线Diffie-Hellman(ECDH)密钥交换协议和ElGamal加密协议。文章不仅详细解释了这些技术的原理,还提供了代码示例和安全分析,帮助读者更好地理解其实现和应用。
该 BIP (Bitcoin Improvement Proposal) 提议对 BIP70 支付协议进行扩展,主要包括:允许支付请求的发起者(Sender)自愿签名原始请求,并提供证书,让收款人(Payee)知道交易的身份;以及加密返回的 PaymentRequest,以防止中间人查看 Payment Request 的详细信息,从而实现更安全和自动化的支付信息交换过程。
该文档是关于可复用支付码(Reusable Payment Codes)的开放比特币隐私项目(Open Bitcoin Privacy Project)的征求意见稿(RFC),定义了版本3和版本4的支付码标准,扩展了BIP-47中定义的可复用支付码,解决了旧版本支付码在多区块链上密钥重用和通知交易数量限制等问题,并提供了详细的规范、兼容性规则、序列化方法、协议以及测试向量。
本文档描述了v0版本的 Oninon 路由协议,该协议构建了一种 Onion 路由数据包,用于将付款从起始节点路由到最终节点,数据包通过多个中间节点(称为跃点)进行路由。消息在每个Hop上都会混淆,以确保网络级别的攻击者无法将属于同一路由的数据包关联起来。该路由由始发节点构建,该节点知道每个中间节点和最终节点的公钥,并使用 ECDH 算法为每个中间节点和最终节点创建共享密钥。
在密钥交换中使用ECDH,在数字签名中使用ECDSA,secp256k1 曲线已被证明可以在密钥交换和 RSA 签名中取代 Diffie-Hellman 方法。
本文介绍了闪电网络中的盲路径技术,它通过加密隐藏部分支付路径,保护收款人的隐私。盲路径利用ECDH算法生成共享密钥,对节点ID进行“盲化”,使得付款方无法得知完整路径和收款方身份。文章还讨论了盲路径的原理、创建过程、应用场景(如私密通道路由、强制节点见证)以及当前的应用状态,并指出了现有实现的用户体验挑战,以及对盲路径的误解和潜在攻击。
本文深入探讨了椭圆曲线密码学(ECC)中基点G的重要性,解释了其在密钥交换中的作用。通过具体示例展示了如何选择合适的基点以避免循环,并介绍了order的概念及其对安全性的影响。文章还给出了判断bad base point的例子,并介绍了secp256k1曲线的基点。
本文提出了一种新的比特币隐私方案,该方案旨在避免地址复用带来的隐私问题,同时保持地址复用的一些便利性,并确保仅通过比特币时间链即可恢复钱包,且避免了可见的指纹。该方案通过引入一种通知交易和共享密钥机制来实现,并在发送者和接收者之间建立一种关系,以便后续的交易可以安全地进行。
该文档描述了洋葱路由协议的构建方法,用于将支付从发起节点路由到最终节点。数据包通过多个中间节点(称为“跳”)进行路由。路由方案基于 Sphinx 构造,并扩展了每个跳的有效负载。中间节点可以验证数据包的完整性,并了解应将数据包转发到哪个节点。该协议使用共享密钥生成伪随机字节流来混淆数据包,并使用密钥来加密有效负载和计算 HMAC,以确保每个跳的数据包完整性。
椭圆曲线密码学的应用:密钥交换与信息签名
本文介绍了新提出的椭圆曲线 Eccfrog512ck2,它是一种增强型的 512 位 Weierstrass 椭圆曲线,旨在提高性能。该曲线在点生成、标量乘法、点验证和 ECDH 密钥交换时间等方面优于 NIST P521 曲线,并已在 IACR 上发表。
本文介绍了确定性和非确定性密钥交换的概念,以及如何在 ECDH 密钥交换方法中使用 libsodium.js 实现这两种方式。确定性密钥交换使用已知的种子值生成密钥,每次都得到相同的结果,而非确定性密钥交换则随机生成密钥,每次结果都不同。文章通过代码示例展示了这两种方法的实现,并提供了在线演示。
ECDH全称是椭圆曲线迪菲-赫尔曼秘钥交换(Elliptic Curve Diffie–Hellman key Exchange),主要是用来在一个不安全的通道中建立起安全的共有加密资料,一般来说交换的都是私钥,这个密钥一般作为“对称加密”的密钥而被双方在后续数据传输中使用。
ECDH
私钥