Обладает ли закрытый ключ особыми математическими свойствами?

[Я читал, что существуют закрытые ключи с длиной, отличной от 256 бит. Здесь я говорю только о 256-битных закрытых ключах. Другие длины вообще распространены и поддерживаются популярными кошельками, такими как Electrum?]

Допустим, я генерирую закрытый ключ privateKey0с помощью генератора ключей. Затем я выбираю некоторое число n∈ [1, 10^10]. Учитывая, что privateKey0+ n< 2^256, будет ли privateKey1:= privateKey0+ nхорошим закрытым ключом?

Хороший закрытый ключ, конечно, должен быть действительным и таким же надежным, как и сгенерированный генератором закрытых ключей . При этом не учитывается, что размещение одного из них в открытом доступе может привести к тому, что другой станет общедоступным. Однако продуктивное использование обоих не должно ослаблять их секретность, чтобы второй считался хорошим закрытым ключом. Итак, давайте предположим, что их соответствующие открытые ключи и адреса для них сгенерированы, и оба они получают некоторую сумму денег.

Я ничего не знаю о закрытых ключах Биткойн (но знаю, что экземпляр формата импорта кошелька — это просто результат простой операции над большим числом, как описано здесь ). Должны ли они обладать особыми математическими свойствами, или я могу просто выбрать любое число ∈ [2^255, 2^256 - 1] и использовать его как закрытый ключ?

Некоторые веб-сайты говорят, что вы можете просто использовать случайное число. Есть ли у этого недостатки по сравнению с использованием генератора ключей?

Ответы (1)

В Биткойне закрытый ключ — это просто случайное число от 1 до 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141. Это число получено из порядка эллиптической кривой, которую использует Биткойн, secp256k1 .

Обратите внимание, что вам не обязательно устанавливать старший бит 2^255 в качестве действительного закрытого ключа Биткойн, любое число, большее или равное 1, будет работать. Действительно, знание того, что старший бит установлен, на самом деле снижает безопасность этого закрытого ключа, потому что он раскрывает некоторую информацию о ключе. Вам не нужно использовать какой-то специальный генератор ключей, на самом деле есть даже учебные пособия о том, как сгенерировать закрытый ключ с подбрасыванием монеты. Единственное требование к закрытому ключу (кроме указанного выше диапазона) состоит в том, что он должен быть случайным (сложно угадать).