Вычисление EC PublicKey из закрытого ключа с помощью BC

В моей программе я могу успешно восстановить закрытый ключ EC из файла PEM, используя Spongy Castle (эквивалент Bouncy Castle для Android). Поскольку файл не содержит открытого ключа, я пытаюсь пересчитать открытый ключ из закрытого ключа.

Я могу вычислить действительный открытый ключ. Однако мой открытый ключ содержит гораздо больше данных (311 байт), чем исходная ссылка (92 байта). Это даже больше, чем закрытый ключ (152 байта).

Как получить сжатую (?) версию открытого ключа

PrivateKey privateKey; // private key from pem file
PublicKey referencePublicKey; // public key in my testing environment, generated with an EC KeyPairGenerator


KeyFactory factory = KeyFactory.getInstance("EC"); // using SpongyCastle provider                     
ECPrivateKeySpec privSpec = factory.getKeySpec(privateKey, ECPrivateKeySpec.class);
ECParameterSpec params = privSpec.getParams();

ECPoint q = params.getG().multiply(privSpec.getD());

ECPublicKeySpec pubSpec = new ECPublicKeySpec(q, params);
PublicKey publicKey = factory.generatePublic(pubSpec);


System.out.println( referencePublicKey.equals(publicKey) );   // true
System.out.println( referencePublicKey.getEncoded().length ); // 92
System.out.println( publicKey.getEncoded().length );          // 311

person Philipp    schedule 25.09.2016    source источник
comment
Любые идеи по этому поводу?   -  person Philipp    schedule 26.09.2016
comment
В чем проблема? Можете ли вы проверить данные с помощью открытого ключа? Вы проверили stackoverflow .com/questions/37477586/?   -  person Justinas Jakavonis    schedule 13.10.2016
comment
Пожалуйста, выложите свой оригинальный ключ. Непонятно, почему 92 байта.   -  person rustyx    schedule 24.08.2018
comment
@rustyx Чувак, этому вопросу уже два года. У меня больше нет ключей, с которыми я это тестировал.   -  person Philipp    schedule 24.08.2018
comment
Так тебе больше не нужен ответ?   -  person rustyx    schedule 24.08.2018
comment
Я думаю, что я как-то обошел это, однако я думаю, что все же стоит ответить, если вы сможете его найти?   -  person Philipp    schedule 24.08.2018