🌑

Explore / Study / Computer Science / Cryptography 533 words | 3 minutes

§17 Hard-Core Predicates

  1. Hard-Core Predicates
  2. A Hard-Core Predicate for the RSA problem: lsb(x)lsb(x)lsb(x)
  3. Single-bit Encryption scheme Π\PiΠ using the Hard-core Predicate for RSA
  4. Security of the single-bit Encryption Scheme Π\PiΠ

Hard-Core Predicates

  • Definition. A function hc:{0,1}{0,1}hc : \{0,1\}^* \rightarrow \{0,1\} is a hard-core predicate of a function ff if hchc can be computed in polynomial time, and for every probabilistic polynomial-time
    algorithm A\mathscr{A} there is a negligible function ϵ\epsilon such that

    Prx{0,1}n[A(1n,f(x))=hc(x)]12+ϵ(n)\operatorname{Pr}_{x\leftarrow\{0,1\}^n}\left[\mathscr{A}\left(1^n,f(x)\right)=hc(x)\right]\le\frac{1}{2}+\epsilon(n)

    Here the probability is taken over the uniform choice of xx in {0,1}n\{0,1\}^n and the randomness of A\mathscr A.

A Hard-Core Predicate for the RSA problem: lsb(x)lsb(x)

  • We define the RSA hard-core predicate experiment RSA-lsbA,GenRSA(1n)\operatorname{RSA-lsb}_{\mathscr{A}, GenRSA}(1^n) as follows :

    1. Run GenRSA(1n)GenRSA(1^n) to obtain (N,e,d)(N, e, d).
    2. Choose uniform xZNx \in \mathbb{Z}^*_N and compute y:=[xemodN]y := [x^e \bmod N].
    3. A\mathscr A is given N,e,yN, e, y and outputs a bit bb.
    4. A\mathscr A succeeds and the output of the experiment is 11 if and only if lsb(x)=blsb(x) = b.
  • Theorem. If the RSA problem is hard relative to GenRSAGenRSA, then for all probabilistic polynomial-time algorithms A\mathscr A, there is a negligible function ϵ\epsilon such that

    Pr[RSA-lsbA,GenRSA(n)=1]12+ϵ(n)\Pr \left[\operatorname{RSA-lsb}_{\mathscr{A}, GenRSA}(n) = 1\right] \le \frac {1} {2} + \epsilon(n)

Single-bit Encryption scheme Π\Pi using the Hard-core Predicate for RSA

  • Define the single-bit public-key encryption scheme Π\Pi as follows:
    • GenGen: On input 1n1^n, run GenRSA(1n)GenRSA(1^n) to get (N,e,d)(N, e, d).

      Output the public-private key pair pk=N,epk = \langle N, e \rangle, sk=N,dsk = \langle N, d \rangle.

    • EncEnc: Given as inputs a public key pk=N,epk = \langle N, e \rangle, and message m{0,1}m \in \{0,1\},

      choose a uniform rZNr \in \mathbb{Z}^*_N satisfying lsb(r)=mlsb(r) = m. Output the ciphertext c:=[remodN]c := [r^e \bmod N].

    • DecDec: Given as inputs a private key sk=N,dsk = \langle N, d \rangle, and a ciphertext cc,

      compute r:=[cdmodN]r := [c^d \bmod N]. Output mˉ:=lsb(r)\bar{m} := lsb(r).

Security of the single-bit Encryption Scheme Π\Pi

  • Theorem: If the RSA problem is hard relative to GenRSAGenRSA, then Π\Pi is a CPA-secure encryption scheme.

— Apr 5, 2023

Creative Commons License
§17 Hard-Core Predicates by Lu Meng is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. Permissions beyond the scope of this license may be available at About.