Вам немного не хватает информации ...
Существует несколько схем подписей, в которых используются эллиптические кривые, но наиболее распространенным (на сегодняшний день) является ECDSA .Затем вы должны заботиться о следующих моментах:
Подпись работает с последовательностью битов.Каждый бит данных должен быть правильным.Здесь у вас есть «значения», поэтому необходимо кодировать эти значения в последовательность битов (или байтов).Чтобы проверить подпись, вы должны использовать ту же кодировку, что и для генерации подписи.
ECDSA начинается с хеширования входных данных с помощью криптографической хеш-функции ,Там снова вы должны использовать тот же, что был использован для генерации подписи.Как дикое предположение, я бы сказал, что хэш-функция, вероятно, имеет вид SHA-1 .
ECDSA работает по эллиптической кривой .Кривая size недостаточна для определения кривой: существует много 192-битных кривых.Однако, поскольку определить собственную кривую сложно, большинство людей используют одну кривую среди 15 кривых, определенных в FIPS 186-3 .Одна из этих 15 кривых имеет «192-битный размер» (он называется «P-192»), поэтому есть вероятность, что сигнатура использует эту кривую.
Открытый ключ ECDSAкодирование точки кривой.Точка кривой номинально представляет собой пару целых чисел (X, Y) (это «координаты» точки).Эти целые числа взяты из базового поля, в котором живет кривая;для кривой P-192 координаты являются 192-битными целыми числами.«Нормальным» кодированием для такого открытого ключа является 49-байтовая строка: первый байт будет 0x02, за которым следует кодирование без знака с прямым порядком байтов X (24 байта), затем кодирование без знака Y (24 байта).Возможны другие кодировки.
Сигнатура ECDSA формально состоит из двух целочисленных значений, обычно называемых r и s (тоже 192-разрядные целые числа)).Снова, у вас есть подпись, вероятно, последовательность байтов, которая является кодировкой двух целых чисел.Существует два общих кодирования, одно из которых представляет собой необработанную кодировку без знака с прямым порядком байтов для обоих значений (отсюда и 48-байтовую сигнатуру), другое использует ASN.1 (для сигнатуры длиной 53 или 54 байта или около того).
Использование Bouncy Castle , как предполагает @Ashkan, хорошая идея.Но, как вы видите, в вашей ситуации достаточно много предположений.Если вы хотите получить полное представление о том, что происходит, купите копию ANSI X9.62: 2005 (стандарт ECDSA).Имейте в виду, что математическое содержание довольно тяжелое.