209 похожих чатов

Видимо, в secp256k1 есть ещё ключи, которые будут такой невалидный

результат давать, интересно, как алгоритмы генерации кошельков/подписи транзакцих обходят эту проблему, генерят до тех пор, пока не встретиться валидный?

3 ответов

12 просмотров

любые 32 байта валидны как приватник, кроме нулей

Просто проверяют на порядок группы n. Это все же задается константами и генеративная точка G, n, p. т/е nG = 0 (или Infinity), получаем бесконечно удаленную точку

while (true) { const k = rnd(P) const R = mulG(k) if (R[0] == 0) continue const s = mulmod(invmod(k, N), addmod(z, mulmod(R[0], d, N), N), N) if (s == 0) continue Всегда можно наугад выбрать маску которая заведет в ноль, алгоритм проводится еще раз просто

Похожие вопросы

Обсуждают сегодня

Карта сайта