<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Criptoanálise on kenji.blog</title><link>http://kenji.blog/pt/tags/criptoan%C3%A1lise/</link><description>Recent content in Criptoanálise on kenji.blog</description><generator>Hugo -- gohugo.io</generator><language>pt</language><copyright>kenjinote</copyright><atom:link href="http://kenji.blog/pt/tags/criptoan%C3%A1lise/index.xml" rel="self" type="application/rss+xml"/><item><title>【Compreensão Completa com Fórmulas】Por que o 'GNFS', o mais forte algoritmo clássico, é derrotado pelos algoritmos quânticos? A mudança de paradigma da fatoração</title><link>http://kenji.blog/pt/p/gnfs-to-shors-algorithm-math-deepdive/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://kenji.blog/pt/p/gnfs-to-shors-algorithm-math-deepdive/</guid><description>&lt;img src="http://kenji.blog/p/gnfs-to-shors-algorithm-math-deepdive/quantum_vs_gnfs_eyecatch_1788616101508.jpg" alt="Featured image of post 【Compreensão Completa com Fórmulas】Por que o 'GNFS', o mais forte algoritmo clássico, é derrotado pelos algoritmos quânticos? A mudança de paradigma da fatoração" />&lt;p>A segurança da informação na sociedade da internet moderna é protegida por sistemas de criptografia de chave pública, como a criptografia RSA. A base para a segurança da criptografia RSA depende do fato de que &lt;strong>&amp;ldquo;a fatoração de números compostos gigantescos é computacionalmente extremamente difícil&amp;rdquo;&lt;/strong> .&lt;/p>
&lt;p>Neste artigo, desvendaremos o mecanismo matemático do &lt;strong>&amp;ldquo;Crivo do Corpo de Números Generalizado&amp;rdquo;&lt;/strong> (General Number Field Sieve, GNFS), que é o algoritmo de fatoração mais poderoso em computadores clássicos, e aprofundaremos minuciosamente, usando fórmulas matemáticas e diagramas conceituais, a mudança de paradigma de por que ele é completamente superado pelo &lt;strong>&amp;ldquo;Algoritmo de Shor&amp;rdquo;&lt;/strong> , descoberto por Peter Shor.&lt;/p>
&lt;hr>
&lt;h2 id="1-a-abordagem-da-fatoração-na-computação-clássica-evolução-do-método-de-fatoração-de-fermat">1. A abordagem da fatoração na computação clássica: Evolução do método de fatoração de Fermat
&lt;/h2>&lt;p>O problema da fatoração de inteiros é o problema de encontrar os números primos $p, q$ tais que $N = p \times q$ , para um dado número composto $N$ .&lt;/p>
&lt;p>A ideia básica se resume a encontrar valores não triviais $x, y$ que satisfaçam a seguinte congruência.&lt;/p>
$$ x^2 \equiv y^2 \pmod N $$
&lt;p>Rearranjando isto, temos:&lt;/p>
$$ x^2 - y^2 \equiv 0 \pmod N $$
$$ (x - y)(x + y) \equiv 0 \pmod N $$
&lt;p>Aqui, se $x \not\equiv \pm y \pmod N$ , podemos calcular o $\gcd(x-y, N)$ ou $\gcd(x+y, N)$ para obter um fator não trivial de $N$ . Este fato forma a base dos algoritmos de fatoração modernos, como o GNFS.&lt;/p>
&lt;hr>
&lt;h2 id="2-o-algoritmo-clássico-mais-forte-o-abismo-do-crivo-do-corpo-de-números-generalizado-gnfs">2. O algoritmo clássico mais forte: O abismo do &amp;ldquo;Crivo do Corpo de Números Generalizado&amp;rdquo; (GNFS)
&lt;/h2>&lt;p>O &lt;strong>GNFS&lt;/strong> é o algoritmo de fatoração mais rápido conhecido hoje para computadores clássicos. Sua complexidade de tempo requer um tempo subexponencial (Sub-exponential).&lt;/p>
&lt;h3 id="complexidade-de-tempo-do-gnfs">Complexidade de tempo do GNFS
&lt;/h3>&lt;p>Quando o número de dígitos de $N$ é $b = \log_2 N$ , a complexidade de tempo do GNFS é expressa da seguinte forma:&lt;/p>
$$ O\left( \exp \left( \left(\frac{64}{9} b\right)^{1/3} (\log b)^{2/3} \right) \right) $$
&lt;p>Como pode ser visto nesta fórmula, a complexidade não é tempo polinomial, mas sim um &lt;strong>&amp;ldquo;tempo subexponencial&amp;rdquo;&lt;/strong> que é ligeiramente mais lento que uma função exponencial. Ainda assim, à medida que o número de dígitos aumenta, o tempo de computação cresce astronomicamente.&lt;/p>
&lt;h3 id="mecanismo-matemático-do-gnfs">Mecanismo matemático do GNFS
&lt;/h3>&lt;p>O GNFS consiste principalmente em 4 etapas.&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Seleção de Polinômios (Polynomial Selection)&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Crivagem (Sieving)&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Redução de Matriz (Matrix Reduction)&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Cálculo da Raiz Quadrada (Square Root)&lt;/strong>&lt;/li>
&lt;/ol>
&lt;h4 id="21-seleção-de-polinômios-e-corpo-algébrico">2.1. Seleção de Polinômios e Corpo Algébrico
&lt;/h4>&lt;p>Primeiro, escolhemos polinômios irredutíveis $f(x)$ e $g(x)$ com coeficientes inteiros. Eles são configurados para ter uma raiz comum $m$ módulo $N$ . Ou seja,&lt;/p>
$$ f(m) \equiv 0 \pmod N $$
$$ g(m) \equiv 0 \pmod N $$
&lt;p>Geralmente, $g(x)$ é escolhido como um polinômio de primeiro grau $g(x) = x - m$ . Se a raiz de $f(x)$ for $\alpha$ , construímos um &lt;strong>&amp;ldquo;corpo de números&amp;rdquo;&lt;/strong> (Number Field) chamado $\mathbb{Q}(\alpha)$ . As operações no anel de $\mathbb{Q}(\alpha)$ e as operações no anel comum de inteiros $\mathbb{Z}$ são comparadas através do homomorfismo $\phi: \alpha \mapsto m$ .&lt;/p>
&lt;h4 id="22-crivagem-sieving">2.2. Crivagem (Sieving)
&lt;/h4>&lt;p>Em seguida, procuramos por uma grande quantidade de pares de inteiros coprimos $(a, b)$ . O objetivo é encontrar pares em que os dois valores a seguir sejam &lt;strong>&amp;ldquo;B-smooth&amp;rdquo;&lt;/strong> (compostos apenas por fatores primos relativamente pequenos).&lt;/p>
&lt;ol>
&lt;li>$a - bm$ (valor sobre o anel de inteiros)&lt;/li>
&lt;li>$b^d f(a/b)$ (correspondente à norma $N(a - b\alpha)$ sobre o corpo algébrico)&lt;/li>
&lt;/ol>
&lt;p>Aqui é usado um método de busca rápido chamado &lt;strong>&amp;ldquo;crivo&amp;rdquo;&lt;/strong> (Sieve). Isso extrai eficientemente pares $(a, b)$ que satisfazem as condições de um enorme número de candidatos.&lt;/p>
&lt;h4 id="23-redução-de-matriz-linear-algebra-over-gf2">2.3. Redução de Matriz (Linear Algebra over GF(2))
&lt;/h4>&lt;p>A partir dos pares coletados $(a, b)$ , construímos vetores de expoentes e encontramos o espaço nulo à esquerda de uma enorme matriz esparsa sobre $\mathbb{F}_2$ (um corpo cujos elementos são apenas 0 e 1).&lt;/p>
&lt;p>Encontramos o vetor $v$ como uma solução tal que as relações $ \prod (a_i - b_i m) $ e $ \prod (a_i - b_i \alpha) $ se tornem quadrados perfeitos. Isto não é nada mais do que resolver o seguinte sistema de equações lineares:&lt;/p>
$$ M \mathbf{x} \equiv \mathbf{0} \pmod 2 $$
&lt;p>Aqui, algoritmos avançados de cálculo numérico, como o Algoritmo de Block Lanczos ou o Algoritmo de Block Wiedemann, são utilizados.&lt;/p>
&lt;h4 id="24-cálculo-da-raiz-quadrada">2.4. Cálculo da Raiz Quadrada
&lt;/h4>&lt;p>Por fim, extraímos a raiz quadrada tanto no corpo algébrico quanto no anel de inteiros para derivar a relação $x^2 \equiv y^2 \pmod N$ . Em seguida, calculamos $\gcd(x-y, N)$ para obter os fatores.&lt;/p>
&lt;hr>
&lt;h2 id="3-um-avanço-revolucionário-pela-computação-quântica-algoritmo-de-shor">3. Um avanço revolucionário pela computação quântica: &amp;ldquo;Algoritmo de Shor&amp;rdquo;
&lt;/h2>&lt;p>Enquanto o GNFS requer tempo subexponencial, o &lt;strong>&amp;ldquo;Algoritmo de Shor&amp;rdquo;&lt;/strong> , publicado por Peter Shor em 1994, pode resolver esse problema em &lt;strong>&amp;ldquo;tempo polinomial&amp;rdquo;&lt;/strong> usando um computador quântico.&lt;/p>
&lt;h3 id="complexidade-do-algoritmo-de-shor">Complexidade do Algoritmo de Shor
&lt;/h3>&lt;p>Assumindo que o número de qubits seja $O(\log N)$ , a complexidade de tempo é a seguinte:&lt;/p>
$$ O((\log N)^3) $$
&lt;p>Isso significa que não há explosão exponencial em relação ao número de bits. É um resultado surpreendente: mesmo para números compostos gigantescos onde o tempo para a &lt;strong>&amp;ldquo;computação clássica&amp;rdquo;&lt;/strong> excederia a idade do universo, a &lt;strong>&amp;ldquo;computação quântica&amp;rdquo;&lt;/strong> pode descriptografá-los em questão de horas ou dias.&lt;/p>
&lt;h3 id="visão-geral-do-algoritmo-de-shor-redução-ao-problema-da-descoberta-de-período">Visão geral do Algoritmo de Shor: Redução ao problema da descoberta de período
&lt;/h3>&lt;p>O Algoritmo de Shor reduz inteligentemente o problema de fatoração em primos a um &lt;strong>&amp;ldquo;problema de descoberta de período&amp;rdquo;&lt;/strong> .&lt;/p>
&lt;ol>
&lt;li>Escolha um inteiro aleatório $a$ que seja coprimo com $N$ ( $1 &lt; a &lt; N$ ).&lt;/li>
&lt;li>Defina a função $f(x) = a^x \bmod N$ .&lt;/li>
&lt;li>Encontre o período $r$ de $f(x)$ , ou seja, o menor inteiro positivo $r$ tal que $a^r \equiv 1 \pmod N$ .&lt;/li>
&lt;li>Se $r$ for par, verifique se $a^{r/2} \not\equiv -1 \pmod N$ , calcule $\gcd(a^{r/2} \pm 1, N)$ e obtenha o fator primo.&lt;/li>
&lt;/ol>
&lt;p>Esta &lt;strong>&amp;ldquo;descoberta do período $r$ &amp;ldquo;&lt;/strong> na etapa 3 é o gargalo que leva tempo exponencial em computadores clássicos, mas os computadores quânticos resolvem isso instantaneamente usando a &lt;strong>&amp;ldquo;sobreposição quântica&amp;rdquo;&lt;/strong> e a &lt;strong>&amp;ldquo;Transformada de Fourier Quântica&amp;rdquo;&lt;/strong> (QFT).&lt;/p>
&lt;hr>
&lt;h2 id="4-transformada-de-fourier-quântica-qft-e-extração-de-período">4. Transformada de Fourier Quântica (QFT) e Extração de Período
&lt;/h2>&lt;p>Vejamos mais de perto as fórmulas matemáticas sobre a manipulação de estados quânticos, que é o núcleo do Algoritmo de Shor.&lt;/p>
&lt;h3 id="41-geração-de-sobreposição-quântica">4.1. Geração de Sobreposição Quântica
&lt;/h3>&lt;p>Primeiro, preparamos dois registradores quânticos. O Registrador 1 mantém o estado de sobreposição das entradas $x$ , e o Registrador 2 mantém os resultados calculados da função $f(x)$ . Aplicamos a Transformada de Hadamard (Hadamard Transform) ao estado inicial $|0\rangle |0\rangle$ para criar uma sobreposição de todos os possíveis $x$ .&lt;/p>
$$ |\psi_1\rangle = \frac{1}{\sqrt{Q}} \sum_{x=0}^{Q-1} |x\rangle |0\rangle $$
&lt;p>
(onde $Q$ é uma potência de 2 satisfazendo $N^2 \le Q &lt; 2N^2$ )&lt;/p>
&lt;p>Em seguida, usamos o oráculo quântico $U_f$ para calcular $f(x) = a^x \bmod N$ e armazená-lo no Registrador 2.&lt;/p>
$$ |\psi_2\rangle = U_f |\psi_1\rangle = \frac{1}{\sqrt{Q}} \sum_{x=0}^{Q-1} |x\rangle |a^x \bmod N\rangle $$
&lt;p>Suponhamos agora que medimos o Registrador 2 (embora na realidade a estrutura matemática seja a mesma mesmo sem medição). Se observarmos um determinado valor $y = a^{x_0} \bmod N$ , o estado do Registrador 1 colapsa para uma sobreposição de todos os $x$ onde $f(x) = y$ . Se o período for $r$ , esses $x$ serão $x_0, x_0 + r, x_0 + 2r, \dots$&lt;/p>
$$ |\psi_3\rangle = \frac{1}{\sqrt{M}} \sum_{k=0}^{M-1} |x_0 + kr\rangle $$
&lt;p>
(onde $M \approx Q/r$ é o número de termos)&lt;/p>
&lt;p>Este estado contém inerentemente a informação sobre o período $r$ , mas medir isso diretamente apenas nos dá um $x_0 + kr$ aleatório, não revelando $r$ . É aqui que entra a QFT.&lt;/p>
&lt;h3 id="42-aplicação-da-transformada-de-fourier-quântica-quantum-fourier-transform">4.2. Aplicação da Transformada de Fourier Quântica (Quantum Fourier Transform)
&lt;/h3>&lt;p>A QFT é uma operação que aplica uma transformada discreta de Fourier às amplitudes do estado quântico. A ação da QFT no estado $|x\rangle$ é definida como segue:&lt;/p>
$$ \text{QFT} |x\rangle = \frac{1}{\sqrt{Q}} \sum_{y=0}^{Q-1} e^{2\pi i \frac{xy}{Q}} |y\rangle $$
&lt;p>A aplicação disto a $|\psi_3\rangle$ induz interferência de fase (interferência quântica).&lt;/p>
$$ |\psi_4\rangle = \text{QFT} |\psi_3\rangle = \frac{1}{\sqrt{MQ}} \sum_{y=0}^{Q-1} \sum_{k=0}^{M-1} e^{2\pi i \frac{(x_0 + kr)y}{Q}} |y\rangle $$
&lt;p>Ao expandir o somatório desta equação, surge a parte:&lt;/p>
$$ \sum_{k=0}^{M-1} e^{2\pi i \frac{kry}{Q}} $$
&lt;p>Esta soma da série geométrica reforça-se mutuamente (Interferência Construtiva) apenas quando $ry/Q$ é próximo a um número inteiro e se cancela em outros momentos (Interferência Destrutiva).&lt;/p>
&lt;p>Portanto, o estado $|y\rangle$ medido com alta probabilidade será um número inteiro $y$ que satisfaz a condição:&lt;/p>
$$ \frac{y}{Q} \approx \frac{c}{r} $$
&lt;p>
(onde $c$ é algum inteiro).&lt;/p>
&lt;h3 id="43-identificação-do-período-por-expansão-em-frações-contínuas">4.3. Identificação do Período por Expansão em Frações Contínuas
&lt;/h3>&lt;p>Após obter $y$ pela medição, utilizamos um computador clássico para realizar a &lt;strong>&amp;ldquo;expansão em frações contínuas&amp;rdquo;&lt;/strong> (Continued Fraction Expansion) de $y/Q$ . Isso nos permite calcular a fração aproximada $c/r$ de $y/Q$ e extrair de forma altamente eficiente os candidatos ao período $r$ a partir do denominador.&lt;/p>
&lt;hr>
&lt;h2 id="5-comparação-de-modelos-conceituais-e-mudança-de-paradigma">5. Comparação de Modelos Conceituais e Mudança de Paradigma
&lt;/h2>&lt;p>Para entender intuitivamente a diferença entre o GNFS e o Algoritmo de Shor, mostramos um diagrama conceitual usando a notação Mermaid.&lt;/p>
&lt;h3 id="diagrama-conceitual-do-algoritmo-de-shor-via-circuito-quântico">Diagrama conceitual do Algoritmo de Shor via circuito quântico
&lt;/h3>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">graph TD
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> A[Estado inicial: 0...0] --&amp;gt; B[Sobreposição de todos os estados por Transformada de Hadamard]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> B --&amp;gt; C[Exponenciação modular a^x mod N]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> C --&amp;gt;|Emaranhamento quântico| D[Colapso para um estado com periodicidade]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> D --&amp;gt; E[Transformada de Fourier Quântica QFT]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> E --&amp;gt;|Amplificação de probabilidade por interferência| F[Medição: obter y]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> F --&amp;gt; G[Processamento clássico: expansão em frações contínuas]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> G --&amp;gt; H[Descoberta do período r]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> H --&amp;gt; I[Cálculo dos fatores primos de N]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> style A fill:#f9f,stroke:#333,stroke-width:2px
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> style E fill:#bbf,stroke:#333,stroke-width:2px
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> style I fill:#bfb,stroke:#333,stroke-width:2px
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="a-essência-da-mudança-de-paradigma">A essência da mudança de paradigma
&lt;/h3>&lt;p>O GNFS adota uma abordagem que consiste em &lt;strong>&amp;ldquo;buscar relações dentro de um espaço matemático (corpo algébrico)&amp;rdquo;&lt;/strong> . No entanto, como o espaço de busca se expande exponencialmente em relação ao número de dígitos, com as capacidades computacionais clássicas (incluindo paralelização), a decodificação se torna quase impossível quando o tamanho da chave excede os 2048 bits.&lt;/p>
&lt;p>Por outro lado, o Algoritmo de Shor utiliza a &lt;strong>&amp;ldquo;natureza de onda devido à interferência quântica&amp;rdquo;&lt;/strong> . Ele avalia simultaneamente todos os caminhos computacionais na sobreposição de estados e usa a QFT para cancelar respostas desnecessárias (interferência destrutiva) enquanto amplifica apenas a amplitude de probabilidade do período correto (interferência construtiva). Com isso, ao invés de buscar no espaço, atinge uma abordagem de dimensão completamente diferente onde &lt;strong>&amp;ldquo;surge a própria resposta correta&amp;rdquo;&lt;/strong> .&lt;/p>
&lt;h2 id="6-conclusão">6. Conclusão
&lt;/h2>&lt;p>Neste artigo, aprofundamo-nos nos contextos matemáticos e nas estruturas de algoritmos, comparando o &lt;strong>&amp;ldquo;GNFS&amp;rdquo;&lt;/strong> , o pico absoluto do limite clássico, com o &lt;strong>&amp;ldquo;Algoritmo de Shor&amp;rdquo;&lt;/strong> , que demonstra o poder da computação quântica.&lt;/p>
&lt;p>Enquanto o GNFS usa técnicas matemáticas sofisticadas, como a escolha de polinômios e cálculos matemáticos com grandes matrizes, para reduzir o tempo computacional a um tempo subexponencial, o Algoritmo de Shor combina os princípios fundamentais da mecânica quântica, sobreposição e interferência, com ferramentas matemáticas (QFT) para produzir um avanço instantâneo ao tempo polinomial.&lt;/p>
&lt;p>No momento, não existe nenhum computador quântico tolerante a falhas (FTQC) capaz de executar o Algoritmo de Shor em escala prática (milhares de qubits). No entanto, a própria existência dessa mudança de paradigma matemático e teórico é a principal razão pela qual há atualmente uma rápida e urgente transição para a Criptografia Pós-Quântica (PQC: Post-Quantum Cryptography) no mundo todo.&lt;/p></description></item></channel></rss>