KeyProtection.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/KeyProtection$Builder;", "", ApiSince=23)]
public Android.Security.Keystore.KeyProtection.Builder SetRandomizedEncryptionRequired(bool required);
[<Android.Runtime.Register("setRandomizedEncryptionRequired", "(Z)Landroid/security/keystore/KeyProtection$Builder;", "", ApiSince=23)>]
member this.SetRandomizedEncryptionRequired : bool -> Android.Security.Keystore.KeyProtection.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: a transformação que não oferece IND-CPA, como criptografias simétricas usando o modo ECB ou criptografia RSA sem preenchimento, é proibida;; em transformações que usam um IV, como criptografias simétricas nos modos de bloco GCM, CBC e CTR, as IVs fornecidas pelo chamador são rejeitadas ao criptografar, para garantir que somente IVs aleatórias sejam usadas Antes de desabilitar esse requisito, considere as seguintes abordagens em vez disso:; Se você estiver gerando um IV aleatório para criptografia e inicializando uma criptografia usando o IV, a solução será permitir que a Criptografia gere um IV aleatório. Isso ocorrerá se a codificação for inicializada para criptografia sem uma IV. O IV pode ser consultado por meio de Cipher.getIV(); Se você estiver gerando um IV não aleatório (por exemplo, um IV derivado de algo não totalmente aleatório, como o nome do arquivo que está sendo criptografado, ou ID de transação ou senha, ou um identificador de dispositivo), considere alterar seu design para usar um IV aleatório que, em seguida, será fornecido além do texto de criptografia para as entidades que precisam descriptografar o texto criptografado; Se você estiver usando a criptografia RSA sem preenchimento, considere alternar para esquemas de preenchimento 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.