React Native中的椭圆曲线密码学

时间:2019-09-22 10:53:47

标签: javascript react-native cryptography elliptic-curve ecdh

有人知道React Native是否有椭圆曲线Diffie Hellman加密(ECDH)的实现吗?

我为此找到了一些库。他们每个人都有一些问题:

  1. react-native-ecc:它仅生成密钥对,而未实现从私钥和公钥生成共享密钥(秘密密钥)进行加密
  2. react-native-crypto:它使用了一些技巧,并递归地更改了node_modules,我认为它并不稳定。
  3. elliptic:它在普通的javascript实现中,不能在react native中使用

1 个答案:

答案 0 :(得分:1)

据我所知,没有任何人(2020年2月)。

在我正在研究的项目中,我们评估了已知的库,但找不到适用于iOS的库。我们需要的操作包括ECDH(具有P-256曲线)。

它仍在进行中,但是我们的想法是在Swift中本地构建加密操作,并通过桥接来公开它们,以填补crypto.subtle API的缺失部分。

更新:该代码是开源的(iOS的Cliqz浏览器的一部分):

JavaScript(ReactNative):

Swift(基于CryptoKit库的本机代码):

这是提供window.crypto.subtle功能的代码,正如您在Firefox或Chrome之类的桌面浏览器上所期望的那样。要查看其用法,您可以查看actual usage,或者-也许更容易-查看commented-out example

我将在此处添加链接,以希望它为面临相同问题的人提供切入点。请注意,Cliqz项目已经终止,因此,如果您复制粘贴该解决方案,请注意,因为它不会收到安全补丁。