Digital signature forgery

From Wikipedia, the free encyclopedia
  (Redirected from Universal forgery)
Jump to navigation Jump to search

In a cryptographic digital signature or MAC system, digital signature forgery is the ability to create a pair consisting of a message, , and a signature (or MAC), , that is valid for , but has not been created in the past by the legitimate signer. There are different types of forgery.[1]

To each of these types, security definitions can be associated. A signature scheme is secure by a specific definition if no forgery of the associated type is possible.


The following definitions are ordered from lowest to highest achieved security, in other words, from most powerful to the weakest attack. The definitions form a hierarchy, meaning that an attacker able to do mount a specific attack can execute all the attacks further down the list. Likewise, a scheme that reaches a certain security goal also reaches all prior ones.

Total break[edit]

More general than the following attacks, there is also a total break: when adversary can recover the private information and keys used by the signer, they can create any possible signature on any message.[2]

Universal forgery (universal unforgeability, UUF)[edit]

Universal forgery is the creation (by an adversary) of a valid signature, , for any given message, . An adversary capable of universal forgery is able to sign messages he chose himself (as in selective forgery), messages chosen at random, or even specific messages provided by an opponent.

Selective forgery (selective unforgeability, SUF)[edit]

Selective forgery is the creation of a message/signature pair by an adversary, where has been chosen by the challenger prior to the attack.[3] may be chosen to have interesting mathematical properties with respect to the signature algorithm; however, in selective forgery, must be fixed before the start of the attack.

The ability to successfully conduct a selective forgery attack implies the ability to successfully conduct an existential forgery attack.

Existential forgery (existential unforgeability, EUF)[edit]

Existential forgery is the creation (by an adversary) of at least one message/signature pair, , where has never been signed by the legitimate signer. The adversary can choose freely; need not have any particular meaning; the message content is irrelevant — as long as the pair, , is valid, the adversary has succeeded in constructing an existential forgery. Thus, creating an existential forgery is easier than a selective forgery, because the attacker may select a message for which a forgery can easily be created, whereas in the case of a selective forgery, the challenger can ask for the signature of a “difficult” message.

Example of an existential forgery[edit]

The RSA cryptosystem has the following multiplicative property: .

This property can be exploited by creating a message with a signature .[4]

A common defense to this attack is to hash the messages before signing them.[4]

Weak existential forgery (strong existential unforgeability, strong unforgeability; sEUF, or SUF)[edit]

This notion is a stronger (more secure) variant of the existential forgery detailed above. Weak existential forgery is the creation (by an adversary) of at least one message/signature pair, , given a message and different signature produced by the legitimate signer.

Strong existential forgery is essentially the weakest adversarial goal, therefore the strongest schemes are those that are strongly existentially unforgeable.


  1. ^ Vaudenay, Serge (September 16, 2005). A Classical Introduction to Cryptography: Applications for Communications Security (1st ed.). Springer. p. 254. ISBN 978-0-387-25464-7. CS1 maint: discouraged parameter (link)
  2. ^ Goldwasser, Shafi; Bellare, Mihir (2008). Lecture Notes on Cryptography. Summer course on cryptography. p. 170.
  3. ^ Smart, Nigel P. Cryptography Made Simple. Springer. p. 217. ISBN 978-3-319-21935-6.
  4. ^ a b Fabrizio d'Amore (April 2012). "Digital signatures - DSA" (PDF). La Sapienza University of Rome. pp. 8–9. Retrieved July 27, 2018. CS1 maint: discouraged parameter (link)