04 de junho de 2020 | 03h00
A criptografia, cuja raiz vem do grego kryptos (escondido) e de graphia (escrita), viabiliza o uso da Internet. É ela que permite que possamos trocar informações preservando nossa privacidade, de forma que apenas o destinatário correto seja capaz de decifrar seu conteúdo graças ao uso de operações matemáticas aplicadas sobre as mensagens. Imagine que você queira enviar uma mensagem para alguém, e que você deseja que apenas a destinatária da sua mensagem seja capaz de lê-la. Mais que isso, você também deseja que a destinatária tenha certeza que o remetente da mensagem foi você, e não alguém se passando por você. Em outras palavras, você quer garantir simultaneamente a confidencialidade da comunicação e a autenticidade de sua autoria, e quer se comunicar com qualquer pessoa que também possua chaves públicas e privadas
Como pares de chaves públicas e privadas funcionam? De forma simplificada, cada usuário possui um par de chaves: a primeira, chamada de chave privada, como o próprio nome indica, deve ser de conhecimento apenas da pessoa que a possui. A segunda chave, chamada de chave pública, é divulgada para o maior número possível de pessoas (via redes sociais e na assinatura de e-mail, por exemplo) . Para enviar uma mensagem de A para B, a remetente A deve encriptar a mensagem com a chave pública de B, e para ler essa mensagem, o destinatário B usa sua chave privada. Analogamente, se B quer enviar uma mensagem para A, deve ser utilizada a chave pública de A, que só pode ser decifrada com a chave privada associada. Você pode imaginar que a chave pública faz o papel do cadeado, trancando a informação – e essa informação só pode ser liberada com o uso de uma chave específica (a chave privada).
O grande desafio para viabilizar o modelo de criptografia de chave pública estava em conseguir utilizar um canal não confiável (a Internet) para trocar informações sensíveis, como as chaves dos usuários (necessárias para assinar e encriptar as mensagens). A resposta para essa questão foi publicada em 1978 por três cientistas de computação: o norte-americano Ron Rivest, o israelense Adi Shamir e o matemático norte-americano Leonard Adleman, que desenvolveram o algoritmo batizado com a primeira letra de seus sobrenomes (RSA) durante seu período de estudos no Massachusetts Institute of Technology (MIT), em Cambridge, Estados Unidos. A mesma solução havia sido encontrada cinco anos antes pelo matemático inglês Clifford Cocks enquanto trabalhava no Quartel General de Comunicações do Governo do Reino Unido (GCHQ, Government Communications Headquarters), porém seu trabalho foi classificado como confidencial e só foi divulgado em 1997.
A segurança do algoritmo RSA, amplamente utilizado para criptografar e descriptografar conteúdos transmitidos digitalmente, está baseada em um problema matemático que, até hoje, não possui solução eficiente: a fatoração em números primos de valores elevados. O problema consiste em descobrir quais são os números primos que, multiplicados uns pelos outros, resultam no número original – que é utilizado como chave para criptografar e assinar mensagens. Reforçando: a grande utilidade do RSA é que, combinando-se as chaves públicas e privadas dos usuários A e B, é possível garantir que apenas a usuária B vai conseguir ler a mensagem do usuário A, e ainda que a usuária B poderá ter certeza que o usuário A é o autor da mensagem original.
Até agora, apesar de esforços de estudiosos ao redor do mundo, não foi encontrado um algoritmo que consiga fatorar um número grande em fatores primos em um intervalo de tempo aceitável (ou seja, re-escrever esse número como um produto de números primos). Por exemplo, a fatoração de um número de 232 dígitos (representado por 768 bits em um computador) foi conseguida em 2009 após um conjunto de mais de cem computadores trabalhar no problema por dois anos – e quanto maior o número de dígitos, muito maior será a demora. A questão crítica é que até hoje não foi provado matematicamente que esse problema é impossível de ser resolvido – em outras palavras, ainda não é possível determinar se de fato não existe uma forma eficiente de fatorar um número em seus fatores primos. Porém, o advento de computadores quânticos é visto por alguns como uma ameaça ao modelo RSA, pois é possível que o processamento de diversos algoritmos seja feito de forma bem mais eficiente em máquinas desse tipo — inclusive a decomposição em fatores primos. É esse o tema da próxima coluna. Até lá.
*Fundador da GRIDS Capital e autor do livro Futuro Presente - o mundo movido à tecnologia, é Engenheiro de Computação e Mestre em Inteligência Artificial
Nenhum comentário:
Postar um comentário