React Native 中的椭圆曲线密码学

Ema*_*yat 5 javascript cryptography elliptic-curve react-native ecdh

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

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

  1. react-native-ecc:它只生成密钥对,并没有实现从私钥和公钥生成共享密钥(秘密密钥)进行加密
  2. react-native-crypto:它使用了一些 hack 并递归地更改了 node_modules,我认为它不稳定。
  3. elliptic:它是一个普通的 javascript 实现,并且在 React Native 中不起作用

Phi*_*ßen 2

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

在我正在进行的一个项目中,我们评估了已知的库,但找不到任何适用于 iOS 的库。我们需要的操作包括 ECDH(使用 P-256 曲线)。

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

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

JavaScript(ReactNative):

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

这是提供功能的代码window.crypto.subtle,正如您在 Firefox 或 Chrome 等桌面浏览器上所期望的那样。要了解它是如何使用的,您可以查看实际用法,或者 - 也许更容易 - 查看注释掉的示例

我将在此处添加链接,希望它为面临同样问题的人提供切入点。请注意,Cliqz 项目已停止,因此复制粘贴解决方案时要小心,因为它不会收到安全补丁。