Tag: 椭圆曲线

为什么本站点的ECC-DH对称密钥与OpenSSL不同

我正在使用(这个网站的) Javascript库和OpenSSL Ruby来计算Elliptic Curve Diffie Hellman的对称密钥。 但是,根据我的结果,OpenSSL Ruby只生成一个密钥,而不像具有X和Y对称密钥的网站上的密钥。 我很困惑,因为我的OpenSSL对称密钥与网站上的那些x和y中的任何一个都不匹配。 使用secp224r1曲线得到的对称(共享密钥)密钥: Ruby OpenSSL 13506351678569412185536677668115375188438201041599149052762191980775 使用Site的JS库 x: 26210366144026557327555572210249241206666031403062020900473236895358 y: 19676808255388748321882118528911150828003358302170965920476006073155 我的问题是: 1)为什么OpenSSL Ruby只产生一个键,而该大小产生两个键:x和y(因为我假设x和y不会相互连接,因为与Ruby对称相比,bitsize会太长键) 2)有没有办法将两个对称密钥(上面的OpenSSL和JSBN-EC库)相互转换? 我所有的转换尝试都失败了。 我一直在努力工作一周,现在用JSBN-EC库实现Ruby OpenSSL。 我也试过(SJCL库)但是类似的结果(对称键不匹配)。 请帮忙。