Шифрование и дешифрование с помощью эллиптической кривой Эль-Гамаля

Я искал ответ и гуглил, чтобы найти способ, как зашифровать и расшифровать строку с помощью эллиптической кривой Эль-Гамаля без какой-либо сторонней библиотеки, но всегда есть ответ на использование сторонней библиотеки, такой как bo *...замок или фл**провайдер. Чтобы предотвратить зависимости в моей программе, я решил использовать безопасность Java, потому что, когда я когда-либо задавал и обсуждал свой вопрос после этот поток это можно сделать без какой-либо сторонней библиотеки, но в этом (потоке) случае цель состоит в том, чтобы подписать/проверить, теперь:

  1. КАК или это возможно сделать шифрование / де с ElGamal ECC с родной Java (JDK 7+)?
  2. Из этой связанной темы выше я использую метод base64 для хранения закрытого и открытого ключа, могу ли я сделать то же самое в El-Gamal ECC?
  3. Есть ли кто-нибудь с храбрым сердцем :), чтобы ответить примером кода для шифрования / дешифрования с помощью EL-Gamal ECC в родном java (jdk 7 или 8)?

person Rhony    schedule 13.01.2015    source источник
comment
Если вы недостаточно сильны в криптографии, чтобы понять, как превратить Эль-Гамаля в потоковый шифр, не пытайтесь реализовать его самостоятельно на Java. Вы обязательно получите что-то, что имеет тонкие, фатальные недостатки. Однако, если вы настаиваете на продолжении, на en.wikipedia.org/wiki/ElGamal_encryption есть обзор и ams.org/journals/mcom /1987-48-177/S0025-5718-1987-0866109-5 содержит подробности. Алгоритм обмена ключами (Диффи-Хеллмана) уже находится в ядре JCE с именем DH.   -  person BadZen    schedule 13.01.2015
comment
Что вы должны использовать: bouncycastle.org   -  person BadZen    schedule 13.01.2015
comment
Таким образом, невозможно / jdk не предоставляет метод шифрования / дешифрования с помощью el-gamal Ecc?   -  person Rhony    schedule 13.01.2015
comment
По умолчанию провайдер по умолчанию не имеет реализации Cipher, основанной на криптосистеме EC El-Gamal, нет. docs.oracle.com/javase/7/docs/ технические заметки/руководства/безопасность/   -  person BadZen    schedule 13.01.2015
comment
Спасибо за ваше предложение, но я собираюсь использовать flexiprovider, и у меня возникла ошибка, не могли бы вы мне помочь. Ссылка на мой вопрос   -  person Rhony    schedule 14.01.2015
comment
Почему вы используете Эль-Гамаля? Вам нужны его гомоморфные свойства? Для асимметричного шифрования общего назначения я бы предпочел шифрование в стиле ECIES.   -  person CodesInChaos    schedule 14.01.2015
comment
да, я передумал использовать ECIES, не могли бы вы мне помочь, следуя моему вопрос   -  person Rhony    schedule 14.01.2015
comment
Это тоже работает - однако, вероятно, больше людей посмотрели источник BC. Либо будет работать. Однако вам нужно опубликовать точный код ошибки /w, чтобы мы могли помочь вам с этим. Наверное, стоит начать новый вопрос.   -  person BadZen    schedule 17.01.2015
comment
я делал новую дискуссию, ответил и решил сам об этой проблеме, если вы хотите взглянуть на это, обратитесь к этому thread   -  person Rhony    schedule 18.01.2015