slides-119-cfrg-hedged-ecdsa-and-eddsa-signatures-00
slides-119-cfrg-hedged-ecdsa-and-eddsa-signatures-00
draft-irtf-cfrg-det-sigs-with-noise-03
External specifications:
— NIST has published FIPS 186-5 which includes EdDSA and Deterministic ECDSA.
— NIST has published Draft FIPS 204 specifying the quantum-resistant ML-DSA signature scheme.
EricssonA change
Internal between Dilithium and ML-DSA is that ML-DSA uses hedged signing by default.
| 2018-02-21 2
EdDSA Constructions in -03
Ed25519ph, Ed25519ctx, and Ed25519:
Compute SHA-512(0x00 || Z || dom2(F, C) || 000... || prefix || 000... ||
PH(M)), where M is the message to be signed, Z is 32 octets of random data,
the number of zeroes 000... is chosen so that the lengths of
(0x00 || Z || dom2(F, C) || 000...) and (prefix || 000...) are multiples
of 128 octets. Interpret the 64-octet digest as a little-endian integer r.
d. Set:
K = HMAC_K(V || 0x00 || Z || 000... || int2octets(x) || 000... || bits2octets(h1))
The number of zeroes 000... is chosen so that the length of
(V || 0x00 || Z || 000...) and (int2octets(x) || 000...) are multiples of the block
size of the hash function.
f. Set:
K = HMAC_K(V || 0x01 || Z || 000... || int2octets(x) || 000... || bits2octets(h1)
Note that the "internal octet" is 0x01 this time. The string(Z || 000... ||
int2octets(x) || 000.. || bits2octets(h1)), called provided_data in HMAC_DRBG, is
the same as in step (d).
#6 - FIPS 186 compliant mode where message-dependent values are used as ‘additional input’
— Cisco suggested a FIPS 186 compliant mode where message-dependent pseudorandom values are
used as ‘additional input’ in the random number generation for randomized ECDSA. Such a mode could
compliment the current hedged construction based on Deterministic ECDSA.
#7 - Algorithm naming
— Simon Josefsson suggests using the name 'R* for the variants, e.g., 'REd25519ph’, 'REd25519ctx',
'REd25519 etc.
#8 - RECOMMENDED or MUST
— Rene Stuik suggests MUST instead of RECOMMENDED.
Ericsson Internal | 2018-02-21 6
Next steps