Bit commitment 2026-10-13
A bit commitment allows a sender to fix a bit while concealing it from the receiver until an opening phase. Binding prevents a sender from opening the same commitment as either bit; hiding prevents the receiver from learning the bit prematurely. With a one-way permutation and a hard-core predicate , a commitment can consist of and the masked bit . Opening reveals . Injectivity gives binding, while unpredictability of the hard-core predicate gives computational hiding. For an RSA cryptosystem, the receiver must not possess the inverse trapdoor.
Hard-core predicate 2026-10-13
A hard-core predicate is an efficiently computable bit of an input to a one-way function that cannot be predicted from the function output with nonnegligible advantage over random guessing. For a one-way function , padding it to gives the inner-product predicate . This is the Goldreich–Levin construction. It provides a way to mask a bit using an otherwise publicly revealed one-way function value.
In the RSA cryptosystem, choose distinct large primes , put , choose coprime to , and choose with . Publish and keep the factorization and private. Encrypt a properly encoded message as and decrypt as . The Chinese remainder theorem proves correctness even for nonunits: modulo either prime, the message is either zero or satisfies Fermat's little theorem.
The public exponent has few nonzero binary digits, so exponentiation needs only sixteen squarings and one extra multiplication. It is an efficient conventional choice, subject to the required coprimality and secure randomized message encoding. The same numerical choice for the private exponent would speed decryption, but for large moduli with balanced prime factors it is disastrously small: the continued-fraction attack on a small RSA private exponent recovers when, for example, and . A small public exponent and a small private exponent have very different security implications.
To factor from , write with odd. Choose random modulo . If is nontrivial, factoring is already done. Otherwise compute and repeatedly square; the final value is one. If a value immediately preceding the first one is neither nor modulo , then and
Indeed, the signs of modulo and differ. Restart if the chain begins at one or reaches first. The Chinese remainder theorem makes the two prime components independent for a uniformly chosen unit. Their two-primary orders differ with probability at least one half: if the two exponents of two in are equal, the probability of equal orders is at most one half, and if unequal it is smaller. Since odd preserves these orders, this gives a randomized factoring procedure with bounded expected repetitions.
A bit commitment must be hiding before opening and binding after it. A concrete RSA construction uses a valid public RSA permutation whose inverse is unavailable to the receiver. Choose a random unit and a random bit vector , and set to their binary inner product modulo two. Send , , and . To open, reveal ; the receiver checks and recovers . Injectivity makes the opening bit unique. The hard-core predicate theorem applied to gives computational hiding under the RSA inversion assumption. The setup must ensure a valid modulus and exponent without giving the receiver the private exponent; otherwise hiding fails. Merely encrypting or would not hide a bit, since both ciphertexts could be computed publicly.