Skip to content

Commit 8387f1a

Browse files
Rename factoring -> cryptograph and create a Root Bloqs docs section (#1532)
Co-authored-by: Matthew Harrigan <mpharrigan@google.com>
1 parent 46ec3fd commit 8387f1a

37 files changed

Lines changed: 74 additions & 61 deletions

dev_tools/autogenerate-bloqs-notebooks-v2.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,17 @@
6363
'chemistry/trotter/hubbard/qpe_cost_optimization.ipynb',
6464
'chemistry/resource_estimation.ipynb',
6565
'chemistry/writing_algorithms.ipynb',
66-
'factoring/factoring-via-modexp.ipynb',
66+
'cryptography/rsa/factoring-via-modexp.ipynb',
6767
'state_preparation/state_preparation_via_rotation_tutorial.ipynb',
6868
]
6969

7070

71+
# --------------------------------------------------------------------------
72+
# ----- Root Bloqs -----------------------------------------------------
73+
# --------------------------------------------------------------------------
74+
ROOT_BLOQS = ['cryptography/ecc/ecc.ipynb']
75+
76+
7177
def _all_nbspecs() -> Iterable[NotebookSpecV2]:
7278
for _, nbspecs in NB_BY_SECTION:
7379
yield from nbspecs
@@ -102,6 +108,7 @@ def write_toc():
102108
]
103109

104110
toc_lines = header + _get_toc_section_lines('Concepts', CONCEPTS, maxdepth=1)
111+
toc_lines += _get_toc_section_lines('Root Bloqs', ROOT_BLOQS, maxdepth=1)
105112
bloqs_dir = SOURCE_DIR / 'bloqs'
106113
for section, nbspecs in NB_BY_SECTION:
107114
entries = [str(nbspec.path.relative_to(bloqs_dir)) for nbspec in nbspecs]

dev_tools/qualtran_dev_tools/notebook_specs.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -82,11 +82,11 @@
8282
import qualtran.bloqs.chemistry.trotter.hubbard.interaction
8383
import qualtran.bloqs.chemistry.trotter.ising.unitaries
8484
import qualtran.bloqs.chemistry.trotter.trotterized_unitary
85+
import qualtran.bloqs.cryptography.ecc
86+
import qualtran.bloqs.cryptography.rsa
8587
import qualtran.bloqs.data_loading.qrom
8688
import qualtran.bloqs.data_loading.qrom_base
8789
import qualtran.bloqs.data_loading.select_swap_qrom
88-
import qualtran.bloqs.factoring.ecc
89-
import qualtran.bloqs.factoring.rsa
9090
import qualtran.bloqs.gf_arithmetic.gf2_add_k
9191
import qualtran.bloqs.gf_arithmetic.gf2_addition
9292
import qualtran.bloqs.gf_arithmetic.gf2_inverse
@@ -543,25 +543,25 @@
543543
),
544544
NotebookSpecV2(
545545
title='Factoring RSA',
546-
module=qualtran.bloqs.factoring.rsa,
546+
module=qualtran.bloqs.cryptography.rsa,
547547
bloq_specs=[
548-
qualtran.bloqs.factoring.rsa.rsa_phase_estimate._RSA_PE_BLOQ_DOC,
549-
qualtran.bloqs.factoring.rsa.rsa_mod_exp._RSA_MODEXP_DOC,
548+
qualtran.bloqs.cryptography.rsa.rsa_phase_estimate._RSA_PE_BLOQ_DOC,
549+
qualtran.bloqs.cryptography.rsa.rsa_mod_exp._RSA_MODEXP_DOC,
550550
],
551551
),
552552
NotebookSpecV2(
553553
title='Elliptic Curve Addition',
554-
module=qualtran.bloqs.factoring.ecc.ec_add,
555-
bloq_specs=[qualtran.bloqs.factoring.ecc.ec_add._EC_ADD_DOC],
554+
module=qualtran.bloqs.cryptography.ecc.ec_add,
555+
bloq_specs=[qualtran.bloqs.cryptography.ecc.ec_add._EC_ADD_DOC],
556556
),
557557
NotebookSpecV2(
558558
title='Elliptic Curve Cryptography',
559-
module=qualtran.bloqs.factoring.ecc,
559+
module=qualtran.bloqs.cryptography.ecc,
560560
bloq_specs=[
561-
qualtran.bloqs.factoring.ecc.find_ecc_private_key._ECC_BLOQ_DOC,
562-
qualtran.bloqs.factoring.ecc.ec_phase_estimate_r._EC_PE_BLOQ_DOC,
563-
qualtran.bloqs.factoring.ecc.ec_add_r._ECC_ADD_R_BLOQ_DOC,
564-
qualtran.bloqs.factoring.ecc.ec_add_r._EC_WINDOW_ADD_BLOQ_DOC,
561+
qualtran.bloqs.cryptography.ecc.find_ecc_private_key._ECC_BLOQ_DOC,
562+
qualtran.bloqs.cryptography.ecc.ec_phase_estimate_r._EC_PE_BLOQ_DOC,
563+
qualtran.bloqs.cryptography.ecc.ec_add_r._ECC_ADD_R_BLOQ_DOC,
564+
qualtran.bloqs.cryptography.ecc.ec_add_r._EC_WINDOW_ADD_BLOQ_DOC,
565565
],
566566
),
567567
]

docs/bloqs/index.rst

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,15 @@ Bloqs Library
1919
chemistry/trotter/hubbard/qpe_cost_optimization.ipynb
2020
chemistry/resource_estimation.ipynb
2121
chemistry/writing_algorithms.ipynb
22-
factoring/factoring-via-modexp.ipynb
22+
cryptography/rsa/factoring-via-modexp.ipynb
2323
state_preparation/state_preparation_via_rotation_tutorial.ipynb
2424

25+
.. toctree::
26+
:maxdepth: 1
27+
:caption: Root Bloqs:
28+
29+
cryptography/ecc/ecc.ipynb
30+
2531
.. toctree::
2632
:maxdepth: 2
2733
:caption: Basic Gates:
@@ -85,9 +91,9 @@ Bloqs Library
8591
mod_arithmetic/mod_subtraction.ipynb
8692
mod_arithmetic/mod_multiplication.ipynb
8793
mod_arithmetic/mod_division.ipynb
88-
factoring/rsa/rsa.ipynb
89-
factoring/ecc/ec_add.ipynb
90-
factoring/ecc/ecc.ipynb
94+
cryptography/rsa/rsa.ipynb
95+
cryptography/ecc/ec_add.ipynb
96+
cryptography/ecc/ecc.ipynb
9197

9298
.. toctree::
9399
:maxdepth: 2

qualtran/Autodoc.ipynb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,8 +143,8 @@
143143
"```python\n",
144144
" NotebookSpecV2(\n",
145145
" title='Modular Exponentiation',\n",
146-
" module=qualtran.bloqs.factoring.mod_exp,\n",
147-
" bloq_specs=[qualtran.bloqs.factoring.mod_exp._MODEXP_DOC],\n",
146+
" module=qualtran.bloqs.cryptography.mod_exp,\n",
147+
" bloq_specs=[qualtran.bloqs.cryptography.mod_exp._MODEXP_DOC],\n",
148148
" ),\n",
149149
"```"
150150
]

qualtran/_infra/Bloqs-Tutorial.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -914,7 +914,7 @@
914914
"metadata": {},
915915
"outputs": [],
916916
"source": [
917-
"from qualtran.bloqs.factoring.rsa import ModExp\n",
917+
"from qualtran.bloqs.cryptography.rsa import ModExp\n",
918918
"\n",
919919
"mod_exp = ModExp(base=8, mod=13*17, exp_bitsize=3, x_bitsize=1024)\n",
920920
"show_bloq(mod_exp)"

qualtran/bloqs/arithmetic/_shims.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"""This module has a selection of minimally-implemented modular arithmetic primitives.
1515
1616
These bloqs serve as the callees in the call graphs of the algorithms found
17-
in `qualtran.bloqs.factoring` and `qualtran.bloqs.mod_arithmetic`. They are place-holders,
17+
in `qualtran.bloqs.cryptography` and `qualtran.bloqs.mod_arithmetic`. They are place-holders,
1818
so we don't have undefined symbols and can still merge the high-level algorithms. These shims
1919
will be fleshed out and moved to their final organizational location soon (written: 2024-05-06).
2020
"""
File renamed without changes.
File renamed without changes.

qualtran/bloqs/factoring/ecc/ec_add.ipynb renamed to qualtran/bloqs/cryptography/ecc/ec_add.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@
7171
},
7272
"outputs": [],
7373
"source": [
74-
"from qualtran.bloqs.factoring.ecc import ECAdd"
74+
"from qualtran.bloqs.cryptography.ecc import ECAdd"
7575
]
7676
},
7777
{

0 commit comments

Comments
 (0)