diff --git a/dev_tools/autogenerate-bloqs-notebooks-v2.py b/dev_tools/autogenerate-bloqs-notebooks-v2.py index 92e68c5ba5..c6fbef7140 100644 --- a/dev_tools/autogenerate-bloqs-notebooks-v2.py +++ b/dev_tools/autogenerate-bloqs-notebooks-v2.py @@ -63,11 +63,17 @@ 'chemistry/trotter/hubbard/qpe_cost_optimization.ipynb', 'chemistry/resource_estimation.ipynb', 'chemistry/writing_algorithms.ipynb', - 'factoring/factoring-via-modexp.ipynb', + 'cryptography/rsa/factoring-via-modexp.ipynb', 'state_preparation/state_preparation_via_rotation_tutorial.ipynb', ] +# -------------------------------------------------------------------------- +# ----- Root Bloqs ----------------------------------------------------- +# -------------------------------------------------------------------------- +ROOT_BLOQS = ['cryptography/ecc/ecc.ipynb'] + + def _all_nbspecs() -> Iterable[NotebookSpecV2]: for _, nbspecs in NB_BY_SECTION: yield from nbspecs @@ -102,6 +108,7 @@ def write_toc(): ] toc_lines = header + _get_toc_section_lines('Concepts', CONCEPTS, maxdepth=1) + toc_lines += _get_toc_section_lines('Root Bloqs', ROOT_BLOQS, maxdepth=1) bloqs_dir = SOURCE_DIR / 'bloqs' for section, nbspecs in NB_BY_SECTION: entries = [str(nbspec.path.relative_to(bloqs_dir)) for nbspec in nbspecs] diff --git a/dev_tools/qualtran_dev_tools/notebook_specs.py b/dev_tools/qualtran_dev_tools/notebook_specs.py index 4d418678f5..0f9840569f 100644 --- a/dev_tools/qualtran_dev_tools/notebook_specs.py +++ b/dev_tools/qualtran_dev_tools/notebook_specs.py @@ -82,11 +82,11 @@ import qualtran.bloqs.chemistry.trotter.hubbard.interaction import qualtran.bloqs.chemistry.trotter.ising.unitaries import qualtran.bloqs.chemistry.trotter.trotterized_unitary +import qualtran.bloqs.cryptography.ecc +import qualtran.bloqs.cryptography.rsa import qualtran.bloqs.data_loading.qrom import qualtran.bloqs.data_loading.qrom_base import qualtran.bloqs.data_loading.select_swap_qrom -import qualtran.bloqs.factoring.ecc -import qualtran.bloqs.factoring.rsa import qualtran.bloqs.gf_arithmetic.gf2_add_k import qualtran.bloqs.gf_arithmetic.gf2_addition import qualtran.bloqs.gf_arithmetic.gf2_inverse @@ -543,25 +543,25 @@ ), NotebookSpecV2( title='Factoring RSA', - module=qualtran.bloqs.factoring.rsa, + module=qualtran.bloqs.cryptography.rsa, bloq_specs=[ - qualtran.bloqs.factoring.rsa.rsa_phase_estimate._RSA_PE_BLOQ_DOC, - qualtran.bloqs.factoring.rsa.rsa_mod_exp._RSA_MODEXP_DOC, + qualtran.bloqs.cryptography.rsa.rsa_phase_estimate._RSA_PE_BLOQ_DOC, + qualtran.bloqs.cryptography.rsa.rsa_mod_exp._RSA_MODEXP_DOC, ], ), NotebookSpecV2( title='Elliptic Curve Addition', - module=qualtran.bloqs.factoring.ecc.ec_add, - bloq_specs=[qualtran.bloqs.factoring.ecc.ec_add._EC_ADD_DOC], + module=qualtran.bloqs.cryptography.ecc.ec_add, + bloq_specs=[qualtran.bloqs.cryptography.ecc.ec_add._EC_ADD_DOC], ), NotebookSpecV2( title='Elliptic Curve Cryptography', - module=qualtran.bloqs.factoring.ecc, + module=qualtran.bloqs.cryptography.ecc, bloq_specs=[ - qualtran.bloqs.factoring.ecc.find_ecc_private_key._ECC_BLOQ_DOC, - qualtran.bloqs.factoring.ecc.ec_phase_estimate_r._EC_PE_BLOQ_DOC, - qualtran.bloqs.factoring.ecc.ec_add_r._ECC_ADD_R_BLOQ_DOC, - qualtran.bloqs.factoring.ecc.ec_add_r._EC_WINDOW_ADD_BLOQ_DOC, + qualtran.bloqs.cryptography.ecc.find_ecc_private_key._ECC_BLOQ_DOC, + qualtran.bloqs.cryptography.ecc.ec_phase_estimate_r._EC_PE_BLOQ_DOC, + qualtran.bloqs.cryptography.ecc.ec_add_r._ECC_ADD_R_BLOQ_DOC, + qualtran.bloqs.cryptography.ecc.ec_add_r._EC_WINDOW_ADD_BLOQ_DOC, ], ), ] diff --git a/docs/bloqs/index.rst b/docs/bloqs/index.rst index cd4d8515f2..3f0dbbac0a 100644 --- a/docs/bloqs/index.rst +++ b/docs/bloqs/index.rst @@ -19,9 +19,15 @@ Bloqs Library chemistry/trotter/hubbard/qpe_cost_optimization.ipynb chemistry/resource_estimation.ipynb chemistry/writing_algorithms.ipynb - factoring/factoring-via-modexp.ipynb + cryptography/rsa/factoring-via-modexp.ipynb state_preparation/state_preparation_via_rotation_tutorial.ipynb +.. toctree:: + :maxdepth: 1 + :caption: Root Bloqs: + + cryptography/ecc/ecc.ipynb + .. toctree:: :maxdepth: 2 :caption: Basic Gates: @@ -85,9 +91,9 @@ Bloqs Library mod_arithmetic/mod_subtraction.ipynb mod_arithmetic/mod_multiplication.ipynb mod_arithmetic/mod_division.ipynb - factoring/rsa/rsa.ipynb - factoring/ecc/ec_add.ipynb - factoring/ecc/ecc.ipynb + cryptography/rsa/rsa.ipynb + cryptography/ecc/ec_add.ipynb + cryptography/ecc/ecc.ipynb .. toctree:: :maxdepth: 2 diff --git a/qualtran/Autodoc.ipynb b/qualtran/Autodoc.ipynb index b70bf764bb..87a1784e4d 100644 --- a/qualtran/Autodoc.ipynb +++ b/qualtran/Autodoc.ipynb @@ -143,8 +143,8 @@ "```python\n", " NotebookSpecV2(\n", " title='Modular Exponentiation',\n", - " module=qualtran.bloqs.factoring.mod_exp,\n", - " bloq_specs=[qualtran.bloqs.factoring.mod_exp._MODEXP_DOC],\n", + " module=qualtran.bloqs.cryptography.mod_exp,\n", + " bloq_specs=[qualtran.bloqs.cryptography.mod_exp._MODEXP_DOC],\n", " ),\n", "```" ] diff --git a/qualtran/_infra/Bloqs-Tutorial.ipynb b/qualtran/_infra/Bloqs-Tutorial.ipynb index ca64c47554..89419aa389 100644 --- a/qualtran/_infra/Bloqs-Tutorial.ipynb +++ b/qualtran/_infra/Bloqs-Tutorial.ipynb @@ -914,7 +914,7 @@ "metadata": {}, "outputs": [], "source": [ - "from qualtran.bloqs.factoring.rsa import ModExp\n", + "from qualtran.bloqs.cryptography.rsa import ModExp\n", "\n", "mod_exp = ModExp(base=8, mod=13*17, exp_bitsize=3, x_bitsize=1024)\n", "show_bloq(mod_exp)" diff --git a/qualtran/bloqs/arithmetic/_shims.py b/qualtran/bloqs/arithmetic/_shims.py index d75e3d72f6..5c83286454 100644 --- a/qualtran/bloqs/arithmetic/_shims.py +++ b/qualtran/bloqs/arithmetic/_shims.py @@ -14,7 +14,7 @@ """This module has a selection of minimally-implemented modular arithmetic primitives. These bloqs serve as the callees in the call graphs of the algorithms found -in `qualtran.bloqs.factoring` and `qualtran.bloqs.mod_arithmetic`. They are place-holders, +in `qualtran.bloqs.cryptography` and `qualtran.bloqs.mod_arithmetic`. They are place-holders, so we don't have undefined symbols and can still merge the high-level algorithms. These shims will be fleshed out and moved to their final organizational location soon (written: 2024-05-06). """ diff --git a/qualtran/bloqs/factoring/__init__.py b/qualtran/bloqs/cryptography/__init__.py similarity index 100% rename from qualtran/bloqs/factoring/__init__.py rename to qualtran/bloqs/cryptography/__init__.py diff --git a/qualtran/bloqs/factoring/_factoring_shims.py b/qualtran/bloqs/cryptography/_factoring_shims.py similarity index 100% rename from qualtran/bloqs/factoring/_factoring_shims.py rename to qualtran/bloqs/cryptography/_factoring_shims.py diff --git a/qualtran/bloqs/factoring/ecc/__init__.py b/qualtran/bloqs/cryptography/ecc/__init__.py similarity index 100% rename from qualtran/bloqs/factoring/ecc/__init__.py rename to qualtran/bloqs/cryptography/ecc/__init__.py diff --git a/qualtran/bloqs/factoring/ecc/ec_add.ipynb b/qualtran/bloqs/cryptography/ecc/ec_add.ipynb similarity index 98% rename from qualtran/bloqs/factoring/ecc/ec_add.ipynb rename to qualtran/bloqs/cryptography/ecc/ec_add.ipynb index cbc279bbed..196b45e73d 100644 --- a/qualtran/bloqs/factoring/ecc/ec_add.ipynb +++ b/qualtran/bloqs/cryptography/ecc/ec_add.ipynb @@ -71,7 +71,7 @@ }, "outputs": [], "source": [ - "from qualtran.bloqs.factoring.ecc import ECAdd" + "from qualtran.bloqs.cryptography.ecc import ECAdd" ] }, { diff --git a/qualtran/bloqs/factoring/ecc/ec_add.py b/qualtran/bloqs/cryptography/ecc/ec_add.py similarity index 100% rename from qualtran/bloqs/factoring/ecc/ec_add.py rename to qualtran/bloqs/cryptography/ecc/ec_add.py diff --git a/qualtran/bloqs/factoring/ecc/ec_add_r.py b/qualtran/bloqs/cryptography/ecc/ec_add_r.py similarity index 100% rename from qualtran/bloqs/factoring/ecc/ec_add_r.py rename to qualtran/bloqs/cryptography/ecc/ec_add_r.py diff --git a/qualtran/bloqs/factoring/ecc/ec_add_r_test.py b/qualtran/bloqs/cryptography/ecc/ec_add_r_test.py similarity index 98% rename from qualtran/bloqs/factoring/ecc/ec_add_r_test.py rename to qualtran/bloqs/cryptography/ecc/ec_add_r_test.py index 65e4378115..daeffac54a 100644 --- a/qualtran/bloqs/factoring/ecc/ec_add_r_test.py +++ b/qualtran/bloqs/cryptography/ecc/ec_add_r_test.py @@ -17,7 +17,7 @@ import qualtran.testing as qlt_testing from qualtran import QMontgomeryUInt, QUInt -from qualtran.bloqs.factoring.ecc.ec_add_r import ( +from qualtran.bloqs.cryptography.ecc.ec_add_r import ( _ec_add_r, _ec_add_r_small, _ec_window_add_r_small, diff --git a/qualtran/bloqs/factoring/ecc/ec_add_test.py b/qualtran/bloqs/cryptography/ecc/ec_add_test.py similarity index 99% rename from qualtran/bloqs/factoring/ecc/ec_add_test.py rename to qualtran/bloqs/cryptography/ecc/ec_add_test.py index 7f7439d2d1..e095d8bc36 100644 --- a/qualtran/bloqs/factoring/ecc/ec_add_test.py +++ b/qualtran/bloqs/cryptography/ecc/ec_add_test.py @@ -17,7 +17,7 @@ import qualtran.testing as qlt_testing from qualtran._infra.data_types import QMontgomeryUInt -from qualtran.bloqs.factoring.ecc.ec_add import ( +from qualtran.bloqs.cryptography.ecc.ec_add import ( _ec_add, _ec_add_small, _ECAddStepFive, diff --git a/qualtran/bloqs/factoring/ecc/ec_phase_estimate_r.py b/qualtran/bloqs/cryptography/ecc/ec_phase_estimate_r.py similarity index 100% rename from qualtran/bloqs/factoring/ecc/ec_phase_estimate_r.py rename to qualtran/bloqs/cryptography/ecc/ec_phase_estimate_r.py diff --git a/qualtran/bloqs/factoring/ecc/ec_phase_estimate_r_test.py b/qualtran/bloqs/cryptography/ecc/ec_phase_estimate_r_test.py similarity index 89% rename from qualtran/bloqs/factoring/ecc/ec_phase_estimate_r_test.py rename to qualtran/bloqs/cryptography/ecc/ec_phase_estimate_r_test.py index 4d4f124841..070181c947 100644 --- a/qualtran/bloqs/factoring/ecc/ec_phase_estimate_r_test.py +++ b/qualtran/bloqs/cryptography/ecc/ec_phase_estimate_r_test.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -from qualtran.bloqs.factoring.ecc.ec_phase_estimate_r import _ec_pe, _ec_pe_small +from qualtran.bloqs.cryptography.ecc.ec_phase_estimate_r import _ec_pe, _ec_pe_small def test_ec_pe(bloq_autotester): diff --git a/qualtran/bloqs/factoring/ecc/ec_point.py b/qualtran/bloqs/cryptography/ecc/ec_point.py similarity index 100% rename from qualtran/bloqs/factoring/ecc/ec_point.py rename to qualtran/bloqs/cryptography/ecc/ec_point.py diff --git a/qualtran/bloqs/factoring/ecc/ec_point_test.py b/qualtran/bloqs/cryptography/ecc/ec_point_test.py similarity index 97% rename from qualtran/bloqs/factoring/ecc/ec_point_test.py rename to qualtran/bloqs/cryptography/ecc/ec_point_test.py index 1ac1b59bd1..380c3b874e 100644 --- a/qualtran/bloqs/factoring/ecc/ec_point_test.py +++ b/qualtran/bloqs/cryptography/ecc/ec_point_test.py @@ -11,7 +11,7 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -from qualtran.bloqs.factoring.ecc import ECPoint +from qualtran.bloqs.cryptography.ecc import ECPoint def test_ec_point_overrides(): diff --git a/qualtran/bloqs/factoring/ecc/ecc.ipynb b/qualtran/bloqs/cryptography/ecc/ecc.ipynb similarity index 98% rename from qualtran/bloqs/factoring/ecc/ecc.ipynb rename to qualtran/bloqs/cryptography/ecc/ecc.ipynb index 33e82abca0..72a6d8a34e 100644 --- a/qualtran/bloqs/factoring/ecc/ecc.ipynb +++ b/qualtran/bloqs/cryptography/ecc/ecc.ipynb @@ -106,7 +106,7 @@ }, "outputs": [], "source": [ - "from qualtran.bloqs.factoring.ecc import FindECCPrivateKey" + "from qualtran.bloqs.cryptography.ecc import FindECCPrivateKey" ] }, { @@ -116,7 +116,7 @@ "metadata": {}, "outputs": [], "source": [ - "from qualtran.bloqs.factoring.ecc import ECPoint" + "from qualtran.bloqs.cryptography.ecc import ECPoint" ] }, { @@ -237,7 +237,7 @@ }, "outputs": [], "source": [ - "from qualtran.bloqs.factoring.ecc import ECPhaseEstimateR" + "from qualtran.bloqs.cryptography.ecc import ECPhaseEstimateR" ] }, { @@ -369,7 +369,7 @@ }, "outputs": [], "source": [ - "from qualtran.bloqs.factoring.ecc import ECAddR" + "from qualtran.bloqs.cryptography.ecc import ECAddR" ] }, { @@ -507,7 +507,7 @@ }, "outputs": [], "source": [ - "from qualtran.bloqs.factoring.ecc import ECWindowAddR" + "from qualtran.bloqs.cryptography.ecc import ECWindowAddR" ] }, { diff --git a/qualtran/bloqs/factoring/ecc/find_ecc_private_key.py b/qualtran/bloqs/cryptography/ecc/find_ecc_private_key.py similarity index 100% rename from qualtran/bloqs/factoring/ecc/find_ecc_private_key.py rename to qualtran/bloqs/cryptography/ecc/find_ecc_private_key.py diff --git a/qualtran/bloqs/factoring/ecc/find_ecc_private_key_test.py b/qualtran/bloqs/cryptography/ecc/find_ecc_private_key_test.py similarity index 91% rename from qualtran/bloqs/factoring/ecc/find_ecc_private_key_test.py rename to qualtran/bloqs/cryptography/ecc/find_ecc_private_key_test.py index ae66c1901e..530f2576c2 100644 --- a/qualtran/bloqs/factoring/ecc/find_ecc_private_key_test.py +++ b/qualtran/bloqs/cryptography/ecc/find_ecc_private_key_test.py @@ -13,7 +13,7 @@ # limitations under the License. import qualtran.testing as qlt_testing -from qualtran.bloqs.factoring.ecc.find_ecc_private_key import _ecc +from qualtran.bloqs.cryptography.ecc.find_ecc_private_key import _ecc def test_ecc(bloq_autotester): diff --git a/qualtran/bloqs/factoring/rsa/__init__.py b/qualtran/bloqs/cryptography/rsa/__init__.py similarity index 100% rename from qualtran/bloqs/factoring/rsa/__init__.py rename to qualtran/bloqs/cryptography/rsa/__init__.py diff --git a/qualtran/bloqs/factoring/rsa/factoring-via-modexp.ipynb b/qualtran/bloqs/cryptography/rsa/factoring-via-modexp.ipynb similarity index 98% rename from qualtran/bloqs/factoring/rsa/factoring-via-modexp.ipynb rename to qualtran/bloqs/cryptography/rsa/factoring-via-modexp.ipynb index 08ff940b8d..a428786fce 100644 --- a/qualtran/bloqs/factoring/rsa/factoring-via-modexp.ipynb +++ b/qualtran/bloqs/cryptography/rsa/factoring-via-modexp.ipynb @@ -180,7 +180,7 @@ "metadata": {}, "outputs": [], "source": [ - "from qualtran.bloqs.factoring.rsa.rsa_mod_exp import ModExp\n", + "from qualtran.bloqs.cryptography.rsa.rsa_mod_exp import ModExp\n", "from qualtran.drawing import show_bloq\n", "\n", "mod_exp = ModExp(base=g, mod=N, exp_bitsize=32, x_bitsize=32)\n", diff --git a/qualtran/bloqs/factoring/rsa/rsa.ipynb b/qualtran/bloqs/cryptography/rsa/rsa.ipynb similarity index 98% rename from qualtran/bloqs/factoring/rsa/rsa.ipynb rename to qualtran/bloqs/cryptography/rsa/rsa.ipynb index 5415a4d538..739e48bc7a 100644 --- a/qualtran/bloqs/factoring/rsa/rsa.ipynb +++ b/qualtran/bloqs/cryptography/rsa/rsa.ipynb @@ -85,7 +85,7 @@ }, "outputs": [], "source": [ - "from qualtran.bloqs.factoring.rsa import ModExp" + "from qualtran.bloqs.cryptography.rsa import ModExp" ] }, { @@ -216,7 +216,7 @@ }, "outputs": [], "source": [ - "from qualtran.bloqs.factoring.rsa import RSAPhaseEstimate" + "from qualtran.bloqs.cryptography.rsa import RSAPhaseEstimate" ] }, { diff --git a/qualtran/bloqs/factoring/rsa/rsa_mod_exp.py b/qualtran/bloqs/cryptography/rsa/rsa_mod_exp.py similarity index 100% rename from qualtran/bloqs/factoring/rsa/rsa_mod_exp.py rename to qualtran/bloqs/cryptography/rsa/rsa_mod_exp.py diff --git a/qualtran/bloqs/factoring/rsa/rsa_mod_exp_test.py b/qualtran/bloqs/cryptography/rsa/rsa_mod_exp_test.py similarity index 96% rename from qualtran/bloqs/factoring/rsa/rsa_mod_exp_test.py rename to qualtran/bloqs/cryptography/rsa/rsa_mod_exp_test.py index e4cabd8c4f..7c748b5bbe 100644 --- a/qualtran/bloqs/factoring/rsa/rsa_mod_exp_test.py +++ b/qualtran/bloqs/cryptography/rsa/rsa_mod_exp_test.py @@ -21,7 +21,7 @@ from qualtran import Bloq from qualtran.bloqs.bookkeeping import Join, Split -from qualtran.bloqs.factoring.rsa.rsa_mod_exp import _modexp, _modexp_small, _modexp_symb, ModExp +from qualtran.bloqs.cryptography.rsa.rsa_mod_exp import _modexp, _modexp_small, _modexp_symb, ModExp from qualtran.bloqs.mod_arithmetic import CModMulK from qualtran.drawing import Text from qualtran.resource_counting import SympySymbolAllocator diff --git a/qualtran/bloqs/factoring/rsa/rsa_phase_estimate.py b/qualtran/bloqs/cryptography/rsa/rsa_phase_estimate.py similarity index 98% rename from qualtran/bloqs/factoring/rsa/rsa_phase_estimate.py rename to qualtran/bloqs/cryptography/rsa/rsa_phase_estimate.py index 611af9de44..9416620d05 100644 --- a/qualtran/bloqs/factoring/rsa/rsa_phase_estimate.py +++ b/qualtran/bloqs/cryptography/rsa/rsa_phase_estimate.py @@ -33,7 +33,7 @@ ) from qualtran.bloqs.basic_gates import IntState, PlusState from qualtran.bloqs.bookkeeping import Free -from qualtran.bloqs.factoring._factoring_shims import MeasureQFT +from qualtran.bloqs.cryptography._factoring_shims import MeasureQFT from qualtran.bloqs.mod_arithmetic.mod_multiplication import CModMulK from qualtran.resource_counting import BloqCountDictT, SympySymbolAllocator from qualtran.symbolics import is_symbolic, SymbolicInt diff --git a/qualtran/bloqs/factoring/rsa/rsa_phase_estimate_test.py b/qualtran/bloqs/cryptography/rsa/rsa_phase_estimate_test.py similarity index 90% rename from qualtran/bloqs/factoring/rsa/rsa_phase_estimate_test.py rename to qualtran/bloqs/cryptography/rsa/rsa_phase_estimate_test.py index 4ddedf9648..25776b9848 100644 --- a/qualtran/bloqs/factoring/rsa/rsa_phase_estimate_test.py +++ b/qualtran/bloqs/cryptography/rsa/rsa_phase_estimate_test.py @@ -15,7 +15,7 @@ import pytest import qualtran.testing as qlt_testing -from qualtran.bloqs.factoring.rsa.rsa_phase_estimate import _rsa_pe, _rsa_pe_small +from qualtran.bloqs.cryptography.rsa.rsa_phase_estimate import _rsa_pe, _rsa_pe_small @pytest.mark.parametrize('bloq', [_rsa_pe_small, _rsa_pe]) diff --git a/qualtran/cirq_interop/_bloq_to_cirq_test.py b/qualtran/cirq_interop/_bloq_to_cirq_test.py index 87a76c0148..439df97691 100644 --- a/qualtran/cirq_interop/_bloq_to_cirq_test.py +++ b/qualtran/cirq_interop/_bloq_to_cirq_test.py @@ -21,7 +21,7 @@ from qualtran import Bloq, BloqBuilder, ConnectionT, Signature, Soquet, SoquetT from qualtran._infra.gate_with_registers import get_named_qubits from qualtran.bloqs.basic_gates import Toffoli, XGate, YGate -from qualtran.bloqs.factoring.rsa import ModExp +from qualtran.bloqs.cryptography.rsa import ModExp from qualtran.bloqs.mcmt.and_bloq import And, MultiAnd from qualtran.bloqs.state_preparation import PrepareUniformSuperposition from qualtran.cirq_interop._bloq_to_cirq import BloqAsCirqGate, CirqQuregT diff --git a/qualtran/cirq_interop/cirq_interop.ipynb b/qualtran/cirq_interop/cirq_interop.ipynb index 991f95bd8a..b1f298c6c9 100644 --- a/qualtran/cirq_interop/cirq_interop.ipynb +++ b/qualtran/cirq_interop/cirq_interop.ipynb @@ -471,7 +471,7 @@ "metadata": {}, "outputs": [], "source": [ - "from qualtran.bloqs.factoring.rsa import ModExp\n", + "from qualtran.bloqs.cryptography.rsa import ModExp\n", "from qualtran.drawing import show_bloq\n", "from qualtran.drawing import get_musical_score_data, draw_musical_score\n", "N = 13*17\n", diff --git a/qualtran/qref_interop/_bloq_to_qref_test.py b/qualtran/qref_interop/_bloq_to_qref_test.py index 6a631d07ce..00c8e26b94 100644 --- a/qualtran/qref_interop/_bloq_to_qref_test.py +++ b/qualtran/qref_interop/_bloq_to_qref_test.py @@ -35,8 +35,8 @@ from qualtran.bloqs.basic_gates import CNOT from qualtran.bloqs.block_encoding.lcu_block_encoding import _black_box_lcu_block, _lcu_block from qualtran.bloqs.chemistry.df.double_factorization import _df_block_encoding, _df_one_body +from qualtran.bloqs.cryptography.rsa.rsa_phase_estimate import _rsa_pe from qualtran.bloqs.data_loading.qrom import _qrom_symb, QROM -from qualtran.bloqs.factoring.rsa.rsa_phase_estimate import _rsa_pe from qualtran.bloqs.state_preparation import StatePreparationAliasSampling from qualtran.qref_interop import bloq_to_qref diff --git a/qualtran/serialization/bloq.py b/qualtran/serialization/bloq.py index 99dce04151..d1d0f02b0e 100644 --- a/qualtran/serialization/bloq.py +++ b/qualtran/serialization/bloq.py @@ -37,7 +37,7 @@ Signature, Soquet, ) -from qualtran.bloqs.factoring.ecc import ECPoint +from qualtran.bloqs.cryptography.ecc import ECPoint from qualtran.protos import bloq_pb2 from qualtran.serialization import ( annotations, diff --git a/qualtran/serialization/bloq_test.py b/qualtran/serialization/bloq_test.py index d411f09e39..1a147f3e57 100644 --- a/qualtran/serialization/bloq_test.py +++ b/qualtran/serialization/bloq_test.py @@ -23,7 +23,7 @@ from qualtran import Bloq, Signature from qualtran._infra.composite_bloq_test import TestTwoCNOT -from qualtran.bloqs.factoring.rsa.rsa_mod_exp import ModExp +from qualtran.bloqs.cryptography.rsa.rsa_mod_exp import ModExp from qualtran.cirq_interop import CirqGateAsBloq from qualtran.cirq_interop._cirq_to_bloq_test import TestCNOT as TestCNOTCirq from qualtran.protos import registers_pb2 diff --git a/qualtran/serialization/ec_point.py b/qualtran/serialization/ec_point.py index 48a4367ce9..fb69075886 100644 --- a/qualtran/serialization/ec_point.py +++ b/qualtran/serialization/ec_point.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -from qualtran.bloqs.factoring.ecc import ECPoint +from qualtran.bloqs.cryptography.ecc import ECPoint from qualtran.protos import ec_point_pb2 from qualtran.serialization.args import int_or_sympy_from_proto, int_or_sympy_to_proto diff --git a/qualtran/serialization/ec_point_test.py b/qualtran/serialization/ec_point_test.py index c9f299bd2a..14dc066a17 100644 --- a/qualtran/serialization/ec_point_test.py +++ b/qualtran/serialization/ec_point_test.py @@ -14,7 +14,7 @@ import pytest -from qualtran.bloqs.factoring.ecc import ECPoint +from qualtran.bloqs.cryptography.ecc import ECPoint from qualtran.serialization.ec_point import ec_point_from_proto, ec_point_to_proto diff --git a/qualtran/serialization/resolver_dict.py b/qualtran/serialization/resolver_dict.py index 83f05c7868..8eaef75788 100644 --- a/qualtran/serialization/resolver_dict.py +++ b/qualtran/serialization/resolver_dict.py @@ -95,13 +95,13 @@ import qualtran.bloqs.chemistry.trotter.hubbard.interaction import qualtran.bloqs.chemistry.trotter.ising.unitaries import qualtran.bloqs.chemistry.trotter.trotterized_unitary +import qualtran.bloqs.cryptography._factoring_shims +import qualtran.bloqs.cryptography.ecc +import qualtran.bloqs.cryptography.ecc.ec_add +import qualtran.bloqs.cryptography.rsa import qualtran.bloqs.data_loading.qroam_clean import qualtran.bloqs.data_loading.qrom import qualtran.bloqs.data_loading.select_swap_qrom -import qualtran.bloqs.factoring._factoring_shims -import qualtran.bloqs.factoring.ecc -import qualtran.bloqs.factoring.ecc.ec_add -import qualtran.bloqs.factoring.rsa import qualtran.bloqs.for_testing.atom import qualtran.bloqs.for_testing.casting import qualtran.bloqs.for_testing.interior_alloc @@ -358,17 +358,17 @@ "qualtran.bloqs.mod_arithmetic.mod_multiplication.SingleWindowModMul": qualtran.bloqs.mod_arithmetic.mod_multiplication.SingleWindowModMul, "qualtran.bloqs.mod_arithmetic.mod_division.KaliskiModInverse": qualtran.bloqs.mod_arithmetic.mod_division.KaliskiModInverse, "qualtran.bloqs.mod_arithmetic.mod_division._KaliskiIteration": qualtran.bloqs.mod_arithmetic.mod_division._KaliskiIteration, - "qualtran.bloqs.factoring._factoring_shims.MeasureQFT": qualtran.bloqs.factoring._factoring_shims.MeasureQFT, - "qualtran.bloqs.factoring.ecc.ec_add_r.ECWindowAddR": qualtran.bloqs.factoring.ecc.ec_add_r.ECWindowAddR, - "qualtran.bloqs.factoring.ecc.ec_add._ECAddStepOne": qualtran.bloqs.factoring.ecc.ec_add._ECAddStepOne, - "qualtran.bloqs.factoring.ecc.ec_add._ECAddStepTwo": qualtran.bloqs.factoring.ecc.ec_add._ECAddStepTwo, - "qualtran.bloqs.factoring.ecc.ec_add._ECAddStepThree": qualtran.bloqs.factoring.ecc.ec_add._ECAddStepThree, - "qualtran.bloqs.factoring.ecc.ec_add._ECAddStepFour": qualtran.bloqs.factoring.ecc.ec_add._ECAddStepFour, - "qualtran.bloqs.factoring.ecc.ec_add._ECAddStepFive": qualtran.bloqs.factoring.ecc.ec_add._ECAddStepFive, - "qualtran.bloqs.factoring.ecc.ec_add._ECAddStepSix": qualtran.bloqs.factoring.ecc.ec_add._ECAddStepSix, - "qualtran.bloqs.factoring.ecc.ec_add.ECAdd": qualtran.bloqs.factoring.ecc.ec_add.ECAdd, - "qualtran.bloqs.factoring.rsa.rsa_phase_estimate.RSAPhaseEstimate": qualtran.bloqs.factoring.rsa.rsa_phase_estimate.RSAPhaseEstimate, - "qualtran.bloqs.factoring.rsa.rsa_mod_exp.ModExp": qualtran.bloqs.factoring.rsa.rsa_mod_exp.ModExp, + "qualtran.bloqs.cryptography._factoring_shims.MeasureQFT": qualtran.bloqs.cryptography._factoring_shims.MeasureQFT, + "qualtran.bloqs.cryptography.ecc.ec_add_r.ECWindowAddR": qualtran.bloqs.cryptography.ecc.ec_add_r.ECWindowAddR, + "qualtran.bloqs.cryptography.ecc.ec_add._ECAddStepOne": qualtran.bloqs.cryptography.ecc.ec_add._ECAddStepOne, + "qualtran.bloqs.cryptography.ecc.ec_add._ECAddStepTwo": qualtran.bloqs.cryptography.ecc.ec_add._ECAddStepTwo, + "qualtran.bloqs.cryptography.ecc.ec_add._ECAddStepThree": qualtran.bloqs.cryptography.ecc.ec_add._ECAddStepThree, + "qualtran.bloqs.cryptography.ecc.ec_add._ECAddStepFour": qualtran.bloqs.cryptography.ecc.ec_add._ECAddStepFour, + "qualtran.bloqs.cryptography.ecc.ec_add._ECAddStepFive": qualtran.bloqs.cryptography.ecc.ec_add._ECAddStepFive, + "qualtran.bloqs.cryptography.ecc.ec_add._ECAddStepSix": qualtran.bloqs.cryptography.ecc.ec_add._ECAddStepSix, + "qualtran.bloqs.cryptography.ecc.ec_add.ECAdd": qualtran.bloqs.cryptography.ecc.ec_add.ECAdd, + "qualtran.bloqs.cryptography.rsa.rsa_phase_estimate.RSAPhaseEstimate": qualtran.bloqs.cryptography.rsa.rsa_phase_estimate.RSAPhaseEstimate, + "qualtran.bloqs.cryptography.rsa.rsa_mod_exp.ModExp": qualtran.bloqs.cryptography.rsa.rsa_mod_exp.ModExp, "qualtran.bloqs.for_testing.atom.TestAtom": qualtran.bloqs.for_testing.atom.TestAtom, "qualtran.bloqs.for_testing.atom.TestGWRAtom": qualtran.bloqs.for_testing.atom.TestGWRAtom, "qualtran.bloqs.for_testing.atom.TestTwoBitOp": qualtran.bloqs.for_testing.atom.TestTwoBitOp, diff --git a/qualtran/surface_code/msft_resource_estimator_interop.ipynb b/qualtran/surface_code/msft_resource_estimator_interop.ipynb index 2af07a4958..25b2ba4cb6 100644 --- a/qualtran/surface_code/msft_resource_estimator_interop.ipynb +++ b/qualtran/surface_code/msft_resource_estimator_interop.ipynb @@ -27,7 +27,7 @@ }, "outputs": [], "source": [ - "from qualtran.bloqs.factoring.rsa import ModExp\n", + "from qualtran.bloqs.cryptography.rsa import ModExp\n", "from qualtran.drawing import show_bloq\n", "\n", "N = 13*17 # integer to factor\n",