<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Matemática, Criptografia E Quântica on kenji.blog</title><link>http://kenji.blog/pt/categories/matem%C3%A1tica-criptografia-e-qu%C3%A2ntica/</link><description>Recent content in Matemática, Criptografia E Quântica on kenji.blog</description><generator>Hugo -- gohugo.io</generator><language>pt</language><copyright>kenjinote</copyright><lastBuildDate>Sat, 05 Sep 2026 22:09:22 +0900</lastBuildDate><atom:link href="http://kenji.blog/pt/categories/matem%C3%A1tica-criptografia-e-qu%C3%A2ntica/index.xml" rel="self" type="application/rss+xml"/><item><title>【PQC】A Visão Geral da "Criptografia Pós-Quântica", a Criptografia da Próxima Geração na Era da Computação Quântica</title><link>http://kenji.blog/pt/p/post-quantum-cryptography/</link><pubDate>Sat, 05 Sep 2026 22:09:22 +0900</pubDate><guid>http://kenji.blog/pt/p/post-quantum-cryptography/</guid><description>&lt;img src="http://kenji.blog/p/post-quantum-cryptography/post_quantum_cryptography_1788613735417.jpg" alt="Featured image of post 【PQC】A Visão Geral da "Criptografia Pós-Quântica", a Criptografia da Próxima Geração na Era da Computação Quântica" />&lt;h2 id="introdução-a-ameaça-dos-computadores-quânticos-à-criptografia">Introdução: A &amp;ldquo;Ameaça&amp;rdquo; dos Computadores Quânticos à Criptografia
&lt;/h2>&lt;p>Atualmente, muitas das comunicações que realizamos diariamente na internet —— desde pagamentos em serviços bancários online, navegação em sites (HTTPS), troca de mensagens em aplicativos, até transações de blockchain e criptomoedas —— são protegidas por uma tecnologia chamada &amp;ldquo;criptografia de chave pública&amp;rdquo;. Especificamente, algoritmos como a criptografia RSA e a criptografia de curva elíptica (ECC) são os pilares que sustentam a confiabilidade da nossa sociedade digital moderna.&lt;/p>
&lt;p>Esses métodos de criptografia baseiam sua segurança em problemas matemáticos complexos, como a &amp;ldquo;fatoração de números primos gigantes&amp;rdquo; e o &amp;ldquo;problema do logaritmo discreto&amp;rdquo;, que levariam um tempo astronômico para serem resolvidos por computadores clássicos atuais (incluindo supercomputadores). No entanto, com a concretização dos &lt;strong>&amp;ldquo;computadores quânticos&amp;rdquo;&lt;/strong> , que têm feito progressos notáveis nos últimos anos, essa premissa será fundamentalmente derrubada.&lt;/p>
&lt;p>O &amp;ldquo;Algoritmo de Shor&amp;rdquo;, publicado por Peter Shor em 1994, provou matematicamente que, se usarmos um computador quântico com desempenho suficiente, poderemos resolver a fatoração de números primos e o problema do logaritmo discreto em um tempo extremamente curto. Isso significa que a comunicação criptografada que protege a internet hoje corre o risco de ser totalmente decodificada no futuro (um problema conhecido como Y2Q: Years to Quantum, ou Q-Day).&lt;/p>
&lt;p>Ainda mais grave é a existência de um método de ataque chamado &amp;ldquo;Harvest Now, Decrypt Later&amp;rdquo; (Roube agora, decifre depois). Dados que precisam manter a confidencialidade por décadas, como informações confidenciais de estados, propriedade intelectual corporativa e informações biométricas pessoais, já podem ser alvo de roubo hoje, com a intenção de serem decodificados no futuro.&lt;/p>
&lt;p>Para responder a essa crise sem precedentes, criptógrafos e instituições de pesquisa em todo o mundo estão trabalhando juntos para desenvolver a criptografia de próxima geração que pode manter a segurança mesmo contra ataques de computadores quânticos, a &lt;strong>Criptografia Pós-Quântica (PQC)&lt;/strong> . Neste artigo, explicaremos em detalhes desde os fundamentos da PQC até os mecanismos de seus principais algoritmos e as tendências mais recentes de padronização global lideradas pelo Instituto Nacional de Padrões e Tecnologia dos EUA (NIST).&lt;/p>
&lt;hr>
&lt;h2 id="o-que-é-a-criptografia-pós-quântica-pqc">O que é a Criptografia Pós-Quântica (PQC)?
&lt;/h2>&lt;p>A Criptografia Pós-Quântica (Post-Quantum Cryptography, PQC) é um termo genérico para algoritmos de criptografia projetados para operar em computadores clássicos existentes e, ao mesmo tempo, serem resistentes a ataques (como o algoritmo de Shor) de computadores quânticos de grande escala que surgirão no futuro.&lt;/p>
&lt;p>Tecnologias frequentemente confundidas com ela são a &amp;ldquo;Criptografia Quântica (Quantum Cryptography)&amp;rdquo; e a &amp;ldquo;Distribuição Quântica de Chaves (QKD)&amp;rdquo;, mas estas são abordagens completamente diferentes. A criptografia quântica (QKD) é uma tecnologia baseada em hardware que utiliza as leis físicas da mecânica quântica (como a propriedade de que o estado muda ao ser observado) para tornar a espionagem nos canais de comunicação fisicamente impossível. Ela requer fibras ópticas dedicadas e equipamentos especiais, enfrentando desafios como custos de implementação e limitações de distância.&lt;/p>
&lt;p>Por outro lado, &lt;strong>a PQC é uma tecnologia de criptografia baseada em software, fundamentada puramente em &amp;ldquo;matemática&amp;rdquo;&lt;/strong> . Portanto, ela pode ser incorporada à infraestrutura de internet existente, servidores, smartphones, navegadores, etc., como uma atualização de software, sendo altamente aplicável ao mundo real. Empresas de TI e governos de todo o mundo consideram urgente substituir (migrar) o RSA e o ECC atualmente em uso por esta PQC.&lt;/p>
&lt;hr>
&lt;h2 id="as-4-principais-abordagens-matemáticas-que-sustentam-a-pqc">As 4 Principais Abordagens Matemáticas que Sustentam a PQC
&lt;/h2>&lt;p>Vários algoritmos de PQC foram propostos, baseando-se em problemas matemáticos complexos (como problemas NP-difíceis) que não podem ser resolvidos de forma eficiente mesmo com um computador quântico. Aqui, apresentaremos as 4 principais categorias que dominam atualmente.&lt;/p>
&lt;h3 id="principais-abordagens-da-criptografia-pós-quântica-pqc">Principais Abordagens da Criptografia Pós-Quântica (PQC)
&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;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-gdscript3" data-lang="gdscript3">&lt;span class="line">&lt;span class="cl">&lt;span class="n">graph&lt;/span> &lt;span class="n">LR&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">PQC&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">Criptografia&lt;/span> &lt;span class="n">Pós&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">Quântica&lt;/span> &lt;span class="n">PQC&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">--&amp;gt;&lt;/span> &lt;span class="n">L&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">Criptografia&lt;/span> &lt;span class="n">baseada&lt;/span> &lt;span class="n">em&lt;/span> &lt;span class="n">reticulados&lt;/span> &lt;span class="n">Lattice&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">based&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">PQC&lt;/span> &lt;span class="o">--&amp;gt;&lt;/span> &lt;span class="n">H&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">Criptografia&lt;/span> &lt;span class="n">baseada&lt;/span> &lt;span class="n">em&lt;/span> &lt;span class="nb">hash&lt;/span> &lt;span class="n">Hash&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">based&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">PQC&lt;/span> &lt;span class="o">--&amp;gt;&lt;/span> &lt;span class="n">M&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">Criptografia&lt;/span> &lt;span class="n">multivariada&lt;/span> &lt;span class="n">Multivariate&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">PQC&lt;/span> &lt;span class="o">--&amp;gt;&lt;/span> &lt;span class="n">C&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">Criptografia&lt;/span> &lt;span class="n">baseada&lt;/span> &lt;span class="n">em&lt;/span> &lt;span class="n">códigos&lt;/span> &lt;span class="n">Code&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">based&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">L&lt;/span> &lt;span class="o">--&amp;gt;&lt;/span> &lt;span class="n">L1&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">FIPS&lt;/span> &lt;span class="mi">203&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">ML&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">KEM&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">L&lt;/span> &lt;span class="o">--&amp;gt;&lt;/span> &lt;span class="n">L2&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">FIPS&lt;/span> &lt;span class="mi">204&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">ML&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">DSA&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">H&lt;/span> &lt;span class="o">--&amp;gt;&lt;/span> &lt;span class="n">H1&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">FIPS&lt;/span> &lt;span class="mi">205&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">SLH&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">DSA&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">style&lt;/span> &lt;span class="n">PQC&lt;/span> &lt;span class="n">fill&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="c1">#f9f,stroke:#333,stroke-width:2px&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="1-criptografia-baseada-em-reticulados-lattice-based-cryptography">1. Criptografia baseada em reticulados (Lattice-based Cryptography)
&lt;/h3>&lt;p>Atualmente, esta &amp;ldquo;criptografia baseada em reticulados&amp;rdquo; é considerada a mais promissora e é a principal tendência no campo da PQC. A criptografia de reticulados baseia sua segurança em problemas relacionados a pontos dispostos regularmente (pontos de reticulado) em um espaço multidimensional. Problemas famosos incluem o &amp;ldquo;Problema do Vetor Mais Curto (SVP: Shortest Vector Problem)&amp;rdquo; e o &amp;ldquo;Problema de Aprendizado com Erros (LWE: Learning With Errors)&amp;rdquo;.&lt;/p>
&lt;p>&lt;strong>Visão geral do mecanismo:&lt;/strong>
Imagine que inumeráveis pontos estão dispostos em forma de grade (reticulado) dentro de um espaço de dimensão muito alta (centenas a milhares de dimensões). Encontrar um ponto de reticulado específico é fácil em 2 ou 3 dimensões, mas quando se trata de centenas de dimensões, ainda não foi descoberto nenhum algoritmo que o encontre de forma eficiente, seja em um computador clássico ou quântico. O problema LWE, em particular, utiliza a propriedade de que &amp;ldquo;se você adicionar propositalmente um pequeno &amp;lsquo;ruído (erro)&amp;rsquo; a um sistema de equações lineares, torna-se drasticamente mais difícil adivinhar as variáveis originais&amp;rdquo;.&lt;/p>
&lt;p>&lt;strong>Vantagens:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Aplicável tanto ao compartilhamento de chaves (KEM) quanto às assinaturas digitais.&lt;/li>
&lt;li>A velocidade de processamento é muito rápida (em alguns casos, mais rápida que RSA e ECC).&lt;/li>
&lt;li>O tamanho da chave e o tamanho do texto cifrado são relativamente pequenos, oferecendo um bom equilíbrio.&lt;/li>
&lt;/ul>
&lt;p>Muitos dos algoritmos atualmente sendo padronizados pelo NIST (como ML-KEM e ML-DSA) adotam essa criptografia baseada em reticulados.&lt;/p>
&lt;h3 id="2-criptografia-baseada-em-hash-hash-based-cryptography">2. Criptografia baseada em hash (Hash-based Cryptography)
&lt;/h3>&lt;p>A criptografia baseada em hash é um algoritmo PQC especializado em assinaturas digitais. A base de sua segurança depende exclusivamente da resistência à colisão e da unidirecionalidade de &amp;ldquo;funções de hash criptográficas&amp;rdquo; seguras, como SHA-2 e SHA-3.&lt;/p>
&lt;p>&lt;strong>Visão geral do mecanismo:&lt;/strong>
Ela tem como ponto de partida um esquema de assinatura descartável de uso único (assinatura de uso único) chamado &amp;ldquo;Assinatura Lamport (Lamport Signature)&amp;rdquo;. Ao agrupar isso em um formato de dados em estrutura de árvore chamado &amp;ldquo;Árvore de Merkle (Merkle Tree)&amp;rdquo;, possibilita múltiplas assinaturas com um único par de chaves.&lt;/p>
&lt;p>&lt;strong>Vantagens:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>A base de segurança é extremamente robusta, com a forte prova de que &amp;ldquo;é segura desde que a função de hash seja segura&amp;rdquo;.&lt;/li>
&lt;li>Como a dependência de estruturas matemáticas é baixa, o risco de serem descobertos métodos inesperados de decodificação é menor.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Desvantagens:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Não pode ser usada para compartilhamento de chaves (KEM), servindo apenas para assinaturas digitais.&lt;/li>
&lt;li>O tamanho da assinatura tende a ser grande.&lt;/li>
&lt;li>Existem as modalidades &amp;ldquo;stateful&amp;rdquo; (com estado) e &amp;ldquo;stateless&amp;rdquo; (sem estado). A versão stateful (como XMSS) requer um gerenciamento rigoroso do número de vezes que a chave é usada, tornando a implementação mais difícil.&lt;/li>
&lt;/ul>
&lt;p>O NIST padronizou o &amp;ldquo;SLH-DSA (anteriormente SPHINCS+)&amp;rdquo; como uma assinatura baseada em hash stateless.&lt;/p>
&lt;h3 id="3-criptografia-multivariada-multivariate-cryptography">3. Criptografia multivariada (Multivariate Cryptography)
&lt;/h3>&lt;p>A criptografia de polinômios multivariados baseia sua segurança na dificuldade de resolver um sistema de equações polinomiais quadráticas simultâneas com muitas variáveis (Problema MQ: Multivariate Quadratic problem). Sabe-se que este problema é NP-difícil.&lt;/p>
&lt;p>&lt;strong>Visão geral do mecanismo:&lt;/strong>
O remetente cria um texto cifrado (assinatura) substituindo o texto simples (ou valor de hash) em uma equação complexa com muitas variáveis fornecida como chave pública. O destinatário legítimo possui como chave privada uma &amp;ldquo;informação oculta (alçapão) que converte a estrutura da equação em uma forma fácil de resolver&amp;rdquo;, usando-a para realizar a decodificação (ou verificação de assinatura).&lt;/p>
&lt;p>&lt;strong>Vantagens:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>O tamanho da assinatura é muito pequeno.&lt;/li>
&lt;li>A velocidade de verificação da assinatura é extremamente alta. É adequado para dispositivos de IoT com recursos limitados.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Desvantagens:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>O tamanho da chave pública é muito grande (pode chegar a dezenas ou centenas de kilobytes).&lt;/li>
&lt;li>No passado, algoritmos proeminentes (como Rainbow) foram quebrados por ataques clássicos, tornando mais difícil estabelecer a confiança na segurança em comparação com outros métodos.&lt;/li>
&lt;/ul>
&lt;h3 id="4-criptografia-baseada-em-códigos-code-based-cryptography">4. Criptografia baseada em códigos (Code-based Cryptography)
&lt;/h3>&lt;p>A criptografia baseada em códigos aplica a teoria dos &amp;ldquo;códigos de correção de erros&amp;rdquo;, usados para corrigir erros nos canais de comunicação, à criptografia. A &amp;ldquo;Criptografia McEliece&amp;rdquo;, proposta em 1978, é a mais famosa e uma das mais antigas entre as PQC.&lt;/p>
&lt;p>&lt;strong>Visão geral do mecanismo:&lt;/strong>
O remetente codifica o texto simples usando a chave pública do destinatário (a matriz geradora de um código de correção de erros que oculta uma estrutura específica), adiciona um erro intencional (ruído) e o envia. O destinatário usa a chave privada para remover o erro e extrair o texto simples. Um decodificador precisaria corrigir os erros a partir de um código aleatório sem conhecer sua estrutura; isso é chamado de &amp;ldquo;problema geral de decodificação de síndrome&amp;rdquo;, que é comprovadamente NP-difícil.&lt;/p>
&lt;p>&lt;strong>Vantagens:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Tendo sido exaustivamente estudada por mais de 40 anos e sem nenhum ataque eficaz encontrado até agora, a confiança na sua segurança é extremamente alta.&lt;/li>
&lt;li>Os processos de criptografia e descriptografia são rápidos.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Desvantagens:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>O tamanho da chave pública é imenso (pode chegar a vários megabytes). Portanto, é difícil usá-la em ambientes com limitações de largura de banda de comunicação ou memória (como no handshake de TLS).&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="tendências-recentes-na-padronização-pqc-pelo-nist">Tendências Recentes na Padronização PQC pelo NIST
&lt;/h2>&lt;p>O Instituto Nacional de Padrões e Tecnologia dos EUA (NIST) iniciou em 2016 uma chamada global para algoritmos de criptografia pós-quântica de próxima geração, realizando avaliações rigorosas e várias rodadas de análises ao longo de anos.&lt;/p>
&lt;p>Em 2024, o NIST finalmente anunciou os seguintes três algoritmos como Padrões Federais de Processamento de Informações (FIPS) oficiais. Isso concluiu a formação de uma base sólida para que organizações em todo o mundo comecem a implementá-los em ambientes de produção.&lt;/p>
&lt;h3 id="padrões-fips-estabelecidos-2024">Padrões FIPS Estabelecidos (2024)
&lt;/h3>&lt;ol>
&lt;li>
&lt;p>&lt;strong>FIPS 203: ML-KEM (Nome anterior: CRYSTALS-Kyber)&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Uso:&lt;/strong> Mecanismo de encapsulamento de chaves (KEM) / Criptografia e compartilhamento de chaves&lt;/li>
&lt;li>&lt;strong>Tecnologia base:&lt;/strong> Criptografia baseada em reticulados (Module-LWE)&lt;/li>
&lt;li>&lt;strong>Características:&lt;/strong> Oferece um excelente equilíbrio entre o tamanho da chave e a velocidade. Servirá como o compartilhamento de chaves PQC padrão para usos comuns da internet, como comunicação na Web (TLS) e aplicativos de mensagens seguros.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>FIPS 204: ML-DSA (Nome anterior: CRYSTALS-Dilithium)&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Uso:&lt;/strong> Assinatura digital&lt;/li>
&lt;li>&lt;strong>Tecnologia base:&lt;/strong> Criptografia baseada em reticulados (Module-LWE)&lt;/li>
&lt;li>&lt;strong>Características:&lt;/strong> O principal padrão para assinaturas digitais. Permite processamento eficiente, tornando-se o novo padrão para todas as aplicações de assinatura eletrônica, como assinaturas de software e autenticação de documentos.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>FIPS 205: SLH-DSA (Nome anterior: SPHINCS+)&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Uso:&lt;/strong> Assinatura digital&lt;/li>
&lt;li>&lt;strong>Tecnologia base:&lt;/strong> Criptografia baseada em hash (stateless)&lt;/li>
&lt;li>&lt;strong>Características:&lt;/strong> Desempenha um papel vital como um backup caso vulnerabilidades sejam descobertas na criptografia baseada em reticulados no futuro. Embora o tamanho da assinatura seja grande, é adequado para aplicações que exigem confiabilidade de longo prazo.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;h3 id="busca-por-maior-diversidade">Busca por Maior Diversidade
&lt;/h3>&lt;p>Embora o NIST tenha concluído o processo inicial de padronização, ele continua buscando mais algoritmos. Especialmente porque os padrões estão muito inclinados para a &amp;ldquo;criptografia baseada em reticulados&amp;rdquo;, a garantia da &lt;strong>diversidade de algoritmos (Crypto Diversity)&lt;/strong> é altamente valorizada. A avaliação da criptografia baseada em códigos e outros métodos está em andamento como padrão de backup para compartilhamento de chaves, e a base da PQC deve se tornar ainda mais robusta no futuro.&lt;/p>
&lt;hr>
&lt;h2 id="cenários-e-desafios-da-transição-para-a-pqc-a-importância-da-agilidade-criptográfica">Cenários e Desafios da Transição para a PQC: A Importância da &amp;ldquo;Agilidade Criptográfica&amp;rdquo;
&lt;/h2>&lt;p>Com o lançamento de padrões oficiais pelo NIST, agências governamentais, instituições financeiras e empresas de tecnologia em todo o mundo acelerarão a transição (migração) do RSA/ECC existente para a PQC. Diretrizes de agências como a NSA (Agência de Segurança Nacional dos EUA) também recomendam a conclusão antecipada dessa transição.&lt;/p>
&lt;h3 id="adoção-da-abordagem-híbrida">Adoção da Abordagem Híbrida
&lt;/h3>&lt;p>Como os algoritmos PQC são novos, eles não passaram pelo &amp;ldquo;teste do tempo&amp;rdquo; em comparação com a criptografia clássica. Considerando os riscos de bugs ocultos em implementações ou a descoberta de novos métodos de ataque, recomenda-se uma &lt;strong>&amp;ldquo;abordagem híbrida&amp;rdquo;&lt;/strong> durante o período de transição. Isso envolve realizar a troca de chaves combinando criptografia existente e comprovada (por exemplo, ECDHE) com a nova PQC (por exemplo, ML-KEM). Atualmente, as principais implementações de teste dessa abordagem estão avançando rapidamente em navegadores e serviços em nuvem.&lt;/p>
&lt;h3 id="atingindo-a-agilidade-criptográfica-crypto-agility">Atingindo a Agilidade Criptográfica (Crypto-Agility)
&lt;/h3>&lt;p>O que empresas e desenvolvedores de sistemas devem ter mais em mente daqui para frente é garantir a &lt;strong>&amp;ldquo;Agilidade Criptográfica (Crypto-Agility)&amp;rdquo;&lt;/strong> . É essencial ter um projeto arquitetônico flexível que permita a substituição e atualização rápida dos algoritmos de criptografia sem paralisar o sistema, caso falhas sejam encontradas nos algoritmos no futuro ou surjam novos padrões.&lt;/p>
&lt;p>Criar um inventário criptográfico (CBOM: Cryptography Bill of Materials) que identifique com precisão &amp;ldquo;onde&amp;rdquo;, &amp;ldquo;qual criptografia&amp;rdquo; e &amp;ldquo;para qual propósito&amp;rdquo; está sendo usada dentro do sistema da empresa é um primeiro passo vital em direção à transição para PQC.&lt;/p>
&lt;hr>
&lt;h2 id="conclusão-preparando-se-para-o-q-day-iminente">Conclusão: Preparando-se para o &amp;ldquo;Q-Day&amp;rdquo; Iminente
&lt;/h2>&lt;p>A evolução dos computadores quânticos trará enormes benefícios à humanidade, mas ao mesmo tempo representa a maior ameaça à segurança criptográfica que é a base de nossa sociedade digital moderna. A Criptografia Pós-Quântica (PQC) não é mais um &amp;ldquo;tema de pesquisa para um futuro distante&amp;rdquo;. Com o marco da publicação dos padrões FIPS pelo NIST, a PQC entrou na fase de &amp;ldquo;implementação e transição&amp;rdquo; em larga escala.&lt;/p>
&lt;p>Considerando a ameaça do &amp;ldquo;Harvest Now, Decrypt Later&amp;rdquo;, a transição para a PQC é a maior prioridade a ser tratada &amp;ldquo;agora mesmo&amp;rdquo; por todas as organizações que lidam com dados altamente confidenciais. Ao entender profundamente as tecnologias de criptografia de próxima geração e aumentar a agilidade criptográfica dos sistemas, poderemos superar com segurança a iminente era dos computadores quânticos.&lt;/p></description></item><item><title>Computadores Quânticos Realmente Destruirão a Criptografia RSA? ~O Algoritmo de Shor e o Estado Atual~</title><link>http://kenji.blog/pt/p/shors-algorithm-and-rsa-breaking/</link><pubDate>Sat, 05 Sep 2026 22:09:21 +0900</pubDate><guid>http://kenji.blog/pt/p/shors-algorithm-and-rsa-breaking/</guid><description>&lt;img src="http://kenji.blog/p/shors-algorithm-and-rsa-breaking/quantum_breaking_rsa_1788613722990.jpg" alt="Featured image of post Computadores Quânticos Realmente Destruirão a Criptografia RSA? ~O Algoritmo de Shor e o Estado Atual~" />&lt;h2 id="introdução-a-interseção-entre-criptografia-e-computadores-quânticos">Introdução: A Interseção entre Criptografia e Computadores Quânticos
&lt;/h2>&lt;p>Na sociedade da internet moderna, a base para proteger o segredo das comunicações é a &amp;ldquo;criptografia de chave pública&amp;rdquo;. Um dos mais representativos é a &amp;ldquo;Criptografia RSA&amp;rdquo;, desenvolvida em 1977 por Ron Rivest, Adi Shamir e Leonard Adleman. Desde pagamentos de compras online que usamos diariamente, navegação em sites (HTTPS), até envio e recebimento de e-mails, a criptografia RSA funciona como o coração da infraestrutura da internet.&lt;/p>
&lt;p>No entanto, com o surgimento dos &amp;ldquo;computadores quânticos&amp;rdquo;, foi apontado que essa segurança pode ser subvertida desde a base. Na mídia, às vezes vemos manchetes sensacionalistas como &amp;ldquo;Se um computador quântico for concluído, senhas e criptografias em todo o mundo serão decifradas em segundos&amp;rdquo;. Mas será que isso é verdade?&lt;/p>
&lt;p>Neste artigo, aprofundaremos como funcionam o GNFS (General Number Field Sieve), um método clássico de descriptografia, e a versão definitiva dos algoritmos de descriptografia usando computadores quânticos, o &amp;ldquo;Algoritmo de Shor (Shor&amp;rsquo;s Algorithm)&amp;rdquo;. Explicaremos de forma fácil conceitos avançados, como a transformação quântica de Fourier e a descoberta de períodos, e examinaremos em detalhes o estado atual do hardware quântico na era NISQ (Noisy Intermediate-Scale Quantum) e os obstáculos reais necessários para quebrar a RSA-2048.&lt;/p>
&lt;hr>
&lt;h2 id="o-núcleo-da-criptografia-rsa-a-dificuldade-da-fatoração-em-números-primos">O Núcleo da Criptografia RSA: A Dificuldade da Fatoração em Números Primos
&lt;/h2>&lt;p>A segurança da criptografia RSA depende de uma assimetria extremamente simples na matemática. Trata-se do fato de que &amp;ldquo;é fácil multiplicar dois números primos gigantes, mas é extremamente difícil encontrar (fatorar em números primos) os dois números primos originais a partir do resultado dessa multiplicação (número composto)&amp;rdquo;.&lt;/p>
&lt;p>Por exemplo, suponha que existam dois números primos, $ p = 61 $ e $ q = 53 $. Calcular esta multiplicação $ N = p \times q = 3233 $ é instantâneo. No entanto, se receber apenas o número &amp;ldquo;3233&amp;rdquo; e tiver que resolver &amp;ldquo;de quais números primos essa é a multiplicação?&amp;rdquo;, a quantidade de cálculos explode à medida que o número se torna maior.&lt;/p>
&lt;p>No RSA-2048, que é a norma atual, o comprimento da chave é de 2048 bits, ou seja, é usado um número composto gigante $ N $ que chega a cerca de 617 dígitos em decimal. Se esse $ N $ puder ser fatorado em números primos, a criptografia será essencialmente decifrada.&lt;/p>
&lt;h3 id="o-desafio-dos-computadores-clássicos-gnfs-general-number-field-sieve">O Desafio dos Computadores Clássicos: GNFS (General Number Field Sieve)
&lt;/h3>&lt;p>Para resolver o problema da fatoração em números primos, matemáticos e criptógrafos desenvolveram vários algoritmos ao longo dos anos. Entre eles, o que atualmente é considerado o mais rápido em computadores clássicos é o &lt;strong>GNFS: General Number Field Sieve&lt;/strong>.&lt;/p>
&lt;p>O GNFS é um método que expande e analisa os cálculos no anel de inteiros para um corpo algébrico (Number Field) mais abstrato, a fim de fatorar o número gigante $ N $. O fluxo geral é o seguinte.&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Seleção de Polinômio&lt;/strong> : Encontrar um polinômio $ f(x) $ com grau e coeficientes apropriados, que tenha $ N $ como raiz.&lt;/li>
&lt;li>&lt;strong>Coleta de Dados (Peneiramento)&lt;/strong> : No corpo dos números racionais e no corpo algébrico, procuramos em grande quantidade por pares de números que podem ser decompostos em números primos pequenos (números suaves, Smooth numbers). Esse processo é chamado de &amp;ldquo;peneiramento&amp;rdquo; e é a parte que leva mais tempo.&lt;/li>
&lt;li>&lt;strong>Geração e Redução de Matriz&lt;/strong> : Com base nas relações coletadas, uma enorme matriz esparsa (uma matriz em que a maioria dos componentes é zero) é gerada e resolvida usando métodos de álgebra linear (como o método de Block Lanczos).&lt;/li>
&lt;li>&lt;strong>Cálculo da Raiz Quadrada&lt;/strong> : Finalmente, calcula-se a raiz quadrada no corpo algébrico para derivar os fatores (fatores primos) de $ N $.&lt;/li>
&lt;/ol>
&lt;p>A complexidade computacional do GNFS é avaliada não assintoticamente como $ O(\exp((\sqrt[3]{\frac{64}{9}} + o(1)) (\log N)^{\frac{1}{3}} (\log \log N)^{\frac{2}{3}})) $. Isso é chamado de complexidade de tempo &amp;ldquo;Sub-exponencial&amp;rdquo; (Sub-exponential). Embora seja mais rápido que o tempo exponencial, é muito mais lento que o tempo polinomial (Polynomial time).&lt;/p>
&lt;p>De fato, em 2020, uma equipe de pesquisa internacional obteve sucesso em fatorar a RSA-250 (829 bits, número composto de 250 dígitos) usando o GNFS. Esse cálculo consumiu um tempo computacional enorme, equivalente a cerca de 2700 CPU-core anos, reunindo recursos de computação de todo o mundo. No entanto, quando isso chega a 2048 bits, é mencionado que a quantidade de cálculo necessária explodiria para trilhões de vezes a idade do universo, tornando impossível descriptografar em um tempo realista com métodos clássicos, não importa quantos supercomputadores atuais funcionem em paralelo.&lt;/p>
&lt;hr>
&lt;h2 id="o-trunfo-do-computador-quântico-algoritmo-de-shor">O Trunfo do Computador Quântico: Algoritmo de Shor
&lt;/h2>&lt;p>Aqui é onde entra o &amp;ldquo;Algoritmo de Shor&amp;rdquo;, publicado por Peter Shor em 1994. Esse algoritmo foi revolucionário por permitir que o problema de fatoração em números primos fosse resolvido no computador quântico em &lt;strong>tempo polinomial&lt;/strong> ( $ O((\log N)^3) $ ). A diferença entre tempo sub-exponencial e polinomial é decisiva e significa, na teoria, que a criptografia RSA será completamente destruída se um computador quântico for usado.&lt;/p>
&lt;h3 id="fluxo-geral-do-algoritmo-de-shor">Fluxo Geral do Algoritmo de Shor
&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;/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[Inserir o número N que se deseja fatorar] --&amp;gt; B[Selecionar um número inteiro aleatório a]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> B --&amp;gt; C{Máximo divisor comum&amp;lt;br&amp;gt;entre a e N}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> C --&amp;gt;|Maior que 1| D[Por sorte, um fator primo foi encontrado!]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> C --&amp;gt;|1 Primos entre si| E[Vez do computador quântico]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> E --&amp;gt; F[Encontrar o período r da&amp;lt;br&amp;gt;função f_x = a^x mod N por Transformação Quântica de Fourier]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> F --&amp;gt; G{O período r é par e&amp;lt;br&amp;gt;a^r/2 ≢ -1 mod N}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> G --&amp;gt;|Sim| H[Calcular o máximo divisor comum gcd_a^r/2 ± 1, N]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> H --&amp;gt; I((Fatoração bem sucedida!))
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> G --&amp;gt;|Não| B
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>O algoritmo de Shor não resolve o problema da fatoração em números primos diretamente, mas usa teoremas da teoria dos números para convertê-lo em outro problema chamado &amp;ldquo;Problema de Descoberta de Período&amp;rdquo; (Period Finding Problem) e, em seguida, resolve isso rapidamente aproveitando as características do computador quântico.&lt;/p>
&lt;h3 id="passo-1-redução-da-fatoração-ao-problema-de-descoberta-de-período-processamento-clássico">Passo 1: Redução da Fatoração ao Problema de Descoberta de Período (Processamento Clássico)
&lt;/h3>&lt;p>O primeiro passo do algoritmo é feito em um computador clássico.
Para o número $ N $ que se deseja fatorar, escolhe-se um número inteiro aleatório $ a $ ( $ 1 &lt; a &lt; N $ ) que seja co-primo (com o máximo divisor comum igual a 1) com $ N $. Se por acaso o máximo divisor comum não for 1, o divisor comum encontrado nesse momento já é um fator de $ N $, e a fatoração está concluída, mas a probabilidade é extremamente baixa.&lt;/p>
&lt;p>Em seguida, considere a sequência das seguintes equações modulares:
$ f(x) = a^x \pmod N $&lt;/p>
&lt;p>Substituindo $ x = 1, 2, 3, \dots $ nesta função $ f(x) $, os valores parecem aleatórios, mas como são calculados em um limite finito, eles sempre voltarão ao valor original em algum ponto, repetindo a mesma sequência de números. Este ciclo de repetição é chamado de período $ r $. Ou seja,
O problema de encontrar o menor número inteiro positivo $ r $ tal que $ a^r \equiv 1 \pmod N $, este é o &amp;ldquo;Problema de Descoberta de Período&amp;rdquo;.&lt;/p>
&lt;p>Se este período $ r $ for encontrado, e $ r $ for um número par, então $ a^r - 1 \equiv 0 \pmod N $, e usando a fórmula de fatoração,
pode ser transformado em $ (a^{r/2} - 1)(a^{r/2} + 1) \equiv 0 \pmod N $. A partir daqui, ao calcular o máximo divisor comum entre $ N $ e $ a^{r/2} \pm 1 $ usando o algoritmo de Euclides, um fator de $ N $ pode ser obtido com uma probabilidade extremamente alta.&lt;/p>
&lt;p>Para encontrar o período $ r $ em um computador clássico, no final, etapas exponenciais são necessárias e isso não pode ser acelerado. No entanto, com um computador quântico, este período $ r $ pode ser encontrado em um instante (tempo polinomial).&lt;/p>
&lt;h3 id="passo-2-preparação-e-superposição-do-estado-quântico">Passo 2: Preparação e Superposição do Estado Quântico
&lt;/h3>&lt;p>A partir daqui é a vez do computador quântico.
Os computadores quânticos usam &amp;ldquo;qubits&amp;rdquo;, que podem ter o estado &amp;ldquo;0&amp;rdquo; e &amp;ldquo;1&amp;rdquo; simultaneamente. No algoritmo de Shor, são preparados dois registradores: o primeiro para armazenar a entrada e o segundo para os resultados do cálculo.&lt;/p>
&lt;p>Primeiro, uma operação de porta quântica chamada porta de Hadamard (Hadamard gate) é aplicada a todos os qubits do primeiro registrador. Isso coloca o primeiro registrador em um &lt;strong>estado de superposição uniforme&lt;/strong> de todos os valores concebíveis de $ x $ (de $ 0 $ a $ 2^n-1 $. $ n $ é um número de bits suficientemente grande).&lt;/p>
&lt;p>Em outras palavras, dentro do computador quântico, é criado um estado em que incontáveis valores de entrada como $ x=0, 1, 2, 3, \dots $ existem em paralelo ao mesmo tempo.&lt;/p>
&lt;h3 id="passo-3-exponenciação-modular-quântica-quantum-modular-exponentiation">Passo 3: Exponenciação Modular Quântica (Quantum Modular Exponentiation)
&lt;/h3>&lt;p>Em seguida, o estado de superposição do primeiro registrador é usado como entrada para calcular $ f(x) = a^x \pmod N $, e o resultado é armazenado no segundo registrador.
Como este cálculo é executado como uma transformação unitária no circuito quântico, o cálculo de $ f(x) $ para todos os $ x $ é feito de forma &amp;ldquo;paralela (paralelismo quântico)&amp;rdquo; enquanto a superposição é mantida.&lt;/p>
&lt;p>O espaço do sistema quântico inteiro neste ponto,
torna-se uma enorme superposição de estados $ |x, a^x \bmod N\rangle $.&lt;/p>
&lt;p>No entanto, se você simplesmente medir (observar) o segundo registrador aqui, um valor aleatório de $ a^x \bmod N $ será probabilisticamente selecionado, e em conjunto com isso, o $ x $ do primeiro registrador também será determinado. Isso não é diferente de calcular uma vez em um computador clássico, e você não conseguirá encontrar o período $ r $.&lt;/p>
&lt;p>Nas regras da mecânica quântica, você não pode observar o conteúdo de um estado de superposição diretamente. Então, como extrair a informação global chamada &amp;ldquo;período&amp;rdquo;?&lt;/p>
&lt;h3 id="passo-4-transformada-quântica-de-fourier-qft-quantum-fourier-transform">Passo 4: Transformada Quântica de Fourier (QFT: Quantum Fourier Transform)
&lt;/h3>&lt;p>O verdadeiro valor do algoritmo de Shor, que supera esse obstáculo, é a aplicação da &lt;strong>Transformada Quântica de Fourier (QFT)&lt;/strong> ao primeiro registrador.&lt;/p>
&lt;p>Antes de medir, analisamos a natureza da onda da função $ f(x) $. Vamos supor que o segundo registrador foi observado. Suponha que um valor $ y $ foi obtido. Então, o estado do primeiro registrador encolhe para &amp;ldquo;a superposição de todos os $ x $ tais que $ a^x \pmod N = y $&amp;rdquo;.
O valor deste $ x $ estará em um estado discreto com intervalos do período $ r $ (uma espécie de distribuição de amplitude de probabilidade em forma de pente), como $ x_0, x_0 + r, x_0 + 2r, x_0 + 3r, \dots $.&lt;/p>
&lt;p>Aplicamos a Transformada Quântica de Fourier (QFT) a este estado. Assim como a Transformada Discreta de Fourier clássica converte sinais no domínio do tempo para o domínio da frequência, a QFT faz com que as amplitudes de probabilidade do estado quântico interfiram.&lt;/p>
&lt;p>Quando a QFT é aplicada, devido ao efeito de interferência quântica, as probabilidades de respostas incorretas que não ressoam com o período $ r $ (fases não alinhadas) se cancelam mutuamente chegando perto de zero (interferência destrutiva), e apenas as probabilidades da resposta correta contendo a informação do período $ r $ são amplificadas (interferência construtiva).&lt;/p>
&lt;h3 id="passo-5-medição-e-fração-contínua-pós-processamento-clássico">Passo 5: Medição e Fração Contínua (Pós-processamento Clássico)
&lt;/h3>&lt;p>Após aplicar a QFT, se você medir o primeiro registrador, com uma probabilidade muito alta, um número inteiro $ c $ próximo à forma $ c \approx \frac{j \cdot 2^n}{r} $ será obtido ( $ j $ é um inteiro desconhecido, e $ 2^n $ é o tamanho do registrador).&lt;/p>
&lt;p>Trazendo o resultado desta medição $ c $ de volta para um computador clássico, criamos uma fração $ \frac{c}{2^n} \approx \frac{j}{r} $. Em seguida, usando o método matemático da &amp;ldquo;Expansão de Fração Contínua&amp;rdquo; (Continued fraction expansion) para calcular valores aproximados, podemos descobrir o período $ r $, que é o denominador.&lt;/p>
&lt;p>Uma vez conhecido o $ r $, o resto é calcular os fatores de $ N $ usando a fórmula do Passo 1, e a criptografia RSA é completamente quebrada.&lt;/p>
&lt;hr>
&lt;h2 id="a-força-e-os-desafios-do-computador-quântico-atual-nisq">A Força e os Desafios do Computador Quântico Atual (NISQ)
&lt;/h2>&lt;p>Embora teoricamente o algoritmo de Shor seja perfeito, se perguntado &amp;ldquo;A criptografia RSA será quebrada amanhã?&amp;rdquo;, a resposta é claramente &amp;ldquo;Não&amp;rdquo;. O motivo está nas limitações da tecnologia de hardware dos computadores quânticos atuais.&lt;/p>
&lt;h3 id="a-era-nisq-noisy-intermediate-scale-quantum">A Era NISQ (Noisy Intermediate-Scale Quantum)
&lt;/h3>&lt;p>A era em que nos encontramos atualmente é chamada de &amp;ldquo;NISQ&amp;rdquo;. Dispositivos NISQ possuem dezenas a centenas de qubits físicos, mas são extremamente vulneráveis ao ruído.&lt;/p>
&lt;p>Os qubits são facilmente afetados pelo ambiente externo, como calor e ondas eletromagnéticas, e ocorrem frequentemente &amp;ldquo;decoerência&amp;rdquo; (perda de emaranhamento quântico), onde o estado quântico se quebra, e &amp;ldquo;erros de porta&amp;rdquo; durante as operações. Quando se tenta executar um circuito quântico muito profundo (com um número enorme de passos operacionais) como o algoritmo de Shor, os erros se acumulam durante o cálculo e a saída final torna-se puro ruído sem significado.&lt;/p>
&lt;h3 id="qubit-físico-e-qubit-lógico">Qubit Físico e Qubit Lógico
&lt;/h3>&lt;p>O que é essencial para resolver este problema de erros é a &amp;ldquo;Correção de Erros Quânticos&amp;rdquo; (Quantum Error Correction).
Embora códigos de correção de erros também sejam usados em computadores clássicos, devido ao &amp;ldquo;teorema da não-clonagem&amp;rdquo;, que proíbe a cópia de estados quânticos, a correção de erros quânticos é extremamente complexa.&lt;/p>
&lt;p>Na correção de erros quânticos, utilizando tecnologias como &amp;ldquo;Código de Superfície&amp;rdquo; (Surface Code), muitos &amp;ldquo;qubits físicos&amp;rdquo; ruidosos são combinados para criar um &amp;ldquo;qubit lógico&amp;rdquo; ideal e livre de erros.&lt;/p>
&lt;p>Assumindo a taxa de erro atual, estima-se que cerca de 1.000 a 10.000 qubits físicos seriam necessários para criar um único qubit lógico. Isso é chamado de &amp;ldquo;overhead da correção de erros&amp;rdquo;.&lt;/p>
&lt;h3 id="que-recursos-são-necessários-para-quebrar-a-rsa-2048">Que Recursos são Necessários para Quebrar a RSA-2048?
&lt;/h3>&lt;p>Então, para realmente descriptografar a RSA-2048, quantos recursos seriam necessários para rodar o algoritmo de Shor?&lt;/p>
&lt;p>Em uma estimativa inovadora de recursos em um artigo de 2021 de Craig Gidney (Google) e Martin Ekerå, foi afirmado que se um algoritmo de Shor otimizado fosse usado, e correção de erros com código de superfície fosse realizada, os seguintes recursos seriam necessários:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Número de qubits lógicos&lt;/strong> : Aproximadamente 4.096&lt;/li>
&lt;li>&lt;strong>Número de qubits físicos&lt;/strong> : &lt;strong>Aproximadamente 20 milhões&lt;/strong> (assumindo uma taxa de erro de $10^{-3}$)&lt;/li>
&lt;li>&lt;strong>Tempo de cálculo&lt;/strong> : Aproximadamente 8 horas (milhões a bilhões de operações físicas de porta necessárias)&lt;/li>
&lt;/ul>
&lt;p>Em contraste com isso, qual é o nível que o hardware quântico atual alcançou?
O processador quântico supercondutor &amp;ldquo;Condor&amp;rdquo;, anunciado pela IBM no final de 2023, possui 1.121 qubits. Além disso, pesquisas inovadoras sobre a geração de qubits lógicos têm aparecido (como a geração de 48 qubits lógicos usando computadores quânticos de átomos neutros pela Universidade de Harvard, QuEra, etc.), mas ainda não chegamos no estágio de conseguir executar &amp;ldquo;cálculos perfeitos e sem ruído&amp;rdquo; continuamente por longos períodos.&lt;/p>
&lt;p>Passar de alguns milhares de qubits físicos para &lt;strong>20 milhões&lt;/strong> de qubits físicos práticos (que estão interconectados, operam de forma estável em temperaturas ultrabaixas e podem processar sinais de controle em velocidades ultrarrápidas) apresenta uma enorme barreira na engenharia (problemas de fiação, limites da capacidade de refrigeração e inchaço da eletrônica de controle). Muitos especialistas preveem que levará pelo menos 10 a 30 anos, ou mais, até que um &amp;ldquo;Computador Quântico Tolerante a Falhas&amp;rdquo; (FTQC - Fault-Tolerant Quantum Computer), capaz de quebrar a RSA-2048, se torne uma realidade.&lt;/p>
&lt;hr>
&lt;h2 id="a-ameaça-silenciosa-de-store-now-decrypt-later-e-o-amanhecer-da-pqc">A Ameaça Silenciosa de &amp;ldquo;Store Now, Decrypt Later&amp;rdquo; e o Amanhecer da PQC
&lt;/h2>&lt;p>Concluir que &amp;ldquo;estamos seguros porque ainda levará mais de 10 anos&amp;rdquo; é precipitado. Atualmente, existem dados que devem ser mantidos em segredo por décadas no futuro, como segredos de estado, dados médicos e projetos de infraestrutura de longo prazo.&lt;/p>
&lt;p>A preocupação aqui é o método de ataque chamado &lt;strong>&amp;ldquo;Store Now, Decrypt Later&amp;rdquo; (Armazene Agora, Descriptografe Depois)&lt;/strong>. Nações ou organizações mal-intencionadas interceptam todos os dados de comunicação atualmente criptografados usando RSA ou ECC (Criptografia de Curva Elíptica) e os guardam no armazenamento. E então, no momento em que um poderoso computador quântico for concluído em 10 ou 20 anos, eles usarão o algoritmo de Shor para descriptografar todos os dados do passado e expor os segredos.&lt;/p>
&lt;p>Para combater essa ameaça de tempo, liderado pelo NIST (Instituto Nacional de Padrões e Tecnologia dos EUA), o processo de padronização da &lt;strong>&amp;ldquo;Criptografia Pós-Quântica&amp;rdquo; (PQC: Post-Quantum Cryptography)&lt;/strong> tem sido acelerado em ritmo acelerado.&lt;/p>
&lt;p>A PQC é um novo algoritmo de criptografia baseado em problemas matemáticos que são difíceis de descriptografar mesmo usando um computador quântico (ou seja, o algoritmo de Shor não pode ser aplicado). Como principais abordagens, temos:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Criptografia baseada em reticulados (Lattice-based cryptography)&lt;/strong> : Baseado em problemas como LWE (Learning with Errors). O método dominante na padronização do NIST (Kyber, Dilithium, etc.).&lt;/li>
&lt;li>&lt;strong>Criptografia baseada em códigos (Code-based cryptography)&lt;/strong> : Depende da dificuldade do problema de decodificação de códigos corretores de erro.&lt;/li>
&lt;li>&lt;strong>Criptografia polinomial multivariável (Multivariate cryptography)&lt;/strong> : Depende da dificuldade de resolver equações quadráticas simultâneas multivariáveis.&lt;/li>
&lt;li>&lt;strong>Assinaturas baseadas em hash (Hash-based signatures)&lt;/strong> : Assinaturas digitais que dependem exclusivamente da segurança das funções de hash.&lt;/li>
&lt;/ul>
&lt;p>Testes de implementação e implementações híbridas da PQC já foram iniciados nos principais softwares e plataformas, como o Google Chrome e o iMessage da Apple.&lt;/p>
&lt;h2 id="conclusão">Conclusão
&lt;/h2>&lt;p>Os computadores quânticos estão passando de histórias de ficção científica para desafios reais de engenharia. O algoritmo de Shor é uma grande conquista intelectual da humanidade que mescla a matemática e a mecânica quântica, mas, ao mesmo tempo, guarda um &amp;ldquo;poder destrutivo&amp;rdquo; para sacudir as bases da nossa sociedade digital.&lt;/p>
&lt;p>Isso não significa que a criptografia RSA se tornará inutilizável a partir de amanhã. No entanto, considerando a evolução da tecnologia quântica e o risco do &amp;ldquo;Store Now, Decrypt Later&amp;rdquo;, a grande migração que ficará na história da criptografia - a transição para a PQC - já começou. Agora estamos testemunhando a linha de frente de uma mudança de paradigma na segurança da informação.&lt;/p></description></item><item><title>A Verdadeira Estrutura Matemática do Crivo Geral dos Corpos de Números (GNFS)</title><link>http://kenji.blog/pt/p/%E4%B8%80%E8%88%AC%E6%95%B0%E4%BD%93%E7%AF%A9%E6%B3%95gnfs%E3%81%AE%E7%9C%9F%E3%81%AE%E6%95%B0%E5%AD%A6%E7%9A%84%E6%A7%8B%E9%80%A0/</link><pubDate>Sat, 05 Sep 2026 02:26:13 +0900</pubDate><guid>http://kenji.blog/pt/p/%E4%B8%80%E8%88%AC%E6%95%B0%E4%BD%93%E7%AF%A9%E6%B3%95gnfs%E3%81%AE%E7%9C%9F%E3%81%AE%E6%95%B0%E5%AD%A6%E7%9A%84%E6%A7%8B%E9%80%A0/</guid><description>&lt;img src="http://kenji.blog/p/%E4%B8%80%E8%88%AC%E6%95%B0%E4%BD%93%E7%AF%A9%E6%B3%95gnfs%E3%81%AE%E7%9C%9F%E3%81%AE%E6%95%B0%E5%AD%A6%E7%9A%84%E6%A7%8B%E9%80%A0/rsa_encryption_break_1788542156523.jpg" alt="Featured image of post A Verdadeira Estrutura Matemática do Crivo Geral dos Corpos de Números (GNFS)" />&lt;h1 id="a-verdadeira-estrutura-matemática-do-crivo-geral-dos-corpos-de-números-gnfs">A Verdadeira Estrutura Matemática do Crivo Geral dos Corpos de Números (GNFS)
&lt;/h1>&lt;p>O objetivo final do GNFS é encontrar $X, Y$ tais que $X^2 \equiv Y^2 \pmod N$.
Para alcançar isso, os matemáticos construíram uma ponte entre o &lt;strong>&amp;ldquo;mundo dos inteiros reais&amp;rdquo;&lt;/strong> e o &lt;strong>&amp;ldquo;mundo dos corpos algébricos&amp;rdquo;&lt;/strong> . Essa ponte é exatamente o &amp;ldquo;homomorfismo&amp;rdquo;.&lt;/p>
&lt;h2 id="fase-1-conectando-os-mundos-com-homomorfismo">Fase 1: Conectando os mundos com &amp;ldquo;Homomorfismo&amp;rdquo;
&lt;/h2>&lt;h3 id="1-seleção-do-polinômio-e-definição-das-raízes">1. Seleção do polinômio e definição das raízes
&lt;/h3>&lt;p>Para um número composto gigante $N$, escolhemos um inteiro $m$ e um polinômio $f(x)$ tais que $f(m) \equiv 0 \pmod N$.
(Exemplo: Expandimos $N$ na base $m$ e criamos $f(x)$ a partir de seus coeficientes. Neste momento, assumimos que $f(x)$ é irredutível sobre o corpo dos números racionais $\mathbb{Q}$ (não pode ser mais fatorado)).&lt;/p>
&lt;p>Em seguida, definimos uma das &amp;ldquo;raízes complexas&amp;rdquo; da equação $f(x) = 0$ como $\alpha$.
Naturalmente, $f(\alpha) = 0$. $\alpha$ não é um número inteiro, mas um número complexo envolvendo raízes e números imaginários (um número algébrico).&lt;/p>
&lt;h3 id="2-construção-de-anéis-rings-e-homomorfismo">2. Construção de Anéis (Rings) e Homomorfismo
&lt;/h3>&lt;p>Aqui, preparamos dois &amp;ldquo;anéis&amp;rdquo; matemáticos (mundos onde adição e multiplicação são definidas).&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Mundo A: $\mathbb{Z}[\alpha]$&lt;/strong> (O anel dos inteiros algébricos contendo $\alpha$)
Um mundo de números expressos na forma $a + b\alpha + c\alpha^2 + \dots$.&lt;/li>
&lt;li>&lt;strong>Mundo B: $\mathbb{Z}/N\mathbb{Z}$&lt;/strong> (O anel dos restos módulo $N$)
Um mundo de congruências composto apenas por inteiros de $0$ a $N-1$.&lt;/li>
&lt;/ul>
&lt;p>Aqui, definimos um mapeamento $\phi$ do Mundo A para o Mundo B da seguinte forma.
&lt;strong>$$\phi : \mathbb{Z}[\alpha] \to \mathbb{Z}/N\mathbb{Z}$$&lt;/strong>
&lt;strong>$$\phi(\alpha) = m \pmod N$$&lt;/strong>&lt;/p>
&lt;p>Este mapeamento $\phi$ é uma operação mágica que substitui exatamente a variável $\alpha$ do Mundo A pelo inteiro $m$ do Mundo B.
Este $\phi$ possui uma propriedade extremamente poderosa chamada &lt;strong>&amp;ldquo;Homomorfismo de Anéis (Ring Homomorphism)&amp;rdquo;&lt;/strong> .
Homomorfismo é a propriedade de &lt;strong>&amp;ldquo;teleportar para outro mundo sem destruir a estrutura da adição e multiplicação&amp;rdquo;&lt;/strong> . Em outras palavras, as seguintes equações são válidas:&lt;/p>
&lt;ul>
&lt;li>$\phi(X \times Y) = \phi(X) \times \phi(Y)$&lt;/li>
&lt;li>$\phi(X^2) = \phi(X)^2$&lt;/li>
&lt;/ul>
&lt;p>O que isso significa? Se pudermos criar o &lt;strong>&amp;ldquo;quadrado ($\gamma^2$)&amp;rdquo;&lt;/strong> de algum elemento complexo $\gamma$ no &amp;ldquo;Mundo A (o mundo de $\alpha$)&amp;rdquo;, e teleportá-lo para o &amp;ldquo;Mundo B (mundo dos restos)&amp;rdquo; usando $\phi$, &lt;strong>a forma quadrada $\phi(\gamma)^2$ é perfeitamente preservada&lt;/strong> .&lt;/p>
&lt;hr>
&lt;h2 id="fase-2-o-colapso-da-fatoração-em-números-primos-e-o-nascimento-dos-ideais">Fase 2: O Colapso da Fatoração em Números Primos e o Nascimento dos &amp;ldquo;Ideais&amp;rdquo;
&lt;/h2>&lt;p>No Mundo A ($\mathbb{Z}[\alpha]$), queremos reunir muitos elementos adequados $(a - b\alpha)$ e multiplicá-los para criar um &amp;ldquo;quadrado perfeito (elemento quadrado)&amp;rdquo;.
Normalmente, faríamos a &amp;ldquo;fatoração em números primos&amp;rdquo; de cada $(a - b\alpha)$ coletado e os combinaríamos de forma que os expoentes dos primos fossem todos pares (resolvendo com matrizes) para formar um quadrado.&lt;/p>
&lt;p>&lt;strong>No entanto, aqui, a parede desesperadora da álgebra se ergue.&lt;/strong>
Em mundos de corpos algébricos como $\mathbb{Z}[\alpha]$, a &lt;strong>&amp;ldquo;unicidade da fatoração em números primos (qualquer número pode ser expresso de forma única como o produto de primos)&amp;rdquo;&lt;/strong> ensinada no ensino médio &lt;strong>colapsa&lt;/strong> .&lt;/p>
&lt;p>(Exemplo: Em um certo mundo de corpo algébrico, $6 = 2 \times 3$, mas ao mesmo tempo $6 = (1+\sqrt{-5}) \times (1-\sqrt{-5})$, e não sabemos mais quais são os verdadeiros primos)&lt;/p>
&lt;p>Se a fatoração não for única, o quebra-cabeça de &amp;ldquo;contar o número de primos para torná-los pares&amp;rdquo; (o método do crivo) é, em princípio, impossível de executar.&lt;/p>
&lt;h3 id="a-salvação-de-kummer-e-dedekind-ideais">A Salvação de Kummer e Dedekind: &amp;ldquo;Ideais&amp;rdquo;
&lt;/h3>&lt;p>O que salvou esse colapso foi o conceito de &lt;strong>&amp;ldquo;Ideal (Ideal: número ideal)&amp;rdquo;&lt;/strong> criado pelos matemáticos do século 19.
Pensando não no elemento em si, mas no &amp;ldquo;conjunto de múltiplos (ideal)&amp;rdquo; gerado por esse elemento, a fatoração em números primos tornou-se possível novamente.&lt;/p>
&lt;p>No anel de inteiros de um corpo algébrico $\mathcal{O}_K$ (um anel mais completo contendo $\mathbb{Z}[\alpha]$), é provado que mesmo que um elemento não possa ser fatorado unicamente, &lt;strong>&amp;ldquo;um ideal sempre pode ser fatorado unicamente como o produto de &amp;lsquo;Ideais Primos ($\mathfrak{p}$)&amp;rsquo;&amp;rdquo;&lt;/strong> .&lt;/p>
&lt;p>Portanto, no GNFS, em vez de fatorar o próprio elemento $(a - b\alpha)$, fatoramos o &lt;strong>ideal principal $\langle a - b\alpha \rangle$ gerado por ele em ideais primos&lt;/strong> .&lt;/p>
&lt;hr>
&lt;h2 id="fase-3-a-norma-norm-e-os-dois-crivos-sieves">Fase 3: A Norma (Norm) e os Dois Crivos (Sieves)
&lt;/h2>&lt;p>Então, como sabemos em quais ideais primos o ideal $\langle a - b\alpha \rangle$ é decomposto?
Aqui usamos uma função chamada &lt;strong>&amp;ldquo;Norma (Norm)&amp;rdquo;&lt;/strong> . A Norma é uma função que converte elementos complexos de corpos algébricos em &amp;ldquo;inteiros reais normais $\mathbb{Z}$&amp;rdquo;.&lt;/p>
&lt;p>A norma do elemento $(a - b\alpha)$ é encontrada por um cálculo polinomial simples $b^d f(a/b)$ ($d$ é o grau de $f(x)$).&lt;/p>
&lt;p>Por um teorema algébrico, sabemos que &lt;strong>&amp;ldquo;se a norma de um certo ideal puder ser completamente fatorada em pequenos números primos (for suave), então o ideal original também pode ser completamente fatorado em pequenos ideais primos&amp;rdquo;&lt;/strong> .&lt;/p>
&lt;p>Então, para um grande número de pares de inteiros $(a, b)$, o GNFS calcula os dois seguintes simultaneamente e coleta apenas os pares em que ambos se tornam &amp;ldquo;números suaves&amp;rdquo;:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Crivo Racional (Rational Sieve)&lt;/strong> : $a - bm$ (o valor no mundo real)&lt;/li>
&lt;li>&lt;strong>Crivo Algébrico (Algebraic Sieve)&lt;/strong> : $b^d f(a/b)$ (a norma no mundo dos corpos algébricos)&lt;/li>
&lt;/ol>
&lt;p>Coletando dezenas de milhões de pares $(a, b)$ em que ambos são suaves, resolvemos os dados de fatoração de ideais primos (quantos ideais primos estão incluídos) como uma matriz gigante (álgebra linear sobre GF(2)) para encontrar um conjunto $S$ de pares tal que &amp;ldquo;quando multiplicados, os expoentes de todos os ideais primos se tornem pares&amp;rdquo;.&lt;/p>
&lt;hr>
&lt;h2 id="fase-4-os-dois-obstáculos-e-o-grupo-de-classes-de-ideais">Fase 4: Os Dois &amp;ldquo;Obstáculos&amp;rdquo; e o Grupo de Classes de Ideais
&lt;/h2>&lt;p>A partir do cálculo da matriz, descobrimos que multiplicar todos os ideais de $(a - b\alpha)$ pertencentes ao conjunto $S$ resulta no quadrado de um certo ideal $I$.
&lt;/p>
$$\prod_{S} \langle a - b\alpha \rangle = I^2$$
&lt;p>&lt;strong>No entanto, ainda não acabou. A barreira matemática mais profunda e difícil do GNFS está aqui.&lt;/strong>&lt;/p>
&lt;p>O que queremos no final não é o &amp;ldquo;quadrado de um ideal&amp;rdquo;, mas o &lt;strong>&amp;ldquo;quadrado de um elemento ($\gamma^2$)&amp;rdquo;&lt;/strong> para substituir no mapeamento $\phi$.
Só porque se tornou o quadrado de um ideal, não significa necessariamente que o elemento em si é um quadrado. Existem &lt;strong>dois fortes obstáculos matemáticos (Obstructions)&lt;/strong> aqui.&lt;/p>
&lt;h3 id="obstáculo--a-barreira-do-grupo-de-classes-de-ideais-ideal-class-group">Obstáculo ①: A Barreira do Grupo de Classes de Ideais (Ideal Class Group)
&lt;/h3>&lt;p>O ideal $I$ nem sempre é um &amp;ldquo;ideal gerado por um único elemento (ideal principal)&amp;rdquo;.
É impossível extrair um elemento específico $\gamma$ de um ideal que não é principal.&lt;/p>
&lt;p>Aqui entra o conceito de &lt;strong>&amp;ldquo;Grupo de Classes de Ideais (Class Group, $Cl_K$)&amp;rdquo;&lt;/strong> . O grupo de classes de ideais é um grupo que mede &amp;ldquo;quantos ideais existem no mundo daquele corpo algébrico que não são principais (o quanto a unicidade da fatoração se quebra)&amp;rdquo;.
Mesmo que $\prod \langle a - b\alpha \rangle$ se torne $I^2$, se $I$ não for o elemento de identidade (ideal principal) no grupo de classes de ideais, ele não pode ser trazido de volta ao quadrado de um elemento.&lt;/p>
&lt;h3 id="obstáculo--a-barreira-do-grupo-de-unidades-unit-group">Obstáculo ②: A Barreira do Grupo de Unidades (Unit Group)
&lt;/h3>&lt;p>Suponhamos que, por sorte, $I$ fosse o ideal principal $\langle \gamma \rangle$.
Então, teríamos $\prod \langle a - b\alpha \rangle = \langle \gamma^2 \rangle$.
Você pode pensar, &amp;ldquo;Ótimo, o elemento também é um quadrado!&amp;rdquo;, mas isso é um grande erro.&lt;/p>
&lt;p>Ideais (conjuntos de múltiplos) sendo iguais não significa que os elementos sejam perfeitamente iguais. Sempre haverá um desvio por uma &lt;strong>&amp;ldquo;Unidade (Unit: um número cujo inverso também é um inteiro. Por exemplo, 1 ou -1)&amp;rdquo;&lt;/strong> .
Em outras palavras, a verdadeira equação dos elementos se torna assim:
&lt;/p>
$$\prod_{S} (a - b\alpha) = u \cdot \gamma^2$$
&lt;p>
($u$ é um elemento do grupo de unidades $U_K$)&lt;/p>
&lt;p>A menos que esta unidade $u$ em si seja o quadrado de algo, o lado esquerdo nunca pode se tornar um &amp;ldquo;quadrado perfeito de um elemento&amp;rdquo;.&lt;/p>
&lt;hr>
&lt;h2 id="fase-5-a-magia-de-adleman-caracteres-quadráticos-quadratic-characters">Fase 5: A Magia de Adleman &amp;ldquo;Caracteres Quadráticos&amp;rdquo; (Quadratic Characters)
&lt;/h2>&lt;p>O obstáculo do grupo de classes de ideais e o obstáculo do grupo de unidades. Como superar esses dois?
Aqui entra o brilhante método dos &lt;strong>&amp;ldquo;Caracteres Quadráticos (Quadratic Characters)&amp;rdquo;&lt;/strong> , introduzido pelo criptógrafo Leonard Adleman (o &amp;ldquo;A&amp;rdquo; do RSA) e outros.&lt;/p>
&lt;p>Para determinar &amp;ldquo;se um certo elemento é um quadrado perfeito no corpo algébrico&amp;rdquo;, usamos a versão de corpos algébricos do Símbolo de Legendre (resíduo quadratique).
Naquela matriz gigante anterior (o quebra-cabeça para tornar pares as contagens de ideais primos), nós &lt;strong>furtivamente adicionamos algumas dezenas de condições extras (colunas) dizendo &amp;ldquo;os caracteres quadráticos para certos ideais primos especiais $\mathfrak{q}$ também devem ser todos $1$ (par)&amp;rdquo;&lt;/strong> .&lt;/p>
&lt;p>Quando encontramos um conjunto $S$ que satisfaz até mesmo essas condições adicionais através de cálculos de matrizes, teoremas profundos da teoria algébrica dos números garantem que &lt;strong>&amp;ldquo;tanto o obstáculo do grupo de classes de ideais quanto o obstáculo do grupo de unidades desaparecerão naturalmente com uma probabilidade esmagadora&amp;rdquo;&lt;/strong> .&lt;/p>
&lt;p>Com isso, finalmente obtemos a verdadeira equação.
&lt;/p>
$$\prod_{S} (a - b\alpha) = \gamma^2$$
&lt;hr>
&lt;h2 id="fase-final-a-fusão-dos-mundos-e-o-colapso-criptográfico">Fase Final: A Fusão dos Mundos e o Colapso Criptográfico
&lt;/h2>&lt;p>Finalmente, todas as peças do quebra-cabeça estão no lugar.&lt;/p>
&lt;p>&lt;strong>[Elementos no Mundo dos Corpos Algébricos (Mundo A)]&lt;/strong>
$\gamma^2 = \prod (a - b\alpha)$
(Nós usamos um algoritmo de raiz quadrada para encontrar $\gamma$)&lt;/p>
&lt;p>&lt;strong>[Elementos no Mundo Real (Mundo dos Números Racionais)]&lt;/strong>
$V^2 = \prod (a - bm)$
(Como esta é uma simples multiplicação de inteiros, $V$ é encontrado normalmente)&lt;/p>
&lt;p>Agora é hora daquela ponte mágica que construímos no início, o &lt;strong>homomorfismo $\phi$&lt;/strong> .
Nós teleportamos o elemento $\gamma$ do Mundo A para o Mundo B (o mundo dos restos de $N$) usando $\phi$ (o mapeamento onde substituímos $\alpha$ por $m$).
&lt;/p>
$$Y = \phi(\gamma) \pmod N$$
&lt;p>Por outro lado, levamos o $V$ construído no mundo real diretamente para o mundo dos restos e o chamamos de $X$.
&lt;/p>
$$X = V \pmod N$$
&lt;p>Devido à propriedade &amp;ldquo;preservadora de estrutura&amp;rdquo; do homomorfismo, a relação quadrada que se manteve no Mundo A é perfeitamente preservada no Mundo B (o mundo módulo $N$).
Além disso, como os pares originais $(a, b)$ foram feitos em correspondência nas formas $a - b\alpha$ e $a - bm$, estes $X$ e $Y$ colidem no mundo módulo $N$ e produzem a seguinte equação absoluta.&lt;/p>
&lt;p>&lt;strong>$$X^2 \equiv Y^2 \pmod N$$&lt;/strong>&lt;/p>
&lt;p>Tudo o que resta é rezar para que esses $X$ e $Y$ não sejam soluções triviais ($X \equiv \pm Y$) e calcular
&lt;strong>$\gcd(X - Y, N)$&lt;/strong> .&lt;/p>
&lt;p>Se for uma solução não trivial, o algoritmo euclidiano avança em 0.001 segundos, e os números primos secretos $p$ e $q$, que são o coração da criptografia RSA, são impressos na tela de saída.&lt;/p>
&lt;hr>
&lt;p>Este é o quadro completo do &lt;strong>&amp;ldquo;Crivo Geral dos Corpos de Números (GNFS)&amp;rdquo;&lt;/strong> , a essência da matemática moderna.&lt;/p></description></item><item><title>Princípio de Kerckhoffs</title><link>http://kenji.blog/pt/p/principio-de-kerckhoffs/</link><pubDate>Wed, 16 Apr 2025 23:53:08 +0900</pubDate><guid>http://kenji.blog/pt/p/principio-de-kerckhoffs/</guid><description>&lt;img src="http://kenji.blog/p/%E3%82%B1%E3%83%AB%E3%82%AF%E3%83%9B%E3%83%95%E3%82%B9%E3%81%AE%E5%8E%9F%E7%90%86/img_2.png" alt="Featured image of post Princípio de Kerckhoffs" />&lt;h1 id="princípio-de-kerckhoffs">&amp;ldquo;Princípio de Kerckhoffs&amp;rdquo;
&lt;/h1>&lt;hr>
&lt;p>Olá!&lt;/p>
&lt;p>Hoje eu gostaria de falar sobre algo um pouco interessante e, na verdade, extremamente importante chamado &amp;ldquo;Princípio de Kerckhoffs&amp;rdquo;.&lt;/p>
&lt;p>Ah, espere, espere.&lt;br>
Alguns de vocês podem pensar: &amp;ldquo;Nunca ouvi falar do &amp;lsquo;Princípio de Kerckhoffs&amp;rsquo; e tem muitos termos técnicos&amp;hellip;&amp;rdquo;. Não se preocupe. Este artigo é exatamente o que eu quero que pessoas como você leiam.&lt;/p>
&lt;hr>
&lt;h2 id="o-que-significa-criptografia-segura">O que significa &amp;ldquo;criptografia segura&amp;rdquo;?
&lt;/h2>&lt;p>Por exemplo, digamos que alguém diga: &amp;ldquo;Este cofre só pode ser aberto por alguém que saiba a maneira secreta de abri-lo&amp;rdquo;.&lt;/p>
&lt;p>À primeira vista, isso parece muito seguro, não é?&lt;br>
Mas, se você pensar bem, não é um pouco preocupante?&lt;/p>
&lt;p>Como, &amp;ldquo;Se o segredo for revelado, é o fim?&amp;rdquo;.&lt;/p>
&lt;p>Na verdade, foi isso que desencadeou o surgimento do Princípio de Kerckhoffs.&lt;/p>
&lt;hr>
&lt;h2 id="o-que-é-o-princípio-de-kerckhoffs-afinal">O que é o &amp;ldquo;Princípio de Kerckhoffs&amp;rdquo; afinal?
&lt;/h2>&lt;p>Explicando de forma bem simples, é a ideia de que&lt;/p>
&lt;p>&lt;strong>&amp;ldquo;A criptografia deve ser segura mesmo se o seu funcionamento for descoberto&amp;rdquo;&lt;/strong> .&lt;/p>
&lt;p>Em outras palavras, &amp;ldquo;A segurança deve depender apenas da &amp;lsquo;chave secreta&amp;rsquo;, e o método de criptografia em si pode ser público!&amp;rdquo;.&lt;/p>
&lt;p>Por outro lado, &amp;ldquo;Um estado em que o algoritmo (mecanismo) de criptografia é mantido em segredo é considerado de baixa confiabilidade&amp;rdquo;.&lt;/p>
&lt;hr>
&lt;h2 id="se-o-mecanismo-for-secreto-é-seguro-pode-ser-um-pouco-perigoso">&amp;ldquo;Se o mecanismo for secreto, é seguro&amp;rdquo; pode ser um pouco perigoso
&lt;/h2>&lt;p>Essa é uma maneira comum de pensar:&lt;/p>
&lt;blockquote>
&lt;p>&amp;ldquo;Não mostrei o interior deste aplicativo a ninguém, então a segurança está ok&amp;rdquo;&lt;/p>
&lt;/blockquote>
&lt;p>Eu entendo o sentimento.&lt;br>
Mas isso é o mesmo que dizer: &amp;ldquo;Ninguém está olhando, então nenhum ponto fraco será encontrado, certo?&amp;rdquo;.&lt;/p>
&lt;p>Na realidade, o próprio fato de que &amp;ldquo;ninguém está olhando&amp;rdquo; pode se tornar um risco.&lt;/p>
&lt;hr>
&lt;h2 id="mas-por-que-esse-princípio-é-importante">Mas por que esse princípio é importante?
&lt;/h2>&lt;p>Porque, se alguém colocar as mãos no mecanismo e puder decifrá-lo facilmente, essa criptografia está acabada.&lt;/p>
&lt;p>Para usar uma analogia, é como se a fechadura de uma porta tivesse um mecanismo muito complexo, mas na verdade pudesse ser aberta com uma chave reserva feita em uma loja de artigos de um dólar.&lt;/p>
&lt;p>O importante não é &amp;ldquo;A chave é secreta, então está tudo bem&amp;rdquo;, mas &amp;ldquo;Mesmo se você mostrar todo o mecanismo, ele não pode ser aberto sem a chave certa&amp;rdquo;.&lt;/p>
&lt;hr>
&lt;h2 id="a-sensação-de-mas-isso-não-é-um-pouco-assustador">A sensação de &amp;ldquo;Mas isso não é um pouco assustador?&amp;rdquo;
&lt;/h2>&lt;p>O que muitas pessoas sentem aqui é a ansiedade de&lt;/p>
&lt;blockquote>
&lt;p>&amp;ldquo;Não é meio assustador expor todo o mecanismo?&amp;rdquo;&lt;/p>
&lt;/blockquote>
&lt;p>Eu entendo.&lt;br>
Porque você pensa: &amp;ldquo;Se eu mostrar o interior inteiro, não será imitado ou usado para o mal?&amp;rdquo;.&lt;/p>
&lt;p>Mas esse é exatamente o cerne do Princípio de Kerckhoffs.&lt;br>
A &amp;ldquo;força que não entra em colapso mesmo quando o interior é mostrado&amp;rdquo; é a verdadeira segurança.&lt;/p>
&lt;hr>
&lt;h2 id="dito-isso-requer-um-pouco-de-coragem-no-começo">Dito isso, requer um pouco de coragem no começo
&lt;/h2>&lt;p>Colocando-se no lugar do desenvolvedor, parece que &amp;ldquo;publicar o mecanismo = revelar suas fraquezas&amp;rdquo;, então é claro que é de dar frio na barriga.&lt;/p>
&lt;p>Mas pense sobre isso.&lt;/p>
&lt;p>Algo que você pode mostrar adequadamente e dizer: &amp;ldquo;Qualquer um pode verificar&amp;rdquo;, acabará sendo mais confiável.&lt;/p>
&lt;p>Isso é semelhante às relações humanas.&lt;/p>
&lt;p>Você pode se sentir mais seguro com &amp;ldquo;uma pessoa que se dá bem com você depois de mostrar o seu verdadeiro eu&amp;rdquo;.&lt;/p>
&lt;hr>
&lt;h2 id="conclusão">Conclusão
&lt;/h2>&lt;p>O Princípio de Kerckhoffs pode soar um pouco teórico, mas sua essência é muito simples.&lt;/p>
&lt;p>É apenas uma questão de &lt;strong>&amp;ldquo;Vamos criar um sistema que não quebre, não importa para quem você o mostre&amp;rdquo;&lt;/strong> .&lt;/p>
&lt;p>Um design adequado em vez de segredos superficiais.&lt;br>
Código do qual você não se envergonha de mostrar, em vez de código que você não quer que ninguém veja.&lt;/p>
&lt;p>Talvez esse tipo de &amp;ldquo;força&amp;rdquo; seja cada vez mais necessário na próxima era.&lt;/p>
&lt;hr>
&lt;p>Muito obrigado por ler!&lt;/p>
&lt;p>A segurança é um assunto um pouco difícil, mas há partes que se conectam a &amp;ldquo;relacionamentos com pessoas&amp;rdquo; e &amp;ldquo;paz de espírito cotidiana&amp;rdquo;.&lt;br>
Se você aprender um pouco de cada vez sem se sentir sobrecarregado, tenho certeza de que coisas boas acontecerão.&lt;/p>
&lt;hr>
&lt;p>&lt;img src="http://kenji.blog/p/%E3%82%B1%E3%83%AB%E3%82%AF%E3%83%9B%E3%83%95%E3%82%B9%E3%81%AE%E5%8E%9F%E7%90%86/img.png"
width="189"
height="282"
srcset="http://kenji.blog/p/%E3%82%B1%E3%83%AB%E3%82%AF%E3%83%9B%E3%83%95%E3%82%B9%E3%81%AE%E5%8E%9F%E7%90%86/img_hu715032b7fe5224f655ebb7d29b676305_77325_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%82%B1%E3%83%AB%E3%82%AF%E3%83%9B%E3%83%95%E3%82%B9%E3%81%AE%E5%8E%9F%E7%90%86/img_hu715032b7fe5224f655ebb7d29b676305_77325_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="Auguste Kerckhoffs"
class="gallery-image"
data-flex-grow="67"
data-flex-basis="160px"
>&lt;/p></description></item><item><title>Conjectura P≠NP</title><link>http://kenji.blog/pt/p/pnp%E4%BA%88%E6%83%B3/</link><pubDate>Wed, 11 Sep 2024 02:22:39 +0900</pubDate><guid>http://kenji.blog/pt/p/pnp%E4%BA%88%E6%83%B3/</guid><description>&lt;h1 id="visão-geral">Visão Geral
&lt;/h1>&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;/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">A classe P é a classe de problemas que podem ser decididos em tempo polinomial por uma máquina de Turing determinística, e a classe NP é a classe de problemas em que, dada uma evidência (chamada Testemunha) de que a resposta é Sim, a validade da Testemunha pode ser julgada (isso é chamado de verificação) em tempo polinomial. Como os problemas decidíveis em tempo polinomial podem ser verificados em tempo polinomial, é claro que P⊆NP, mas não está claro se P é um subconjunto próprio de NP. Ainda não há prova, mas muitos pesquisadores acreditam que P≠NP. E a conjectura de que esta classe P e a classe NP não são iguais é chamada de &amp;#34;Conjectura P≠NP&amp;#34;.
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Site de referência : &lt;a class="link" href="https://daigakudenki.com/np-hard/" target="_blank" rel="noopener"
>https://daigakudenki.com/np-hard/&lt;/a>&lt;/p></description></item><item><title>Citações de Einstein</title><link>http://kenji.blog/pt/p/citacoes-de-einstein/</link><pubDate>Sat, 24 Aug 2024 18:38:47 +0900</pubDate><guid>http://kenji.blog/pt/p/citacoes-de-einstein/</guid><description>&lt;img src="http://kenji.blog/p/%E3%82%A2%E3%82%A4%E3%83%B3%E3%82%B7%E3%83%A5%E3%82%BF%E3%82%A4%E3%83%B3%E3%81%AE%E5%90%8D%E8%A8%80/Solvay_conference_1927.jpg" alt="Featured image of post Citações de Einstein" />&lt;p>Olá!&lt;/p>
&lt;p>Hoje, gostaria de falar sobre as citações de Einstein.&lt;/p>
&lt;hr>
&lt;h2 id="o-mundo-não-valoriza-suas-boas-ações">O mundo não valoriza suas boas ações?
&lt;/h2>&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;/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">O mundo nunca avaliará o milhão de coisas boas que você faz.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Mas eles vão criticar a única coisa errada que você faz...
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Mas não desanime.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&amp;#34;Eleve-se sempre acima de todo riso e crítica. Permaneça forte.&amp;#34;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">- Albert Einstein
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Estas são palavras que se dizem ter sido proferidas por Einstein. Elas apontam de forma contundente para a dureza da sociedade que sentimos todos os dias e o viés nas avaliações das pessoas.&lt;/p>
&lt;hr>
&lt;h2 id="ainda-assim-continue-a-se-levantar">Ainda assim, continue a se levantar
&lt;/h2>&lt;p>&amp;ldquo;Eleve-se sempre acima de todo riso e crítica. Permaneça forte.&amp;rdquo;&lt;/p>
&lt;p>Essas palavras a seguir podem ser consideradas a resposta de Einstein à dura realidade mencionada acima. Elas nos ensinam a importância de não ceder à crítica ou ao ridículo e de continuar avançando com fé em nós mesmos.&lt;/p>
&lt;hr>
&lt;h2 id="aplicando-os-ensinamentos-de-einstein-à-vida-diária">Aplicando os ensinamentos de Einstein à vida diária
&lt;/h2>&lt;p>Esta citação está profundamente relacionada às nossas vidas diárias. Por exemplo, pode haver momentos em que seus esforços no trabalho não são reconhecidos e apenas erros triviais se destacam. Além disso, suas declarações nas redes sociais podem ser tiradas de contexto e criticadas.&lt;/p>
&lt;p>Nesses momentos, tente lembrar as palavras de Einstein. É importante manter suas próprias crenças em vez de ficar feliz ou triste com as avaliações de outras pessoas.&lt;/p>
&lt;hr>
&lt;h2 id="conclusão">Conclusão
&lt;/h2>&lt;p>Esta citação de Einstein nos ensina a importância de &amp;ldquo;viver acreditando em si mesmo sem ser influenciado pelas avaliações dos outros&amp;rdquo;. Tenhamos a coragem de seguir o caminho em que acreditamos, sem sucumbir à crítica ou ao ridículo.&lt;/p>
&lt;p>Finalmente, as palavras de Einstein mais uma vez.&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>&amp;ldquo;Eleve-se sempre acima de todo riso e crítica. Permaneça forte.&amp;rdquo;&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>Espero que essas palavras ressoem em seu coração e o inspirem a dar um passo positivo à frente.&lt;/p></description></item><item><title>Código C para gerar números primos</title><link>http://kenji.blog/pt/p/codigo-c-para-gerar-numeros-primos/</link><pubDate>Sat, 24 Aug 2024 09:38:10 +0900</pubDate><guid>http://kenji.blog/pt/p/codigo-c-para-gerar-numeros-primos/</guid><description>&lt;img src="http://kenji.blog/p/%E7%B4%A0%E6%95%B0%E3%82%92%E7%94%9F%E6%88%90%E3%81%99%E3%82%8Bc%E8%A8%80%E8%AA%9E%E3%82%B3%E3%83%BC%E3%83%89/img.png" alt="Featured image of post Código C para gerar números primos" />&lt;p>Abaixo está um código C simples que gera números primos dentro de um intervalo especificado. Neste exemplo, enumeramos números primos de 1 a n.&lt;/p>
&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;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;span class="lnt">26
&lt;/span>&lt;span class="lnt">27
&lt;/span>&lt;span class="lnt">28
&lt;/span>&lt;span class="lnt">29
&lt;/span>&lt;span class="lnt">30
&lt;/span>&lt;span class="lnt">31
&lt;/span>&lt;span class="lnt">32
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-cpp" data-lang="cpp">&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;lt;stdio.h&amp;gt;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;lt;stdbool.h&amp;gt;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kt">bool&lt;/span> &lt;span class="nf">isPrime&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="kt">int&lt;/span> &lt;span class="n">num&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">num&lt;/span> &lt;span class="o">&amp;lt;=&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">return&lt;/span> &lt;span class="nb">false&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">num&lt;/span> &lt;span class="o">&amp;lt;=&lt;/span> &lt;span class="mi">3&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">return&lt;/span> &lt;span class="nb">true&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">num&lt;/span> &lt;span class="o">%&lt;/span> &lt;span class="mi">2&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">0&lt;/span> &lt;span class="o">||&lt;/span> &lt;span class="n">num&lt;/span> &lt;span class="o">%&lt;/span> &lt;span class="mi">3&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">return&lt;/span> &lt;span class="nb">false&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">for&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="kt">int&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">5&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">&amp;lt;=&lt;/span> &lt;span class="n">num&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">+=&lt;/span> &lt;span class="mi">6&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">num&lt;/span> &lt;span class="o">%&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">0&lt;/span> &lt;span class="o">||&lt;/span> &lt;span class="n">num&lt;/span> &lt;span class="o">%&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">i&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">return&lt;/span> &lt;span class="nb">false&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="nb">true&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kt">void&lt;/span> &lt;span class="nf">printPrimes&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="kt">int&lt;/span> &lt;span class="n">n&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">printf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;2 &amp;#34;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">for&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="kt">int&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">3&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">&amp;lt;=&lt;/span> &lt;span class="n">n&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">+=&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">isPrime&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="p">))&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">printf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;%d &amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">i&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">printf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s">&amp;#34;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kt">int&lt;/span> &lt;span class="nf">main&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kt">int&lt;/span> &lt;span class="n">n&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">printf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;Digite o valor máximo do intervalo para gerar números primos: &amp;#34;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">scanf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;%d&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="o">&amp;amp;&lt;/span>&lt;span class="n">n&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">printf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;Os números primos de 1 a %d são:&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s">&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">n&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">printPrimes&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">n&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Este código funciona da seguinte forma:&lt;/p>
&lt;ol>
&lt;li>Função isPrime: Determina se um determinado número é primo. Por uma questão de eficiência, primeiro verifica-se se é divisível por 2 e 3 e, em seguida, prossegue verificando em múltiplos de 6.&lt;/li>
&lt;li>Função printPrimes: Gera números primos dentro de um intervalo especificado. O 2 é impresso primeiro e, em seguida, apenas os números ímpares são verificados.&lt;/li>
&lt;li>Função main: Solicita que o usuário insira o valor máximo do intervalo e imprime os números primos dentro desse intervalo.&lt;/li>
&lt;/ol>
&lt;p>Se você compilar e executar este código, os números primos dentro do intervalo especificado serão exibidos.&lt;/p></description></item><item><title>O Problema de Monty Hall</title><link>http://kenji.blog/pt/p/%E3%83%A2%E3%83%B3%E3%83%86%E3%82%A3%E3%83%9B%E3%83%BC%E3%83%AB%E5%95%8F%E9%A1%8C/</link><pubDate>Sun, 31 Mar 2024 23:41:51 +0900</pubDate><guid>http://kenji.blog/pt/p/%E3%83%A2%E3%83%B3%E3%83%86%E3%82%A3%E3%83%9B%E3%83%BC%E3%83%AB%E5%95%8F%E9%A1%8C/</guid><description>&lt;img src="http://kenji.blog/p/%E3%83%A2%E3%83%B3%E3%83%86%E3%82%A3%E3%83%9B%E3%83%BC%E3%83%AB%E5%95%8F%E9%A1%8C/img_1.png" alt="Featured image of post O Problema de Monty Hall" />&lt;h2 id="o-que-é-o-problema-de-monty-hall">O que é o Problema de Monty Hall?
&lt;/h2>&lt;p>O Problema de Monty Hall é um dos jogos apresentados no programa de televisão americano &amp;ldquo;Let&amp;rsquo;s Make a Deal&amp;rdquo;, e consiste no seguinte problema:&lt;/p>
&lt;p>Pré-requisitos: Atrás de uma das 3 portas há um prêmio, e as outras 2 estão vazias (prêmios de consolação).&lt;/p>
&lt;ol>
&lt;li>O participante escolhe uma das 3 portas.&lt;/li>
&lt;li>O apresentador abre uma das 2 portas não escolhidas pelo participante, revelando que ela está vazia.&lt;/li>
&lt;li>Ao participante é perguntado se ele deseja trocar a porta escolhida.&lt;/li>
&lt;/ol>
&lt;p>O problema é determinar se é melhor para o participante trocar de porta ou não.&lt;/p>
&lt;h2 id="solução">Solução
&lt;/h2>&lt;p>A solução para o Problema de Monty Hall é a seguinte:&lt;/p>
&lt;ol>
&lt;li>
&lt;p>Se o participante não trocar a porta escolhida inicialmente:&lt;/p>
&lt;ul>
&lt;li>Probabilidade de ganhar: 1/3&lt;/li>
&lt;li>Probabilidade de perder: 2/3&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>Após o apresentador abrir uma porta vazia:&lt;/p>
&lt;ul>
&lt;li>Se não trocar, a probabilidade de ganhar: 1/3 (permanece a mesma probabilidade do passo 1)&lt;/li>
&lt;li>Se trocar, a probabilidade de ganhar: 2/3 (a probabilidade de qualquer outra porta do passo 1)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;p>Portanto, a probabilidade de ganhar é maior se o participante trocar de porta.&lt;/p>
&lt;h2 id="referência">Referência
&lt;/h2>&lt;ul>
&lt;li>Wikipedia &lt;a class="link" href="https://en.wikipedia.org/wiki/Monty_Hall_problem" target="_blank" rel="noopener"
>Monty Hall problem&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>História da Matemática</title><link>http://kenji.blog/pt/p/historia-da-matematica/</link><pubDate>Sat, 22 Jul 2023 15:25:10 +0900</pubDate><guid>http://kenji.blog/pt/p/historia-da-matematica/</guid><description>&lt;img src="http://kenji.blog/p/%E6%95%B0%E5%AD%A6%E3%81%AE%E6%AD%B4%E5%8F%B2/img.png" alt="Featured image of post História da Matemática" />&lt;h3 id="três-problemas-clássicos-da-grécia-antiga">Três Problemas Clássicos da Grécia Antiga
&lt;/h3>&lt;ol>
&lt;li>Dado um círculo, construir um quadrado com a mesma área (Quadratura do círculo)&lt;/li>
&lt;li>Dado um ângulo arbitrário, dividi-lo em três partes iguais (Trissecção do ângulo)&lt;/li>
&lt;li>Dado um cubo, construir um cubo com o dobro do volume (Duplicação do cubo)&lt;/li>
&lt;/ol>
&lt;h3 id="espiral-de-arquimedes">Espiral de Arquimedes
&lt;/h3>&lt;p>Em um plano, uma semirreta OB gira em torno de um ponto fixo O com velocidade uniforme. Se a posição inicial for OA, e simultaneamente um ponto P partir de O e se mover ao longo de OB com velocidade constante, a curva traçada pelo ponto P é a Espiral de Arquimedes.&lt;/p>
&lt;h3 id="teorema-de-pappus">Teorema de Pappus
&lt;/h3>&lt;ul>
&lt;li>Cicloide&lt;/li>
&lt;li>Concoide de Nicomedes&lt;/li>
&lt;li>Cissoide de Diocles&lt;/li>
&lt;li>Método das tangentes de Fermat&lt;/li>
&lt;li>Método das normais de Descartes&lt;/li>
&lt;/ul>
&lt;h3 id="cronologia">Cronologia
&lt;/h3>&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Ano&lt;/th>
&lt;th>Evento&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>c. 3400 a.C.&lt;/td>
&lt;td>Sumérios usam fichas de argila para contabilidade&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>c. 3000 a.C.&lt;/td>
&lt;td>Matemática hieroglífica surge no Egito&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>c. 2800 a.C.&lt;/td>
&lt;td>Civilização do Vale do Indo usa pesos e medidas decimais&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>c. 2700 a.C.&lt;/td>
&lt;td>Egípcios usam cordas e trios pitagóricos para verificar ângulos&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>c. 2500 a.C.&lt;/td>
&lt;td>Invenção do ábaco para cálculos&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>c. 2500 a.C.&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h3 id="referência">Referência
&lt;/h3>&lt;ul>
&lt;li>&lt;a class="link" href="https://ja.wikipedia.org/wiki/%E6%95%B0%E5%AD%A6%E3%81%AE%E6%AD%B4%E5%8F%B2" target="_blank" rel="noopener"
>História da Matemática&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Os Grandes Gênios da Matemática</title><link>http://kenji.blog/pt/p/os-grandes-genios-da-matematica/</link><pubDate>Thu, 22 Sep 2022 23:06:37 +0900</pubDate><guid>http://kenji.blog/pt/p/os-grandes-genios-da-matematica/</guid><description>&lt;img src="http://kenji.blog/p/%E6%95%B0%E5%AD%A6%E3%81%AE%E5%81%89%E4%BA%BA%E3%81%9F%E3%81%A1/img.png" alt="Featured image of post Os Grandes Gênios da Matemática" />&lt;h3 id="fermat-p-de-fermat-1601-1665">Fermat (P. de Fermat, 1601-1665)
&lt;/h3>&lt;p>Um matemático francês que representou o século XVII. Estabeleceu os fundamentos da geometria analítica, teoria das probabilidades e cálculo diferencial. É também o fundador da teoria dos números.&lt;/p>
&lt;h3 id="diofanto-diophantus-cerca-de-207-291">Diofanto (Diophantus, cerca de 207-291)
&lt;/h3>&lt;p>Matemático grego. Famoso pela introdução de notação simbólica e pesquisa de soluções racionais. Seu livro &amp;ldquo;Aritmética&amp;rdquo; é sua obra-prima. O campo que busca soluções racionais para equações é chamado de análise diofantina.&lt;/p>
&lt;h3 id="euler-l-euler-1707-1783">Euler (L. Euler, 1707-1783)
&lt;/h3>&lt;p>O rei da matemática nascido na Suíça. Ele obteve conquistas em todas as áreas da matemática. Mais de 700 artigos e 45 livros foram deixados.&lt;/p>
&lt;h3 id="legendre-a-m-legendre-1752-1833">Legendre (A. M. Legendre, 1752-1833)
&lt;/h3>&lt;p>Matemático francês. Deixou inúmeras contribuições em teoria dos números, integrais elípticas e problemas de gravitação. A palavra &amp;ldquo;Teoria dos Números&amp;rdquo; (&amp;ldquo;Théorie des Nombres&amp;rdquo;) deriva de sua obra principal com este nome.&lt;/p>
&lt;h3 id="kummer-e-e-kummer-1810-1893">Kummer (E. E. Kummer, 1810-1893)
&lt;/h3>&lt;p>Matemático alemão. Ele aplicou a teoria dos números dos corpos ciclotômicos ao Último Teorema de Fermat e obteve grandes resultados.&lt;/p>
&lt;h3 id="descartes-r-descartes-1596-1650">Descartes (R. Descartes, 1596-1650)
&lt;/h3>&lt;p>O filósofo francês original. Obras representativas incluem &amp;ldquo;Discurso do Método&amp;rdquo;, &amp;ldquo;Geometria&amp;rdquo; e &amp;ldquo;O Mundo&amp;rdquo;.&lt;/p>
&lt;h3 id="pascal-b-pascal-1623-1662">Pascal (B. Pascal, 1623-1662)
&lt;/h3>&lt;p>Filósofo francês conhecido por seus estudos sobre probabilidade e fluidos. Mais tarde, ele se juntou aos jansenistas e se envolveu em atividades religiosas. Os &amp;ldquo;Pensamentos&amp;rdquo; (&amp;ldquo;Pensées&amp;rdquo;) é uma obra dessa época.&lt;/p>
&lt;h3 id="bachet-c-g-bachet-1581-1638">Bachet (C. G. Bachet, 1581-1638)
&lt;/h3>&lt;p>Um nobre francês que pesquisava quebra-cabeças numéricos como hobby. Ele publicou uma tradução latina da &amp;ldquo;Aritmética&amp;rdquo; de Diofanto, incluindo suas próprias anotações de pesquisa.&lt;/p>
&lt;h3 id="wallis-j-wallis-1616-1703">Wallis (J. Wallis, 1616-1703)
&lt;/h3>&lt;p>Matemático inglês. Em sua principal obra &amp;ldquo;Aritmética dos Infinitos&amp;rdquo;, ele deu uma forma matemática ao conceito de limite e contribuiu para a fundação do cálculo.&lt;/p>
&lt;h3 id="brouncker-w-brouncker-1620-1684">Brouncker (W. Brouncker, 1620-1684)
&lt;/h3>&lt;p>Nobre irlandês. O primeiro presidente da Royal Society (Academia Britânica de Ciências). Um entusiasta da matemática que interagia com Wallis e outros.&lt;/p>
&lt;h3 id="lagrange-j-l-lagrange-1736-1813">Lagrange (J. L. Lagrange, 1736-1813)
&lt;/h3>&lt;p>Matemático francês nascido na Itália. Sucedeu Euler como diretor de matemática na Academia de Berlim. Teve grandes conquistas em teoria dos números, mecânica analítica, etc.&lt;/p>
&lt;h3 id="siegel-c-l-siegel-1896-1981">Siegel (C. L. Siegel, 1896-1981)
&lt;/h3>&lt;p>Teórico dos números alemão. Fez inúmeras contribuições à teoria analítica dos números.&lt;/p>
&lt;h3 id="fibonacci-l-fibonacci-cerca-de-1175-1250">Fibonacci (L. Fibonacci, cerca de 1175-1250)
&lt;/h3>&lt;p>Matemático italiano. Em sua obra &amp;ldquo;Livro do Ábaco&amp;rdquo;, ele usou os numerais indo-arábicos e trabalhou para popularizá-los. Também discutiu números congruentes em &amp;ldquo;O Livro dos Quadrados&amp;rdquo;.&lt;/p>
&lt;h3 id="baker-a-baker-1939-">Baker (A. Baker, 1939-)
&lt;/h3>&lt;p>Teórico dos números britânico. Por sua contribuição à teoria dos números transcendentes, recebeu a Medalha Fields junto com Heisuke Hironaka.&lt;/p>
&lt;h3 id="poincaré-j-poincaré-1854-1912">Poincaré (J. Poincaré, 1854-1912)
&lt;/h3>&lt;p>O matemático francês chamado de o último matemático universal. Deixou obras notáveis não apenas em funções automórficas, geometria não-euclidiana, equações diferenciais, mecânica celeste e eletrodinâmica, mas também em críticas científicas.&lt;/p>
&lt;h3 id="mordell-l-j-mordell-1888-1972">Mordell (L. J. Mordell, 1888-1972)
&lt;/h3>&lt;p>Matemático americano. Seus pais eram imigrantes da Lituânia. Tem muitos artigos sobre a teoria das equações diofantinas, mas o Teorema de Mordell sobre curvas elípticas é particularmente famoso. Weil estendeu isso para o caso de curvas algébricas gerais, e a geometria algébrica aritmética passou por um desenvolvimento explosivo a partir daí.&lt;/p>
&lt;h3 id="weil-a-weil-1906-">Weil (A. Weil, 1906-)
&lt;/h3>&lt;p>Matemático francês de origem judaica. Quando jovem, interessou-se pelo problema de Fermat e, com o objetivo de aplicá-lo à teoria dos números, revisou fundamentalmente a geometria algébrica e forneceu-lhe fundamentos rigorosos. Também é conhecido por seus escritos sobre a história da matemática.&lt;/p>
&lt;h3 id="mersenne-m-mersenne-1588-1648">Mersenne (M. Mersenne, 1588-1648)
&lt;/h3>&lt;p>Padre francês da ordem dos Mínimos. Ele mediou a correspondência entre matemáticos de várias regiões. O número que leva seu nome, o número de Mersenne, foi na verdade concebido por Fermat.&lt;/p>
&lt;h3 id="roberval-g-p-de-roberval-1602-1675">Roberval (G. P. de Roberval, 1602-1675)
&lt;/h3>&lt;p>Matemático francês. Na época, ele era quase a única pessoa que havia obtido o cargo de professor como matemático, e é conhecido por sua pesquisa sobre a cicloide.&lt;/p>
&lt;h3 id="abel-n-h-abel-1802-1829">Abel (N. H. Abel, 1802-1829)
&lt;/h3>&lt;p>Matemático norueguês. Obteve excelentes conquistas na insolubilidade de equações gerais do 5º grau, teoria das funções elípticas, teoria das integrais abelianas, mas morreu jovem.&lt;/p>
&lt;h3 id="jacobi-k-g-jacob-1804-1851">Jacobi (K. G. Jacob, 1804-1851)
&lt;/h3>&lt;p>Matemático alemão de origem judaica. Deixou grandes conquistas na teoria das funções elípticas, funções teta, equações diferenciais, cálculo das variações, etc. Apresentou o trabalho de Abel ao mundo. Conhecido também por rejeitar o pragmatismo, afirmando que o propósito da ciência é &amp;ldquo;a honra do espírito humano&amp;rdquo;.&lt;/p>
&lt;h3 id="gauss-c-f-gauss-1777-1855">Gauss (C. F. Gauss, 1777-1855)
&lt;/h3>&lt;p>O rei da matemática nascido na Alemanha. Conhecido por suas pesquisas em teoria dos números, geometria não euclidiana, geodésia, séries hipergeométricas, teoria das superfícies e magnetismo terrestre. Era um perfeccionista, e diz-se que não publicava seus resultados a menos que fossem de uma perfeição tão alta que nenhum andaime pudesse ser visto. Sua principal obra é &amp;ldquo;Disquisitiones Arithmeticae&amp;rdquo;.&lt;/p>
&lt;h3 id="lamé-g-lamé-1795-1870">Lamé (G. Lamé, 1795-1870)
&lt;/h3>&lt;p>Matemático francês. Contribuiu para a mecânica elástica, teoria da condução de calor e outras áreas.&lt;/p>
&lt;h3 id="liouville-j-liouville-1809-1882">Liouville (J. Liouville, 1809-1882)
&lt;/h3>&lt;p>Matemático francês. Contribuiu para equações diferenciais, teoria dos números transcendentes e análise complexa.&lt;/p>
&lt;h3 id="cauchy-a-l-cauchy-1789-1857">Cauchy (A. L. Cauchy, 1789-1857)
&lt;/h3>&lt;p>Matemático francês. Muito produtivo, com inúmeras conquistas em física teórica e matemática. Na França, diz-se que é tão respeitado quanto Gauss.&lt;/p>
&lt;h3 id="galois-e-galois-1811-1832">Galois (E. Galois, 1811-1832)
&lt;/h3>&lt;p>Matemático francês. Ele esclareceu o teorema de Abel de que equações de grau 5 ou superior geralmente não podem ser resolvidas algebricamente introduzindo o conceito de grupo. Ele morreu jovem em um duelo, mas agora se sabe que foi desencadeado por um problema trivial com uma mulher.&lt;/p>
&lt;h3 id="hensel-k-hensel-1861-1941">Hensel (K. Hensel, 1861-1941)
&lt;/h3>&lt;p>Matemático alemão. Aluno de Kronecker. Ele introduziu o sistema p-ádico (análise p-ádica) na teoria dos números, aplicando métodos da teoria das funções.&lt;/p>
&lt;h3 id="hasse-h-hesse-1898-1979">Hasse (H. Hesse, 1898-1979)
&lt;/h3>&lt;p>Matemático alemão. Aluno de Hensel, contribuiu para os fundamentos da análise p-ádica e suas aplicações. Consolidação da teoria dos corpos de classes, estudo das funções L de curvas elípticas, etc.&lt;/p>
&lt;h3 id="kronecker-l-kronecker-1823-1891">Kronecker (L. Kronecker, 1823-1891)
&lt;/h3>&lt;p>Matemático alemão de origem judaica. Contribuiu para a teoria das funções elípticas, teoria dos números, etc. Ele também é conhecido por defender a fundamentação aritmética da matemática, mas sua personalidade fortemente subjetiva deu-lhe uma imagem negativa durante a vida por suas críticas irracionais ao seu colega da Universidade de Berlim, Weierstrass, e por impedir o emprego de Cantor.&lt;/p>
&lt;h3 id="hilbert-d-hilbert-1862-1943">Hilbert (D. Hilbert, 1862-1943)
&lt;/h3>&lt;p>Matemático alemão. Deixou marcas gigantescas em todas as áreas da matemática, incluindo teoria dos invariantes, teoria algébrica dos números e fundamentos da matemática. Os 23 problemas que ele propôs no Congresso Internacional de Matemáticos em Paris (1900) tiveram grande influência no desenvolvimento da matemática.&lt;/p>
&lt;h3 id="riemann-b-riemann-1826-1866">Riemann (B. Riemann, 1826-1866)
&lt;/h3>&lt;p>Matemático alemão. Obteve grandes resultados que tocam as raízes da matemática, como o conceito de superfície de Riemann na teoria das funções complexas e a geometria de Riemann.&lt;/p>
&lt;h3 id="faltings-g-faltings-1954-">Faltings (G. Faltings, 1954-)
&lt;/h3>&lt;p>Matemático alemão. Ele resolveu a conjectura de Mordell em 1983.&lt;/p>
&lt;h3 id="wiles-a-wiles-1953-">Wiles (A. Wiles, 1953-)
&lt;/h3>&lt;p>Matemático nascido no Reino Unido. Fez grandes contribuições em pesquisas como a conjectura principal de Iwasawa e a conjectura de Birch e Swinnerton-Dyer, sendo o líder nesta área.&lt;/p>
&lt;h3 id="referências">Referências
&lt;/h3>&lt;p>O Último Teorema de Fermat foi resolvido! Da prova de Euler à de Wiles. Kodansha.&lt;/p></description></item><item><title>Filmes com Matemáticos</title><link>http://kenji.blog/pt/p/%E6%95%B0%E5%AD%A6%E8%80%85%E3%81%8C%E7%99%BB%E5%A0%B4%E3%81%99%E3%82%8B%E6%98%A0%E7%94%BB/</link><pubDate>Mon, 05 Sep 2022 10:41:00 +0900</pubDate><guid>http://kenji.blog/pt/p/%E6%95%B0%E5%AD%A6%E8%80%85%E3%81%8C%E7%99%BB%E5%A0%B4%E3%81%99%E3%82%8B%E6%98%A0%E7%94%BB/</guid><description>&lt;img src="http://kenji.blog/p/%E6%95%B0%E5%AD%A6%E8%80%85%E3%81%8C%E7%99%BB%E5%A0%B4%E3%81%99%E3%82%8B%E6%98%A0%E7%94%BB/images/img.png" alt="Featured image of post Filmes com Matemáticos" />&lt;p>Aqui estão as minhas 3 principais recomendações de filmes com matemáticos como protagonistas.&lt;/p>
&lt;h1 id="uma-mente-brilhante">Uma Mente Brilhante
&lt;/h1>&lt;p>&lt;img src="http://kenji.blog/images/beautiful_mind.jpg"
loading="lazy"
>&lt;br>
Um filme que retrata a vida de um gênio matemático americano da vida real. O final tem uma reviravolta surpreendente.
Russell Crowe faz um excelente trabalho no papel principal.&lt;/p>
&lt;h1 id="enigma">Enigma
&lt;/h1>&lt;p>&lt;img src="http://kenji.blog/images/enigma.jpg"
loading="lazy"
>&lt;/p>
&lt;blockquote>
&lt;p>Um filme de 2001 baseado no romance &amp;ldquo;Enigma&amp;rdquo; de Robert Harris.
da Wikipédia&lt;/p>
&lt;/blockquote>
&lt;p>A história da decifração da máquina de criptografia Enigma criada pela Alemanha.&lt;/p>
&lt;h1 id="o-jogo-da-imitação">O Jogo da Imitação
&lt;/h1>&lt;p>&lt;img src="http://kenji.blog/images/imitation_game.jpg"
loading="lazy"
>&lt;/p>
&lt;p>Esta também é uma história de decifração de códigos lidando com a Enigma. Eu amo a atmosfera daquela época.&lt;/p>
&lt;h1 id="o-homem-que-viu-o-infinito">O Homem Que Viu o Infinito
&lt;/h1>&lt;p>&lt;img src="http://kenji.blog/p/%E6%95%B0%E5%AD%A6%E8%80%85%E3%81%8C%E7%99%BB%E5%A0%B4%E3%81%99%E3%82%8B%E6%98%A0%E7%94%BB/img.png"
width="566"
height="800"
srcset="http://kenji.blog/p/%E6%95%B0%E5%AD%A6%E8%80%85%E3%81%8C%E7%99%BB%E5%A0%B4%E3%81%99%E3%82%8B%E6%98%A0%E7%94%BB/img_hu224d39544ca0af082720aacd7902fd19_1089949_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E6%95%B0%E5%AD%A6%E8%80%85%E3%81%8C%E7%99%BB%E5%A0%B4%E3%81%99%E3%82%8B%E6%98%A0%E7%94%BB/img_hu224d39544ca0af082720aacd7902fd19_1089949_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img.png"
class="gallery-image"
data-flex-grow="70"
data-flex-basis="169px"
>&lt;/p>
&lt;p>Uma obra que retrata a interação entre o matemático da Universidade de Cambridge, Hardy, e o matemático indiano Ramanujan. Você pode sentir a beleza da matemática.&lt;/p>
&lt;h1 id="a-teoria-de-tudo">A Teoria de Tudo
&lt;/h1>&lt;p>&lt;img src="http://kenji.blog/p/%E6%95%B0%E5%AD%A6%E8%80%85%E3%81%8C%E7%99%BB%E5%A0%B4%E3%81%99%E3%82%8B%E6%98%A0%E7%94%BB/img_1.png"
width="800"
height="459"
srcset="http://kenji.blog/p/%E6%95%B0%E5%AD%A6%E8%80%85%E3%81%8C%E7%99%BB%E5%A0%B4%E3%81%99%E3%82%8B%E6%98%A0%E7%94%BB/img_1_hubfe00de5360673c8281820134bf7a309_739706_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E6%95%B0%E5%AD%A6%E8%80%85%E3%81%8C%E7%99%BB%E5%A0%B4%E3%81%99%E3%82%8B%E6%98%A0%E7%94%BB/img_1_hubfe00de5360673c8281820134bf7a309_739706_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="174"
data-flex-basis="418px"
>&lt;/p>
&lt;p>Um filme que retrata a vida do Dr. Hawking.&lt;/p>
&lt;h1 id="particle-fever">Particle Fever
&lt;/h1>&lt;p>&lt;img src="http://kenji.blog/p/%E6%95%B0%E5%AD%A6%E8%80%85%E3%81%8C%E7%99%BB%E5%A0%B4%E3%81%99%E3%82%8B%E6%98%A0%E7%94%BB/img_2.png"
width="640"
height="960"
srcset="http://kenji.blog/p/%E6%95%B0%E5%AD%A6%E8%80%85%E3%81%8C%E7%99%BB%E5%A0%B4%E3%81%99%E3%82%8B%E6%98%A0%E7%94%BB/img_2_hu18abd37eefb70a17a04950b9cdaa7d84_902746_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E6%95%B0%E5%AD%A6%E8%80%85%E3%81%8C%E7%99%BB%E5%A0%B4%E3%81%99%E3%82%8B%E6%98%A0%E7%94%BB/img_2_hu18abd37eefb70a17a04950b9cdaa7d84_902746_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_2.png"
class="gallery-image"
data-flex-grow="66"
data-flex-basis="160px"
>&lt;/p></description></item><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>