Инструменты пользователя

Инструменты сайта


знания:шифры_гаммирования

Шифры гаммирования


Принцип зашифрования заключается в генерации гаммы шифра с помощью датчика псевдослучайных чисел (ПСЧ) и наложении полученной гаммы на открытые данные обратимым образом (например, при использовании логической операции «исключающее ИЛИ»).

Процесс расшифрования данных сводится к повторной генерации гаммы шифра при известном ключе и наложению такой гаммы на зашифрованные данные. Полученный зашифрованный текст является достаточно трудным для раскрытия в том случае, когда гамма шифра не содержит повторяющихся битовых последовательностей. Фактически если период гаммы превышает длину всего зашифрованного текста и неизвестна никакая часть исходного текста, то шифр можно раскрыть только прямым перебором (подбором ключа). В этом случае криптостойкость определяется размером ключа.

Чтобы получить линейные последовательности элементов гаммы, длина которых превышает размер шифруемых данных, используются датчики ПСЧ. В настоящее время наиболее доступными и эффективными являются конгруэнтные генераторы ПСЧ.

Генераторы ПСЧ вырабатывает последовательности псевдослучайных чисел Т(i), описываемые соотношением

T(i +1) = (A∗T(i) + С) mod М


где А и С – константы; Т(0) – исходная величина, выбранная в качестве порождающего числа. Для шифрования данных с помощью датчика ПСЧ может быть выбран ключ любого размера. Например, пусть ключ состоит из набора чисел Х(j) размерностью b, где j = 1, 2,…., N. Тогда создаваемую гамму шифра G можно представить как объединение непересекающихся множеств Н(j):

G = H(1) ∪ H(2) ∪ … ∪ H(N)


где Н(j) – множество соответствующих j-му сегменту данных и полученных на основе порождающего числа Y(j), определенного как функция от Х(j) (например, ПСЧ, полученное на основе Х(j)). Гамма может формироваться и другим способом, например

G = H(1) ⊕ H(2) ⊕ … ⊕ H(N)


где символ ⊕ обозначает операцию XOR.

Шифрование методом гаммирования является довольно распространенным криптографическим преобразованием.

знания/шифры_гаммирования.txt · Последние изменения: 2014/12/21 20:30 — Павел Кульков