one of the ways we define security is via the rules of a game played between two players. a challenger, who presents some kind of scheme , and an adversary who tries to demonstrate some weakness in the scheme. we write this as , where is a security parameter to scale the difficulty. this parameter is required for our complexity-theoretic notion of computational security.

usually, it goes like this:

  1. the challenger uniformly picks at random a secret bit
  2. interacts with the challenger according to the rules of the game
  3. outputs a bit (a guess)

if , wins and . the loss is analogous.

a scheme is secure if, for all probablistic polynomial-time adversaries , there exists a negligible function such that