Skip to content

Gidney 2025 #55

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 12 commits into from
Aug 18, 2025
Merged

Gidney 2025 #55

merged 12 commits into from
Aug 18, 2025

Conversation

Walden-Killick
Copy link
Collaborator

Add a basic implementation of Gidney's 2025 algorithm.

https://arxiv.org/abs/2505.15917

@Walden-Killick Walden-Killick requested a review from Copilot August 18, 2025 14:12
@Walden-Killick Walden-Killick merged commit 7a8013a into main Aug 18, 2025
4 checks passed
@Walden-Killick Walden-Killick deleted the gidney-2025 branch August 18, 2025 14:22
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds a basic implementation of Gidney's 2025 quantum algorithm for RSA factorization. The implementation provides resource estimates for RSA key sizes from 1024 to 8192 bits using precomputed values from the referenced paper.

  • Adds new GidneyBasic algorithm class with resource estimation for RSA factorization
  • Integrates the algorithm into the existing framework and testing infrastructure
  • Improves threat plotting visualization with Pareto frontier filtering and enhanced formatting

Reviewed Changes

Copilot reviewed 6 out of 10 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/quantumthreattracker/algorithms/rsa/gidney_basic.py Core implementation of Gidney's basic algorithm with resource estimates table
src/quantumthreattracker/algorithms/rsa/__init__.py Exports the new algorithm classes
src/quantumthreattracker/algorithms/algorithm_lister.py Integrates GidneyBasic into the algorithm discovery system
tests/algorithms/test_gidney_basic.py Comprehensive test suite for the new algorithm
tests/algorithms/test_algorithm_lister.py Updates expected algorithm list to include GidneyBasic
src/quantumthreattracker/lifespan_estimator/lifespan_estimator.py Enhances threat plotting with better filtering and formatting

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

----------
crypt_params : CryptParams
Cryptographic parameters.
alg_params : Optional[GidneyEkeraBasicParams], optional
Copy link
Preview

Copilot AI Aug 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The docstring references 'GidneyEkeraBasicParams' but should reference 'GidneyBasicParams' to match the actual parameter type.

Suggested change
alg_params : Optional[GidneyEkeraBasicParams], optional
alg_params : Optional[GidneyBasicParams], optional

Copilot uses AI. Check for mistakes.

):
threats.remove(threat)
dominated = True
break
Copy link
Preview

Copilot AI Aug 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The break statement exits the inner loop prematurely when a dominating threat is found, but doesn't prevent checking against remaining threats. This could incorrectly mark a threat as non-dominated when a later threat actually dominates it.

Copilot uses AI. Check for mistakes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant