Шифр с режимом ECB не должен использоваться
Я пытаюсь использоватьCipher
с парой ключей RSA вместе с"AndroidKeyStore"
, Во всей документации Android я могу найти, примеры показываютCipher.getInstance("RSA/ECB/OAEPWithSHA-256AndMGF1Padding")
или жеCipher.getInstance("RSA/ECB/PKCS1Padding")
, Оба из них имеют одно и то же предупреждение в Android Studio:
ECB шифрование не должно использоваться
Cipher # getInstance не должен вызываться с ECB в качестве режима шифрования или без установки режима шифрования, поскольку режимом по умолчанию для Android является ECB, что небезопасно.
Очевидно, я не могу его опустить или установить режим наNone
потому что по умолчанию это ЕЦБ. Если режим ECB небезопасен, какой режим я должен использовать?
Если я использую любой другой режим (который я знаю), я получаюNoSuchAlgorithmException: No provider found for RSA/{mode}/OAEPWithSHA-256AndMGF1Padding
, Может ли быть проблема с прокладкой?
В любом случае, в соответствии сAndroid KeyStore System документация, режим ECB, кажется, единственный режим блока шифрования, который он поддерживает при использовании RSA.