{"id":18189861,"url":"https://github.com/bmedicke/quantum_cryptography","last_synced_at":"2025-04-02T05:32:49.250Z","repository":{"id":37203026,"uuid":"307055745","full_name":"bmedicke/quantum_cryptography","owner":"bmedicke","description":"demonstration of quantum cryptography 🐈  🔐 , one-time pad communication via BB84. repo for our IT Security Master project","archived":true,"fork":false,"pushed_at":"2023-02-11T00:30:41.000Z","size":8857,"stargazers_count":29,"open_issues_count":21,"forks_count":10,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-24T09:31:26.453Z","etag":null,"topics":["alice","bb84-protocol","beam-splitter","bob","cryptography","docker","docker-compose","hardware","jupyter-notebooks","lasers","master","mcs","mqtt","photons","quantum","quantum-cryptography","rabbitmq","security","theory","thorlabs"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bmedicke.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-10-25T08:31:43.000Z","updated_at":"2025-01-24T05:54:08.000Z","dependencies_parsed_at":"2022-08-18T00:21:57.227Z","dependency_job_id":null,"html_url":"https://github.com/bmedicke/quantum_cryptography","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bmedicke%2Fquantum_cryptography","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bmedicke%2Fquantum_cryptography/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bmedicke%2Fquantum_cryptography/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bmedicke%2Fquantum_cryptography/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bmedicke","download_url":"https://codeload.github.com/bmedicke/quantum_cryptography/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246763814,"owners_count":20829797,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alice","bb84-protocol","beam-splitter","bob","cryptography","docker","docker-compose","hardware","jupyter-notebooks","lasers","master","mcs","mqtt","photons","quantum","quantum-cryptography","rabbitmq","security","theory","thorlabs"],"created_at":"2024-11-03T04:04:19.830Z","updated_at":"2025-04-02T05:32:48.240Z","avatar_url":"https://github.com/bmedicke.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"![quantum cryptography logo](media/logo.svg)\n\nDemonstration of **quantum-cryptography-based one-time pad communication** via\u003cbr\u003ethe **BB84 algorithm** using a non-single photon source.\n\n[![Python version 3.9](https://img.shields.io/badge/python-v3.9-brightgreen)](https://docs.python.org/3/whatsnew/3.9.html)\n\n[project progress](#project-progress) | [contributors](#contributors) | [repository structure](#repository-structure) | [frequently asked questions](#frequently-asked-questions)\n\n---\n\n## project progress\n\nKanban Boards:  [**Everyone**](https://github.com/bmedicke/quantum_cryptography/projects/1?fullscreen=true), [Ben](https://github.com/bmedicke/quantum_cryptography/projects/1?fullscreen=true\u0026card_filter_query=assignee%3Abmedicke), [Ferdi](https://github.com/bmedicke/quantum_cryptography/projects/1?fullscreen=true\u0026card_filter_query=assignee%3Aosomo3000), [Manu](https://github.com/bmedicke/quantum_cryptography/projects/1?fullscreen=true\u0026card_filter_query=assignee%3Anamanuel), [Niko](https://github.com/bmedicke/quantum_cryptography/projects/1?fullscreen=true\u0026card_filter_query=assignee%3Anikobenedikt)\n\n[![GitHub milestones](https://img.shields.io/github/milestones/open/bmedicke/quantum_cryptography)](https://github.com/bmedicke/quantum_cryptography/milestones?state=open)\n[![GitHub milestones](https://img.shields.io/github/milestones/closed/bmedicke/quantum_cryptography)](https://github.com/bmedicke/quantum_cryptography/milestones?state=closed)\n[![GitHub commit activity](https://img.shields.io/github/commit-activity/w/bmedicke/quantum_cryptography)](https://github.com/bmedicke/quantum_cryptography/graphs/contributors)\n\n## contributors\n\n| Author           | GitHub profile                                  | homepage                                                   |\n|------------------|-------------------------------------------------|------------------------------------------------------------|\n| Benjamin Medicke | [bmedicke](https://github.com/bmedicke)         | [benmedicke.com](https://benmedicke.com)                   |\n| Ferdi Cevik      | [Osomo3000](https://github.com/Osomo3000)       | [cf-projects](http://cf-projects.net/)                     |\n| Manuel Nagel     | [namanuel](https://github.com/namanuel)         | [namanuel.github.io](https://namanuel.github.io/)          |\n| Nikolai Benedikt | [nikobenedikt](https://github.com/nikobenedikt) |                                                            |\n\n## repository structure\n\nHere's a quick breakdown of what to find where in the repository:\n\n* [Theory](markdown/theory.md) 💭 describes the the BB84 algorithm and required theory\n* [Hardware](markdown/hardware.md) 🔭 collects information about which hardware was used and how to set it up\n* [3D models](3d-models) 🏗️ holds printable components\n* [Setup](markdown/setup.md) 🧑🏻‍💻 installation instructions for the software and required services\n* [Notebooks](notebooks) 🪐 contains the actual JupyterLab Notebooks for Alice, Bob and Eve\n* [Guidelines](markdown/guidelines.md) ✒️  coding and contribution guidelines\n* [qcrypt docs](https://bmedicke.github.io/quantum_cryptography) 📜 documentation for the quantum crypto library\n\n## frequently asked questions\n\n**Why build some components instead of using the respective ThorLabs versions?**\n\nMainly to keep it open-source and reduce the size of the hardware setup. As an added bonus it lowers the cost and barrier of entry for anyone who is interested in replicating the project.\n\n\u003e ![filter wheel from ThorLabs](media/banner-filter-wheel.png)\n\u003e ThorLabs motorized filter wheel\n\n**What hardware do I need to run this project?**\n\nSee [Hardware](markdown/hardware.md) for a list of required components and [3D models](3d-models) for printable parts.\n\n**Why use JupyterLab Notebooks as a frontend?**\n\nOn one hand, JupyterLab provides an interactive, browser-based computing environment, which makes it easy to do exploratory coding.\nOn the other hand, different types of cells in a notebook allow code and markdown-based documentation to live in the same document.\nWe hope this makes it easier to follow both the code and BB84 protocol.\n\n**Is Python 3.9 absolutely required?**\n\nYes. We make use of some of the [new features](https://docs.python.org/3/whatsnew/3.9.html).\n\n**When running `pip install -r requirements.txt` it fails with `Building wheel for smbus (setup.py) ... error`.**\n\nYou are probably not on a Raspberry Pi with Raspbian (or a similar operating system). This is due to missing I2C. If you're just interested in seeing the notebooks and running some parts of them you can remove the smbus line from `requirements.txt`. You won't be able to use the quantum channel, of course.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbmedicke%2Fquantum_cryptography","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbmedicke%2Fquantum_cryptography","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbmedicke%2Fquantum_cryptography/lists"}