Lingua

KeyGenParameterSpec.Builder.SetRandomizedEncryptionRequired(Boolean) Metodo

Definizione

Imposta se la crittografia che usa questa chiave deve essere sufficientemente casuale per produrre testo crittografato diverso per lo stesso testo non crittografato ogni volta.

[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

Parametri

required
Boolean

Valori restituiti

Attributi

Commenti

Imposta se la crittografia che usa questa chiave deve essere sufficientemente casuale per produrre testo crittografato diverso per lo stesso testo non crittografato ogni volta. La proprietà di crittografia formale necessaria è indistinguishability in caso di attacco in testo non crittografato scelto (IND-CPA). Questa proprietà è importante perché attenua diverse classi di debolezze a causa della quale il testo crittografato potrebbe perdere informazioni sul testo non crittografato. Ad esempio, se un testo non crittografato specificato produce sempre lo stesso testo crittografato, un utente malintenzionato potrebbe visualizzare i testi crittografati ripetuti e poter dedurre qualcosa sul testo non crittografato.

Per impostazione predefinita, è necessario IND-CPA.

Quando è necessario IND-CPA, le trasformazioni di crittografia/decrittografia che non offrono IND-CPA, ad esempio BCE con un algoritmo di crittografia simmetrica o crittografia/decrittografia RSA senza spaziatura interna, sono vietate. Nelle modalità di blocco che usano un IV, ad esempio GCM, CBC e CTR, i cv forniti dal chiamante vengono rifiutati durante la crittografia per garantire che vengano usati solo IV casuali.

Prima di disabilitare questo requisito, valutare la possibilità di consentire a Cipher di generare un IV casuale inizializzandolo per la crittografia senza un IV e quindi eseguendo una query sull'IV con Cipher.getIV(). Se un IV non è casuale, è consigliabile modificare la progettazione in modo da usare un IV casuale fornito con il testo crittografato alle entità che devono decrittografarlo. Se si usa la crittografia RSA senza spaziatura interna, prendere in considerazione gli schemi di riempimento della crittografia che offrono IND-CPA, ad esempio PKCS#1 o OAEP.

Informazioni di riferimento su Android per android.security.keystore.KeyGenParameterSpec.Builder.setRandomizedEncryptionRequired.

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Si applica a