Cryptography Stack Exchange is a question and answer site for software developers, mathematicians and others interested in cryptography. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Show that digital signatures under plain RSA are insecure (Plain RSA means that signing is done by calculating $m^d\bmod n$, with $0\le m<n$, and no padding or hashing of $m$).

Write an algorithm that, given someone’s public signature verification key ($e$, $n$), can easily generate a (message, signature) pair for some message that the private key holder never intended to sign. For full credit your algorithm should not require a signing oracle and your algorithm should generate “signed” messages where your message is different than its signature (Hints: The message need not have any meaning to count as a forgery. Think backwards).

share|improve this question
We rather expect you to do your own homework. What have you tried? – poncho Feb 18 '14 at 3:43
This is, in fact, answered in another related question of the forum. You just need to work a little and look for it. Posting your homework without even explaining which are your doubts is not fair. – izaera Feb 18 '14 at 7:42
Here it is:… – izaera Feb 18 '14 at 8:19

I happened to see some similar question like this. The question mentioned about sending fake signature message. The method is like this:

  1. Find some random string R.
  2. Use the public key to encrypt the random string R, let the result be X.

(R,X) is your signature pair.(Think backwards) When someone verifies the signature, he'll compare {R} with X which are equal.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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