Whatsapp Telegram
 



Métodos para quebrar algoritmos de criptografia

A criptografia é um dos principais (e provavelmente o mais eficaz) métodos de proteção da confidencialidade dos dados, ou seja, proteção de dados contra acesso não autorizado. Criptografia é a transformação de dados abertos em privados (de acordo com algum algoritmo de criptografia com a participação de um elemento único - chave de criptografia ), que é chamada de criptografia ; a transformação reversa - obter dados abertos de criptografados - é chamada de descriptografia , uma determinada chave também está envolvida nesta operação.

A criptografia é um dos principais (e provavelmente o mais eficaz) métodos de proteção da confidencialidade dos dados, ou seja, proteção de dados contra acesso não autorizado. Criptografia é a transformação de dados abertos em privados (de acordo com algum algoritmo de criptografia com a participação de um elemento único - chave de criptografia ), que é chamada de criptografia ; a transformação reversa - obter dados abertos de criptografados - é chamada de descriptografia (descriptografia) , uma determinada chave também está envolvida nesta operação.

A chave de criptografia está associada a um determinado relacionamento com a chave de descriptografia; A seguir, consideraremos apenas os algoritmos de criptografia em que a chave de descriptografia e a chave de criptografia coincidem ( criptografia simétrica ).

A chave de criptografia personaliza o algoritmo de criptografia - sem saber a chave de criptografia necessária, é muito difícil descriptografar os dados. O grau de dificuldade de obtenção de dados abertos de criptografados (e obtenção de uma chave de criptografia na presença de um determinado conjunto de dados - mais sobre isso a seguir) é uma das principais características dos algoritmos de criptografia e é chamada de força criptográfica .

A ciência de combater métodos de proteção criptográfica (que inclui criptografia) é chamada de criptoanálise . Na verdade, a criptoanálise é uma coleção de técnicas matemáticas para quebrar algoritmos de criptografia. A mesma oposição evolucionária é claramente traçada aqui como no caso da armadura e um projétil: algoritmos de criptografia cada vez mais persistentes (sem perda em outras características importantes - por exemplo, na velocidade) aparecem, em resposta aos quais métodos cada vez mais avançados de quebrá-los são inventados. P>


Vamos considerar os métodos criptanalíticos modernos, para os quais começamos classificando os ataques a algoritmos de criptografia.

Ataques a algoritmos de criptografia

Ao realizar um ataque, um criptanalista pode tentar resolver os seguintes problemas:

1.   Obtendo texto sem formatação criptografado.

2.   Calcule a chave de criptografia.

Em geral, a segunda das tarefas listadas é significativamente mais complexa do que a primeira. No entanto, tendo uma chave de criptografia, um criptoanalista pode subsequentemente descriptografar todos os dados criptografados com a chave encontrada. Esse ataque (se bem-sucedido) é chamado de divulgação completa do algoritmo de criptografia.

Os ataques a algoritmos de criptografia são geralmente classificados de acordo com o conjunto de informações que o invasor possui antes de realizar seu ataque. Em primeiro lugar, os ataques criptanalíticos podem ser divididos em duas categorias:

Categoria 1. Um criptanalista tem apenas a capacidade de ouvir passivamente um certo canal através do qual os dados criptografados são enviados (ver Fig. 1). Como resultado, o invasor possui apenas um conjunto de textos criptografados com uma chave específica. Esse ataque é denominado ataque de texto cifrado conhecido . É o mais difícil, mas este tipo de ataque é o mais comum, visto que é o mais vital - na esmagadora maioria dos casos reais, o criptanalista não consegue obter mais dados.

Fig. 1.   Interceptação passiva de dados criptografados.

Categoria 2. Presume que o criptoanalista possui algum tipo de dispositivo de criptografia com uma chave de criptografia criptografada, que é o alvo do ataque. Esse dispositivo pode ser, por exemplo, um cartão inteligente criptográfico. Um criptanalista pode executar certas ações com o criptografador (permitidas pelo criptografador e seu ambiente técnico, bem como pelas condições táticas para realizar um ataque) para obter as informações de que precisa, por exemplo, executar quaisquer textos simples através do criptografador para obter os textos cifrados correspondentes (ver Fig. 2).

Fig. 2.   Influência ativa no codificador.

Dependendo dos dados que o criptoanalista pode obter do criptografador, existem os seguintes tipos de ataques:

1.   Ataque conhecido de texto simples . Assume que o criptanalista tem um certo número de pares de textos, cada um dos quais é um texto simples e o texto cifrado correspondente.

2.   Ataque de texto simples selecionado . O criptanalista tem a capacidade de selecionar textos simples para obter os textos cifrados correspondentes (como isso pode ser útil para o criptanalista será discutido abaixo).

3 . \u0026 Nbsp; Ataque de seleção de texto simples adaptável . Um criptanalista pode não apenas escolher textos abertos para criptografar, mas também fazê-lo repetidamente, levando em consideração os resultados da análise dos dados obtidos anteriormente.

4.   Selecione ataque de texto cifrado . Um criptanalista pode selecionar textos cifrados e, executando-os por meio de um criptografador, obter por descriptografia o texto simples correspondente.

5.   Ataque de seleção de texto cifrado adaptável. Por analogia com os ataques descritos anteriormente, é claro que um criptanalista pode selecionar repetidamente textos cifrados para descriptografá-los, levando em consideração os resultados anteriores.

Em teoria, as capacidades de um criptanalista podem não ser limitadas àquelas listadas acima; opções mais sérias para a influência de um criptanalista em um misturador serão discutidas em uma parte posterior deste artigo.

Quantificando a força dos algoritmos de criptografia

A resistência à criptografia é uma característica quantitativa dos algoritmos de criptografia - um certo número de recursos é necessário para abrir um algoritmo de criptografia específico sob certas condições (incluindo um certo método criptanalítico). Os recursos, neste caso, são os seguintes valores:

1.   A quantidade de informação necessária para realizar um ataque - digamos, quantos pares de textos conhecidos ou selecionados são necessários.

2.   O tempo necessário para realizar o ataque. Geralmente é medido no número de operações de criptografia de teste pelo algoritmo atacado, cuja execução, se as outras condições necessárias forem atendidas, irá, por exemplo, calcular a chave de criptografia.

3.   Memória necessária para armazenar as informações usadas no ataque. Também é uma característica importante, uma vez que muitos ataques podem ter requisitos de memória muito significativos.

A combinação desses três valores caracteriza um ataque específico a um algoritmo de criptografia específico. E o melhor (exigindo um conjunto mínimo de recursos) dos ataques possíveis a um algoritmo caracteriza sua força criptográfica.

Doravante, assume-se que o invasor conhece o algoritmo de criptografia em si - apenas a chave é desconhecida. A grande maioria dos métodos criptanalíticos (que serão discutidos em partes subsequentes do artigo) são baseados em um conhecimento profundo do algoritmo atacado pelo criptanalista. Há outra característica importante do algoritmo de criptografia - o quanto os textos criptografados obtidos com sua ajuda diferem de uma sequência aleatória. Além disso, essa característica pode ser expressa quantitativamente nos mesmos três tipos de recursos descritos acima, porém, este já é um tópico para um artigo separado.

Criptoanálise de algoritmos modificados

Existem muitos algoritmos de criptografia que são criptograficamente fortes. Em um trabalho bem conhecido, o conceito de um algoritmo forte é definido da seguinte forma:

1.   Um algoritmo é criptograficamente forte se não houver métodos para quebrá-lo, exceto pelo método de força bruta, que será discutido na próxima parte do artigo.

2.   Além disso, o tamanho da chave do algoritmo é grande o suficiente para que a força bruta se torne impossível no atual estado da arte da computação.

No entanto, por exemplo, pode ser necessário comparar dois ou mais algoritmos de criptografia criptograficamente fortes entre si (como, por exemplo, em uma competição aberta para selecionar um novo padrão de criptografia AES dos EUA). Nesse caso, outra característica é usada (mais qualitativa do que quantitativa) - a margem de segurança.

Sabe-se que a esmagadora maioria dos algoritmos de criptografia modernos consiste em um certo número de rodadas, em cada uma das quais as mesmas (ou semelhantes) transformações são repetidas sobre os dados criptografados. Para determinar a margem de força criptográfica, um algoritmo é analisado com um número truncado de voltas - ou seja, modificação do algoritmo em estudo, no qual o número de rodadas é reduzido em comparação com o número específico de rodadas fornecido no algoritmo. A margem de segurança pode ser definida como a razão entre o número inicial de rodadas do algoritmo estudado e o número máximo de rodadas de suas modificações que não são criptograficamente seguras.

Outra opção para determinar a força criptográfica é a análise das modificações do algoritmo em estudo com pequenas alterações na estrutura circular. Um dos exemplos mais marcantes é quebrar o algoritmo Skipjack-3XOR com apenas 29 textos simples selecionados e seus textos cifrados correspondentes, executando apenas cerca de um milhão de operações de criptografia de teste. Pelos padrões modernos, graças a este ataque, Skipjack-3XOR pode ser considerado um algoritmo muito fraco, mas difere do algoritmo de criptografia conhecido e bastante difundido Skipjack em que apenas 3 operações XOR específicas são removidas da estrutura do último ( operação lógica bit a bit exclusiva ou) de tais operações fornecidas pelo algoritmo Skipjack (!). Consequentemente, havia (no entanto, não comprovada) suposições sobre a força criptográfica insuficiente do algoritmo Skipjack. No entanto, no caso de analisar algoritmos com modificações semelhantes, a margem de força criptográfica pode ser considerada apenas como uma característica qualitativa que tem é exatamente uma relação indireta com o algoritmo de criptografia em estudo.