根据伯恩斯坦的原始论文,在Diffie-Hellman密钥交换中使用Curve25519时不需要进行密钥验证。然而,这个财产是从哪里来的呢?
是否有任何证据或论证,以了解这一真正的实际性质的Curve25519?
这是否意味着每个x坐标可以属于Curve25519中的一个P=(x,y)点?这可能吗?
发布于 2021-01-22 11:21:42
Curve25519用户对DHKE的责任是第3节;
假定合法用户生成独立的统一随机密钥。例如,用户可以生成32个统一的随机字节、第一个字节的清除位0、1、2、最后一个字节的清除位7以及设置最后一个字节的位6。
这是合法用户不属于小分组的保证。记住,曲线的辅助因子(h = \#E(k)/n)是h=8,这意味着有Curve25519的小子群。子群的顺序是2,4,8,n,2n,4n和8n。
现在,攻击者可以选择一个小的子组来使用林-李主动小子群攻击。如果辅助因素有很多小因素,这种攻击是非常有效的.然后,攻击者可以使用CRT组合结果。
攻击者将选择一个P,该D8的顺序很小,其中离散对数很容易实现。在协议期间,合法用户将向攻击者泄露[a]P。现在,攻击者可以从[a]P了解多少有关D11的信息?
[a]P所揭示的信息最多只有\lceil log_2 h\rceil位。如果负责的用户选择他们的秘密a \equiv 0 \bmod h,那么[a]P = \mathcal{O}为任何小订单,所以他们将不会公开任何!
If您不承担责任,那么您need验证!在DHKE期间,对于每个公钥,您必须查看[8]P \stackrel{?}{=} \mathcal{O}。这需要3倍的成本;[8]P = [2]([2]([2]P))。最后,为了确保P通过双加算法对[n]P = \mathcal{O}进行订单检查,其成本为\mathcal{O}( log_2 n)。
哪一个更好?当然,遵守建议,不需要验证,也不泄露关于秘密的信息。
一些曲线的验证可能很难,有一篇关于这方面的文章;
P \neq \mathcal{O}x和y坐标P,x(P),y(P)是字段的有效元素。P满足曲线方程(扭转攻击)[n]P = \mathcal{O},如果曲线是素数阶,那么前三个条件就意味着第四个。如果曲线不是素数,那么我们需要测试[h]P \neq \mathcal{O}中的非素数曲线,其中h>1。攻击者可以选择将有效点P作为公钥发送到曲线的二次扭转点上,而不是将其作为公钥发送到分组顺序较低的曲线上。如果接收方不检查此(3. case),则可能容易受到此攻击。如果用户在密钥生成过程中承担责任,那么Curve25519也是安全的。
4p_2阶,其中是素数p_2 = 2^{253} − 55484635554744707071703875581767296995。因此。它的小子组是2,4,通过选择秘密密钥,用户也可以对这些密钥进行安全保护。Why我们需要统一的随机密钥吗?
有一些协议[1] [2]使用密钥的固定字节,或低汉明加权密钥的性能(称为受限指数3.59 % HoAC)。如果汉明的重量是t of k位,而不是有\binom{k}{t}这样的键,那么Shank的小步步可以修改为在\binom{k}{n/2}-time中搜索。海曼,1993年年对此进行了研究。
这是否意味着每个
x坐标可以属于Curve25519中的一个P=(x,y)点?这可能吗?
点P在Curve25519上或在它的二次扭曲上。一个点(x,y)在曲线上当且仅当它满足曲线方程y^2 = x^3 + 486662 x^2 + x \text{ over } \mathbb{Z}/(2^{255} - 19)\mathbb{Z}
Special注意:原来合法用户没有监听DJB和Monero和所有其他CryptoNote货币都有易受攻击的实现.!麦克·汉堡构建了无咖啡因,以减轻合法用户手中的问题。
专利:1998年,Certicom发布了一项关于截至2013年的点验证专利( pantent US7215773B1)。很可能,由于这项专利,蓝牙LE不包括点验证和2018年攻击;
\textbf{The protocol fixed with point validation!}
https://crypto.stackexchange.com/questions/87709
复制相似问题