Você já ouviu falar sobre os tipos de criptografia? O Dataholic João Victor escreveu esse artigo onde aborda sobre a criptografia simétrica e assimétrica. Boa leitura!
O que é criptografia?
Desde a antiguidade a criptografia é utilizada para troca de informações sigilosas, onde apenas o remetente e o destinatário são capazes de decifrar a mensagem. Um bom exemplo é a Cifra de César, desenvolvida pelo próprio imperador romano para se comunicar com seus generais em momentos de guerra.
Atualmente essa tecnologia de proteção de informações é amplamente utilizada, principalmente na computação. Diferente das criptografias mais antigas (ou criptografias clássicas) os métodos de cifragem modernos são mais complexos e mais seguros, os quais serão o tema deste artigo, mais precisamente a diferença entre criptografia simétrica e criptografia assimétrica.
Criptografia simétrica
Antes de iniciarmos, é necessário entender o termo “chaves criptográficas” ou “chaves de criptografia”. Essas chaves são conjuntos de bits baseados em algum algoritmo capaz de decodificar uma informação. De forma simples, a(s) chave(s) que determinam como nosso texto legível será “bagunçado” e vice-versa.
Na criptografia de chaves simétricas utiliza-se uma única chave para cifrar e decifrar uma mensagem.
Apesar de, geralmente, ser executada mais rapidamente do que o método assimétrico, essa forma de criptografia apresenta uma desvantagem, que é a troca de chaves. Em casos de envios de mensagens em um sistema aberto, é necessário que a chave seja enviada ao destinatário, correndo o risco de ser interceptada por um terceiro.
Por esse motivo, fez-se necessário a criação da criptografia com chaves assimétricas.
Criptografia assimétrica
Nesse método de cifragem é utilizado um par de chaves assimétricas, ou seja, diferentes, porém matematicamente vinculadas através dos números aleatórios e cálculos para a geração das mesmas. O par é composto por uma chave pública (que pode ser divulgada) e uma chave privada (que deve ser mantida em segredo). Dessa forma, uma mensagem criptografada com a chave pública só poderá ser decifrada com a chave privada e vice-versa.
Obs: Não é possível descobrir uma chave privada a partir de sua chave pública (ou vice-versa) ou a partir da mensagem cifrada.
Cifrando com a chave privada (autenticação)
A figura abaixo exemplifica o processo de criptografia com chave privada:
O seguinte cenário é apresentado na imagem:
João deseja enviar um documento assinado ao seu amigo Pedro e para isso utiliza sua chave privada (que somente ele tem acesso).
Ao receber o documento assinado, Pedro precisa confirmar a autenticidade, ou seja, se foi realmente João que assinou. Para isso ele utiliza a chave pública de João para decifrar o documento.
Com a decifragem bem sucedida é confirmada a autenticidade do documento.
Cifrando com a chave pública (confidencialidade)
A figura abaixo exemplifica o processo de criptografia com chave pública:
O seguinte cenário é apresentado na imagem:
Pedro deseja enviar uma mensagem para João, agradecendo pelo documento. Para garantir que apenas João leia sua mensagem, ele utiliza a chave pública de João para criptografar a mensagem.
Ao receber a mensagem João utiliza sua chave privada (que apenas ele tem acesso) para decifrar a mensagem.
Com a decifragem bem sucedida apenas João consegue ler a mensagem de Pedro, garantido a confidencialidade da conversa entre os dois.
Concluímos, portanto, que a criptografia não é uma escolha, e sim um recurso essencial para garantir a segurança das informações. Agora que você entende melhor sobre criptografia, é hora de escolher uma linguagem de programação e tentar criar seu próprio sistema de criptografia.