{"id":38940942,"url":"https://github.com/jesse-rb/quantum-key-exchange","last_synced_at":"2026-01-17T15:52:51.353Z","repository":{"id":130807729,"uuid":"419558258","full_name":"jesse-rb/quantum-key-exchange","owner":"jesse-rb","description":"Implementation of the quantum key exchange algorithm","archived":false,"fork":false,"pushed_at":"2021-10-30T04:12:50.000Z","size":33,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-01-28T18:46:07.737Z","etag":null,"topics":["golang","simulation"],"latest_commit_sha":null,"homepage":"","language":"Go","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/jesse-rb.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,"governance":null}},"created_at":"2021-10-21T02:41:37.000Z","updated_at":"2023-01-24T06:49:46.000Z","dependencies_parsed_at":"2023-06-19T03:44:06.757Z","dependency_job_id":null,"html_url":"https://github.com/jesse-rb/quantum-key-exchange","commit_stats":{"total_commits":9,"total_committers":2,"mean_commits":4.5,"dds":"0.11111111111111116","last_synced_commit":"caf57689b47c1217aa3394943f6fde6af753a637"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jesse-rb/quantum-key-exchange","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jesse-rb%2Fquantum-key-exchange","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jesse-rb%2Fquantum-key-exchange/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jesse-rb%2Fquantum-key-exchange/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jesse-rb%2Fquantum-key-exchange/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jesse-rb","download_url":"https://codeload.github.com/jesse-rb/quantum-key-exchange/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jesse-rb%2Fquantum-key-exchange/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28511851,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T13:38:16.342Z","status":"ssl_error","status_checked_at":"2026-01-17T13:37:44.060Z","response_time":85,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["golang","simulation"],"created_at":"2026-01-17T15:52:51.264Z","updated_at":"2026-01-17T15:52:51.339Z","avatar_url":"https://github.com/jesse-rb.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Quantum Key Exchange\n\n## Tests\nTesting logic in main_test.go and in other packages\n\n**Running all tests**\n\nCan run all tests from this go module import path with:\n```\ngo test quantum-key-exchange/... -v\n```\n\nOr simply run all tests in this directory and sub directories with:\n```\ngo test ./... -v\n```\n\n## The algorithum\n\nIn the screenshot below there is an example of the quantum key exchange test (found from the qkenode-test.go file).\n\n![title](./qke-mitm.png)\n\nWe can see that the server recieved the message from the client and was able to decrypt it however, the man in the middle (MITM) did not have access to the key as it was never sent with the message. In this sense the algorithm works well.\n\nIf the MITM were to snoop on the initial exchange of information to form the secret key using classical channels, the MITM would be able to decode the the secret key however that is the limitation of this emulation, as in practice classical channels would only be used during the exchange of the polarization filters used, in which case a MITM would alter the state of any photons thus making the algorithm work well.\n\nA recommendation would also be to use digital signature technology throughout all steps to ensure that parties know who they are communicating with from start to finish, as an attacker could still pretend to be the real recipient if that avenue is ignored.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjesse-rb%2Fquantum-key-exchange","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjesse-rb%2Fquantum-key-exchange","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjesse-rb%2Fquantum-key-exchange/lists"}