[Cryptech Tech] Ed25519 use case

Russ Housley housley at vigilsec.com
Tue Sep 5 23:52:40 UTC 2017


> On Sep 5, 2017, at 3:19 PM, Bernd Paysan <bernd at net2o.de> wrote:
> 
> Am Dienstag, 5. September 2017, 18:46:32 CEST schrieb Russ Housley:
>> The IETF work that is using Ed25519 is not using the pre-hash version.  That
>> means that you need to be able to sign message, not hashes of messages.
>> 
>> See:
>> 	https://www.ietf.org/id/draft-ietf-curdle-pkix-05.txt
>> 	https://www.ietf.org/id/draft-ietf-curdle-cms-eddsa-signatures-07.txt
>> 	https://www.ietf.org/id/draft-ietf-curdle-ssh-ed25519-01.txt
> 
> I see no other option than to have both hash function and ed25519 in the FPGA, 
> and combine them in a flexible way (different users of Ed25519 may use 
> different hash algorithms). For PureEd25519, you need to feed in the message 
> twice, once to create the hash itself, and once to create the keyed hash for 
> the secret pseudo-random number.
> 
> net2o's signature is done in a way that avoids doing double hashing without 
> severely compromising the promise PureEd25519 gives: I use a SHA-3 variant, 
> and create the pseudo-random number by mixing in the secret (plus another 
> round) *after* having calculated the hash.  It therefore doesn't only depend 
> on the hash, but on the entire state, and that's about as good as a keyed 
> hash, without the double work.
> 
> However, with any reasonable good hash function, HashEd25519 is as good as 
> PureEd25519, anyways.

For small things, like a certificate, can the thing-to-be-signed be passed once?

What happens if the caller sends different bytes in the two passes?

Russ



More information about the Tech mailing list