Система Orphus

Современные потоковые шифры на примере RC4

RC4 - это потоковый шифр с переменным размером ключа: длина ключа может составлять от 40 до 256 бит.

На каждом такте бит открытого текста суммируется с битом на выходе генератора гаммы.

Алгоритм работы

Алгоритм работает в режиме OFB: поток ключей не зависит от открытого текста.

Генератор гаммы

  • Генератору на вход подается ключ \mathrm{Key} длины L байт.
  • Создается байтовый массив \mathrm{Key}[256], который последовательно побайтово заполняется ключом \mathrm{Key}.
  • Инициализируется S-блок - заполнение и перестановка элементов байтового массива S[256] и счетчики i, j.
    for( i=0; i<256; i++ )
        S[i] = i ;
    j = 0;
    for( i=0; i<256; i++ ) {
        j = (j + S[i] + Key[i]) mod 256 ;
        поменять местами S[i] и S[j];
    }
    i = j = 0; //инициализация счетчиков
  • На каждом цикле шифрования генерируется псевдослучайный байт K
    i = (i + 1) mod 256 ;
    j = (j + S[i]) mod 256 ;
    поменять местами S[i] и S[j] ;
    t = (S[i] + S[j]) mod 256 ;
    K = S[t] ; //сгенерирован псевдослучайный байт K

Шифрование

Полученный на каждом цикле псевдослучайный байт K XOR-ится с байтом открытого текста.


Система Orphus

Комментарии