Quantum Computing & Cryptography  
010000101110011010100111101101101110100110111111000010101000100110101001101110101101100010100111100000111111010010100001101000101011111111100010101100111111100000101011011110011010101101111111

Grover's Search (1996):   Quadratic Speedup

  • Search space of size 2n using 2(n/2) function evaluations vs. classical (2n)/2

  • Security implications: 256-bit key for ANY algorithm will have only 128-bit security level

  • Simulation:
        for( iter = 1; iter <= k; ++iter)
        {
         // apply f, i.e. flip sign of state m
         //
          q[m] = -q[m];
    
         // inversion about the average
         //
          avg = 0;  for( i = 0; i < N; ++i) avg += q[i];
    
          avg *= 2.0/N;  for( i = 0; i < N; ++i) q[i] = avg - q[i];
        }