Skip to content

Demonstration of the use of Quantum Computing to leverage Shor's Algorithm for cracking RSA encryption

License

Notifications You must be signed in to change notification settings

smaranjitghose/quantum_burglary

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Quantum Burglary

In today's world, our lives are majorly driven by the internet and the data we consume and produce.

Data

Hence, data protection and privacy is a critical thing that needs to be ensured.

Security

None of us would like if those people hiding behind a mask in a dark room get to accesss our pictures,messages or any other form of data that we share. Not only is it displeasing but also harmful for our private and professional lives.

Hacker

So what is to be done? We put our trust in various companies and service providers that have a bench smarty geeks using complex mathematical algorithms to encrypt our data while being tranferred over the internet

lock

A branch lying at the intersection of computer science and mathematics called cryptography is responsible for this. Mostly, we employ public cryptography methods.

secret

RSA algorithm is a popular public key encryption technique devised back in 1978 by Rivest, Shamir and Adleman and is still used for a number of applications.

legend

However, an algorithm called Shor's algorithm was already existant from 1994 that could crack this. But it depended on the use of a quantam computer for execution. This was very unlikely until recent times when IBM released its open source quantum computing development environment called Qiskit and access to their actual quantum computers using IBMQ

what

Python 🐍 has our back on this with a simple walkthrough given in this repository!

Wanna have a look?:

give it

Using Google Colab

Running locally:

  • Make sure you have the lastest version of Anaconda installed on your system and its set to path

  • Clone this repository ⏬

  • Move inside 👉 the repo

    • Open the Terminal 👩‍💻
    • and type cd quantum_burglary
  • Now make sure you have all the dependencies🧱

    • type in the terminal pip install -r requirements.txt
  • Now load open the quantum_burglary.ipynb

    • Open the Terminal 👩‍💻
    • and type jupyter notebook quantum_burglary.ipynb
  • Give it a few seconds to load (Depends on your system specifications)

  • [Optional] If you are familiar with Number Theory, try going through both the algorithms's implementations

  • Else just enter your message, encrypt it using RSA and watch Shor's algorithm carrying out the mystic arts

mystery

Futher work: 🏗

Coming soon

  • Addition of scripts to modularize this and run from the terminal
  • Creating a GUI for this
  • Explanation of Cryptography in general and Public Key Cryptography
  • Explanation of RSA algorithm with number theory basics
  • Explanation of Shor's algorithm with qiskit basics

Always grateful 🙏 to NumberPhile's YouTube Channel for their smooth explanations on various mathematical/algorithmic concepts and the beautifully maintained Qiskit Text Book by IBM for making Quantum Computing simpler

Thank You

License 📜

MIT License

Crafted with ❤ by Smaranjit Ghose

About

Demonstration of the use of Quantum Computing to leverage Shor's Algorithm for cracking RSA encryption

Topics

Resources

License

Stars

Watchers

Forks