Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Stream Cipher RC4

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Matéria Stream Cipher RC4

    O RC4 é um algoritmo surpreendentemente simples. Ele consiteem dois algoritmos: o Key Scheduling Algorithm (KSA, Algoritmo de Escalonamento de Chave) e o Pseudo-Random Generation Algorithm (PRGA, Algoritmo de Geração Pseudoaleatória). Ambos os algoritmos usam um 8-by-8 S-box, que consiste em um array de 256 números que são únicos e variam de 0 a 255. Declarados de forma simples, todos os números de 0 a 255 existem na ordem, mas eles todos são misturados de maneiras diferentes. O KSA promove o embaralhamento inicial da S-box, com base no valor inicial informado, e essa semente pode ter até 256 bits.
    Primeiro o array será chamado de S. Então, outro array de 256 bytes é preenchido com o valor inicial, repetindo o quanto for necessário até que todo o array esteja preenchido. Esse array é chamado de K. Então o array S é embaralhado usando o seguinte pseudocódigo.

    j = 0;
    for i = 0 to 255
    {
    j = (j + S[i] + K[I]) mod 256;
    swap S[i] and S[j];
    }


    Uma vez que iso té feito, o S-box é toda misturado com base no valor inicial. Este é o algoritmo escalonador de chaves. Bem simples.
    Agora, quando os dados do keystream são necessários, o Algoritmo de Geração Pseudoaleatória (PRGA) é usado. Esse algoritmo possui dois contadores, i e j, que são iniciados em 0. Depois disto, para cada byte dos dados do keystream, o seguinte pseudocódigo é usado.

    i = (j + 1) mod 256;
    j = (j + S[i]) mod 256;
    swap S[i] and S[j];
    t = (S[i] + S[j]) mod 256;
    Output the value of S[t];


    O byte de saída de S[t] é o primeiro keystream. Esse algoritmo é repetido para bytes adicionais do keystream.
    O RC4 é simples o suficiente para que possa ser facilmente memorizado e implementado on the fly, e ele é bem seguro se usado adequadamente. Contudo, existem alguns problemas no modo como o RC4 é usado para a WEP.

    Abraços, dwango.
X
Working...
X