Compartilhamento de tecnologia

[Criptografia] Conceitos básicos de cifras de fluxo

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Antes de introduzir as cifras de fluxo, vamos primeiro entender um pré-requisito básico de conhecimento da operação XOR de ponto.

1. Operação OR exclusiva (XOR)

Regras de operação: Igual a 0, diferente de 1

Características: Um bit é XORed duas vezes e pode ser restaurado para o bit original.

Texto simples: 1100

Chave: 0101 (criptografado)

Texto cifrado: 1001

Chave: 0101 (descriptografia)

Texto simples: 1100

vantagem:Essa reversibilidade permite que a operação XOR seja usada para transformações de criptografia e descriptografia.

deficiência:Se um invasor conseguir adivinhar ou capturar a chave, ela poderá ser facilmente descriptografada via XOR.

A razão pela qual a operação XOR pode ser usada para criptografia e descriptografia ao mesmo tempo reside em sua reversibilidade, mas esta também é sua deficiência. A segurança depende completamente da ocultação de chaves.

2. Algoritmo de bloco único (OTP)

(1) Definição

One-Time Pad (OTP) é um algoritmo de cifra de fluxo. É considerado um dos métodos de criptografia mais seguros em teoria, desde que sua implementação siga estritamente vários princípios fundamentais:

1.  A chave deve ser tão longa quanto o texto simples: isso significa que cada criptografia usa uma chave que tem exatamente o mesmo comprimento da mensagem que está sendo criptografada.

2.  A chave deve ser verdadeiramente aleatória: Cada bit da chave deve ser gerado aleatoriamente, sem qualquer padrão ou previsibilidade.

3.  A chave deve ser usada apenas uma vez: A mesma chave não deve ser usada para criptografar múltiplas mensagens, caso contrário a correlação entre os textos cifrados pode ser usada para inferir o conteúdo da mensagem.

4.  A chave deve ser mantida em segredo: A distribuição e armazenamento das chaves devem ser extremamente seguras para impedir o acesso de terceiros.

(2) Vantagens e desvantagens

vantagem:

  • A chave é gerada aleatoriamente e usada apenas uma vez
  • Incondicionalmente seguro
  • A criptografia e a descriptografia são operações de adição, mais eficientes.

deficiência:

  • O comprimento da chave é pelo menos tão longo quanto o comprimento do texto simples, tornando o compartilhamento da chave difícil e impraticável.

3. Definição de cifra de fluxo

Quando as pessoas estudam algoritmos de criptografia de bloco único, elas tentam resolver os problemas de gerenciamento e comprimento de chaves. Se houvesse uma maneira de gerar todas as chaves para criptografar texto simples, fornecendo apenas uma pequena seção da chave, então a cifra de fluxo foi desenvolvida com base nessa ideia.

(1) Idéia básica de cifra de fluxo

         Em uma cifra de fluxo, uma pequena chave (geralmente chamada de semente ou vetor de inicialização) é usada por meio de um gerador de números pseudoaleatórios (PRNG) para gerar um fluxo de chave pseudoaleatório do mesmo comprimento do texto simples. Este fluxo de chaves é então submetido a um XOR com o texto simples para produzir o texto cifrado. Da mesma forma, o processo de descriptografia consiste em XOR do texto cifrado com o mesmo fluxo de chaves para recuperar o texto simples.

chave ogerar um fluxo de chaves z=z_0z_1z_2...E use as seguintes regras para comparar strings de texto simples x=x_0x_1x_2...Para criptografar:
y=y_0y_1y_2...=Ez_0(x_0)Ez_1(x_1)Ez_2(x_2)...

Um registrador de deslocamento de feedback linear é geralmente usado para gerar chaves pseudo-aleatórias. O princípio não será discutido aqui.

(2) Processo de algoritmo

O processo de criptografia e descriptografia pode ser descrito da seguinte forma:

  • Geração de fluxo de chaves: Ambas as partes de criptografia e descriptografia usam a mesma chave e vetor de inicialização (IV) para inicializar um gerador de números pseudo-aleatórios (PRNG). PRNG gera uma série de bits pseudo-aleatórios com base em seu estado interno para formar um fluxo de chaves.
  • Processo de criptografia: O remetente executa uma operação OR (XOR) exclusiva bit a bit no fluxo de chaves gerado e no texto simples para obter o texto cifrado. Devido à natureza da operação XOR, a mesma operação é reversível em bits diferentes.
  • Processo de descriptografia: O receptor reinicializa o PRNG com a mesma chave e IV e gera o mesmo fluxo de chaves de quando criptografado. O receptor então faz um XOR do texto cifrado com o fluxo de chaves para recuperar o texto simples original.

(3) Princípios de design de cifra de fluxo

Os princípios de design das cifras de fluxo realmente se concentram na criação de um gerador de fluxo de chaves que possa produzir um fluxo de chaves com propriedades de segurança específicas. A sequência do fluxo de chaves deve ter as seguintes propriedades:

  1. ciclo enorme : O período do fluxo de chaves deve ser longo o suficiente para evitar a reutilização do mesmo segmento do fluxo de chaves, o que exporia padrões nos dados criptografados e permitiria aos criptoanalistas realizar ataques comparando as semelhanças e diferenças de diferentes mensagens. Teoricamente, para um espaço de chave de n bits, a duração ideal do ciclo deveria ser 2n-1. Na prática, períodos mais longos significam que o fluxo de chaves é repetido com menos frequência, aumentando assim a segurança do criptossistema.

  2. boas propriedades estatísticas : o fluxo de chaves deve parecer uma sequência verdadeiramente aleatória de bits, o que significa que deve satisfazer vários testes estatísticos, como distribuição igual de 0s e 1s, independência entre dois ou mais bits consecutivos e nenhum padrão ou periodicidade previsto. Boas propriedades estatísticas ajudam a garantir a imprevisibilidade do fluxo de chaves, que é um componente importante da segurança da cifra de fluxo.

  3. Resistência à análise linear : Uma cifra de fluxo deve ser resistente à análise linear, onde o criptoanalista tenta recuperar a chave ou texto simples encontrando uma correlação linear entre o fluxo de chaves e o texto simples ou texto cifrado. Isso geralmente requer que a saída do gerador de fluxo de chaves seja não linear ou pelo menos contenha componentes não lineares suficientes para evitar que métodos simples de resolução de sistemas lineares infiram o fluxo de chaves ou a própria chave.