Welcome to my Quantum Cryptography Project! This project is designed to share a dedicated resource on the introduction into the world of Quantum cryptography, the various algorithms and concepts that are used in the field, and how to implement them using the Qiskit library in Python. This will also include the mathematics behind each of these concepts so you can get a rounded view on the topic. The project will also explore into Quantum Algorithms such as the Shors algorithm and it's impact on Quantum Cryptography. The idea for this project was heavily inspired upon by my report in the Deakin Maths Yearbook 2023, where I explored the basics of Quantum Cryptography and the Shor's algorithm. This project is a work in progress, and I will be adding more content over time, so be sure to check back for updates!
This project is a collection of Jupyter notebooks that cover a range of topics in quantum cryptography. The notebooks are written in Python and use the Qiskit library to demonstrate quantum algorithms and concepts. The notebooks are designed to be self-contained and accessible to readers with a basic understanding of quantum mechanics and cryptography. The project is divided into several sections, each focusing on a different aspect of quantum cryptography. The sections include:
Quantum cryptography is a field of study that combines quantum mechanics and cryptography to create secure communication protocols. The basic idea behind quantum cryptography is to use the principles of quantum mechanics to create cryptographic systems that are secure against eavesdropping and other attacks. Quantum cryptography is based on the idea that quantum systems are inherently unpredictable and that any attempt to measure or observe a quantum system will disturb it in a detectable way. This property can be used to create cryptographic systems that are secure against eavesdropping, as any attempt to intercept or tamper with the communication will be detected.
Each page on the website is it's own notebook file, you can explore each on the website or download and run the notebooks on your local machine. Feel free to explore the topics that interest you the most, and don't hesitate to reach out if you have any questions or feedback.
- Clone the repository to your local machine using the following command:
git clone https://github.com/breezy-codes/cryptography-guide.git
- Navigate to the directory with the following command:
cd cryptography-guide
- Create a venv and install the required packages using the following command:
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
I welcome contributions to this project! If you have any suggestions, corrections, or new topics you would like to see covered, feel free to open an issue or submit a pull request. I am always looking to improve the content and make it more accessible to a wider audience.
- A Security Site - A great resource for learning about many different cryptographic algorithms and security.
- Learn Cryptography - A great resource for learning about cryptography on Khan Academy.
- Cryptography and its types - A great resource for learning about cryptography and its types on GeeksforGeeks.
- The Code Book - A book on the history of cryptography dating back to Ancient Egypt by Simon Singh.
If you have any questions or feedback, feel free to reach out to me on LinkedIn.