Na última quarta-feira, 20, foi revelada a notícia de que foi descoberto um novo número primo com mais de 22 milhões de dígitos. Apelidado carinhosamente de “M74207281”, o número pode parecer irrelevante para quem não conhece a aplicação que os números primos têm na área da computação. É isso que vamos explicar, mas, de uma forma resumida, quanto maiores os números primos que conhecemos, melhor é a criptografia de nossos dados.

Antes de tudo, vamos aos básicos. O número primo é um número divisível apenas por ele mesmo e por 1. Você já aprendeu isso na escola, claro. Graças a essa propriedade, todos os números existentes podem ser quebrados em números primos, num processo conhecido como fatoração. Você também já aprendeu isso.

Por exemplo: o número 21 pode ser fatorado em 7 e 3. Já 52 é divisível em 2, 2 e 13. 2.002 é quebrável em 2, 7, 11 e 13. Enquanto isso, 255.255 pode ser quebrado em 3, 5, 7, 11, 13 e 17. Já deu para entender a ideia geral. Não importa o quão grande for o número, ele pode ser fatorado. Mas quando e quando falamos em números de 200 dígitos? De 500 dígitos? 1 mil dígitos? 10 mil?

A questão é que quanto maior o número fica, mais difícil é para fatorá-lo. Até hoje, não foi descoberto um método eficiente de quebrar números enormes em primos, a não ser por força bruta, por tentativa e erro. Só que quando falamos em algarismos muito grandes, podem ser necessários muitos anos, mesmo com grande poder computacional, para conseguir chegar ao resultado correto. Para quebrar o número de 500 dígitos usando o mesmo algoritmo usado para fatorar um de 7 dígitos, a demora pode chegar a décadas, talvez séculos.

No entanto, fazer o caminho inverso e criar um número gigantesco é bastante fácil. Basta multiplicar dois números primos gigantes para chegar a um algarismo (não-primo) ainda maior e quase impossível de fatorar à força. Se você não conhece aqueles dois números usados inicialmente, é muito descobri-los à força. E é aí que entra a criptografia, que nada mais é do que uma forma de usar a matemática para garantir a segurança dos dados. Tudo que um computador puder fazer facilmente sem que possa ser desfeito com simplicidade será do interesse das tecnologias de encriptação e segurança.

Os números primos servem, portanto, como base de uma série de algoritmos de segurança, como é o caso do RSA. Neste caso, há uma chave pública, que pode ser de conhecimento geral, que consiste em dois números primos grandes, que permitem criptografar uma mensagem, e uma secreta, com outros números, que possibilitam remover a encriptação. Assim, as pessoas poderiam enviar mensagens para você usando sua chave pública, e só você poderia lê-las, usando sua chave secreta para desencriptar. Qualquer outra pessoa precisaria fatorar à base da força, e, portanto, de forma altamente ineficiente, os números enormes para descobrir os primos envolvidos no processo.

Essa ideia é base da criptografia por trás de coisas simples que fazem parte do nosso dia-a-dia, como, por exemplo, transmitir o número do cartão de crédito para uma loja online ou fazer o login em um site de um banco. 

Via ExtremeTech