terça-feira, 20 de setembro de 2011

Cibersegredos invioláveis de Nuno Crato

O ultimo livro que a minha irmã me ofereceu chama-se “A matemática das coisas” do Nuno Crato. Tenho o hábito de ler enquanto tomo o pequeno-almoço o que significa que actualmente começo os meus dias com pequenas histórias matemáticas. Hoje li uma das histórias que gostava de partilhar convosco. O artigo que aqui vos deixo foi destacado, em 2003, com o primeiro prémio da competição Raissing Public Awareness of Mathematics, da sociedade de Matemática Europeia. Espero que gostem!

Cibersegredos invioláveis, Nuno Crato

Tem receio de enviar o número do seu cartão de crédito pela internet? Há uma compra de livro ou disco que não fez porque o vendedor requeria o uso de um Visa ou MasterCard? Pois não está sozinho nesta desconfiança. Muitos portugueses e muitas pessoas em todo o mundo não beneficiam ainda das grandes vantagens do comércio electrónico por receios de segurança. No entanto, a circulação de informação confidencial pela Internet é das mais seguras que até hoje se construíram. Com alguns cuidados básicos, tais como evitar comerciantes desconhecidos e não enviar informação confidencial por e-mail directo (não cifrado), o mundo do comercio electrónico está ao alcance dos seus dedos.

A internet abriu possibilidades com que ainda há poucos anos não se sonhava. Tornou-se uma gigantesca biblioteca pública e abriu aos cidadãos do mundo o acesso ao comércio internacional, rápido e seguro. Quer comprar aquele manual técnico que não encontra nas livrarias e de cujo titulo exacto já não se recorda? Quer obter aquele CD de Bob Dylan que não consegue encontrar? É coleccionador e pretende adquirir uma bússola do século XIX? Tudo isso pode fazer pela internet, que lhe dá ainda acesso a várias redes internacionais de alfarrabistas onde, por tuta e meia, talvez encontre aquela esgotadíssima autobiografia de Max Planck que gostaria de ler. Quem sabe, tal como aconteceu com o autor destas linhas, se não encontrará um alfarrabista na Nova Zelandia que lha venda pela Internet?

Mas será seguro enviar o nosso número de cartão de crédito através desses bits e bytes que circulam sabe Deus por onde? Como podem a Amazon e outras cadeias de comércio electrónico garantir que os dados não chegam a mãos menos escrupulosas, ao teclado de algum computador da Cochinchina? É verdade que dizem que a informação segue cifrada, mas, se a minha mensagem é codificada com uma chave que enviam para o meu computador, não podem alguns larápios descobrir essa chave?

A pergunta faz todo o sentido. Durante milénios, os segredos das comunicações apoiaram-se em sistemas de cifra baseados numa chave dita simétrica, que permitia cifrar e decifrar as mensagens. Os interlocutores acordavam nessa chave. Diziam, por exemplo: o A escreve-se B, o B escreve-se C, e por aí adiante. Sendo assim, quando queriam dizer BOM DIA, escreviam CPN EJB. A chave que permite cifrar esta mensagem é a mesma que, invertida, a permite decifrar. A segurança da comunicação estava baseada na possibilidade de manter secreta a chave. Se ela era roubada ou descoberta após tentativas várias...

A comunicação cifrada através da Internet baseia-se num princípio inovador que é o da chave assimétrica. Trata-se de uma autêntica revolução em criptografia, talvez mesmo a mais importante desde o aparecimento de mensagens cifradas. O sistema, que está incorporado nos «browsers», em alguns sistemas de correio electrónico e, é claro, nas comunicações interbancárias, baseia-se numa proposta de Ronald Rivest, Adi Shamir e Leonard Adleman, três investigadores do Massachusetts Institute of Technology que, em 1977, avançaram um método de cifra que veio a ser conhecido pelas suas iniciais: RSA.

Com esse sistema, o receptor da mensagem, o vendedor da Internet, por exemplo, constrói uma chave que consiste em dois números grandes (N, e). Envia esses dois números para o computador do cliente e pouco se preocupa com o seu secretismo. Pode mesmo, se quiser, publicá-los no jornal. O computador do cliente, por seu turno, rescreve a mensagem que pretende enviar em forma numérica (habitualmente, seguindo os códigos ASCII dos computadores), obtendo um terceiro número (M), e aplica depois uma fórmula simples: eleva M à potência e, divide o resultado por N e calcula o resto, obtendo o número C, que envia pela Internet.

O espantoso é que esse número C, que é a mensagem cifrada, contendo, por exemplo, o número do cartão de crédito, pode ser visto por qualquer pessoa, porque, mesmo na posse da chave pública (os números N, e), a mensagem não é decifrável. A razão desse facto é que a função matemática que transformou o número M no número C não é biunívoca: ela transforma o número original num número perfeitamente determinado, mas outros números poderiam ter produzido o mesmo resultado, pelo que nenhum pirata da Internet fica a conhecer o nosso cartão de crédito.

Como pode então o receptor da mensagem descodificá-la? É que este, que emitiu a chave pública, sabe como a construiu: escolheu N como o produto de dois números primos (apenas divisíveis pela unidade e por eles próprios), digamos p e q, e não os revelou a ninguém. Conhecendo-os, calcula um outro número d, de tal forma que (ed - 1) seja divisível por (p - 1)(q - 1). Eleva então o número cifrado C à potência d, divide-o por N e calcula o resto da divisão inteira. Esse resto é a mensagem original M. Milagre? Não. É apenas a aplicação engenhosa de um resultado da teoria dos números, conhecido como Teorema de Euler.

O que torna este sistema praticamente inviolável é que a factorização de um número no produto dos seus primos é extraordinariamente morosa quando esses números são grandes. Obter o produto de dois números é fácil. Mas, mesmo sabendo que um dado número é o produto de dois primos p e q, encontrar esses dois factores pode não ser nada simples - e sem os conhecer a mensagem é indecifrável.

Basta que o número N seja grande e que os seus factores p e q sejam bem escolhidos, para que o tempo de computação necessário à factorização seja extraordinariamente elevado. Tão elevado que se torna impraticável a qualquer ciber-pirata tentar a proeza. Se cada um dos factores tiver 100 dígitos, por exemplo, e um computador conseguir efectuar um milhão de milhões de tentativas por segundo, ainda assim a idade estimada para o Universo não seria suficiente para garantir que tal computador conseguisse descobrir os factores primos desse número.

Como sempre, a cada avanço das técnicas de criptografia sucede-se um avanço nas técnicas de criptoanálise. O sistema RSA tem sido sujeito a ameaças variadas de matemáticos, que procuram algoritmos para a decifração da chave privada d, passando ou não pela factorização da chave pública N nos seus factores primos. Os sucessos que têm sido obtidos colocam restrições à escolha dos componentes do sistema e têm obrigado os peritos a utilizar aperfeiçoamentos vários para reforçar a segurança do sistema, nomeadamente números grandes nas chaves do RSA. Até ao momento, a matemática não conseguiu fornecer nenhuma forma de decifração que funcione contra o RSA. O comércio electrónico continua a ser muito mais seguro do que esconder dinheiro debaixo do colchão.

1 comentário:

  1. Este tipo de leitura logo de manhã ainda pode provocar efeitos indesejáveis.
    Uma pessoa a essa hora ainda não têm o cérebro a funcionar em condições para tanto peso.
    :)

    ResponderEliminar