This repository contains an implementation of a Quantum Digital Signature (QDS) protocol using quantum fingerprinting and SWAP-test verification. The project investigates the security and robustness of the protocol against forgery, cloning, and repudiation attacks while also evaluating its performance under noisy communication channels.
The implementation is developed using Qiskit and includes a collection of reproducible notebooks that demonstrate both protocol execution and security analysis.
Quantum-Digital-Signature/
│
├── README.md
├── LICENSE
├── requirements.txt
├── .gitignore
│
├── notebooks/
│ ├── 01_protocol_implementation.ipynb
│ ├── 02_forgery_attack.ipynb
│ ├── 03_cloning_attack.ipynb
│ ├── 04_repudiation_attack.ipynb
│ └── 05_noise_and_security_analysis.ipynb
│
├── figures/
│
└── docs/
├── protocol_overview.md
├── attack_models.md
└── results_summary.md
| Notebook | Description |
|---|---|
| 01_protocol_implementation.ipynb | Core protocol implementation and verification workflow |
| 02_forgery_attack.ipynb | Security evaluation against forgery attacks |
| 03_cloning_attack.ipynb | Security evaluation against quantum cloning attacks |
| 04_repudiation_attack.ipynb | Analysis of repudiation resistance |
| 05_noise_and_security_analysis.ipynb | Noise robustness and overall security analysis |
Clone the repository:
git clone https://github.com/Ishaantheguy/QVeriSign.git
cd QVeriSignInstall dependencies:
pip install -r requirements.txtLaunch Jupyter Notebook:
jupyter notebookRun the notebooks in numerical order.
Each notebook is contains code necessary for it to be executed independently.
The repository includes experiments covering:
- Probability of forgery success
- Repudiation probability
- Acceptance probability under noise
- Disturb analysis of cloning
- Fidelity distribution analysis
Generated figures can be found in the figures/ directory.
Additional technical documentation is available in:
docs/protocol_overview.mddocs/attack_models.mddocs/results_summary.md
Released under the MIT License.