2

我在嵌入式设备上使用 libsodium。我想与移动设备进行交互以进行密钥生成/加密/解密。

是否有必要在所有参与加密通信的设备上使用 libsodium?

换句话说:libsodium 包装了 NaCl,那么是否可以在远程平台(Android 或 iOS)上使用由 libsodium 包装或包含在 NaCl 中的本机加密功能而不实际包含 libsodium 库,或者这只是要求麻烦?

我还在嵌入式设备上提供了 mbed TLS。是否有一种基本的通用加密方法可以推荐用于 和 之间的加密device <--> Android通信device <--> iOS

谢谢!

4

2 回答 2

2

Libsodium 是一个独立的库。它不包装任何其他库。

它是跨平台的,因此您可以使用它在您的嵌入式设备和 iOS/Android 之间进行通信。它在一个系统上支持的一切都将在另一个系统上以相同的方式工作。

如果您正在寻找内存占用较小的东西,您可能希望使用libhydrogen

于 2017-11-06T07:32:55.100 回答
1

Lib-sodium 是很好的通信加密库。最终你会调用 NaCl 方法。

如果您对 c 或 c++ 之类的本机调用感到满意,则可以使用。

我曾在 Android 应用程序中使用 lib 钠库进行服务器和设备到设备的通信。

#更新Android库 git link Libsodium Android

Gradle 插件implementation 'com.github.joshjdevl.libsodiumjni:libsodium-jni-aar:1.0.8'

于 2017-10-16T21:11:17.157 回答