Hello,

For an increasing demand, I've created an initial implemention of the
ML-DSA signature scheme for Nettle, which I would like to have any
feedback.  The code is available here:
https://git.lysator.liu.se/nettle/nettle/-/merge_requests/68

This is a naive implementation based on Alfred Menezes' lecture[1],
without consulting any other implementation, so aside the caveats
mentioned in the MR description, it might have some issues related to
performance or side-channels; I would appreciate your scrutiny of the
code.

Here are some numbers from the hogweed-benchmark program:

            name  size    sign/s  verify/s
             rsa  1024    6725.2  148157.5
             rsa  2048    1163.2   43674.5
          rsa-tr  1024    2821.7  143160.9
          rsa-tr  2048     618.4   42589.8
             dsa  1024   10826.5    7820.8
           ecdsa   192   28974.8    8603.2
           ecdsa   224   18453.9    5667.3
           ecdsa   256   17528.0    5185.6
           ecdsa   384    7443.0    2210.4
           ecdsa   521    3831.2    1088.2
           eddsa   255   30769.8    7323.7
           eddsa   448    8546.7    2356.2
           curve   255   31995.1   10698.2
           curve   448    9668.1    3395.1
         gostdsa   256   16567.5    3551.9
         gostdsa   512    4176.5     883.4
 slh-dsa-shake-s   128      1.30   1312.91
 slh-dsa-shake-f   128     27.01    451.49
  slh-dsa-sha2-s   128      5.36   5345.13
  slh-dsa-sha2-f   128     110.6    1804.4
       ml-dsa-65 15616     450.9     905.5
       ml-dsa-87 20736     130.3     604.3

Footnotes:
[1]  https://cryptography101.ca/kyber-dilithium/

Regards,
-- 
Daiki Ueno
_______________________________________________
nettle-bugs mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to