KeyGenParameterSpec.Builder.SetRandomizedEncryptionRequired(Boolean) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Define se a criptografia que usa essa chave deve ser suficientemente aleatória para produzir diferentes textos criptografados para o mesmo texto sem formatação todas as vezes.
[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
Retornos
- Atributos
Comentários
Define se a criptografia que usa essa chave deve ser suficientemente aleatória para produzir diferentes textos criptografados para o mesmo texto sem formatação todas as vezes. A propriedade criptográfica formal que está sendo necessária é a indistinguição sob ataque de texto sem formatação escolhido (IND-CPA). Essa propriedade é importante porque atenua várias classes de fraquezas devido ao qual o texto criptografado pode vazar informações sobre texto sem formatação. Por exemplo, se um determinado texto sem formatação sempre produzir o mesmo texto criptografado, um invasor poderá ver os textos criptografados repetidos e ser capaz de deduzir algo sobre o texto sem formatação.
Por padrão, IND-CPA é necessário.
Quando IND-CPA é necessário, as transformações de criptografia/descriptografia que não oferecem IND-CPA, como o BCE com um algoritmo de criptografia simétrica ou criptografia/descriptografia RSA sem preenchimento, são proibidas. Em modos de bloco que usam uma IV, como GCM, CBC e CTR, as IVs fornecidas pelo chamador são rejeitadas ao criptografar para garantir que apenas IVs aleatórias sejam usadas.
Antes de desabilitar esse requisito, considere permitir que a Codificação gere um IV aleatório inicializando-o para criptografia sem um IV e, em seguida, consultando o IV com Cipher.getIV(). Se um IV não for aleatório, considere alterar o design para usar um IV aleatório fornecido com o texto criptografado para entidades que precisam descriptografá-lo. Se estiver usando a criptografia RSA sem preenchimento, considere esquemas de preenchimento de criptografia que oferecem IND-CPA, como PKCS#1 ou OAEP.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.