The Qiskrypt is a software suite of protocols of quantum cryptography, quantum communications, as well, other protocols and algorithms, built using the IBMβs open-source Software Development Kit for quantum computing Qiskit.
This framework started as a proposal for the IBM Hackathon Europe 2021, achieving its 2nd phase (finals, with the top 20 teams), as well, as an idea developed by a team of students, researchers and professors, mostly from TΓ©cnico Lisboa, Faculty of Sciences of University of Lisbon, Instituto de TelecomunicaΓ§Γ΅es, Security and Quantum Information Group (SQIG), UT Austin Portugal and School of Engineering from University of Connecticut.
The aim of our framework is to provide all the known quantum cryptographic protocols, in a single place, as an accessible solution, and being easy to use.
The mission of our framework is to:
- Emphasize the importance of quantum cryptography, as a long-term solution for the post-quantum era;
- Provide open-source implementations of quantum cryptographic protocols, including:
- Quantum Key Distributions (QKDs);
- Semi-Quantum Key Distribution (SQKDs);
- Quantum Conference Key Agreements (QCKAs);
- Semi-Quantum Conference Key Agreements (SQCKAs);
- Quantum One-Time Pads (QOTPs);
- SWAP Test/Quantum Fingerprinting;
- Offer some important primitives for quantum communications and quantum networks, such as:
- Quantum Teleportation;
- Quantum Entanglement Swapping;
- Quantum Entanglement Distillation/Purification;
- Quantum Repeaters;
- Quantum Internet/Network Protocols;
- Offer, as well, some quantum algortithms for quantum cryptanalysis and quantum attacks, such as:
- Grover's Algorithm;
- Simon's Algorithm;
- Shor's Algorithm;
- Provide an easy and comprehensive detailed explanation of the protocols, primitives and algorithms addressed, through several illustrations and tutorials;
Our team is composed by the following members:
The institutions involved in the development of this framework are:
Β Β
Β Β
Β Β
This framework is powered by:
Take a look on some useful links, related to our framework:
If you have any doubt or want to give some suggestion, feel free to contact us:
The specifications of the primitives offered in our framework are described in the following sections.
| # | Type | Name | Year | Author(s) | Ref. | Tutorial(s) | Build |
|---|---|---|---|---|---|---|---|
| 1 | PM (Prepare-and-Measure) |
BB84 | 1984 | C. Bennet and G. Bassard | [BB84] | β (N/A) | β (v0.0.1) |
| 2 | B92 | 1992 | C. Bennet | [B92] | β (N/A) | β (v0.0.1) | |
| 3 | MSZ96 | 1996 | Y. Mu, J. Seberry and Y. Zheng | [MSZ96] | β (N/A) | β (N/A) | |
| 4 | SSP (Six-State Protocol) |
1998 | H. Bechmann-Pasquinucci and N. Gisin | [PG98] | β (N/A) | β (v0.0.1) | |
| 5 | Decoy State | 2002 | W. Hwang | [H02] | β (N/A) | β (N/A) | |
| 6 | Singapore | 2004 | B. Englert, D. Kaszlikowski, H. Ng, W. Chua, J. ΕehΓ‘Δek and J. Anders | [EKNCRA04] | β (N/A) | β (N/A) | |
| 7 | R04 | 2004 | J. Renes | [R04] | β (N/A) | β (N/A) | |
| 8 | SARG04 (w/ 4 states) |
2004 | V. Scarani, A. AcΓn, G. Ribordy and N. Gisin | [SARG04] | β (N/A) | β (N/A) | |
| 9 | SARG04 (w/ 6 states) |
2004 | K. Tamaki and H. Lo | [TL04] | β (N/A) | β (N/A) | |
| 10 | KMB09 | 2009 | M. Khan, M. Murphy and A. Beige | [KMB09] | β (N/A) | β (N/A) | |
| 11 | S09 | 2009 | E. Serna | [S09] | β (N/A) | β (N/A) | |
| 12 | T12 | 2012 | M. Lucamarini, K. Patel, J. Dynes, B. FrΓΆhlich, A. Sharpe, A. Dixon, Z. Yuan, R. Penty and A. Shields (Toshiba) | [T12] | β (N/A) | β (N/A) | |
| 13 | S13 | 2013 | E. Serna | [S13] | β (N/A) | β (N/A) | |
| 14 | EB (Entanglement-Based) |
E91 | 1991 | A. Ekert | [E91] | β (N/A) | β (N/A) |
| 15 | BBM92 | 1992 | C. Bennet, G. Brassard and N. Mermin | [BBM92] | β (N/A) | β (N/A) |
Available soon.
| # | Name | Year | Author(s) | Ref. | Tutorial(s) | Build |
|---|---|---|---|---|---|---|
| 1 | DPS (Differential Phase Shift) |
2003 | K. Inoue, E. Waks, Y. Yamamoto | [IWY03] | β (N/A) | β (N/A) |
| 2 | COW (Coherent One-Way) |
2005 | D. Stucki, N. Brunner, N. Gisin, V. Scarani and H. Zbinden | [SBGSZ05] | β (N/A) | β (N/A) |
| 3 | DPTS (Differential Phase Time Shifting) |
2016 | D. Bacco, J. Christensen, M. Castaneda, Y. Ding, S. Forchhammer, K. Rottwitt and L. OxenlΓΈwe | [BCCDFRO16] | β (N/A) | β (N/A) |
Available soon.
Semi-Quantum Key Distributions (SQKDs)
[Key Exchanges for Bipartite Semi-Quantum Scenarios, with N=2 Parties]
Available soon.
Quantum Conference Key Agreements (QCKAs)
[Key Exchanges for Multipartite Quantum Scenarios, with N>=2 Parties]
Available soon.
Semi-Quantum Conference Key Agreements (SQCKAs)
[Key Exchanges for Multipartite Semi-Quantum Scenarios, with N>=2 Parties]
Available soon.
Available soon.
| # | Name | Year | Author(s) | Ref. | Tutorial(s) | Build |
|---|---|---|---|---|---|---|
| 1 | Quantum Money | 1983 | C. Bennett, G. Brassard, S. Breidbart and S. Wiesner | [W83], [BBBW83] |
β (N/A) | β (N/A) |
| 2 | Quantum Coin (w/ Classical Verification) |
2011 | D. Gavinsky | [G11] | β (N/A) | β (N/A) |
| 3 | Quantum Cheque | 2016 | S. Moulick and P. Panigrahi | [MP16] | β (N/A) | β (N/A) |
| 4 | Quantum Token | 2017 | M. Bozzio, A. Orieux, L. Vidarte, I. Zaquine, I. Kerenidis and E. Diamanti | [BOZKD17] | β (N/A) | β (N/A) |
| 5 | Quantum Lighting | 2019 | M. Zhandry | [Z19] | β (N/A) | β (N/A) |
| # | Purpose | No. Parties | Name | Year | Authors | Ref. | Tutorial(s) | Build |
|---|---|---|---|---|---|---|---|---|
| 1 | Symmetric Encryption (Private Quantum Channels) |
N=2 (Bipartite) |
QOTP (Quantum One-Time Pad) |
2000 | M. Mosca, A. Tapp and R. Wolf | [MTW00] | β (N/A) | β (v0.0.1) |
| 2 | Quantum Data Authentication | N=2 (Bipartite) |
Quantum Data Signature | 2001 | D. Gottesman and I. Chuang | [GC01] | β (N/A) | β (N/A) |
| 3 | N=2 (Bipartite) |
Quantum Message Authentication | 2002 | H. Barnum, C. Crepeau, D. Gottesman, A. Smith and A. Tapp | [BCGST02] | β (N/A) | β (N/A) | |
| 4 | Quantum Data Integrity | N>=2 (Multipartite) |
SWAP Test (Quantum Fingerprinting) |
2001 | H. Buhrman, R. Cleve, J. Watrous and R. Wolf | [BCWW01] | β (N/A) | β (v0.0.1) |
| 5 | N=2 (Bipartite) |
Quantum Hashing Function | 2013 | F. Ablayev and A. Vasiliev | [AV13] | β (N/A) | β (N/A) | |
| 6 | N=2 (Bipartite) |
Bell State Measurement (BSM) |
1996 | M. Michler, K. Mattle, H. Weinfurter and A. Zeilinger | [MMWZ96] | β (N/A) | β (v0.0.1) | |
| 7 | N>=3 (Multipartite) |
GHZ State Measurement (GHZSM) |
- | - | - | β (N/A) | β (v0.0.1) | |
| 8 | N>=3 (Multipartite) |
W State Measurement (WSM) |
- | - | - | β (N/A) | β (v0.0.1) |
Available soon.
| # | Name | No. Parties | Year | Authors | Ref. | Tutorial(s) | Build |
|---|---|---|---|---|---|---|---|
| 1 | EPR (Einstein-Podolski-Rosen) Pair |
N=2 (Bipartite) |
1935 | A. Einstein, B. Podolski and N. Rosen | [EPR35] | β (N/A) | β (v0.0.1) |
| 2 | Dicke State | N>=2 (Bipartite) |
1954 | R. Dicke | [D54] | β (N/A) | β (N/A) |
| 3 | Bell States | N=2 (Bipartite) |
1964 | J. Bell | [B64] | β (N/A) | β (v0.0.1) |
| 4 | GHZ (Greenberger-Horne-Zeilinger) State |
N>=3 (Multipartite) |
1989 | D. Greenberger, M. Horne and A. Zeilinger | [GHZ89] | β (N/A) | β (v0.0.1) |
| 5 | Werner State | N>=3 (Multipartite) |
1989 | R. Werner | [W89] | β (N/A) | β (N/A) |
| 6 | W State | N>=3 (Multipartite) |
2000 | W. DΓΌr, G. Vidal and J. Cirac | [DVC00] | β (N/A) | β (v0.0.1) |
| 7 | Cluster State | N>=3 (Multipartite) |
2000 | H. Briegel and R. Raussendorf | [BR00] | β (N/A) | β (v0.0.1) |
| 8 | Graph State | N>=3 (Multipartite) |
2003 | M. Hein, J. Eisert and H. Briegel | [HEB03] | β (N/A) | β (v0.0.1) |
| # | Name | Year | Authors | Ref. | Tutorial(s) | Build |
|---|---|---|---|---|---|---|
| 1 | SchrΓΆdinger's Cat | 1935 | E. SchrΓΆdinger | [S35] | β (N/A) | β (v0.0.1) |
| 2 | Quantum Coin Tossing | - | - | [QCT] | β (N/A) | β (v0.0.1) |
| 3 | Quantum Hadamard Transform | - | - | [QHT] | β (N/A) | β (v0.0.1) |
| 4 | Quantum Random Number Generator (QRNG) |
- | - | [QRNG] | β (N/A) | β (v0.0.1) |
| 5 | Quantum Random Walks (QRW) |
1993 | Y. Aharonov, L. Davidovich and N. Zagury | [ADZ93] | β (N/A) | β (N/A) |
| # | Name | No. Parties | Year | Authors | Ref. | Tutorial(s) | Build |
|---|---|---|---|---|---|---|---|
| 1 | Quantum Entropy (von Neumann Entropy) |
N>=2 (Multipartite) |
1932 | J. Neumann | [N32] | β (N/A) | β (N/A) |
| 2 | Quantum Conditional Entropy | N>=2 (Multipartite) |
1995 | N. Cerf and C. Adami | [CA95] | β (N/A) | β (N/A) |
| 3 | Quantum Relative Entropy | N>=2 (Multipartite) |
2000 | B. Schumacher and M. Westmoreland | [SW00] | β (N/A) | β (N/A) |
| 4 | Quantum Joint Entropy | N>=2 (Multipartite) |
2001 | L. Henderson and V. Vedral | [HV01] | β (N/A) | β (N/A) |
| 5 | Quantum Shannon Distinguishability | N>=2 (Multipartite) |
1948 | C. Shannon | [S48] | β (N/A) | β (N/A) |
| 6 | Quantum Fidelity | N>=2 (Multipartite) |
1994 | R. Josza | [J99] | β (N/A) | β (N/A) |
| 7 | Bhattacharyya Coefficient | N>=2 (Multipartite) |
1996 | C. Fuchs and C. Caves | [FC96] | β (N/A) | β (N/A) |
| 8 | Trace Distance (Kolmogorov Distance) |
N>=2 (Multipartite) |
1997 | C. Fuchs and J. Graaf | [FG97] | β (N/A) | β (N/A) |
| 9 | Monogamy of Quantum Entanglement | N>=2 (Multipartite) |
1999 | V. Coffman, J. Kundu and W. Wootters | [CKW99] | β (N/A) | β (N/A) |
| 10 | Quantum Discord | N>=2 (Multipartite) |
2001 | H. Ollivier and W. Zurek | [OZ01] | β (N/A) | β (N/A) |
Available soon.
Other some references for some of the developed protocols can be found here:
"Let's encrypt with Qiskit??! Qiskrypt!!!"
With love, your qiskitter, RΓΊben.
