Я правильно внедряю ECC?
Абсолютно нет, и вы даже не идете правильным путем, чтобы понять ECC.
ECC на самом деле не выполняет операцию шифрования так же, как RSA.Существует шифрование ElGamal, но поскольку ECC работает с такими полями малого порядка, ни одна хорошая схема шифрования не совместима с этим.Кроме того, он расширит сообщение, например, от 10 байтов до 64 байтов - и это только после очень либерального подхода к заполнению сообщения правильно - что необходимо для безопасной работы.Таким образом, ваше изображение выросло бы в 6,4 раза, если бы вы использовали прямое шифрование ECC.
Как упоминал Джеймс, есть нечто, называемое ECIES, которое в основном выводит симметричный ключ с использованием DH, отправляя локальный открытый ключ с сообщением,затем уничтожив временный закрытый ключ.Затем получатель может получить тот же симметричный ключ, используя свой закрытый ключ и открытый ключ.Этот специфический для сообщения производный ключ может затем использоваться для шифрования / дешифрования сообщения (то есть данных пикселей), например.используя AES-CTR, который не имеет никаких накладных расходов (кроме IV, но, поскольку у вас есть случайный ключ данных, вы можете использовать статический IV / nonce, например, всех нулей).
К сожалению, это все еще будетоставить вас с открытым ключом для хранения рядом с сообщением.