椭圆曲线加密 - iOS和Android上的ECDSA

时间:2014-12-12 22:43:51

标签: android ios encryption ecdsa

我正在整理加密策略,该策略将通过BTLE加密iOS和Android设备之间共享的数据。我们想使用基本的椭圆曲线加密。

我们目前正在实施我们的iOS应用,我们的Android应用将在下个月左右启动开发。所以,我的问题如下:

我知道在iOS上我可以使用证书,密钥和信任服务来生成类型为kSecAttrKeyTypeECDSA的密钥对。这很酷。

我看到Android的加密库BouncyCastle也支持ECDSA。

所以,我的问题是......我可以指望在任何一个平台上生成的密钥对在iOS和Android上的加密和解密方面都能运行吗?

即。

iOS用户A

  • 使用iOS ECDSA生成公钥/私钥对
  • 保留对用户B的公钥的引用

Android用户B

  • 使用BouncyCastle ECDSA生成他们的公钥/私钥对
  • 保留对用户A的公钥的引用

用户B是否可以使用用户A的公钥对消息进行编码..将编码数据发送给用户A并期望用户A能够解码?

1 个答案:

答案 0 :(得分:4)

不,因为ECDSA仅用于生成签名 - 例如进行身份验证。但是,ECIES应该可以在Android上使用Bouncy Castle,在iOS上使用CryptoPP。也可以将ECDH与单独的身份验证或静态静态ECDH一起使用,但这可能需要一些学习曲线。

请注意,ECIES会产生额外的开销,所以不要忘记把它放到你的计算中......