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

3.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.

3.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.

3.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.

3.1.3. Вычисление координат точки [8]g, как результат удвоения точки [4]g:

- вычисление углового коэффициента касательной в точке [4]G = (X4; Y4) = (86; 71)

K = mod P = mod 293 = mod 293 = 22196 * 142-1 mod 293 = 22196 * 142291 mod 293 = 22196 * 130 mod 293 = 221 * 130 mod 293 = 28730 mod 293 = 16 mod 293 → 16.

- вычисление координат точки [8]G = (X8; Y8)

X8 = (K2 – 2X4) mod P = (162 - 2*86) mod 293 = 84 mod 293 → 84;

Y8 = (K*(X4 – X8) – Y4) mod P = (16*(86 – 84) – 71) mod 293 =

= 254 mod 293 → 254.

Следовательно, [8]G = (X8; Y8) = (84; 254), координаты точки [8]G определены как X8 = 84; Y8 = 254.