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

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

1. Абонент В задает случайным образом секретное число КВ = 475 и вычисляет свой закрытый (секретный) ключ КЗВ = КВ mod P =475 mod 293= = 182 mod 293 → 182.

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

КОВ = [КЗВ]G = [182]G = [182] (18; 11).

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

Для вычисления открытого ключа КОВ изначально необходимо все удвоения генераторной точки G до [128]G, т.к. число 128 является максимальным в составе КЗВ = 182. Значение КЗВ = 182 можно представить как: 182 = 2 + 4 + 16 + 32 + 128, т.е. для вычисления КОВ = [КЗВ]G = [182]G необходимо вычислить точки [2]G; [4]G; [16]G; [32]G; [128]G, а затем определить их композицию КОВ = [КЗВ]G = [182]G = [2]G + [4]G + [16]G + [32]G + [128]G.

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

- Вычисляется угловой коэффициент касательной в генераторной точке G(X1; Y1) = G(18; 11):

K = mod P = mod 293 = 231 mod 293 → 231.

- Вычисляются координаты точки [2]G = G(X2; Y2):

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.

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

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

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

K = mod P = 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.

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

- вычисление углового коэффициента касательной в точке [8]G = (X8; Y8) = (84; 254)

K = mod P = mod 293 = 14 mod 293 → 14.

- вычисление координат точки [16]G = (X16; Y16)

X16 = (K2 – 2X8) mod P = (142 - 2*84) mod 293 = 28 mod 293 → 28;

Y16 = (K*(X8 – X16) – Y8) mod P = (14*(84 – 28) – 254) mod 293 =

= 237 mod 293 → 237.

Следовательно, [16]G = (X16; Y16) = (28; 237), координаты точки [16]G определены как X16 = 28; Y16 = 237.

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

- вычисление углового коэффициента касательной в точке [16]G = (X16; Y16) = (28; 237)

K = mod P = mod 293 = 251 mod 293 → 251.

- вычисление координат точки [32]G = (X32; Y32)

X32 = (K2 – 2X16) mod P = (2512 - 2*28) mod 293 = 243 mod 293 → 243;

Y32 = (K*(X16 – X32) – Y16) mod P = (251*(28 – 243) – 237) mod 293 =

= 3 mod 293 → 3.

Следовательно, [32]G = (X32; Y32) = (243; 3), координаты точки [32]G определены как X32 = 243; Y32= 3.