BTLE を介して iOS デバイスと Android デバイス間で共有されるデータを暗号化する暗号化戦略をまとめています。基本的な楕円曲線暗号を使用したいと考えています。
現在、iOS アプリを実装しており、Android アプリは来月かそこらで開発を開始する予定です。だから、私の質問は次のとおりです。
iOS では、証明書、鍵、および信頼サービスを使用して、タイプ kSecAttrKeyTypeECDSA の鍵ペアを生成できることを知っています。これはカッコいい。
また、Android 用の go to 暗号化ライブラリであるBouncyCastleも ECDSA をサポートしていることがわかります。
それで、私の質問は..どちらのプラットフォームでも生成されたキーペアが、iOS と Android の両方で暗号化と復号化に関して同じように動作することを期待できますか?
すなわち
iOS ユーザー A
- iOS ECDSA を使用して公開鍵と秘密鍵のペアを生成した
- ユーザー B の公開鍵への参照を保持します
Android ユーザー B
- BouncyCastle ECDSA を使用して公開鍵と秘密鍵のペアを生成しました
- ユーザーAの公開鍵への参照を保持
ユーザー B は、ユーザー A の公開鍵を使用してメッセージをエンコードできますか? エンコードされたデータをユーザー A に送信し、ユーザー A がデコードできることを期待できますか?