randExtract: a Reference Library to Test and Validate Privacy Amplification Implementations

Classical post-processing is a crucial step in any quantum key distribution and quantum randomness generation protocol. In particular, privacy amplification guarantees that a protocol is ε-secure or, in other words, that the output is independent and uniform from an attacker's point of view, ex...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Hänggi, Esther, Méndez Veiga, Iyán
Format: Dissertation
Sprache:ger
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:Classical post-processing is a crucial step in any quantum key distribution and quantum randomness generation protocol. In particular, privacy amplification guarantees that a protocol is ε-secure or, in other words, that the output is independent and uniform from an attacker's point of view, except with an arbitrary small probability ε. That is one of the reasons why all quantum cryptographic protocols always require and assume reliable classical computation. Although there has been a lot of theoretical work in this field, and practical algorithm are known, there is still not an off-the-shelf library that is open source, well documented and whose correctness can easily be verified. Instead, labs and commercialized devices used, most of the time, their own high-performance implementations using accelerators such as GPUs or FPGAs. This makes it difficult for end users or other researchers to validate the privacy amplification step. In this poster we present randExtract, a Python package we have developed that implements the most used randomness extractors in current experiments QKD experiments. Our goal is to make a reference implementation whose code is easy to read and audit, and provide a simple interface to test and validate other high-performance implementations. We demonstrate this by testing a Rust and a GPU implementation of the Toeplitz hashing extractor, and the C++ implementation of the Trevisan's extractor, both used in actual experiments.
DOI:10.5281/zenodo.13908505