(HW)来自SDK的ECDH(curve25519)与(外部)libnaid:共享秘密问题

⚠️
你好。。谢谢你来参加论坛。令人兴奋的消息!我们现在正在移动到我们的新论坛平台,将提供更好的功能,并包含在主对话网站的过程。所有帖子和账号都已迁移。我们现在只接受新论坛上的流量-请在//www.wsdof.com/support. 我们将在未来几天内修复bug/优化搜索和标记。
11个职位/0个新职位
最后一篇文章
恩恩戈丁
离线
最后一次见到:1 year 5 months ago
已加入:2017-03-21 10:20
(HW)来自SDK的ECDH(curve25519)与(外部)libnaid:共享秘密问题

你好,
我正在开发一个ecdh-curve25519加密应用程序,它应该基于我的开发板上的硬件加速器。
At the moment I am able to generate a [Shared Secret] by using as from your guide (DA1468x_DA15xxx_SDK_1.0.14.1081/doc/html/group___e_c_d_h.html).
Checking flags and resources buffer it seems all OK!

这个“共享秘密”应该与另一个使用“libnadium library”(同样的ecdh曲线)在另一个外部设备(比如linux pc)上使用相同的curve25519生成的另一个共享。

Now, at this point something wrong happens: the two shared secret are completely different.

Did you have any idea or even experienced such a problem?
Did you ever tested the algorithm for compatibility with other shared secret generators?

先谢谢你

[使用的SDK]::DA1468x\u DA15xxx\u SDK\u 1.0.14.1081
[PC-linux]:: libsodium+linux ubuntu 18

Device:
PM\U对话框
离线
最后一次见到:6天8小时前
工作人员
已加入:2018-02-08 11:03
Hi nhan.ngodinh,

Hi nhan.ngodinh,

Let me check your issue and I will get back to you as soon as I have an answer for you.

谢谢,下午好

恩恩戈丁
离线
最后一次见到:1 year 5 months ago
已加入:2017-03-21 10:20
你好,

你好,
为了给今天的讨论提供一些要点,我用“test vector”测试了您的[SDK代码],如[https://tools.ietf.org/html/rfc7748#page-14].
结果与预期的[共享机密]不符。
相反,使用[ubuntu+libnadium]在[linux pc]上进行相同的测试,返回的是正确的[shared secret]。

现在,如果我没有犯任何错误,我猜你可能不符合(非正式)标准RFC7748。

谢谢,恩

PM\U对话框
离线
最后一次见到:6天8小时前
工作人员
已加入:2018-02-08 11:03
Hi nhan.ngodinh,

Hi nhan.ngodinh,

请您澄清一下[SDK代码]和您使用的测试向量是什么?你不应该采取不同的结果,但我会尝试复制你的问题。另外,您正在使用的任何输入/代码片段都会非常有用。

谢谢,下午好

恩恩戈丁
离线
最后一次见到:1 year 5 months ago
已加入:2017-03-21 10:20
你好,

你好,
as I specified in my previous comment, test vectors are taken as from [https://tools.ietf.org/html/rfc7748#page-14]-> pag 13.
For simplicity I'm attaching below the keys and resulting shared secret:

# Alice's private key, a:
77076d0a7318a57d3c16c17251b26645df4c2f87ebc0992ab177fba51db92c2a

# Alice's public key, X25519(a, 9):
8520f0098930a754748b7ddcb43ef75a0dbf3a0d26381af4eba4a98eaa9b4e6a

# Bob's public key, X25519(b, 9):
DE9EDB7D7B7DC1B4D35B61C2ECE435373F8343C85B78674ADFC7E146F882B4F

#他们共同的秘密,K:
4a5d9d5ba4ce2de1728e3bf480350f25e07e21c947d19e3376f09b3c1e161742

[SDK代码]:
#参考SRC:
DA1468x\u DA15xxx\u SDK\u 1.0.14.1081/SDK/interfaces/crypto/src/crypto\u ecdh.c

#代码段:
/*强制在crypto_ecdh.h中仅使用curve25519*/
#定义加密\u ECDH \u仅使用\u曲线25519(1)

/*初始化曲线结构*/
初始化的\u PRIVILEGED \u DATA crypto \u ecdh \u context \u t c \u ctx=crypto \u ecdh \u INIT \u ctx(crypto \u EC \u PARAMS \u CURVE25519);

/* copying Alice's private key into the "d" filed */
memcpy(&(c\u ctx.d[0]),Alice\u priv,32岁;
/*设置对应标志*/
c_ctx.flags |= CRYPTO_ECDH_CTX_d;
/*将Alice的pub键复制到“X坐标”字段中,这是curve25519唯一使用的一个*/
memcpy(&(c\u ctx.Ql[0][0]),Alice\u pubk,32岁);
/*设置对应标志*/
c|ctx.flags |=加密| ECDH | ctx | Ql;
/*将Bob的pub键复制到“X坐标”字段中,这是唯一一个用于curve25519的字段*/
memcpy(&(c\u ctx.Qp[0][0]),Bob\u pubk,32岁);
/*设置对应标志*/
c_ctx.flags |= CRYPTO_ECDH_CTX_Qp;

/* calling crypto_ecdh_compute for generating shared key (flags should be ok at this point) */
crypto_ecdh_compute (&c_ctx c_ctx_timeout);
/*正在打印共享机密和标志(标志应为15,但共享机密错误)*/
printf(“共享机密[flags->%d]\n”,c\u ctx.flags);
for(uint32_t i = 0; i < 32; i++)
printf(“\”%x\“,”,c\u ctx.s[i]);

如果你还需要什么,请告诉我。

谢谢,恩

PM\U对话框
离线
最后一次见到:6天8小时前
工作人员
已加入:2018-02-08 11:03
Hi nhan.ngodinh,,

Hi nhan.ngodinh,,

我会尝试复制你的问题,我会尽快给你反馈。

谢谢,下午好

恩恩戈丁
离线
最后一次见到:1 year 5 months ago
已加入:2017-03-21 10:20
你好,

你好,

did you get the chance to have a look at the problem?

我需要了解是否继续使用您的SDK“ECDH-curve25519”或转移到另一个解决方案。

请低调,我们有一些压力,最后一个帖子是日期为“2019-03-01”。

非常感谢你的支持。

当做

nn

PM\U对话框
离线
最后一次见到:6天8小时前
工作人员
已加入:2018-02-08 11:03
Hi nhan.ngodinh,

Hi nhan.ngodinh,

Apologies for the delay, but I have driven your issue internally, so i will get back to you when I have any update from the Team.

谢谢,下午好

PM\U对话框
离线
最后一次见到:6天8小时前
工作人员
已加入:2018-02-08 11:03
Hi nhan.ngodinh,

Hi nhan.ngodinh,

你能告诉我你在SDK1.0.14.1081的哪个项目工作吗?在一个可执行的项目中还是在一个不可执行的项目中?如果你正在从事一个不可编辑的项目,我建议你进入一个可编辑的项目(例如BLE\u adv项目),并遵循同样的程序。你能在一个不可靠的项目中得到正确的结果吗?

谢谢,下午好

恩恩戈丁
离线
最后一次见到:1 year 5 months ago
已加入:2017-03-21 10:20
你好,

你好,

“我建议您进入BLE项目(例如BLE\u adv项目),并遵循相同的步骤”你在开玩笑吗?

简单回顾一下:你不知道API有什么问题吗?一个月后。。。

我们正在讨论网络安全功能,我建议进一步调查问题,以解决您的问题,让我们使用它作为一个共同的(和有用的…)API,在任何项目。。。

无论如何,我想最好不要使用它的时刻,直到你提供了一个有效的替代方案(或预期的修复)。

非常感谢您的支持

当做

aa级

PM\U对话框
离线
最后一次见到:6天8小时前
工作人员
已加入:2018-02-08 11:03
Hi nhan.ngodinh,

Hi nhan.ngodinh,

我会用注册的邮箱和你联系。

谢谢,下午好