[prev in list] [next in list] [prev in thread] [next in thread]
List: nettle-bugs
Subject: Re: [PATCH 0/8] Implement Curve448 ECDH and Ed448
From: nisse () lysator ! liu ! se (Niels =?utf-8?Q?M=C3=B6ller?=)
Date: 2017-09-09 20:21:32
Message-ID: nn1snfpqr7.fsf () armitage ! lysator ! liu ! se
[Download RAW message or body]
Daiki Ueno <ueno@gnu.org> writes:
> This patch series implements the Curve448 Diffie-Hellman protocol (RFC
> 7748) and the Ed448 signature scheme (RFC 8032). Although I tried to
> make it as close as possible to the Curve25519 and Ed25519
> implementations, I had to add a few special cases, namely:
Thanks a lot for this work. I've started by applying the first 4 easy
patches (currently on the master-updates branch).
> - for Curve448, eccdata directly calculates points on the Edwards
> curve instead of the equivalent Montgomery curve
It would be nice to do it the same way. Are Montgomery computations the
same, regardless of twist/no-twist?
> - untwisted versions of ecc_add_eh* and ecc_dup_eh are added
Just a note that the twisted versions should at some point be updated to
use more effficient formulas.
> - the point decoding for Ed448 uses a different formula to recover u and v
Does it have to be done differently? I'll have to read up to find out.
Efficient sqrt is going to be tailored for this prime to be most
efficient.
> Also, optimized implementation of modular reduction is currently
> missing, which is beyond my expertise. I would appreciate any
> suggestions regarding that.
If we do Euclidean reduction, we should use the property that
2^448 = 2^224 + 1 (mod)
And we'd need to use this twice to reduce a 896-bit product to 448 bits.
On 64-bit machines, we'll get some shifting since 224 isn't a multiple
of 64.
Redc might be slightly more efficient than the above reduction. Due to
the structure, it might also work nicely to do a "half redc", reducing
from both ends, and they might share the shift. I'll have to think
through the details. But unlikely to be a big win over Euclidean.
Regards,
/Niels
--
Niels Möller. PGP-encrypted email is preferred. Keyid 368C6677.
Internet email is subject to wholesale government surveillance.
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic