Мне нужна помощь в понимании криптографии на эллиптических кривых на php и android. Я читал о замке Spongy и Bouncy Castle … я понял, что каждой стороне нужно создать пару ключей (открытых и закрытых) и общий секретный ключ, который они будут использовать для шифрования и дешифрования .. я прав? или есть еще один ключ … я немного запутался .. также я не могу найти что-нибудь для php … любая помощь приветствуется …
Я также знаю, что ECDSA используется только для генерации подписей и что ECDH используется для шифрования / дешифрования сообщений, что мне и нужно.
я понял, что каждая сторона должна создать пару
ключи (открытый и закрытый) и общий секретный ключ, который они будут использовать
для шифрования и дешифрования .. я прав?
Да. Каждая сторона генерирует пары ключей и отправляет свои открытые ключи друг другу. Закрытые ключи должны храниться надежно и не разглашаться.
Секретный ключ генерируется из личного ключа получателя и открытого ключа отправителя и наоборот.
Алгоритм цифровой подписи эллиптической кривой (ECDSA) используется для подписи данных закрытым ключом и проверки их с помощью соответствующего открытого ключа.
Эллиптическая кривая Диффи – Хеллмана (ECDH):
является протоколом соглашения об анонимном ключе, который позволяет двум сторонам, каждому
иметь пару открытый ключ-секретный ключ эллиптической кривой, чтобы установить
поделился секретом по небезопасному каналу.
Так что вам нужен ECDH, если вы хотите зашифровать и расшифровать данные.
Других решений пока нет …