Tópicos

Cifra de César

Simplesmente shiftar a letra atual do alfabeto K vezes. A desencriptação é feita através do shift inverso.

O plaintext CartagoEstaNoPapo com K = 6 resultaria no ciphertext IGXZGMUKYZGTUVGVU.

O número total de chaves é igual a 26, visto que existem 26 letras (maiúsculas) no alfabeto.

Ataque

Simplesmente testar todas as combinações de chaves e ver qual das vezes o resultado “faz sentido”.

Ainda melhor, se se utilizar análise de frequências. Por exemplo, a alta frequência da letra L sugere que o mesma está a encriptar a letra A, visto que A é uma das letras mais comuns em palavras. Daqui, é possível retirar que K = 11 (L - A = 11).

Nota

O tamanho da chave utilizada para cifrar o plaintext é bastante importante. A baseline é uma chave com 112 bits.

Cifra de Substituição Monoalfabética

O processo de encriptação utilizada uma dada permutação do alfabeto para tal.

ABCWYZ
RXKBIF
Desta vez, o espaço das possíveis chaves sobe para .

Ataque

Através de análise de frequências, com histogramas das letras mais comuns numa dada língua.

Cifra de Vigenère

Também conhecida como cifra de substituição polialfabética. A ideia é, essencialmente, executar várias cifras de César.

Cifra de Transposição

Encriptação permuta os caracteres, em vez de os alterar. O que significa que análise de frequências passa a ser inútil.

Seja a chave de encriptação a permutação [2, 1, 3] e o plaintext AindaOutraCifra, é possível construir a seguinte matriz.

213
AIN
DAO
UTR
ACI
FRA
Assim, o ciphertext resultante é igual a IATCRADUAFNORIA.

One-Time Pad

Simplesmente pegar numa chave (gerada randomicamente) e com, pelo menos, o tamanho do plaintext e aplicar a operação XOR a cada bit.

De notar que a chave apenas poderá ser utilizada numa encriptação e nada mais.

Apesar de boa, esta cifra possui alguns problemas, nomeadamente associados à geração da chave, à distribuição da mesma1 e à não garantia de difusão.

Footnotes

  1. A distribuição de uma chave é abordada na secção de criptografia simétrica.