I have a project that I have to use cryptosystem and signature scheme for it.

I've read about Cramer-Shoup cryptosystem and I want to use it since it is more secure the ElGamal cryptosystem, but, I need a signature scheme based on it which I did not find. Is there such a signature scheme?

If it does not exist I thought of two solutions:

  1. I can use DSA for it but since there is one generator $g$ in DSA and two generators $g_1$,$g_2$ in Cramer-Shoup cryptosystem. So I think I may not be able to use it.
  2. I can generate a separate DH key and use it as a signature public key for the user. Then I could use this key for DSA. But I am not sure if this is considered secure.

Are these options valid?

  • $\begingroup$ @Sebi Easy there, cowboy. It's OK to ask for accepting an answer after a day or so, if there is no peep from the poster in the mean time. $\endgroup$ – Maarten Bodewes Jul 26 '15 at 21:58
  • $\begingroup$ @Maarten Bodewes :P This question was migrated from security.stackexchange.com. People seem rather shy on accepting answers there :)) $\endgroup$ – Sebi Jul 26 '15 at 22:02
  • 1
    $\begingroup$ @Sebi Trust me if I say that it is the same on SO. Not so much here. But you do have to give people some time. Last time I asked a question - not something that occurs often - I was asked out to dinner right after... Anyway, welcome to crypto :) $\endgroup$ – Maarten Bodewes Jul 26 '15 at 22:07

It is very bad practice to use the same private key for two different schemes. In some cases this is secure but you need to explicitly prove it. One example of this can be seen here: http://www.pinkas.net/PAPERS/combined.ps.

My suggestion is to take the Cramer-Shoup group and to define a separate key pair for DSA or Schnorr signatures. You can use the generator g_1 and this will be fine (the group can be the same; it's just the key that has to be different).


This link seems to give sufficient insight:

Cramer Shoup

Cramer Shoup 2

  • 1
    $\begingroup$ If you want to use the same key for different purposes then you have to explicitly prove it. This is bad practice. Why not just use separate keys? $\endgroup$ – Yehuda Lindell Jul 27 '15 at 21:20

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.