Criptografia de Chave Pública ou Assimétrica
[Transcrição do vídeo abaixo]
Fala, pessoal aqui é Daniel Scocco do canal criptos.com.br e hoje eu vou falar sobre Criptografia de Chave Pública, que é o que é usado entre outras coisas para se fazer assinaturas digitais e é o modo como o Bitcoin, por exemplo, se assegura que a pessoa que está fazendo uma transação de fato é a dona daquela carteira e portanto pode enviar aqueles Fundos.
Bom, em um vídeo passado eu já expliquei o que é criptografia, como ela surgiu, então eu recomendo que você assista esse vídeo antes de prosseguir com este aqui. Fazendo um resumo aí, a gente tem a Alice que está querendo mandar uma mensagem para Bob e ela vai usar a criptografia para proteger o conteúdo dessa mensagem para que, se alguém tiver contato com essa mensagem, não vai conseguir entender o que está escrito ali, o que ela estava querendo passar pro Bob. Então ela vai usar o algoritmo de cifragem, como você está vendo à esquerda, o input desse algoritmo é M, que é a mensagem que ela quer passar para o Bob e “K”, que é uma chave para dar mais segurança para o processo. Esse algoritmo cospe fora C, que é a cifra ou o código, esse C é enviado para o Bob. Se um atacante tiver contato com esse C, ele não vai conseguir entender o conteúdo da mensagem. O Bob, por sua vez, que é o do lado direito ali, ele vai usar o algoritmo de decifragem. Os inputs são C, que é a cifra e K, que é a mesma chave que Alice usou para fazer a cifragem e esse algoritmos de decifragem cospe fora M, que é a mensagem original ali, e o Bob vai poder ler essa mensagem.
Esse processo é chamado de Criptografia Simétrica porque dos dois lados, a mesma chave é usada, a mesma chave K. Tradicionalmente, a criptografia sempre foi simétrica, ela surgiu assim e historicamente ela sempre foi aplicada com a mesma chave dos dois lados. Porém mais ou menos em 1970, começaram a pensar como seria possível usar um sistema criptográfico onde as duas partes não tivessem uma chave secreta pré-acordada entre elas. Esse problema começou a aparecer com o surgimento das redes de computadores que criaram a necessidade de você ter pessoas podendo se comunicar de modo seguro com criptografia sem que elas tivessem se comunicado no passado, sem que elas tivessem uma chave. E aí a solução para isso foi justamente a chamada criptografia assimétrica ou Criptografia de Chave Pública. A Criptografia de Chave Pública é assim chamada porque ela trabalha com um par de chaves, uma chave pública e uma chave privada ou secreta e ela é assimétrica justamente porque são chaves diferentes que são usadas em cada uma das pontas. Como você tá vendo aí no exemplo de baixo, a Alice vai usar de novo um algoritmo de cifragem, que vai ter no input a mensagem que ela quer passar e PK, que é a Public Key, ou a chave pública do Bob. Esse algoritmo vai cuspir fora C, que é a cifra e aí Alice vai passar essa cifra para o Bob, e o Bob por sua vez vai aplicar o algoritmo de decifragem, só que agora o input é a cifra C e SK, que não é mais a mesma chave que Alice usou, e sim a chave privada dele, ou a chave secreta dele, e esse algoritmo vai cuspir fora M, que é a mensagem original que Alice enviou para ele.
Tem um exemplo aqui que vai ajudar você a entender como a Criptografia de Chave Pública funciona. Então vamos lá. Imagina que um algoritmo de cifragem é como se fosse uma mala onde eu vou colocar a informação dentro dessa mala, e enquanto essa informação estiver dentro dessa mala, ela tá protegida. Uma terceira pessoa não vai conseguir ler o conteúdo dessa informação. E aí a gente tem a Alice que quer receber de forma segura algumas informações de outras pessoas. Por exemplo, ela pode ter um site onde ela quer receber as informações de pagamento, número de cartão de crédito, por exemplo, dos seus clientes. Nesse caso, Bob é um possível potencial cliente então, o que Bob vai fazer? Ele vai colocar as informações do cartão de crédito dele dentro dessa mala, fechar a mala e enviar a mala para Alice e quando chegar pra Alice, ela vai por sua vez, abrir a mala e conseguir ter acesso às informações de modo seguro do cartão de crédito do Bob. E o jeito como a criptografia assimétrica com chave pública funciona é dessa seguinte maneira: você tem um par de chaves, como eu falei, que são a chave pública e a chave privada ou secreta e, se a mala for fechada com a chave pública, somente a chave privada ou secreta vai poder abrir essa mala. E vice-versa. Então, se Bob fechar a mala com a chave pública da Alice, um outro sujeito, outro cliente, ou um atacante, um ser malicioso que tenha também acesso à chave pública da Alice, não vai conseguir abrir essa mala e ter acesso à informação. Somente a Alice, com a chave privada dela, que vai conseguir abrir a mala. E justamente, como o nome diz, a chave pública da Alice, ela pode deixar essa chave totalmente pública e disponível para que qualquer pessoa possa usá-la para fechar a mala, com alguma informação que quer transmitir para a Alice de forma segura.
A Criptografia de Chave Pública não serve somente para se fazer a cifragem ou a proteção de informação. Tem uma segunda função muito importante e muito utilizada, que é a função de assinatura digital.
Então vamos supor que a Alice quer enviar uma informação para o Bob e ela quer dar certeza pro Bob que de fato ela é a remetente, que foi ela quem enviou essa informação. Então ela pode usar o mesmo mecanismo que a gente acabou de escrever para esta função de assinatura.
Então o que ela faria? Ela escreveria “Assinado Alice” junto com outra informação e usaria a chave secreta dela para cifrar, ou seja, pra guardar essa informação dentro da mala e fechar essa informação lá e, por sua vez, enviaria a cifra ou a mala para o Bob. O Bob, por sua vez, iria utilizar a chave pública da Alice para abrir essa mala e ter acesso ao conteúdo e depois que ele visse que está escrito “Assinado Alice”, ele saberia que Alice de fato foi o remetente dessa informação.