Lenguaje

KeyGenParameterSpec.Builder.SetRandomizedEncryptionRequired(Boolean) Método

Definición

Establece si el cifrado que usa esta clave debe ser lo suficientemente aleatorio para generar diferentes texto cifrados para el mismo texto sin formato cada vez.

[Android.Runtime.Register("setRandomizedEncryptionRequired", "(Z)Landroid/security/keystore/KeyGenParameterSpec$Builder;", "", ApiSince=23)]
public Android.Security.Keystore.KeyGenParameterSpec.Builder SetRandomizedEncryptionRequired(bool required);
[<Android.Runtime.Register("setRandomizedEncryptionRequired", "(Z)Landroid/security/keystore/KeyGenParameterSpec$Builder;", "", ApiSince=23)>]
member this.SetRandomizedEncryptionRequired : bool -> Android.Security.Keystore.KeyGenParameterSpec.Builder

Parámetros

required
Boolean

Devoluciones

Atributos

Comentarios

Establece si el cifrado que usa esta clave debe ser lo suficientemente aleatorio para generar diferentes texto cifrados para el mismo texto sin formato cada vez. La propiedad criptográfica formal que se requiere es la indistinguibilidad bajo un ataque de texto no cifrado elegido (IND-CPA). Esta propiedad es importante porque mitiga varias clases de debilidades debido a la cual el texto cifrado puede filtrar información sobre texto no cifrado. Por ejemplo, si un texto no cifrado determinado siempre genera el mismo texto cifrado, un atacante puede ver los texto cifrados repetidos y poder deducir algo sobre el texto no cifrado.

De forma predeterminada, se requiere IND-CPA.

Cuando se requiere IND-CPA, se prohíben las transformaciones de cifrado y descifrado que no ofrecen IND-CPA, como ECB con un algoritmo de cifrado simétrico o cifrado o descifrado RSA sin relleno. En los modos de bloqueo que usan un IV, como GCM, CBC y CTR, se rechazan los IVs proporcionados por el autor de la llamada al cifrar para asegurarse de que solo se usen direcciones IP aleatorias.

Antes de deshabilitar este requisito, considere la posibilidad de permitir que el cifrado genere un IV aleatorio inicializándolo para el cifrado sin un IV y, a continuación, consulte el IV con Cipher.getIV(). Si un IV no es aleatorio, considere la posibilidad de cambiar el diseño para usar un IV aleatorio que se proporciona con el texto cifrado a entidades que necesitan descifrarlo. Si usa el cifrado RSA sin relleno, considere la posibilidad de usar esquemas de relleno de cifrado que ofrecen IND-CPA, como PKCS#1 o OAEP.

Referencia de Android para android.security.keystore.KeyGenParameterSpec.Builder.setRandomizedEncryptionRequired.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Se aplica a