Na parte I desta série comentei alguns aspectos básicos sobre criptografia. Falei de maneira mais simples possível o que é criptografia e como ela é realizada. Terminei falando sobre a questão da chave, e a sua importância, e introduzi brevemente a questão da criptoanálise. Nesta segunda parte o objetivo é entender o conceito de um tipo especial de criptografia: a criptografia assimétrica. Antes de iniciar a leitura, tenha certeza de ter entendido os conceitos da parte I. O problema das chaves
Não sei se você parou pra pensar, mas a chave é um problema. Se você quer cifrar uma mensagem, passar ela para outra pessoa, e quer que ela possa decifrar a mensagem, você precisa passar a chave pra essa pessoa. E se você está cifrando o texto, quer dizer que você quer que só
aquela pessoa possa ler a mensagem, mais ninguém. A questão óbvia é:
como vou enviar a chave de maneira segura? Mandar ela junto com a
mensagem, em anexo, não dá: qualquer pessoa que tiver acesso no meio do caminho
vai poder ler a mensagem, pois tem a chave e a mensagem. Talvez então telefonar e falar a chave? Se o telefone é seguro, por que não fala a mensagem pelo telefone de uma vez? A criptografia simétrica, que é essa aí onde você combina uma única chave que é conhecida pelas duas pessoas, é sim muito utilizada. Mas antes de começar a falar como se faz, afinal, pra combinar essas chaves de maneira segura, vou falar sobre outro tipo de criptografia. A criptografia assimétrica!!! Criptografia AssimétricaNão seria bom se, quando eu quero cifrar um texto pra você, você pudesse me falar sua chave publicamente, por exemplo colocar ela no seu site? A criptografia assimétrica permite isso. A ideia básica é a seguinte: através de uma série de artifícios matemáticos (envolvendo por exemplo fatoração de números primos), é possível fazer criptografia com duas chaves. Uma, você guarda pra você, e chama de chave privada. A outra, você fala pra todo mundo, e chama de chave pública. Existem métodos de gerar essas chaves, de forma que vão acontecer três coisas muito interessantes:
Ou seja, basta cada pessoa gerar um par de chaves, contar a sua chave pública pra todo mundo, e nossos problemas acabaram! É claro, existem várias coisas que devem ser observadas, e gerar estas chaves não é algo tão simples assim (é simples suficiente pra qualquer computador caseiro fazer em poucos segundos). Mas é possível e é assim que funcionam muitos dos sistemas de criptografia modernos. A figura abaixo ilustra o processo de cifragem e decifragem com criptografia assimétrica: E a criptografia simétrica?Agora você pode estar perguntando: por que, então, ainda se usa criptografia simétrica? Antes vamos voltar a pergunta que eu lhe fiz antes: "Por que você não fala a mensagem pelo telefone?". Talvez você tenha pensado que existem meios de enviar a chave que são seguros e valem a pena, pois precisam ser feitos apenas uma vez, e depois os lados tem a chave e podem trocar quanta informação quiserem. Por exemplo, você poderia ir pessoalmente até a casa do seu amigo, entregá-lo a chave, e depois trocar dados tranquilamente pelas semanas, meses ou anos seguintes. Custou caro (combustível, tempo, etc.) combinar a chave, mas valeu a pena considerando a quantidade de dados que foi trocada de maneira segura depois. Esta situação hipotética explica a pergunta introduzida nessa sessão. A resposta para o fato de usarmos ainda hoje criptografia simétrica é simples: ela é muito mais barata. E quando nos referimos a algo ser barato em computação, estamos falando principalmente de ser rápido e eficiente. Se você precisa cifrar milhões de dados, não vai querer usar a criptografia assimétrica. É muito mais lenta, muito mais pesada. Você já tem um indício disso pelo próprio tamanho das chaves. Uma cifra simétrica (AES) é muito segura com chaves de 256 bits, mas uma cifra assimétrica (RSA), para obter uma segurança equivalente, necessita de chaves de 2048 bits! Mas como no exemplo citado, que tal usar a criptografia assimétrica pra combinar uma chave, e depois usar de novo criptografia simétrica para cifrar seus dados? Se a criptografia assimétrica
é “cara”, use ela só pro que interessa, ou seja, cifrar com a chave
pública da pessoa com quem você quer se comunicar uma quantidade
pequena de informações: uma chave simétrica. Depois que ambos
conhecem a chave simétrica, pronto, use ela para trocar dados
sigilosos. É baseado nessa idéia que funciona, entre muitas outras coisas, o sistema de “sites seguros”, aqueles com https e “cadeado”. Por exemplo os sites de bancos virtuais. Considerações FinaisCom este artigo, você deve ter obtido uma noção básica do funcionamento da criptografia assimétrica. Tenha certeza de ter compreendido, pelo menos, a diferença entre a criptografia simétrica e assimétrica, e como ambas são utilizadas. Se tiver dúvidas, entre em contato!No próximo artigo, agora que temos um pouco de noção dos dois
principais modos de criptografia, farei uma abordagem um pouco mais
prática, explicando uma das aplicações de criptografia mais utilizadas: a assinatura digital. |