Algoritmos de criptografia vêm em várias formas e terminologias , mas tendem a compartilhar várias teorias básicas que compunham o núcleo da criptografia desde a humanidade primeiro queria esconder uma mensagem de olhares indiscretos. Hoje, essas teorias se aplicam à maioria dos algoritmos de criptografia , independentemente do tipo ou linguagem de programação , às vezes, pela primeira quebrar a mensagem em código binário. Substitutos Substituição
A cifra de substituição de um valor com outro , por exemplo, o binário " 1001 " pode tornar-se "101" e " 0101 " seria substituída por um "111 ". exemplo clássico de uma cifra de substituição é cifra de César , que substituiu as letras do alfabeto com a letra três passos para baixo ( "C" torna-se "F") . Infelizmente , cifras de substituição são facilmente quebrado , especialmente quando utilizado para encriptar cartas com base na análise de frequência ou contexto .
Um algoritmo de exemplo para uma função de substituição é " c = E ( x , a) = ( a + x ) mod 26 ", o que significa que o personagem encriptado " c ", é a partir da encriptação ( ou" E " ) de " x " e" a " , em que" x " é o grau de deslocamento da letra "a ". a seção mod é o resto inteiro do número resultante de "x " e um dividido por 26, o número de letras no alfabeto Inglês .
Transposição cifras /Permutation
Transposição deslocar em torno de valores em uma ordem predeterminada . Um exemplo não binária simples esclarece : Com permutação , a seqüência "1234" pode tornar-se " 2314 " , mudando o primeiro dígito para o terceiro , o segundo para o primeiro, terceiro para o segundo e deixando o quarto . Com um padrão binário de bits e a mesma regra de permutação , " 1101 " se tornaria " 1011. " O Vedação Cipher é um exemplo de uma cifra de transposição . Cifras de permutação são marginalmente mais forte do que cifras de substituição , mas pode ser decifrado com relativa facilidade , dependendo da duração cifra.
XOR
A XOR, ou " OU exclusivo ", a operação é mais um processo de criptografia básica que retorna " true "se apenas um dos valores é verdade. Com os exemplos anteriores em mente, " 1001 ", em comparação com a chave " 0101 " retornaria o valor de " 1100 " e é facilmente revertida ao original com a mesma chave - " 1100 " por " 0101 " torna-se " 1001 ".
Bloco cifras
cifras Bloco quebrar os dados em um determinado número de bits e usar qualquer uma ou todas as teorias anteriores sobre os blocos para criptografar eles. Mais possibilidades , no entanto, incluem Cipher Block Chaining , que usa o bloco anterior para criptografar o próximo bloco na cadeia , subindo ainda mais os dados. Data Encryption Standard e Triple DES são bons exemplos de cifras de bloco com várias operações de substituição , permutação e XOR .