Могут ли разные эллиптические кривые связываться / шифроваться друг с другом? (например, prime256v1 с prime521v1) - PullRequest
1 голос
/ 19 октября 2019

Для меня неясно, являются ли эллиптические кривые взаимозаменяемыми? Допустим, у Боба есть prime256v1, а у Алисы - prime521v1. Могут ли они общаться друг с другом в зашифрованном виде?

Одинаковый вопрос, могут ли эллиптические кривые с разными источниками взаимодействовать друг с другом. Средство может primve256v1 связываться с brainpoolP521t1?

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

Есть ли хороший пример кода, например, для Java для реализации такого подхода?

1 Ответ

1 голос
/ 03 ноября 2019

Формула ECDH: shared_coordinate = your_private_coefficient * their_public_coordinate. Если обе стороны используют разные кривые, их публичные координаты не имеют никакого смысла.

Алиса логически заканчивается на dAlice * dBob * GBob, а Боб заканчивается на dBob * dAlice * GAlice. Алгебраически, это только то же самое, когда GAlice == GBob.

В то время как две кривые могут быть построены так, чтобы иметь G вместе с другими другими параметрами, математика не сработает, потому что без a / b / n /Параметры {p | m, f (x)}, соответствующие двум сторонам, не используют одно и то же определение сложения / умножения, и приведенные выше символы становятся бессмысленными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...