Documentation

Complexity.Crypto.Computational.IndexedSignature

Indexed signature schemes #

An indexed signature scheme ([BS23], Definition 14.6) signs pairs (u, msg) of an index u < q and a message. Its security game lets the adversary choose the indices of its signing queries, but never the same index twice; it wins with a valid signature on any pair (u, msg) it never had signed. An indexed scheme is what a stateful signer that never reuses an index needs: Merkle's tree signature uses the index of the next unused leaf ([Mer90], Section 6; [BS23], Section 14.6.4, where the index is a nonce). The index is an explicit input, so the syntax is stateless; the state is the signer's obligation never to repeat an index, which the game enforces.

The definition here differs from [BS23], Definition 14.6, in four labelled ways.

A request to the signing oracle is the word encPair encUnary encBits (u, msg). The oracle reads every word with the total decoder requestDecoder.

Main definitions #

Main results #

References #

@[reducible, inline]

An adaptive indexed forger receives a unary security parameter and a public key, queries a signing oracle on request words encPair encUnary encBits (u, msg), and outputs a candidate (u, msg, sig).

Instances For

    An indexed signature scheme ([BS23], Definition 14.6, with randomized signing and arbitrary-length messages): at security parameter n it signs pairs (u, msg) with u < capacity n, each index at most once. Key generation and signing are strict PPT, verification is deterministic polynomial time, and every honest signature verifies.

    Instances For

      The index and message of a request word: encPair encUnary encBits (u, msg) decodes to (u, msg), and every other word decodes to some pair.

      Instances For

        The indexed signing oracle at security parameter n. Its state lists the signed pairs, most recent first. A request (u, msg) is signed when u < capacity n and u was never used, and then recorded; any other request receives the empty word and changes nothing.

        Instances For

          The indexed EUF-CMA experiment: sample (pk, sk) ← keyGen n, run the forger on (n, pk) with the indexed signing oracle, and accept a valid signature on a pair (u, msg) that was never signed.

          Instances For

            Existential unforgeability of an indexed scheme under adaptive chosen-message attack ([BS23], Definition 14.6, with the differences listed in the module docstring) against uniform strict oracle-PPT forgers.

            Instances For