Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КЗИ-2003.полный19.11 крипто.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
49.78 Mб
Скачать

3.5. Формирование криптограмм открытых сообщений и их дешифрование с использованием методов дискретного логарифмирования в метрике эллиптических кривых.

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

1. На первом шаге алгоритмизации операции шифрования на основе эллиптических кривых производится выбор эллиптической кривой на основе задания параметра Р – модуля преобразования и параметров эллиптической кривой «а» и «в».

ZP (a; b) : Y2 = (X3 + a*X + b) mod P

Например, выбираются параметры эллиптической кривой аналогично рассмотренной ранее: Р = 293 – простое число; а = 8; в = 5. Следовательно, ZP(a; b) : Y2 = (X3 +8X + 5) mod 293, где Р = 293 – простое число;

(а; в) mod P ≠ 0; (8; 5) mod 293 ≠ 0. Дискриминант уравнения эллиптической кривой не равен нулю D = (4a3 + 27b2) mod P ≠ 0. Подставляя конечные значения «а»; «b» и «Р», получаем:

D = (4*83 + 27*52) mod 293 = 2723 mod 293 = 8 mod 293 ≠ 0.

Требования, предъявляемые к заданной эллиптической кривой для построения криптографической системы, полностью удовлетворены, эллиптическая кривая не сингулярна.

2. Производится выбор генераторной точки на заданной эллиптической кривой, примем XG = 18 (в качестве примера). Операция выбора генераторной точки приведена в разделе 3.3.1 «Основные операции криптографических преобразований в метрике эллиптических кривых».

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

Действия абонента А.

4. Алгоритм формирования открытого ключа абонента А - КОА.

1. Абонент А принимает в качестве модуля комбинированной криптографической системы простое число Р = 293, целое число а = 8 и целое число b = 5.

2. Абонент А случайным образом задает секретное число КА = 529 и вычисляет свой секретный ключ для асимметричного метода КЗА:

КЗА = КА mod P = 529 mod 293 = 236 mod 239 → 236.

3. На следующем шаге алгоритмизации абонент А вычисляет значение своего открытого ключа КОА по заданному случайным образом секретному ключу КЗА.

КОА = [КЗА]G = [236] (xG; yG) = [236] (18; 11).

4.1. Вычисление множества точек удвоения заданной эллиптической кривой.

Для вычисления открытого ключа абонента-отправителя сообщения «М» КОА изначально необходимо вычислить все удвоения генераторной точки «G» до [128] G, т.к. число 128 является максимальным числом степени 2n в составе числового значения закрытого ключа КЗА = 236. Значение закрытого ключа КЗА по числам 2n можно отобразить как 236 = 4 + 8 + 32 + 64 + 128, т.е. на первом этапе для вычисления открытого ключа абонента-отправителя сообщения «М» КОА = [КЗА] G = [236] G необходимо вычислить следующие точки удвоения: [4] G; [8] G; [32] G; [64] G; [128] G, а затем вычислить все композиции полученных числовых значений. Методика вычисления операций удвоения и композиций была изложена в разделе «Основные операции криптографических преобразований в метрике эллиптических кривых».

После вычисления множеств удвоения генераторной точки «G» по значению максимального нижнего предела степени 2n, т.е. n = 7 2n ≤ 236;

128 ≤ 236 определяется композиция полученного множества. Следовательно, КОА = [КЗА] G = [236] G = [4] G + [8] G + [32] G + + [64] G + [128] G.

4.1.1. Вычисление удвоения генераторной точки G (X1; Y1) = G (18; 11) → [2] G:

- Вычисляется угловой коэффициент касательной заданной эллиптической кривой ZP (a; b) : Y2 = X3 + 8*X + 5 mod 293 в генераторной точке G(X1; Y1) = G(18; 11):

K = mod P = mod 293 = mod 293 = 980 * 22-1 mod 293 = 980 * 22291 mod 293 = 980 * 40 mod 293 = 39200 mod 293 = 231 mod 293 → 231.

- Вычисляются координаты удвоения генераторной точки G - [2]G = G(X2; Y2) (координаты генераторной точки «G» определены выше G(X1; Y1) = G(18; 11)):

X2 = (K2 – 2X1) mod P = (2312 - 2*18) mod 293 = 292 mod 293 → 292;

Y2 = (K*(X1 – X2) – Y1) mod P = (231*(18 – 292) – 11) mod 293 =

= 276 mod 293 → 276.

Следовательно, [2]G = (X2; Y2) = (292; 276), координаты точки [2]G определены как X2 = 292; Y2 = 276.

4.1.2. Вычисление операции удвоения полученной точки [2]G, т.е. вычисление точки [4]G = (X4; Y4):

- вычисление углового коэффициента касательной в точке [2]G = (X2; Y2) = (292; 276)

K = mod P = mod 293 = 60 mod 293 → 60.

- вычисление координат точки [4]G = (X4; Y4)

X4 = (K2 – 2X2) mod P = (602 - 2*292) mod 293 = 86 mod 293 → 86;

Y4 = (K*(X2 – X4) – Y2) mod P = (60*(292 – 86) – 276) mod 293 =

= 71 mod 293 → 71.

Следовательно, [4]G = (X4; Y4) = (86; 71), координаты точки [4]G определены как X4 = 86; Y4 = 71.