Digital Signature support for EdDSA with E25519

Sarah Hand <sarah.hand-KybP6gOR/[email protected]>
Newsgroups gmane.comp.encryption.bouncy-castle.devel
Message-ID <CALZ8mPcn227xy3g6gNfmJajdJ6a_-knvprzvFhraK06kqTdPWQ@mail.gmail.com>
Hi Bouncy Castle Devs,

I'm a relative novice to Java security, but am being asked *to sign some
data using EdDSA with E25519 elliptic curve*.  I'm trying to determine if
Bouncy Castle supports this or not. I have public/private keys already
created for that curve and need to use these keys to do the signing, but I
can't figure out how to initialize/setup the classes to work.

For example, I've tried the following code (thinking this is the right way
to proceed) but cannot determine what algorithm value to provide that
represents "EdDSA with E25519" that is supported by BC.

        Security.addProvider(new BouncyCastleProvider());
        Signature signature = Signature.getInstance("EdDSAE25519", "BC");

I'm not sure if this is relevant or not . . . but I did not find the E25519
ellliptic curve listed on the supported curve Wiki page -
http://www.bouncycastle.org/wiki/pages/viewpage.action?pageId=362269 - but
since the page hasn't been updated since 2015, I thought it might be out of
date. But I'm also not sure if this page is documenting what types of key
generation is supported by BC (which I don't need) or what types of keys
can be used by BC (for digital signing, for example).

Any additional information you folks can provide, or pointers to relevant
BC documentation, test classes or examples, is much appreciated.

Thanks,
Sarah
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.