|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Вычисление множества точек удвоения заданной эллиптической кривойДля вычисления открытого ключа абонента-отправителя сообщения «М» КОА изначально необходимо вычислить все удвоения генераторной точки «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. Вычисление удвоения генераторной точки 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. Вычисление операции удвоения полученной точки [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. Вычисление координат точки [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. Вычисление координат точки [16]G, как результат удвоения точки [8]G: - вычисление углового коэффициента касательной в точке [8]G = (X8; Y8) = (84; 254) K = mod P = mod 293 = mod 293 = 21176 * 508-1 = 21176 * 508291 mod 293 = 80 * 154 mod 293 = 12320 mod 293 = = 14 mod 293 → 14. - вычисление координат точки [16]G = (X16; Y16) X16 = (K2 – 2X8) mod P = (142 - 2*84) mod 293 = (196 – 168) mod 293 = = 28 mod 293 → 28; Y16 = (K*(X8 – X16) – Y8) mod P = (14*(84 – 28) – 254) mod 293 = (784 – 254) mod 293 = 530 mod 293 = 237 mod 293 → 237. Следовательно, [16]G = (X16; Y16) = (28; 237), координаты точки [16]G определены как X16 = 28; Y16 = 237. Вычисление координат точки [32]G, как результат удвоения точки [16]G: - вычисление углового коэффициента касательной в точке [16]G = (X16; Y16) = (28; 237) K = mod P = mod 293 = mod 293 = 2360 * 474-1 mod 293 = 2360 * 474291 mod 293 = 16 * 34 mod 293 = 544 mod 293 = = 251mod 293 → 251. - вычисление координат точки [32]G = (X32; Y32) X32 = (K2 – 2X16) mod P = (2512 - 2*28) mod 293 = (63001 – 56) mod 293 = = 62945 mod 293 = 243 mod 293 → 243; Y32 = (K*(X16 – X32) – Y16) mod P = (251*(28 – 243) – 237) mod 293 = - 54202 mod 293 = - 290 mod 293 = (293 – 290) mod 293 = 3 mod 293 → 3. Следовательно, [32]G = (X32; Y32) = (243; 3), координаты точки [32]G определены как X32 = 243; Y32= 3. Вычисление координат точки [64]G, как результат удвоения точки [32]G: - вычисление углового коэффициента касательной в точке [32]G = (X32; Y32) = (243; 3) K = mod P = mod 293 = 177155 * 6-1 mod 293 = = 177155 * 6291 mod 293 = 183 * 49 mod 293 = 8967 mod 293 = 177 mod 293 → 177. - вычисление координат точки [64]G = (X64; Y64) X64 = (K2 – 2X32) mod P = (1772 - 2*243) mod 293 = 30843 mod 293 = 78 mod 293 → 78; Y64 = (K*(X32 – X64) – Y32) mod P = (177*(243 – 78) – 3) mod 293 = 29202 mod 293 = 195 mod 293 → 195. Следовательно, [64]G = (X64; Y64) = (78; 195), координаты точки [64]G определены как X64 = 78; Y64 = 195. Вычисление координат точки [128]G, как результат удвоения точки [64]G: - вычисление углового коэффициента касательной в точке [64]G = (X64; Y64) = (78; 195) K = mod P = mod 293 = mod 293 = 18260 * 390291 = 94 * 145 mod 293 = 13630 mod 293 = 152 mod 293 → 152. - вычисление координат точки [128]G = (X128; Y128) X128 = (K2 – 2X64) mod P = (1522 - 2*78) mod 293 = 22948 mod 293 = 94 mod 293 → 94; Y128 = (K*(X64 – X128) – Y64) mod P = (152*(78 – 94) – 195) mod 293 = = 10 mod 293 → 10. Следовательно, [128]G = (X128; Y128) = (94; 10), координаты точки [128]G определены как X128 = 94; Y128 = 10. Вычисление композиций точек удвоения [4]G; [8]G; [32]G; [64]G; [128]G заданной эллиптической кривой. Для вычисления открытого ключа абонента «А» КОА = [КЗА]G необходимы точки [4]G; [8]G; [32]G; [64]G; [128]G заданной эллиптической кривой, т.к. число 236,отображающее закрытый ключ, формируется из результатов композиций операций удвоений 236 = 4 + 8 +32 + 64 + 128. Следовательно, значение открытого ключа КОА = [КЗА]G будет определяться результатом композиций точек [4]G; [8]G; [32]G; [64]G; [128]G. Вычисление композиции точек [64]G и [128]G; [64]G + [128]G = [192]G = (X192; Y192). ( [64]G = (X64; Y64) = (78; 195); [128]G = (X128; Y128) = (94; 10)) - Вычисляется угловой коэффициент прямой, проходящей через точки [64]G и [128]G заданной эллиптической кривой: K = mod P = mod 293 = - 185 * 16-1 mod 293 = - 18 * 16291 mod 293 = - 185 * 55 mod 293 = - 10175 mod 293 = -213 mod 293 = (293-213) mod 293 = 80 mod 293 → 80. - Вычисляются координаты точки [192]G = (X192; Y192): X192 = (K2 – X64 – X128) mod P = (802 – 78 – 94) mod 293 = 6228 mod 293 = 75 mod 293 → 75. Y192 = (K*(X128 – X192) – Y128) mod P = (80* (94 – 75) – 10) = 1510 mod 293 = 45 mod 293 → 45 Следовательно, [192]G = (X192; Y192) = (75; 45), координаты точки [192]G определены как X192 = 75; Y192 = 45. Вычисление композиции точек [192]G и [32]G; [192]G + [32]G = [224]G = (X224; Y224). ([192]G = (X192; Y192) = (75; 45); [32]G = (X32; Y32) = (243; 3)). - Вычисляется угловой коэффициент прямой, проходящей через точки [32]G и [192]G заданной эллиптической кривой: K = mod P = mod 293 = - 42 * 168-1 mod 293 = - 42 * 168291 mod 293 = 251 * 75 mod 293 = 18825 mod 293 = 73 mod 293 → 73. - Вычисляются координаты точки [224]G = (X224; Y224): X224 = (K2 – X192 – X32) mod P = (732 – 75 – 243) mod 293 = 30 mod 293 → 30. Y224 = (K*(X192 – X224) – Y192) mod P = (73* (75 – 30) – 45) mod 293 = = 17 mod 293 → 17. Следовательно, [224]G = (X224; Y224) = (30; 17), координаты точки [224]G определены как X224 = 30; Y224 = 17. Вычисление композиции точек [224]G и [8]G; [224]G + [8]G = [232]G = (X232; Y232). ([224]G = (X224; Y224) = (30; 17); [8]G = (X8; Y8) = (84; 254)). - Вычисляется угловой коэффициент прямой, проходящей через точки [224]G и [8]G заданной эллиптической кривой: K = mod P = mod 293 = mod 293 = 237 * 54-1 mo293 = = 237 * 54291 mod 293 = 237 * 38 mod 293 = 9006 mod 293 = 216 mod 293 → 216. - Вычисляются координаты точки [232]G = (X232; Y232): X232 = (K2 – X232 – X8) mod P = (2162 – 30 – 84) mod 293 = 46542 mod 293 = 248 mod 293 → 248. Y232 = (K*(X224 – X232) – Y224) mod P = (216* (30 – 248) – 17) mod 293 = = - 47105 mod 293 = - 225 mod 293 = (293 – 225) mod 293 = 68 mod 293 → 68. Следовательно, [232]G = (X232; Y232) = (248; 68), координаты точки [232]G определены как X232 = 248; Y232 = 68. Вычисление композиции точек [232]G и [4]G; [232]G + [4]G = [236]G = (X236; Y236);. ([232]G = (X232; Y232) = (248; 68); [4]G = (X4; Y4) = (86; 71)). - Вычисляется угловой коэффициент прямой, проходящей через точки [232]G и [4]G заданной эллиптической кривой: K = mod P = mod 293 = - mod 293 = - 3*162-1 mod 293 = - 3 * 162291 mod 293 = -3 * 208 mod 293 = - 624 mod 293 = - 38 mod 293 = (293 – 38) mod 293 = 255 mod 293 → 255. - Вычисляются координаты точки [236]G = (X236; Y236): X236 = (K2 – X232 – X4) mod P = (2552 – 248 – 86) mod 293 = 64691 mod 293 = = 231 mod 293 → 231. Y236 = (K*(X232 – X236) – Y232) mod P = (255* (248 – 231) – 68) mod 293 = = 4267 mod 293 = 165 mod 293 → 165. Следовательно, [236]G = (X236; Y236) = (231; 165), координаты точки [236]G определены как X236 = 231; Y236 = 165. В результате выполнения операций удвоения и композиций детерминированных множеств точек заданной эллиптической кривой определены координаты точки открытого ключа абонента «А», а, следовательно, и сам открытый ключ КОА = [КЗА]G = [236]G = (X236; Y236) = (231; 165). Открытый ключ абонента «А» КОА выбирается как значение абсциссы X236 = 231, т.е. КОА = 231. Абонент А передает абоненту В заданные параметры эллиптической кривой (P = 293; a = 8; b = 5), координаты генераторной точки G = (XG; YG) = (18; 11) и координаты своего открытого ключа КОА = [КЗА]G = [236]G = (X236; Y236) = (231; 165) открыто по открытым каналам связи. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.009 сек.) |