Реализация ECC в Java

Пытаясь зашифровать заданный ввод с помощью криптографии эллиптических кривых в Java, я использую следующие алгоритмы для генерации шифра и ключа:

KeyPairGenerator g = KeyPairGenerator.getInstance ("ECDSA"); Cipher cipher = Cipher.getInstance ("ECIES");

Теперь, как и ожидалось, шифр не принимает ключи, сгенерированные алгоритмом ECDSA. Я получаю сообщение об ошибке - необходимо передать ключ IE.

Я искал здесь шифры, поддерживаемые этими двумя методами: http://java.sun.com/javase/6/docs/technotes/guides/security/StandardNames.html#Cipher

К сожалению, другие алгоритмы для ECC не поддерживаются. Кто-нибудь использовал сгенерированные ключи ECC для шифрования / дешифрования ввода? Какой алгоритм мне следует использовать для обоих, чтобы они не конфликтовали друг с другом?


person Rookie_22    schedule 01.06.2010    source источник


Ответы (2)


Согласно http://java.sun.com/javase/6/docs/technotes/guides/security/StandardNames.html#KeyPairGenerator, вам необходимо передать «EC» для экземпляра KeyPairGenerator для ECC.

person Marc    schedule 01.06.2010
comment
Даже когда я использую EC, шифр, использующий ECIES, не распознает его как действительный ключ. - person Rookie_22; 02.06.2010
comment
@ Rookie_22 Установите Java Cryptography Extension (JCE) Файлы политики юрисдикции с неограниченной надежностью 8, необходимые для запуска libsignal. Ссылка для скачивания: oracle.com/technetwork/java/javase / downloads / - person Tomasz Gawel; 27.10.2016

Также для более многофункциональной реализации криптографии обратите внимание на Bouncycastle.

person nsteffan    schedule 01.06.2010