Как можно создать точки кривой для криптографии на эллиптических кривых в Java?
Рекомендуется использовать Java-библиотеку bouncycastle , которая поддерживает эллиптические кривые и Java ME.Ищите ссылки lcrypto-j2me на их последних версиях страницы.
Из Википедии: Криптография с эллиптической кривой
Для текущих криптографических целей эллиптическая кривая - это плоская кривая, состоящая из точек, удовлетворяющих уравнению
y^2 = x^3 + ax + b
вместе с выделенной точкой на бесконечности, обозначаемой \ infty.(Координаты здесь должны быть выбраны из фиксированного конечного поля характеристики, не равной 2 или 3, иначе уравнение кривой будет несколько более сложным.) Это множество вместе с групповой операцией теории эллиптических групп образует абелеву группу,с точкой на бесконечности в качестве элемента идентичности.Структура группы наследуется от группы делителей базового алгебраического многообразия.
Далее мы читаем:
Было адаптировано несколько протоколов, основанных на дискретном логарифмек эллиптическим кривым, заменяя группу (Zp)^x раз эллиптической кривой: эллиптическая кривая Диффи-Хеллмана схема согласования ключей основана на схеме Диффи-Хеллмана * Алгоритм цифровой подписи эллиптической кривой основан на алгоритме цифровой подписи, * * Схема согласования ключей ECMQV основана на схеме согласования ключей MQV.
Было адаптировано несколько протоколов, основанных на дискретном логарифмек эллиптическим кривым, заменяя группу (Zp)^x раз эллиптической кривой:
(Zp)^x
Этого должно быть достаточно для начала работы.