KeyGenParameterSpec.Builder.SetRandomizedEncryptionRequired(Boolean) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Définit si le chiffrement à l’aide de cette clé doit être suffisamment aléatoire pour produire des texte chiffrés différents pour le même texte en clair à chaque fois.
[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
Paramètres
- required
- Boolean
Retours
- Attributs
Remarques
Définit si le chiffrement à l’aide de cette clé doit être suffisamment aléatoire pour produire des texte chiffrés différents pour le même texte en clair à chaque fois. La propriété de chiffrement formelle requise est une indistinguishabilité sous l’attaque en texte clair choisi (IND-CPA). Cette propriété est importante, car elle atténue plusieurs classes de faiblesses en raison desquelles le texte chiffré peut fuiter des informations sur le texte en clair. Par exemple, si un texte en clair donné produit toujours le même texte chiffré, un attaquant peut voir les texte chiffrés répétés et être en mesure de déduire quelque chose sur le texte en clair.
Par défaut, IND-CPA est obligatoire.
Lorsque IND-CPA est nécessaire, les transformations de chiffrement/déchiffrement qui n’offrent pas IND-CPA, telles que LA BCE avec un algorithme de chiffrement symétrique ou un chiffrement/déchiffrement RSA sans remplissage, sont interdites. Dans les modes de bloc qui utilisent un IV, tel que GCM, CBC et CTR, les IV fournies par l’appelant sont rejetés lors du chiffrement pour s’assurer que seules les IV aléatoires sont utilisées.
Avant de désactiver cette exigence, envisagez d’autoriser le chiffrement à générer un IV aléatoire en l’initialisant pour le chiffrement sans IV, puis en interrogeant l’IV avec Cipher.getIV(). Si un IV n’est pas aléatoire, envisagez de modifier la conception pour utiliser un IV aléatoire fourni avec le texte chiffré aux entités qui doivent le déchiffrer. Si vous utilisez le chiffrement RSA sans remplissage, envisagez de mettre en place des schémas de remplissage de chiffrement qui offrent IND-CPA, tels que PKCS#1 ou OAEP.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.