Kademlia 论文指出,节点被分配了随机的 160 位 ID 以及密钥。这是严格的限制吗?如果对我来说足够好,我还能继续使用 128 位密钥空间吗?
问问题
202 次
1 回答
2
之所以选择长度,是因为 SHA1 用作哈希表键的哈希函数,输出 160 位,这是当时使用最广泛的哈希函数。
路由算法本身不需要特定的长度来工作,它所需要的只是密钥空间足够大以避免随机选择的 ID 中的冲突。128 位 ID 将提供 64 位的冲突空间,这应该足够了,除非您打算解决 gray goo。
但除了路由算法本身,密码学问题也可能是相关的。使用加密的网络受益于节点 ID 加倍作为节点的公钥和通常部署的 ECC 算法需要至少 256 位的公钥。此外,针对(当前假设的)量子攻击的抵抗力已将推荐的哈希函数大小扩大到远远超过 128 位,因为它们会将碰撞抵抗力从经典攻击的N/2降低到N/3 。
于 2019-06-08T16:38:53.263 回答