Fast Privacy Amplificationon GPUs
Quantum key distribution protocols typically proceed in several phases: in a first phase, the honest parties exchange signals over the quantum channel. Then, there is a classical post-processing phase, where the honest parties communicate over the classical authentic channel to discard superfluous signals (sifting), estimate the error in the communication channel and the amount of eavesdropping (parameter estimation), correct the errors in their raw key (information reconciliation) and finally create a shorter but highly secure key (privacy amplification). This post-processing phase is often the limiting factor for the secure key rate of quantum key distribution implementations. Significant research effort is therefore made to find better algorithms and create better implementations. Here we propose a fast implementation of privacy amplification. The currently known algorithm with the best asymptotic time-complexity is modified Toeplitz hashing, running at O(n log n) using Fast-Fourier-Transform for fast matrix multiplication. We implement this algorithm on common GPUs using a very efficient and highly parallel CUDA algorithm. For large block sizes of approximately 10^8 bits - needed to limit the finite key effects - we achieve an input throughput of 3.7 Gbit/s with a dynamic Toeplitz seed and 5.7 Gbit/s using a fixed seed. This is several times faster than previously known implementations and can increase the total key-rate of practical quantum key distribution systems significantly.