View Issue Details

IDProjectCategoryView StatusLast Update
0005398GNUnetutil librarypublic2019-02-24 08:02
ReporterbfixAssigned ToChristian Grothoff 
PrioritynormalSeverityfeatureReproducibilityN/A
Status assignedResolutionopen 
Platformi7OSDebian GNU/LinuxOS Versionsqueeze
Product VersionSVN HEAD 
Target Version0.12.0Fixed in Version 
Summary0005398: redundant hash in EdDSA signature process
DescriptionThe EdDSA signature implementation in GNUnet calls the 'gcry_pk_sign
(&sig, msg, prv)' function not with the message itself, but with the
SHA512 hash value of the message.

Due to the intricities of EdDSA signing this is not necessary (hashing
is done in the sign function itself, as more than just the message is
hashed for this).

Although the GNUnet approach is not breaking things technically, it
produces unnecesary load: It is running an extra SHA512 - and because
the signed message is usually rather small (from what I have seen until
now the signed data is smaller than the 64 bytes of a SHA512 result),
the sign functions even needs to hash more data than necessary.

I guess that changing the sign/verify procedure would break
compatibility between new and old nodes and is therefore not feasable. I
just want to mention this in case a major version change is considered.

Thanks for your attention, Bernd.
Additional InformationShould be fixed when we next break compatibility "big time".
TagsNo tags attached.

Activities

Christian Grothoff

2019-02-12 09:01

manager   ~0013670

Targeting release 0.12.0 for this.

Christian Grothoff

2019-02-24 08:02

manager   ~0013976

Code to fix this is already in Git, just an #if 1 needs to be toggled. Location is marked with the bug number.

Christian Grothoff

2019-02-24 08:02

manager   ~0013977

(btw, I measured, could not find any difference in performance)

Issue History

Date Modified Username Field Change
2018-07-11 23:29 Christian Grothoff New Issue
2018-07-11 23:30 Christian Grothoff Reporter Christian Grothoff => bfix
2018-07-11 23:30 Christian Grothoff Status new => confirmed
2019-02-12 09:01 Christian Grothoff Target Version => 0.12.0
2019-02-12 09:01 Christian Grothoff Note Added: 0013670
2019-02-24 08:01 Christian Grothoff Assigned To => Christian Grothoff
2019-02-24 08:01 Christian Grothoff Status confirmed => assigned
2019-02-24 08:02 Christian Grothoff Note Added: 0013976
2019-02-24 08:02 Christian Grothoff Note Added: 0013977