Cipher
と"AndroidKeyStore"
と一緒にRSAキーペアを使用しようとしています。私が見つけることができるすべてのAndroidドキュメントでは、例はCipher.getInstance("RSA/ECB/OAEPWithSHA-256AndMGF1Padding")
またはCipher.getInstance("RSA/ECB/PKCS1Padding")
を示しています。 ECBの暗号化がECBモードの暗号を使用しないでください
暗号#のgetInstanceは、暗号モードとして、あるいはので、暗号モードを設定せずにECBと呼ばれるべきではありませんを使用すべきではない
:Androidのメーカーでも同じ警告が出て、どちらもアンドロイドのデフォルトモードはECBですが、これは安全ではありません。
明らかに、デフォルトはECBであるため、これを省略することも、モードをNone
に設定することもできません。 ECBモードが安全でない場合、どのモードを使用しますか?
私が知っている他のモードを使用すると、私はNoSuchAlgorithmException: No provider found for RSA/{mode}/OAEPWithSHA-256AndMGF1Padding
となります。パディングが問題になることはありますか?
どちらの方法でも、の文書によれば、ECBモードはRSAを使用している間にサポートする唯一の暗号ブロックモードのようです。
提出[問題204099](https://code.google.com/p/android/issues/detail?id=204099) – Bryan