qkd-app-filetransfer
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.2%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: QuantumUPB
- License: other
- Language: Python
- Default Branch: main
- Size: 850 KB
Statistics
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 0
- Releases: 1
Metadata Files
README.md
Q-BITS: Quantum-Based Information Transfer System
Unconditionally-Secure File Transfer Application
Description
This application implements an unconditionally secure file transfer protocol enhanced by QKD.
This application has been developed by the Quantum Team @ UPB, and is provided to everyone for fair usage according to the License.
Features
- Secure file transfer using One-Time Pad (OTP) encryption enhanced by QKD.
- Straighforward, user-friendly interface.
- Reliable service which supports clients disconnecting and reconnecting
- Scalable broker service which supports simultaneous relaying between multiple pairs of clients at the same time
- Fully compatible with ETSI-014 QKD standard
Requirements
- A point-to-point connection to a QKD device that can be used by the QKDGKT module.
- A server with a public IP on which to run the broker, and with
python3installed.
Starting the broker
On a server with a known public IP, run the broker.py script.
python3 broker.py
By default, it will use the port 5555, so make sure that the firewall rules of your machine will allow connections on that port.
Starting the application
You'll need to download the release specific to your operating system. After unzipping the archive, you'll have to add the following files to your folder: - Cert: Your personal signed SSL certificate - Key: Your personal key - CACert: The certificate associated to the CA
Afterwards, fill in the config.json file in accordance to the sample provided config_sample.json.
Now, you can run the application directly, either through the CLI or the GUI of your operating system.
e.g. running through the Windows CLI:
./QKD-FileTransfer.exe
Next, you'll have to provide:
- The IP of your running broker.
- The open port of that machine.
- The QKD device from which you take keys.
- Your name with which others can identify you.
How it works

The default mode of the application is to listen for incoming files. Any number of clients can connect to the broker, and may send files between themselves.
In the leftmost part of the application you can find a file explorer. In the center-right of the application, below the Refresh Client List button, you can select the destination of your transmission.
After selecting a file and a receiver, you can press the SEND button to begin the transmission.
Security considerations
The machines which run this application should have a point to point connection to the QKD devices in order to maintain the unconditional security of this protocol.
The broker machine should only allow connections from a secure subnet in which the clients are situated.
Copyright and license
This work has been implemented by Alin-Bogdan Popa and Bogdan-Calin Ciobanu, under the supervision of prof. Pantelimon George Popescu, within the Quantum Team in the Computer Science and Engineering department,Faculty of Automatic Control and Computers, National University of Science and Technology POLITEHNICA Bucharest (C) 2024. In any type of usage of this code or released software, this notice shall be preserved without any changes.
If you use this software for research purposes, please follow the instructions in the "Cite this repository" option from the side panel.
This work has been partly supported by RoNaQCI, part of EuroQCI, DIGITAL-2021-QCI-01-DEPLOY-NATIONAL, 101091562.
Owner
- Name: QuantumUPB
- Login: QuantumUPB
- Kind: organization
- Repositories: 1
- Profile: https://github.com/QuantumUPB
Citation (CITATION.cff)
cff-version: 1.2.0 message: "If you use this software, please cite it as below." authors: - family-names: "Popa" given-names: "Alin-Bogdan" orcid: "https://orcid.org/0009-0005-9846-5053" - family-names: "Ciobanu" given-names: "Bogdan-Calin" - family-names: "Popescu" given-names: "Pantelimon George" title: "Quantum File Transfer" version: 1.0 date-released: 2024-07-01 url: "https://github.com/QuantumUPB/QKD-App-FileTransfer"
GitHub Events
Total
- Push event: 4
- Pull request event: 1
- Create event: 1
Last Year
- Push event: 4
- Pull request event: 1
- Create event: 1