在 Kademlia 中,为什么建议使用 160 位节点 ID 和密钥而不是 128 位?

2024-01-01

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(使用前将#替换为@)

在 Kademlia 中,为什么建议使用 160 位节点 ID 和密钥而不是 128 位? 的相关文章

  • FutureWarning: Criterion ‘mse‘ was deprecated in v1.0 and will be removed in version 1.2.

    出现FutureWarning Criterion mse was deprecated in v1 0 and will be removed in version 1 2 Use criterion squared error whic
  • 【负荷预测】基于神经网络的负荷预测和价格预测(Matlab代码实现)

    目录 1 概述 2 基于神经网络的负荷预测 Matlab实现 2 1 代码 2 2 结果 2 3 回归树模型的进一步改进 3 基于神经网络的价格预测 Matlab代码实现 4 阅读全文 Matlab代码 1 概述 这个例子演示了用MATLA
  • SEGGER_RTT_printf()函数实现打印浮点、负数-示例

    概述 最近公司项目换另一款gsensor 用到了浮点数打印 又不想使用串口来打印数据 在此做个笔录 通过修改源码方式实现 一 修改源码 1 在 SEGGER RTT printf c 中 的 int SEGGER RTT vprintf u
  • 百度文库免费复制word文档的纯文字

    2022年5月11日测试过 以下方法能正常使用 1 在页面中安F12或者从浏览器的设置中找到开发人员工具 2 切换到控制台 然后点击右上角图标进入更多设置 3 在设置 首选项中 找到 调试程序 然后勾选 禁用javascript 4 做完上
  • eNSP:ospf相关实验

    一 实验要求 二 实验步骤 1 建设如下图拓扑并划分网段 2 配置R1 R4的接口和回环地址 R1 r1 int g0 0 0 r1 GigabitEthernet0 0 0 ip add 192 168 1 1 27 r1 int l 0
  • 虚拟计算技术

    虚拟计算的本质是资源共享 P2P计算 云计算 网格计算 普适计算都属于虚拟计算 一 概述 虚拟计算 Virtual Computing 的本质是资源共享 虚拟计算技术不仅能使人们更有效地共享现有的资源 而且能通过重组等手段 为人们提供更多
  • 从 iOS 到 Android 的点对点视频?

    我开始为 iOS 和 Android 开发 制作一个点对点视频聊天应用程序原型 我正在尝试创建与 FaceTime 或 Tango 类似的体验 即高质量的视频 可以在互联网 3G 上工作 而不仅仅是在同一 LAN 上 我刚刚开始进入研究阶段
  • 在 Twisted 中实现 Direct Connect 客户端的正确方法?

    我正在为 Direct Connect P2P 网络编写一个 Python 客户端 本质上 它的工作原理是连接到中央服务器 并响应正在搜索文件的其他用户 有时 另一个客户会要求我们连接到他们 他们可能会开始从我们这里下载文件 这是与其他客户
  • 是否可以连接两个或多个 WiFi Direct 组?

    我目前正在为我正在进行的一个项目尝试 WiFi Direct WiFiP2p 并想知道是否可以在组之间创建桥梁 从而将它们连接在一起 基于白皮书由 WiFi 联盟发布 这应该是可能的 尽管 P2P 规范没有描述此功能的机制 实施是特定于供应
  • C++ Winsock P2P

    Scenario 有没有人有任何使用 Winsock 在 C 中进行点对点 p2p 网络的好例子 这是我对特别需要使用这项技术的客户的要求 天知道为什么 我需要确定这是否可行 任何帮助将不胜感激 EDIT 我想避免使用库 以便我可以理解底层
  • 如何修复 InvalidStateError:没有远程 SDP 时无法添加 ICE 候选者

    我正在创建一个 webRTC 视频聊天 当从 Firefox 发起呼叫时显示呼叫者所有活动成员 并且接收者使用 chrome 此错误显示 未捕获 承诺 DOMException 无法在 RTCPeerConnection 上执行 addIc
  • 安卓和iPhone之间的距离

    我正在寻找一种当两部手机靠近时传输数据的方法 这需要跨平台 因此我无法使用 NFC 或 iBeacon 我计划使用 allJoyn 发送信息 我只想将数据发送给距离我几英尺的其他人 有什么方法可以在其他手机上准确读取距离吗 或者我可以通过放
  • 如何用C#实现P2P?

    最近 我想使用c 和Winform开发一个简单的聊天程序 主要功能是聊天和文件传输 但是我找不到使用dotnet实现p2p的示例 谁可以帮助我 查看WCF
  • UDP打洞帮助

    我正在尝试使用点对点将互联网网络添加到我的游戏中 我已经实现了仅 LAN 版本 它使用 NET 的对等类在本地网络内进行连接 我意识到我需要使用 UDP 打洞来建立与防火墙后面的其他客户端的连接 这就是我开始实施它的方式 该服务器是一个 H
  • 如何制作自己的 P2P 软件? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我怎样才能制作自己的napster 这些 p2p 程序使用哪个库 我不太熟悉套接字编程的概念 你能用Qt4制作p2p程序吗 从 Napst
  • 如何通过peerJS 点对点连接接收数据?

    我正在尝试使用peerJS 连接两个对等点 我几乎只是在遵循他们的 入门 但我仍然在挣扎 下面是我到目前为止得到的代码
  • WCF 是否支持点对点实现?

    我正在尝试在 LAN 内实现点对点消息传递和文件共享实用程序 那么 WCF 支持 p2p 吗 有人尝试过通过 WCF 进行文件共享吗 是的 它确实 请参见如何在对等网络中设计状态共享 http msdn microsoft com en u
  • 结束两个对等方之间的 WebRTC 视频通话

    我已经使用以下命令在两个同伴之间建立了视频聊天WebRTC 我想让一个对等方结束聊天 并让另一个对等方知道聊天已结束 聊天结束后 需要为双方执行一些代码 这PeerConnection对象有一个removeStream 应该触发的方法onr
  • 是否可以通过互联网在两个移动设备 (iPhone) 之间连接套接字?

    是否可以通过互联网在两个移动设备 iPhone 之间连接套接字 我正在尝试发现每个设备的IP并直接连接 我知道可以使用 Bonjour 来完成 但这只适用于本地网络 我需要通过互联网在两个设备之间建立高速连接 Thanks 如果你有两个 I
  • Android 平台上的客户端/对等点通过 wifi-direct 进行通信

    我有三个 Android 设备 A B 和 C 它们通过 wifi direct 连接 假设 B 是组所有者 我只有两个问题 1 A想要发送消息给C 消息是否必须经过群主B才能到达C 2 如果群主B意外断线 A还能给C发消息吗 Thanks

随机推荐