KeyGenParameterSpec.Builder.SetRandomizedEncryptionRequired(Boolean) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.
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.