RC4
O que é RC4
Em criptografia, RC4 (ou ARC4) é o algoritmo simétrico de criptografia de fluxo mais usado no software e utilizado nos protocolos mais conhecidos, como Secure Socket Layers
(SSL) (para proteger o tráfego Internet) e WEP (para a segurança de redes sem fios).
O algoritmo RC4 pode ser considerado um gerador de bits infinitos. Trata-se de uma máquina que gera bits pseudoaleatórios, mas imprevisíveis, sem que eles se enquadrem em uma dízima periódica
História do RC4
História do RC4
Em 1987 Ronald Rivest desenvolveu o algoritmo RC4 para a empresa RSA Data Security, líder mundial em algoritmos de criptografia. Foi durante tempos um segredo comercial muito bem guardado, muito popular, e utilizado largamente em software, como Lotus Notes,
Apple Computer’s, Oracle Secure SQL, Internet Explorer,
Netscape e Adobe Acrobat.
Em Set 1994, é postado um código fonte em uma mailing list dedicada à criptografia (Cypherpunks) supostamente equivalente ao RC4. Espalhou-se rápido pela rede e foi confirmada a compatilidade com o RC4.
Como funciona o algoritmo
Como funciona o algoritmo
Ronald desenvolveu um algoritmo sem muitas complexidades.
As transformações neste algoritmo são lineares, não são necessários cálculos complexos, já que o sistema funciona basicamente por permutações e somas de valores inteiros, o que torna este algoritmo muito simples e rápido.
De uma forma geral, o algoritmo consiste em utilizar um array que a cada utilização tem os seus valores permutados, e misturados com a chave, o que provoca que seja muito dependente desta. Esta chave, utilizada na inicialização do array, pode ter até 256 bytes (2048 bits), embora o algoritmo seja mais eficiente quando é menor, pois a perturbação aleatória induzida no array é superior.
key-scheduling
O algoritmo é dividido em duas partes. O key-scheduling
(inicialização) e a cifragem/decifragem. Veja abaixo uma visão simples do algoritmo.Key-scheduling
O algoritmo key-scheduling é usado para