Рейтинг:0

Помогите определить точки на Р-256 лежат на реальной кривой

флаг gb

Уравнение кривой для P-256:

НИСТ Р-256

у^2 = х^3-3х+41058363725152142129326129780047268409114441015993725554835256314039467401291

Ниже я генерирую ключевые данные, включая секретный ключ «d».

Может кто-нибудь, пожалуйста, помогите мне:

1-Преобразуйте и подставьте 2 точки ниже в приведенное выше уравнение, чтобы убедиться, что точки лежат на кривой.

2-Покажите мне, используя приведенное выше уравнение кривой, как я могу определить, что x + y вернется на кривую как d, все значения, показанные ниже?

Используйте jwcrypto для генерации ключевых данных

key_data = jwk_crypto.JWK.generate(kty='EC', crv='P-256')

private_key_data = key_data.export (as_dict = True)

печать (json.dumps (private_key_data, отступ = 2))

===>

{

'кты': 'ЕС',

'crv': 'P-256',

'x': 'vddm_d3R2dYNICxh2D93hjBZyEbpIWSW0fhPUXhHCgc',

'y': 'BjcTCjAp6oqDRbWDSCiCMxSKMDEAe4rAwYJqXHEbO98',

'd': 'B_nLv2KHBVUZEx6KSNULf3ZqZlYaVrpp8J7ncORbS_U'

}

kelalaka avatar
флаг in
Добро пожаловать в Cryptography.SE. Во-первых, ваш вопрос не совсем ясен. Во-вторых, вопросы, связанные с кодированием, даже если они связаны с криптографией, здесь не по теме. Вы должны спросить в [so] с соответствующими тегами и указать, где вы потерпели неудачу. Мы принимаем некоторый код для объяснения проблемы на стороне криптографии, а не на стороне программирования.
kelalaka avatar
флаг in
Обратите внимание, что с секретным ключом $d$ вычисляется открытый ключ $[d]G$, где $G$ является генератором группы кривых, и это называется скалярным умножением, означающим добавление $G$ d раз.
kelalaka avatar
флаг in
Вы спрашиваете подобное? [Доказательство того, что открытый ключ пользователя соответствует уравнению кривой (secp256r1)] (https://crypto.stackexchange.com/q/85800/18298)
флаг gb
В отправленной вами ссылке используются шестнадцатеричные входы X Y. Как мне сначала преобразовать приведенное выше в шестнадцатеричное число, чтобы передать уравнение - или я бы предположил, что его нужно сначала преобразовать в целые числа?
kelalaka avatar
флаг in
SageMath принимает шестнадцатеричные значения как целочисленные входные данные, что зависит от используемого языка программирования.
флаг gb
Вопрос в том, какой формат вы думаете?
флаг gb
Также можете ли вы сообщить мне, если данные X и Y являются первой точкой, то где определена вторая точка? А также как d: вписывается в вывод в конце?
kelalaka avatar
флаг in
Они закодированы в Base64 [попробуйте здесь получить шестнадцатеричный код без разделителя] (https://www.rapidtables.com/web/tools/base64-decode.html), и ваша точка является действительной точкой и открытым ключом $d$ то есть $[d]G$ имеет координаты как $(x,y)$. Что такое 2 балла, что такое второй вопрос.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.