Accessing Point representation of Ed448 for ECDH implementation

Danny van Heumen <danny-nd5lYkvrdhVTOXjenMiYjWZHpeb/A1Y/@public.gmane.org> Sat, 8 Jun 2019 17:12:32 +0200
Newsgroups gmane.comp.encryption.bouncy-castle.devel
Message-ID <20190608171232.6b8566b8@brilliance>
Hi all,

First of all, I'm new to the list, so any pointers are welcome.

I'm currently a happy user of Bouncy Castle for its Ed448
(RFC8032) implementation. I use this for the otr4j implementation
(https://github.com/otr4j/otr4j) of OTRv4.

OTRv4 also specifies an ECDH key type, based on Ed448 Point
representation. (See
https://github.com/otrv4/otrv4/blob/master/otrv4.md#generating-ecdh-and-dh-keys.)
However, it requires a Point multiplication operation. AFAICT, Bouncy
Castle does not expose its internally used Point type and no methods
are exposed to perform scalar multiplication on a Point.

Am I missing something? If not, are there any plans/intentions to
expose the point representation? If not, are there any recommendations
you can give me on how I can best tackle this?

I currently use an amateurisch custom-made Ed448 Point implementation
which serves to prove that the code functionally works, but I would
like to get rid of it ASAP.

Let me know if you need any more information.

Kind regards,
Danny