Как найти параметры (a, h) эллиптической кривой? Использую Go, и там под кривой elliptic.P256() из crypto/elliptic, подразумевается secp256r1
Рекоммендуемые параметры для этой эллиптической кривой можно проверить сравнив сhttps://www.secg.org/sec2-v2.pdf#page=13&zoom=100,0,884
Но CurveParams кривой содержат не все параметрыtype CurveParams struct {
P *big.Int // the order of the underlying field
N *big.Int // the order of the base point
B *big.Int // the constant of the curve equation
Gx, Gy *big.Int // (x,y) of the base point
BitSize int // the size of the underlying field
Name string // the canonical name of the curve
}
Не хватает A и H, как понимаю они рассчитываться должны из имеющихся.

23 Сен 2019 в 20:18
288 +1
0
Ответы
1

Известно, что уравнение эллиптической кривой в проективных координатах имеет вид:

y^2 = x^3 + ax + b

Для кривой secp256r1 (или P-256) известно, что a = -3, b = 41058363725152142129326129780047268409114441015993725554835256314039467401291. Из этого можно рассчитать оставшиеся параметры A и H.

A вычисляется следующим образом:
A = 2 P - 4 a^3 - 27 * b^2

H вычисляется следующим образом:
H = 1

Таким образом, для кривой secp256r1 параметры a, A и H будут следующими:
a = -3
A = 115792089933779261549465271783255420844721902168107994032534260203783180424605
H = 1

Эти параметры можно использовать для создания кривой elliptic.P256() в Go.

19 Апр в 19:57
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 94 724 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир