CompetitionThe second Quantum Internet Programming Competition has started!
There is currently no competition running. Stay tuned for when the next SimulaQron competition starts!
In 2018 we ran two competitions, one focusing on no-local games and the other on quantum key distribution. You can find the instructions for the two competitions here and here (note that the installation instructions are out-of-date since SimulaQron can now be installed through pip). The two winners for these competitions were Shashank P and Andre Reis with the two excellent submission below:
QSquare (Shashank P)
“QSquare is a gaming application built on Simulaqron which enables two players to play the famous Mermin-Peres Magic Square Game using properties of quantum entanglement. The maximal winning probability for any classical strategy is 8/9. However, with quantum entanglement, this game can be won all the time. This application allows players to decide on a pre-match quantum strategy. A quantum strategy means that they can establish entanglement before the game starts, and then use this entanglement to give answers instantaneously that allows them to win with a higher probability. The challenge is to decide on the right quantum measurement operators for measuring their entangled qubits to win the game.”
QuaRT Quantum Reliable Transfer (Andre Reis)
“Quantum Reliable Transfer is a P2P command line application that allows two parties to transfer files with theoretically perfect secrecy. The software generates shared keys of variable length with the Quantum Key Distribution BB84 protocol, using Cascade for error correction and Toeplitz matrices for privacy amplification. The generated keys are used with one-time pad encryption to provide perfect secrecy and to ensure integrity and authenticity, all communication is done over an EC-DSA authenticated channel taking advantage of an existing Public Key Infrastructure.”
In the first SimulaQron competition last year, we focused on quantum key distribution and gave only 3 weeks! Matthew Skrzypczyk got first prize with his implementation of QChat and joined QuTech as a summer intern.
QChat (Matthew Skrzypczyk)
“QChat is a simple distributed encrypted chat platform built on Simulaqron that enables users to derive shared keys with their peers using the purified BB84 protocol in the presence of an unauthenticated classical channel. The key derivation protocol includes error correction utilizing Golay linear codes and privacy amplification built on keyless fuzzy extractors. The derived keys are used to encrypt messages between two users using AES-GCM to guarantee authenticity and integrity. The unauthenticated classical channel is solutioned using a registry server that maintains RSA public information for users in the network, allowing peers to authenticate un-encrypted messages necessary for the key establishment process.”
Get the code. Report bugs. Contribute!
The full code can be freely accessed on GitHub. Here you can also report bugs, make feature requests or even contribute with your own code.