Criptografia RSA

A criptografia tem sido usada em civilizações em formatos variados há milhares de anos. Dos antigos egípcios à Internet moderna, o uso de criptografia para criptografar e descriptografar mensagens é uma ferramenta vital na comunicação.

A criptografia RSA (o algoritmo RSA para ser exato) é o algoritmo de criptografia assimétrica mais onipresente no mundo. Tornado possível por uma série de descobertas criptográficas e matemáticas, qualquer pessoa que usa a Internet está utilizando a criptografia RSA de uma forma ou de outra.

Criptografia RSA

A maioria das criptomoedas emprega um tipo semelhante de criptografia assimétrica como RSA, conhecido como criptografia de curva elíptica. Embora diferentes, ambos são baseados em conceitos semelhantes e o entendimento do RSA é importante para aprofundar o entendimento da criptografia empregada em redes de criptomoedas.

Fundo criptográfico e criptografia simétrica versus assimétrica

Até a década de 1970, a criptografia baseava-se principalmente no uso de chaves simétricas. Em algoritmos de chave simétrica, dois usuários que desejam comunicar uma mensagem entre si usam as mesmas chaves criptográficas para a criptografia do texto simples e para a descriptografia do texto cifrado. As chaves representam um segredo compartilhado entre as duas partes e podem ser usadas como uma forma privada de comunicação. No entanto, existem alguns problemas inerentes a este design que leva a algumas desvantagens sérias de seu uso.

Por exemplo, ambas as partes precisam saber a chave secreta para criptografar e descriptografar a mensagem. Fora da reunião pessoal para trocar essas informações, há uma quantidade substancial de sobrecarga de comunicação necessária para realizar isso em particular por meio de meios que não são seguros. Terceiros que assistem a esses canais podem obter a chave secreta e, portanto, o método de criptografia fica comprometido. Além disso, o conceito de criptografia de chave simétrica não é escalonável. Se você quiser enviar mensagens criptografadas para várias pessoas, precisará memorizar uma chave secreta para cada uma dessas linhas de comunicação. Obviamente, isso rapidamente se torna inconveniente e claramente não é o melhor modelo a ser empregado por redes de criptomoedas onde o valor é trocado.

A solução para isso veio na forma do que é conhecido como criptografia assimétrica, ou mais popularmente conhecido como criptografia de chave pública. A criptografia assimétrica usa duas chaves, uma chave pública e uma chave privada. Na forma mais básica deste modelo, um usuário pode publicar uma chave pública, com a qual qualquer outra pessoa pode usar para enviar a essa pessoa uma mensagem criptografada e apenas a pessoa que publicou a chave pública e tem a chave privada correspondente pode descriptografar e visualizar esta mensagem. O uso de uma chave cancela o uso da outra e as chaves não precisam ser trocadas entre as partes que desejam se comunicar.

O modelo de criptografia assimétrica foi possibilitado por 2 princípios brilhantes que surgiram como resultado de uma descoberta do matemático britânico James Ellis em 1970. Ellis descreveu uma ideia em que criptografia e descriptografia são operações inversas uma da outra com base em 2 chaves diferentes.

James Ellis

James Ellis, imagem de O telégrafo.

O conceito é geralmente representado por um cadeado e uma chave, com o cadeado representando a chave pública e a chave representando a chave privada. Para fazer uso prático desta teoria, dois princípios evoluíram.

A função de alçapão

Uma função de alçapão é um conceito muito importante em criptografia onde é trivial ir de um estado para outro, mas computar na direção oposta voltando ao estado original torna-se inviável sem informações especiais, conhecido como “alçapão”.

A função de alçapão mais conhecida hoje, que é a base da criptografia RSA, é chamada Fatoração Prime. Essencialmente, a fatoração principal (também conhecida como Fatoração de Inteiro) é o conceito da teoria dos números de que inteiros compostos podem ser decompostos em inteiros menores. Todos os números compostos (números não primos) que são divididos em seus mais básicos são compostos de números primos. Este processo é conhecido como fatoração primária e tem sérias implicações quando aplicado à criptografia.

decomposição primária

Fatoração principal, imagem usada de Wikipedia

Essencialmente, a fatoração de números primos extremamente grandes torna-se inviável de calcular devido à grande quantidade de tentativa e erro necessária para fatorar com sucesso o número em seus componentes mais básicos. Atualmente, nenhum algoritmo de fatoração eficiente existe para realizar este.

RSA e como ele emprega a fatoração principal é descrito em uma seção posterior, mas primeiro precisamos entender o Diffie-Hellman Key Exchange.

A troca de chaves Diffie-Hellman

A troca de chaves Diffie-Hellman é um dos primeiros protocolos de criptografia de chave pública e permite, fundamentalmente, a troca de chaves criptográficas em um meio público de forma segura. Para simplificar, tentar conceituar o Diffie-Hellman Key Exchange e a seção seguinte sobre como o algoritmo RSA funciona é muito mais trivial com conceitos abstratos em comparação com a matemática pura, portanto, aplicaremos a matemática apenas quando necessário.

O exemplo mais comum usado para conceituar o Diffie-Hellman Key Exchange é conhecido como Secret Color Exchange.

Troca de chaves Diffie-Helman

Diffie-Helman Key Exchange, imagem usada de Wikipedia

A imagem acima representa uma linha de comunicação entre Alice e Bob em um canal público onde Eva pode ouvir tudo que está sendo comunicado publicamente entre Alice e Bob. Então, como Alice e Bob podem comunicar uma mensagem privada usando criptografia assimétrica sem trocar explicitamente essas informações pelo meio público?

Eles trocam informações secretas sem realmente compartilhá-las. O processo funciona da seguinte maneira:

Passo 1

  • Alice e Bob concordam que o amarelo é a tinta comum a ser usada. Esta informação é transmitida pelo canal público para que Eva saiba disso também.
  • Amarelo representa a chave pública.
  • Alice decide secretamente que também usará Azul com Amarelo e Bob secretamente decide que usará Vermelho com Amarelo.
  • O azul usado por Alice e o vermelho usado por Bob representam suas chaves secretas.

Passo 2

  • Em seguida, Alice e Bob misturam suas cores secretas com amarelo para criar uma cor composta.
  • O mix de Alice cria verde e o mix de Bob cria laranja.
  • Agora, Alice e Bob enviam um ao outro suas cores compostas.
  • Eva também recebe essas cores, mas enfrenta um problema, essas cores compostas representam uma função de alçapão.
  • É fácil combinar duas cores para formar uma terceira cor, mas é inviável reverter isso. É muito difícil determinar quais cores foram usadas para criar a terceira cor tendo apenas a terceira cor e o amarelo original.

etapa 3

  • Alice e Bob então misturam suas cores secretas com as cores compostas recebidas, o que resulta no seguinte.
  • Alice mistura azul com a laranja composta de Bob.
  • Bob mistura vermelho com o verde composto de Alice.
  • Ambas as misturas resultam em marrom.

Esse é o segredo do Diffie-Hellman Key Exchange. Mesmo que Alice e Bob tenham ficado com Brown, eles nunca trocaram essa cor, e Eva é deixada sem as informações necessárias das cores secretas para ser capaz de computar a mensagem secreta (Brown).

O exemplo acima é uma visualização muito simples de como funciona a troca. Com a matemática aplicada, a segurança e a integridade garantidas das mensagens podem ser obtidas por meio da criptografia RSA, utilizando a fatoração principal como alçapão.

Como funciona o algoritmo RSA?

O algoritmo RSA funciona utilizando o alçapão de fatoração principal e o Diffie-Hellman Key Exchange para obter criptografia assimétrica. Fundamentalmente, a criptografia RSA depende da dificuldade de fatoração principal como seu método de segurança. Usando um exemplo muito simplificado com matemática limitada descrita, o algoritmo RSA contém 4 etapas.

  1. Geração de chave – durante esta etapa, um usuário pode empregar um gerador de números aleatórios ou simplesmente escolher 2 números primos muito grandes (chamados p e q). Esses números devem ser mantidos em segredo. Calcule n = pq onde “n” é o módulo para as chaves públicas e privadas e seu comprimento é conhecido como o comprimento da chave. Torne “n” público. Para tamanhos de chave iguais ou maiores que 1024 bits, não existe um método eficiente para resolver esse algoritmo (fatorar o número muito grande “n”) de forma eficiente. Mesmo o maior supercomputador do mundo levaria milhares de anos para resolvê-lo. Isso é conhecido como o problema RSA e, se resolvido, comprometeria todos os criptossistemas baseados em RSA.
  2. Distribuição de chaves – Bob deseja enviar informações secretas para Alice para que as etapas a seguir ocorram.
  1. Bob deve saber a chave pública de Alice para criptografar a mensagem.
  2. Alice deve saber sua chave privada para descriptografar a mensagem.
  3. Para Bob poder enviar sua mensagem criptografada, Alice envia sua chave pública para Bob.
  4. Alice nunca distribui sua chave privada.
  • Criptografia – Depois que Bob obtém a chave pública de Alice, ele pode enviar uma mensagem (M) para Alice. Primeiro, ele transforma (M) (neste ponto, uma mensagem de texto simples) em um inteiro (m), usando um esquema de preenchimento acordado. Ele então calcula o texto cifrado usando a chave pública de Alice e transmite (c) para Alice.
  • Descriptografia – Alice pode recuperar a mensagem (m) do texto cifrado (c) usando sua chave privada. Ela pode então recuperar a mensagem original (M) invertendo o esquema de preenchimento de (m).
  • Uma explicação mais detalhada das operações matemáticas usadas no RSA pode ser encontrada Aqui, mas está fora do escopo deste artigo.

    Além disso, a criptografia RSA permite a assinatura digital de mensagens, o que é fundamental para criptomoedas e é um componente-chave do modelo de transação UTXO do Bitcoin. Alice pode assinar digitalmente uma mensagem para Bob para verificar se ela a enviou (validando se sua chave privada foi usada) produzindo um valor hash da mensagem e anexando-o à mensagem. Este valor pode ser verificado por Bob, que usa o mesmo algoritmo de hash em conjunto com a chave pública de Alice e compara o valor de hash resultante com o valor de hash real da mensagem.

    Conclusão

    A criptografia RSA é o método de criptografia assimétrica mais amplamente usado no mundo devido à sua capacidade de fornecer um alto nível de criptografia sem nenhum algoritmo conhecido que ainda seja capaz de resolvê-lo. Com base em alguns avanços brilhantes em criptografia e matemática, incluindo o Diffie-Hellman Key Exchange e a função trapdoor, a criptografia RSA se tornou fundamental para proteger a comunicação em todo o mundo.

    Mike Owergreen Administrator
    Sorry! The Author has not filled his profile.
    follow me