Как зашифровать открытый текст с использованием ECDH? - PullRequest
1 голос
/ 23 сентября 2011

Я ищу пример кода Java для реализации шифра для шифрования ECDH. Я уже нашел способ получить необходимые ключи, но до сих пор не нашел решения для шифрования текста. Цените, если кто-то может дать некоторые рекомендации.

Кстати, я использую SpongyCastle, поскольку я программирую для Android.

Большое спасибо!

1 Ответ

3 голосов
/ 25 сентября 2011

ECDH не является алгоритмом шифрования; не может зашифровать выбранные вами данные.Это протокол соглашение о ключе , который приводит к «общему секрету»: данные, которыми отправитель и получатель в конечном итоге делятся, являются «секретными» (только они знают это), но они не могут контролировать их содержимое.1005 *

Идея состоит в том, что вы можете использовать общий секрет в качестве основы для алгоритма симметричного шифрования.Поскольку общий секрет имеет относительно негибкий формат (с ECDH общий секрет представляет собой точку эллиптической кривой, и около половины его действительно является секретным), нормальным способом является его хеширование с помощью безопасной хэш-функции (скажем, SHA-256) и использовать вывод хеша (или его часть) в качестве фактического ключа шифрования.

...