Re: Curve25519-based EC-KCDSA
- From: Thomas Pornin <pornin@xxxxxxxxx>
- Date: 25 Aug 2006 06:20:22 GMT
According to xmath <xmath.news@xxxxxxxxx>:
But why the XOR instead of just sending h = hash(message, Y) and v,
with the verifier confirming h == hash(message, vP + hG) ?
There are out there some API for having applications use private keys
which are, physically, in a smartcard or an hardware accelerator. Most
common are PKCS#11, Microsoft's CryptoAPI, and CDSA (which is officially
an open standard, but in practice Apple's API for this kind of things).
All of these look a bit like this: the application loads a DLL and asks
it to generate the signature. The DLL knows how to talk to the involved
hardware.
These API allow the application to provide the hash of the message
instead of the message itself. Thus, the DLL and its hardware must be
able to compute the signature from the hash alone. Note that even if
your smartcard knows how to hash data, you probably do not want to send
your 10 MBytes PowerPoint file into a smartcard; it would take quite a
long time for the transfer alone.
Therefore, a practical signature system, ready to be implemented and
deployed and used by Outlook Express, Firefox and their ilk, must assume
that only hash(message) is available, and not a hash partial evaluation
where you could smuggle additional data such as Y. Of course, you could
imagine cascading hashes, which means using hash(hash(message), Y), but
such cascading may make security proofs more complex, and I daresay
that the XOR is faster. As a side note, if the signing hardware is
really weak and has little time to perform its computation, then you
could precompute x, Y and hash(Y) (before seeing anything related to
the message) and the actual time-critical operation will need no hash
evaluation at all, if hash(message) is provided.
To sum up, I think that using hash(message) XOR h(Y) instead of
hash(message, Y) improves practical usage of the scheme in production
environment.
--Thomas Pornin
.
- Follow-Ups:
- Re: Curve25519-based EC-KCDSA
- From: David Wagner
- Re: Curve25519-based EC-KCDSA
- From: xmath
- Re: Curve25519-based EC-KCDSA
- References:
- Curve25519-based EC-KCDSA
- From: xmath
- Curve25519-based EC-KCDSA
- Prev by Date: Re: Paillier encryption scheme
- Next by Date: Re: Paillier encryption scheme
- Previous by thread: Re: Curve25519-based EC-KCDSA
- Next by thread: Re: Curve25519-based EC-KCDSA
- Index(es):
Relevant Pages
|