2012-06-20 4 views
3

Мы пара любителей криптографии. Мы должны реализовать различные алгоритмы, связанные с Эллиптическая кривая криптографии в Java. До сих пор нам удалось идентифицировать некоторые ключевые алгоритмы, такие как ECDH, ECIES, ECDSA, ECMQV со страницы Википедии по криптографии с эллиптическими кривыми.Эллиптическая кривая Криптографические алгоритмы в Java

Теперь мы пытаемся понять, как и где начать реализацию этих алгоритмов. Кроме того, Java уже предоставляет эти алгоритмы в своей архитектуре? Или нам нужно использовать какой-то API, например, BouncyCastle (мы видим его на всем протяжении этого сайта!)? Или мы можем просто реализовать алгоритмы самостоятельно, используя стандартный код? Любая помощь будет высоко оценена!

ответ

3

Да, вы всегда можете рассчитывать на библиотеки Bouncy Castle реализовать самые необходимые алгоритмы, конечно, в том числе эллиптическая кривая крипто. Не нужно реализовывать свои собственные; вместо этого попробуйте установить Bouncy, если вы найдете какие-либо проблемы.

OpenJDK 7 и Java SE 7 от Oracle also implements Elliptic Curve cryptography, ранее издания содержали только a comprehensive API for Elliptic Curve cryptography, но вам требуется поставщик ОКО (как Bouncy Castle), чтобы обеспечить фактическую реализацию.

+0

+1 не реализовать алгоритмы самостоятельно. Это миллион способов, по которым ваша реализация может быть нарушена, даже если вы используете надежный алгоритм! Всегда лучше полагаться на уже существующие реализации! – dragn

0

Вы можете посмотреть проект OpenSource TextSecure, который представляет собой приложение SMS/texto для Android, которое может отправлять зашифрованные текстовые сообщения в телефонной сети GSM с той же идеей, что и OpenPGP, но с использованием ECDH и ECDSA. Все это реализовано в этом приложении с BouncyCastle.

https://github.com/WhisperSystems/TextSecure/tree/master/src/org/bouncycastle

+0

Спасибо! Но мы все еще смущены тем, где начать внедрять, если нам нужно строить эти вещи с нуля. Любая дополнительная помощь будет очень признательна! –

+0

Я знаю, что ECDH и ECDSA реализованы, поскольку они используются в TextSecure. В остальном вы должны проверить BouncyCastle. Наверное, они уже много работали! – Dolanor

Смежные вопросы