Chave Publica
617 Dígitos
30802108053801341456561862444938708555749552632328139556063230723625811397464345
72867226017778891066149291025621434083927492372544217227012908123521077834369300
67045770483512828519227677643240125191129714586070628628421230659912471629322533
85960611670715032100302802792990700079489897203403196763487446457087247479352179
00390775439796518146620047372181717911133235343016802581670622532890349570564296
36631251773199699195966891147877300075062118624962698853271664155080042437001632
49555677415468575668382968527357984361771582408736899085245062580039810083812590
554766859437131013407672393875302485119614709193338531587
Chave Privada
309 Dígitos cada
12871831967462031637701551015312923879303249470665142190531824168656572212532843
71343844616544296009952412122403990977284376657811309427246263122981114181262531
76179157383255887325697833955724133503745143395065708024873026077229907562663393
593042729771293128155739766769819070240147543607260653439243598557687
17958165837454001912633608440226764443410434258014883197522283700470640089416775
80840530450905225520712705240718883488572223372262852719327119946012503584520812
27563816163874242897051254159750496433292407537011531551462621938824244752947832
648029867993448900607511562591526927545754899546039004584527207030113


Veja mais https://youtube.com/@GCQUFSC
### Algoritmo de Shor   --- <!-- _backgroundImage: url(static/bg/bg2.svg) -- $$ \ket{0}\ket1 \xrightarrow{H} \begin{matrix} \ket{00}\ket1\\ \ket{01}\ket1\\ \ket{02}\ket1\\ \ket{03}\ket1\\ \ket{04}\ket1\\ \vdots\\ \ket{11}\ket1\\ \ket{12}\ket1\\ \ket{13}\ket1\\ \ket{14}\ket1\\ \ket{15}\ket1 \end{matrix} \xrightarrow{8^x \text{ mod } 15} \begin{matrix} \ket{00}\ket1\\ \ket{01}\ket8\\ \ket{02}\ket4\\ \ket{03}\ket2\\ \ket{04}\ket1\\ \vdots\\ \ket{11}\ket2\\ \ket{12}\ket1\\ \ket{13}\ket8\\ \ket{14}\ket4\\ \ket{15}\ket2 \end{matrix} \xRightarrow{\text{Medida}} \begin{matrix} \ket{03}\ket2\\ \ket{07}\ket2\\ \ket{11}\ket2\\ \ket{15}\ket2\\ \end{matrix} \xrightarrow{\text{QFT}^\dagger} \begin{matrix} \ket{00} \equiv 0\times4\\ \ket{04} \equiv 1\times4\\ \ket{08} \equiv 2\times4\\ \ket{12} \equiv 3\times4 \end{matrix} \Rightarrow 4 $$ --- ```py from ket import * from ket.plugins import pown from math import pi def qft(qubits: quant, inverter: bool = True) -> quant: if len(qubits) == 1: H(qubits) else: head, *tail = qubits H(head) for i, c in enumerate(reversed(tail)): ctrl(c, phase(pi / 2**(i + 1)), head) qft(tail, inverter=False) if inverter: for i in range(len(qubits) // 2): swap(qubits[i], qubits[- i - 1]) N = 15 a = 8 qubits_de_entrada = quant(N.bit_length()) H(qubits_de_entrada) qubits_de_saída = pown(a, qubits_de_entrada, N) measure(qubits_de_saída) adj(qft, qubits_de_entrada) r = measure(qubits_de_entrada) ```
### Algoritmo de Grover   --- ```py from ket import * from math import pi, sqrt def grover(n, oraculo): qubits = quant(n) H(qubits) for _ in range(int((pi/4)*sqrt(2**n/m))): oraculo(qubits) with around([H, X], qubits): ctrl(qubits[1:], Z, qubits[0]) return measure(qubits) ``` Exemplo: [Execução do Algoritmo de Grover](static/grover.html)