SymmetricAlgorithm.IV Propriedade

Definição

Obtém ou define o vetor de inicialização (IV) para o algoritmo simétrico.

public:
 virtual property cli::array <System::Byte> ^ IV { cli::array <System::Byte> ^ get(); void set(cli::array <System::Byte> ^ value); };
public virtual byte[] IV { get; set; }
member this.IV : byte[] with get, set
Public Overridable Property IV As Byte()

Valor da propriedade

Byte[]

O vetor de inicialização.

Exceções

Foi feita uma tentativa para definir o vetor de inicialização para null.

Foi feita uma tentativa para definir o vetor de inicialização para um tamanho inválido.

Comentários

A propriedade é definida automaticamente como um novo valor aleatório sempre que você cria uma nova instância de uma das classes ou quando IV SymmetricAlgorithm você chama manualmente o GenerateIV método . O tamanho da IV propriedade deve ser o mesmo que a propriedade dividida por BlockSize 8.

As classes que derivam da classe usam um modo de encadeamento chamado CBC (encadeamento de blocos de criptografia), que requer uma chave e um vetor de inicialização para executar SymmetricAlgorithm transformações criptográficas nos dados. Para descriptografar dados criptografados usando uma das classes, você deve definir a propriedade e a propriedade para os mesmos valores que foram usados SymmetricAlgorithm Key para IV criptografia.

Para uma chave secreta k, uma codificação de bloco simples que não usa um vetor de inicialização criptografa o mesmo bloco de entrada de texto sem-formato no mesmo bloco de saída de texto cifrado. Se você tiver blocos duplicados dentro do fluxo de texto sem-texto, terá blocos duplicados dentro do fluxo de texto cifrado. Se usuários não autorizados sabem algo sobre a estrutura de um bloco de texto sem-texto, eles podem usar essas informações para decifrar o bloco de texto cifrado conhecido e, possivelmente, recuperar sua chave. Para combater esse problema, as informações do bloco anterior são misturadas no processo de criptografia do próximo bloco. Portanto, a saída de dois blocos de texto simples idênticos é diferente. Como essa técnica usa o bloco anterior para criptografar o próximo bloco, um vetor de inicialização é necessário para criptografar o primeiro bloco de dados.

Aplica-se a

Confira também