logo search
Беспроводные технологии / Методические материалы / 04 - Конспект лекций(Беспроводные технологии)_СОС

Механизм шифрования wep

Шифрование WEP (Wired Equivalent Privacy, секретность на уровне проводной связи) основано на алгоритме RC4 (Rivest’s Cipher v.4, код Ривеста), представляющем собой симметричное потоковое шифрование. Как было отмечено ранее, для нормального обмена пользовательскими данными ключи шифрования у абонента и точки радиодоступа должны быть идентичными.

Ядро алгоритма состоит из функции генерации ключевого потока. Эта функция генерирует последовательность битов, которая затем объединяется с открытым текстом посредством суммирования по модулю два. Дешифрация состоит из регенерации этого ключевого потока и суммирования его с шифрограммой по модулю два, восстанавливая исходный текст. Другая главная часть алгоритма — функция инициализации, которая использует ключ переменной длины для создания начального состояния генератора ключевого потока.

RC4 – фактически класс алгоритмов, определяемых размером его блока. Этот параметр n является размером слова для алгоритма. Обычно, n = 8, но в целях анализа можно уменьшить его. Однако для повышения безопасности необходимо увеличить эту величину. Внутреннее состояние RC4 состоит из массива размером 2n слов и двух счетчиков, каждый размером в одно слово. Массив известен как S-бокс, и далее будет обозначаться как S. Он всегда содержит перестановку 2n возможных значений слова. Два счетчика обозначены через i и j.

Алгоритм инициализации RC4 приведен ниже.

Этот алгоритм использует ключ, сохраненный в Key, и имеющий длину l байт. Инициализация начинается с заполнения массива S, далее этот массив перемешивается путем перестановок определяемых ключом. Так как только одно действие выполняется над S, то должно выполняться утверждение, что S всегда содержит все значения кодового слова.

1) Начальное заполнение массива:

for i = 0 to 2n – 1

{

S[i] = i j = 0

}

2) Скремблирование:

for i = 0 to 2n − 1

{

j = j + S[i] + Key[i mod l]

Перестановка (S[i], S[j])

}

Генератор ключевого потока RC4 переставляет значения, хранящиеся в S, и каждый раз выбирает различное значение из S в качестве результата. В одном цикле RC4 определяется одно n-битное слово K из ключевого потока, которое в последующем суммируется с исходным текстом для получения зашифрованного текста.

3) Инициализация:

i = 0 j = 0

4) Цикл генерации:

i = i + 1

j = j + S[i]

Перестановка (S[i], S[j])

Результат: K = S[S[i] + S[j]].

Особенности WEP-протокола:

Для непрерывного шифрования потока данных используется потоковое и блочное шифрование.