liveBook · Manning

Selective forgery attack

As explained in Hacking Cryptography

A selective forgery attack enables an attacker to forge valid signatures for messages satisfying specified constraints.

A selective forgery attack produces valid digital signatures without recovering the private key, but only for messages meeting specified constraints. Unlike universal forgery, it does not cover every attacker-chosen message; unlike existential forgery, it targets a restricted message class. section 9.3

Bleichenbacher RSA forgery

Under specific conditions, including an RSA public exponent of 3, an attacker can forge signatures for messages whose digest ends with a bit set to 1. Insufficient padding validation makes the constrained forgery possible. section 9.3 section 9.7

Distinguish the attack classes and defensive implications:

  • Universal forgery signs any chosen message, whereas selective forgery signs only messages satisfying constraints. section 9.3
  • Enforce message formatting and padding rules; PKCS #1 v1.5 supplies formatting constraints for RSA signatures. section 9.7

How Hacking Cryptography covers it

How deep it goes
Defines the attack and names a concrete RSA exploit, but defers its implementation details to a separate treatment.
Examples
Uses Bleichenbacher forgery against RSA keys with exponent 3 and digests ending with a one bit.
What it assumes
Assumes familiarity with digital signatures, private and public keys, RSA, message digests, and signature padding.
What you can do after
Evaluate/understand whether a signature scheme permits constrained forgeries and recognize inadequate RSA padding validation.
How it connects
Connects digital signatures with universal forgery, existential forgery, RSA, public exponents, and padding validation.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Hacking Cryptography. The section links point to the parts of the book it draws on.