![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Для вычисления открытого ключа абонента «А» КОА = [КЗА]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) открыто по открытым каналам связи для аутентификации им принимаемых электронных сообщений, получаемых от абонента «В».
4. Действие абонента-отправителя (абонента «А») по формированию электронной цифровой подписи электронного сообщения «М».
Как и для случая формирования криптограмм открытого сообщения «М» считается, что параметры эллиптической кривой «а», «b» и модуль «Р» заданы. Для выполнения операции постановки электронной цифровой подписи и аутентификации принимаемых сообщений каждый участник электронного обмена на своем рабочем компьютере формируют секретные и открытые ключи. После чего абонент-отправитель с помощью своего закрытого (секретного) ключа формирует ЭЦП передаваемого электронного сообщения. Проверка подлинности (аутентификация) электронного сообщения осуществляется абонентом «В» с помощью открытого ключа абонента-отправителя «А».
Для формирования электронной цифровой подписи необходимо:
4.1. Изначально вычислить числовое значение функции хеширования hВ(M) передаваемого сообщения «М» (ГОСТ Р34.11-94). Для примера в качестве сообщения «М» задается слово «Криптон», функция хеширования слова «Криптон» имеет вид:
hВ(M) → { 52 48 52 48 50 42 46 46 40 56 48 48 50 54 46 42 52 56 56 52 50 50 50 50 44 52 48 48 54 50 46 42}.
4.2. Для составления криптограммы числовых значений функции хеширования hВ(M) абонент-отправитель задает случайным образом целое положительное число «К» при соблюдении следующих ограничений 1 < К < Р (для примера принимается значение К=347) и НОД (К; (Р-1)) = 1. Принимаются (для примера) следующие значения параметров эллиптической кривой:
Р =293; а = 8; b = 5
4.3. Вычисляется параметр N = [К]G = [347]G = (XN; YN). N = [347]G = [347](18;11).
4.3.1. Вычисляется множество точек удвоения заданной эллиптической кривой.
Для вычисления N изначально необходимо вычислить все удвоения точки G до [256]G, т.к. число 256 является максимальным числом степени 2n в составе числа 347 (К = 347). Значение числа К =347 числам 2n можно отобразить как 347 = 256 + 64 + 16 + 8 + 2 + 1, т.е. на первом этапе для вычисления параметра «К» необходимо вычислить следующие точки удвоения точки G: [2]G, [8]G, [16]G, [64]G, [256]G.
После вычисления множеств удвоений генераторной точки G необходимо значение их композиции. Если N = 347, то максимальный нижний предел по степени 2n = 28, т.е. n = 8; 28 ≤ 347; 256 ≤ 347. Следовательно:
N = [К]G = [347]G = G + [2]G + [8]G + [16]G + [64]G + [256]G, т.е. композиция чисел, определяющих значение N = [347]G, будет включать в себя значение G + [2]G + [8]G + [16]G + [64]G + [256]G. Указанные значения удвоений генераторной точки G были вычислены в разделе 3.1:
G(X1; Y1) = G(18;11); [2]G = (X2; Y2) = (292; 276); [4]G = (X4; Y4) = (86; 71);
[8]G = (X8; Y8) = (84; 254); [16]G = (X16; Y16) = (28; 237); [32]G = (X32; Y32) = (243; 3); [64]G = (X64; Y64) = (78; 195); [128]G = (X128; Y128) = (94; 10).
Указанное множество необходимо дополнить значение точки [256]G для вычисления композиции, отображающей значение точки N = [347]G, т.е.
[347]G = G + [2]G + [8]G + [16]G + [64]G + [256]G.
Вычисление координат точки [256]G заданной эллиптической кривой как результат удвоения точки [128]G = (X128; Y128) = (94; 10):
- вычисление значения углового коэффициента касательной в точке [128]G = (X128; Y128) = (94; 10):
к = mod P =
mod 293 =
mod 293 =
= 26516 * 20-1 mod 293 = 146 * 20291 mod 293 = 146 * 44 mod 293 =
= 6424 mod 293 = 271 mod 293 → 271.
- вычисление координат точки [256]G = (X256; Y256)
X256 = (K2 – 2X128) mod P = (2712 - 2*94) mod 293 = (73441 – 188) mod 293 = 3 mod 293 → 3;
Y256 = (к * (X128 – X256) – Y128) mod P = (271* (94 – 3) – 10) mod 293 =
= 24651 mod 293 = 39 mod 293 → 39.
Следовательно, [256]G = (X256; Y256) = (3; 39), координаты точки [256]G определены как X256 = 94; Y256 = 10.
Дата публикования: 2014-10-25; Прочитано: 616 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!