Questions tagged «protocols»

5
为什么有这么多基于文本的互联网协议?
从我发现,一个非常大的量的协议的旅行在互联网上是“基于文本的”,而不是二进制。有问题的协议包括但不限于HTTP,SMTP,FTP(我认为这是全部基于文本的协议),WHOIS,IRC。 实际上,这些协议中的某些协议每当要传输二进制数据时都会跳入某些循环。 这背后有原因吗?基于文本的协议显然会带来一些开销,因为它们需要发送更多的数据来传输相同数量的信息(请参见下面的示例)。有什么好处胜过这个? 通过基于文本的,我的意思是大多数协议中使用的字符是之间0x20(空间)和0x7E(~),与用于偶尔“字调校妥当,” 非常特殊的用途,如换行,空,ETX和EOT。这与通过连接传输原始二进制数据相反。 例如,将整数123456作为文本传输将涉及发送字符串123456(以十六进制表示为31 32 33 34 35 36),而将32位二进制值发送为(以十六进制表示)0x0001E240(如您所见,“包含”特殊的空字符) 。

4
测量单向网络延迟
这是关于衡量我创建的网络延迟的一个难题。我相信解决方案是不可能的,但是朋友们不同意。无论哪种方式,我都在寻找令人信服的解释。(尽管我认为它很困惑,但我认为它适合本网站,因为它适用于通信协议(例如在线游戏)的设计和体验,更不用说NTP了。) 假设两个机器人位于两个房间中,并通过具有不同单向延迟的网络连接,如下图所示。当机器人A向机器人B发送消息时,它需要3秒钟才能到达,但是当机器人B向机器人A发送消息时,它需要1秒钟才能到达。延迟永远不会改变。 尽管它们可以测量时间的流逝(例如,它们具有秒表),但是它们是相同的,并且没有共享的时钟。他们不知道其中哪个是机械手A(消息延迟3s),哪个是机械手B(消息延迟1s)。 发现往返时间的协议是: whenReceive(TICK).then(send TOCK) // Wait for other other robot to wake up send READY await READY send READY // Measure RTT t0 = startStopWatch() send TICK await TOCK t1 = stopStopWatch() rtt = t1 - t0 //ends up equalling 4 seconds 是否有确定单程行程延迟的协议?机器人可以发现其中哪个机器人的消息发送延迟更长?

1
破坏基于预共享对称密钥的身份验证协议
考虑以下协议,该协议旨在将(爱丽丝)认证为(鲍勃),反之亦然。乙AAABBB A→B:B→A:A→B:“I'm Alice”,RAE(RA,K)E(⟨RA+1,PA⟩,K)A→B:“I'm Alice”,RAB→A:E(RA,K)A→B:E(⟨RA+1,PA⟩,K) \begin{align*} A \to B: &\quad \text{“I'm Alice”}, R_A \\ B \to A: &\quad E(R_A, K) \\ A \to B: &\quad E(\langle R_A+1, P_A\rangle, K) \\ \end{align*} RRR是随机随机数。 KKK是预共享的对称密钥。 PPP是一些有效载荷。 m KE(m,K)E(m,K)E(m, K)表示用加密的。mmmKKK 米1 米2⟨m1,m2⟩⟨m1,m2⟩\langle m_1, m_2\rangle表示将与组合在一起,可以进行明确的解码。m1m1m_1m2m2m_2 我们假设加密算法是安全的并且正确实现。 攻击者(Trudy)想要说服Bob接受她的有效载荷来自Alice(代替)。Trudy可以假冒Alice吗?怎么样?P 一PTPTP_TPAPAP_A 这与 Mark Stamp的“信息安全:原则与实践”中的练习9.6略有修改。在书籍版本中,没有,最后一条消息仅为,并且要求Trudy“说服Bob她是爱丽丝”。马克·斯坦普(Mark Stamp)要求我们找到两次攻击,而我发现的两次攻击允许Trudy伪造而不是。 PAPAP_AE(RA+1,K)E(RA+1,K)E(R_A+1,K)E(R+1,K)E(R+1,K)E(R+1,K)E(⟨R,PT⟩,K)E(⟨R,PT⟩,K)E(\langle R, P_T\rangle, …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.