KeyGenParameterSpec.Builder.SetRandomizedEncryptionRequired(Boolean) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Legt fest, ob die Verschlüsselung, die diesen Schlüssel verwendet, ausreichend zufällig sein muss, um jedes Mal unterschiedliche Chiffretexte für denselben Nur-Text zu erzeugen.
[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
Parameter
- required
- Boolean
Gibt zurück
- Attribute
Hinweise
Legt fest, ob die Verschlüsselung, die diesen Schlüssel verwendet, ausreichend zufällig sein muss, um jedes Mal unterschiedliche Chiffretexte für denselben Nur-Text zu erzeugen. Die erforderliche formale kryptografische Eigenschaft ist unter ausgewähltem Nur-Text-Angriff (IND-CPA) nicht zu unterscheiden. Diese Eigenschaft ist wichtig, da sie mehrere Klassen von Schwachstellen entschärft, aufgrund derer Chiffretext Informationen über Nur-Text verloren gehen können. Wenn beispielsweise ein gegebener Klartext immer denselben Chiffretext erzeugt, kann ein Angreifer die wiederholten Chiffretexte sehen und etwas über den Klartext ableiten können.
Standardmäßig ist IND-CPA erforderlich.
Wenn IND-CPA erforderlich ist, sind Verschlüsselungs-/Entschlüsselungstransformationen, die IND-CPA nicht anbieten, wie z. B. ECB mit einem symmetrischen Verschlüsselungsalgorithmus oder RSA-Verschlüsselung/Entschlüsselung ohne Abstand, verboten. In Blockmodi, die einen IV verwenden, z. B. GCM, CBC und CTR, werden vom Anrufer bereitgestellte IVs beim Verschlüsseln abgelehnt, um sicherzustellen, dass nur zufällige IVs verwendet werden.
Bevor Sie diese Anforderung deaktivieren, erwägen Sie, Chiffre zuzulassen, eine zufällige IV zu generieren, indem Sie sie für die Verschlüsselung ohne IV initialisieren und dann den IV mit Cipher.getIV() abfragen. Wenn ein IV nicht zufällig ist, erwägen Sie, den Entwurf so zu ändern, dass ein zufälliger IV verwendet wird, der mit dem Chiffretext für Entitäten bereitgestellt wird, die es entschlüsseln müssen. Wenn Sie RSA-Verschlüsselung ohne Abstand verwenden, sollten Sie Verschlüsselungsabstandsschemas in Betracht ziehen, die IND-CPA bieten, z. B. PKCS#1 oder OAEP.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.