Можем ли мы иметь несколько открытых ключей c с одним закрытым ключом для OpenSSL E CC? - PullRequest
2 голосов
/ 08 января 2020

Я использую php OpenSSL в моем проекте. Как я могу создать несколько ключей publi c, используя один закрытый ключ?

В RSA мы не можем делать такие вещи. Но как насчет E CC?

1 Ответ

2 голосов
/ 08 января 2020

По определению, для каждого частного скаляра (частного ключа) в общих криптосистемах с эллиптическими кривыми c на кривой есть одна точка (ключ c), генерируемая G^k, где G - это точка генератора кривых, а k - частный скаляр.

К вашему сведению, в несколько необычной причуде бирационально эквивалентных кривых вы фактически можете сопоставить кривую Монтгомери X25519, публикуя ключ c с двумя витыми кривыми Эдвардса Ed25519 publi c ключей, поскольку точка кривой Монтгомери не несет av-координату, однако, это не поможет в вашем случае использования.

Как правило, если мы хотим определить несколько пар ключей (не только publi c ключей) из одного семени (источника), это можно сделать с помощью деривации ключа из мастер-ключа.

Однако тогда вам нужно позаботиться о нескольких закрытых ключах.

Похоже, вы Предположим, что закрытый ключ будет жить на сервере, поэтому я не думаю, что вам на самом деле нужно несколько ключей publi c. Я предлагаю вам использовать одну пару ключей и EdDSA или ECDSA для подписи нескольких пар ключей для использования на клиентских устройствах. Подпись может быть использована для связи их источника с одной личностью.

Просьба предоставить больше контекста, и я помогу в дальнейшем.

...