Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТКИОК.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
8.35 Mб
Скачать
  1. Классические алгоритмы шифрования.

Перестановкой ρ набора целых чисел (0, 1, ... , N - 1) называется его

переупорядочение. Для того чтобы показать, что целое перемещено из позиции i в позицию ρ(i), где 0 ≤ (i) < n, можно использовать запись

ρ = ( ρ (0), ρ(1), ... , ρ(N - 1) ).

Число перестановок из (0, 1, ... , N - 1) равно n!

Пример. Перестановка с фиксированным периодом d. Сообщение делится

на группы символов длины d и к каждой группе применяется одна и та же

перестановка. Эта перестановка является ключом: она может быть задана

некоторой перестановкой первых d целых чисел. Так, для d = 7 в качестве

перестановки можно взять 7352146, при этом сообщение

m1 m2 m3 m4 m5 m6 m7 m8 m9 m10 m11 m12 m13 m14 …переходит в

m7 m3 m5 m2 m1 m4 m6 m14 m10 m12 m9 m8 m11 m13… .

Последовательное применение двух или более перестановок называется

составной перестановкой. Если периоды этих перестановок d1, … , dk, то

результирующая перестановка будет иметь период d = НОК( d1, … , dk).

Системы подстановок

Подстановкой S на алфавите Zm называется автоморфизм Zm, при котором

буквы исходного текста t замещаются буквами шифрованного текста π(t):

Набор всех подстановок образует симметрическую группу Gs(Zm).

Ключом подстановки K для Zm называется последовательность элементов

симметрической группы Zm:

Подстановка Цезаря

Шифрование с помощью подстановки Цезаря делается в соответствии с

простой схемой нумерации. Если в русском алфавите пронумеровать буквы

цифрами от 0 до 32, то, задав какое-либо число в этом интервале, скажем 7,

можно прибавлять его к числу, соответствующему каждой букве открытого

текста. Получаемые суммы будут представлять собой номера букв

шифротекста. Если какая-нибудь сумма окажется больше 32, то, вычтя из нее

33, получим число, принадлежащее диапазону от 0 до 32.

Например, буква под номером 27 (это Ь) будет шифроваться буквой за

номером 1 (это Б), потому что 27+7=34 = 1 mod 33.

Многоалфавитные системы.

Слабая криптостойкость моноалфавитных подстановок преодолевается с

применением подстановок многоалфавитных.

Многоалфавитная подстановка определяется ключом, содержащим не

менее двух различных подстановок.

Пример. Примем в качестве ключа текст «БЕСКОНЕЧНАЯ _ ЛЕНТА....», в

алфавите добавим символ «пробел», расположив его на 33 позиции (т.е.

операции выполняются по модулю 34).

Система шифрования Вижинера

Зададим конечную последовательность чисел (ключ пользователя)

K = (k0 ,k1 ,...,kn-1),

и продлим ее, повторяя цепочку r раз. В результате получим

последовательность (рабочий ____/TT1 1 ключ ), состоящую из (r - 1)n символовKr = (k0 ,k1 ,...,kn-1), … ;kj, … kj = k(j mod n) , 0 ≤ j < (r - 1)n .

Например, при n = 7, r = ∞, и ключе пользователя 15 8 2 10 11 4 18 рабочий

ключ будет периодической последовательностью:

15 8 2 10 11 4 18 15 8 2 10 11 4 18 15 8 2 10 11 4 18 ...

Подстановка Вижинера SV, k определяется как

SV, k : ( x0, x1, ..., xm-1 ) → ( y0, y1, ..., ym-1 ) =

= ( x0 + ko, x1 + k1, ... , xj + kj (mod n), … , xm – 1 + km-1(mod n) ) mod M ,

Аффинные системы шифрования

Криптосистема, которая для шифрования использует преобразование

множеств Z/NZ вида

С ≡ a P + b mod N, ( 3 )

где a и b - фиксированные целые числа, образующие ключ шифрования,

называется аффинной.

Зашифруем сообщение “PAYMENQW”, используя 26 - значный алфавит

английского языка (N = 26). Ключи шифрования a = 7, b = 12.

Оцифровка сообщения дает код : (15 0 24 12 4 13 14 22),

Преобразование по правилу ( 3 ) приводит к шифротексту (13 12 24 18 14

25 6 10) или в буквенном эквиваленте (N M Y S O Z G K).

Чтобы расшифровать сообщение, необходимо сначала найти

P ≡ a` C + b` mod N,

где a` - обратное к a по mod N и b` = - a -1 b.