0
$\begingroup$

In the signing step, wikipedia, a subkey is created.

A key k is randomly chosen from 1..q-1.

What's the use of that k?

If the k is to make less exposure to the private x; however, x is inevitably used in the signing part when computing s.

$\endgroup$
  • 1
    $\begingroup$ That's not a subkey. That's simply the randomness used in the signing process. $\endgroup$ – Maeher May 27 at 14:09
  • $\begingroup$ I guess any answer that explains the reason for $k$ would suffice. I think we can agree with Maeher that $k$ is not a subkey. Something about security and calculation of the private key giving separate signatures, I predict. $\endgroup$ – Maarten Bodewes May 27 at 14:42
2
$\begingroup$

What's the use of that k?

The following lines of the wiki tell you:

Compute $r := ( g^k \bmod p ) \bmod q$

Compute $s := ( k^{−1} ( H(m) + xr ) ) \bmod q$

That is, it is used to compute both $r$ and $s$.

However, that's not what your really asking. You're asking "why did they design DSA that way?"

Well, it's actually a variation on a noninteractive Schnorr proof of knowledge of a discrete log (in particular, of the private key); the modifications are there to reduce the size of the signature.

And, since Schnorr requires a "commitment" (what you call a subkey), well, so does DSA

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.