Kademlia 论文指出,节点被分配了随机的 160 位 ID 和密钥。这是一个严格的限制吗?如果我觉得足够好,我还可以继续使用 128 位密钥空间吗?
选择这个长度是因为用作哈希表键的哈希函数的 SHA1 输出 160 位,这是当时使用最广泛的哈希函数。
路由算法本身不需要特定的长度来工作,它所需要的只是密钥空间足够大以避免随机选择的 ID 中的冲突 https://en.wikipedia.org/wiki/Birthday_problem。 128位ID将提供64位的冲突空间,这应该足够了除非你打算解决灰色粘性问题 https://xkcd.com/865/.
但除了路由算法本身之外,加密问题也可能相关。使用加密的网络受益于节点 ID 兼作节点公钥,并且通常部署的 ECC 算法需要至少 256 位的公钥。此外,针对(当前假设的)量子攻击的抵抗力已将建议的哈希函数大小大大超出了 128 位,因为它们会降低碰撞抵抗力N/3从下N/2对于经典攻击。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)