O que é criptografia assimétrica?

Existem muitas partes diferentes da criptografia. Se você quiser criptografar alguns dados, porém, existem dois tipos de algoritmos que você pode usar: algoritmos de criptografia simétrica e algoritmos de criptografia assimétrica. O conceito é o mesmo: eles podem criptografar dados, mas funcionam com princípios diferentes e têm outros casos de uso.

A diferença titular, no entanto, descreve as chaves de criptografia. Um algoritmo de criptografia simétrica usa uma única chave compartilhada para criptografar e descriptografar dados. Um algoritmo de criptografia assimétrica usa duas chaves vinculadas, uma para descriptografar e outra para descriptografar.

Terminologia

Os algoritmos de criptografia assimétrica dependem do uso de duas chaves distintas. Uma chave pode ser usada para criptografar dados e a outra para descriptografar. As duas chaves de criptografia não são apenas dois valores antigos. Eles estão intrinsecamente relacionados e precisam ser gerados por um algoritmo de geração de chaves.

Um nome alternativo para criptografia assimétrica é criptografia de chave pública. Isso porque se pretende que uma das duas chaves seja pública. O conceito tradicional é que a chave de criptografia é compartilhada publicamente e a chave de descriptografia é mantida estritamente privada. Por esse motivo, a chave de criptografia é chamada de chave pública e a chave de descriptografia é a chave privada.

Essa configuração permite que qualquer pessoa criptografe uma mensagem para que apenas o proprietário da chave privada possa descriptografá-la. Isso é útil porque qualquer pessoa pode se comunicar com segurança com o destinatário pretendido com uma única chave de criptografia publicada. Para se comunicar com segurança, o destinatário precisaria usar a chave pública do remetente original.

Teoricamente, não há razão para que você não possa trocar as chaves e compartilhar a chave de descriptografia enquanto mantém a chave de criptografia privada. Isso pode ser usado para verificar a autenticidade da fonte, se não fornecer nenhuma segurança significativa. No entanto, isso não é feito na prática, pois existem outros mecanismos para alcançar o mesmo resultado.

Propriedades de algoritmos de criptografia simétrica

Os algoritmos de criptografia assimétrica requerem o uso de chaves muito maiores do que os algoritmos de criptografia simétrica ao fornecer o mesmo nível de segurança. Geralmente, um algoritmo de criptografia simétrica com uma chave de criptografia de 128 bits é considerado seguro, embora as chaves de 256 bits sejam preferidas. Em um algoritmo de criptografia assimétrica, as chaves de 2048 bits são consideradas seguras.

O exemplo de chave de 2.048 bits se aplica ao RSA, que há muito tempo é o padrão para criptografia assimétrica. A criptografia de curva elíptica, no entanto, é um conceito mais novo que também é assimétrico, mas usa chaves significativamente menores. Uma chave RSA de 2048 bits oferece segurança equivalente a uma chave de curva elíptica de 224 bits.

Dica: Os valores acima são considerados seguros para uso comercial, mas a NSA requer chaves mais fortes para criptografia ultrassecreta. Chaves RSA de pelo menos 3072 bits são necessárias, enquanto chaves de curva elíptica de 384 bits são necessárias. Vale a pena notar que uma chave RSA de 3072 bits é mais fraca que uma chave de curva elíptica de 384 bits.

Os algoritmos de criptografia assimétrica tendem a ser relativamente lentos em comparação com os algoritmos de criptografia simétrica. A comunicação segura pode ser realizada em um canal inseguro se ambas as partes gerarem um par de chaves assimétricas e depois trocarem as chaves públicas. Dessa forma, ambas as partes podem enviar mensagens que somente a outra pode descriptografar.

Na prática, pelo menos uma das partes deve verificar a integridade de sua chave pública. Isso é feito por meio de PKI ou Public Key Infrastructure. Isso assume a forma de Autoridades de Certificação que assinam as chaves de outras pessoas para mostrar que sua identidade foi verificada. Nesse sistema, todas as autoridades de certificação devem ser confiáveis; sem isso, o sistema desmoronará.

Uso na prática

Os algoritmos de criptografia assimétrica normalmente não são usados ​​para criptografia em massa, especialmente quando o tempo ou o desempenho são um problema. Eles podem ser usados ​​para criptografar mensagens únicas, como o conteúdo de um e-mail. No entanto, sua capacidade de proteger um canal inseguro os torna uma excelente escolha para um protocolo de troca de chaves que transmite chaves simétricas que podem ser usadas para criptografia em massa mais eficiente.

Este é o caso de uso em TLS, que fornece segurança em HTTPS. Um usuário se conecta a um servidor web; eles então trocam chaves públicas para criptografar pequenas mensagens entre si. O servidor então gera uma chave simétrica, criptografa-a com a chave pública do usuário e a envia para eles. O usuário descriptografa a chave e pode usar a chave simétrica para criptografar futuras comunicações com o servidor com eficiência.

Uma autoridade de certificação no processo acima verifica a chave pública do servidor. Isso permite que o usuário tenha certeza de que está se comunicando com quem está tentando se comunicar. Na maioria dos casos, o usuário gera uma chave de uso único, pois o servidor não precisa verificar com qual usuário está se comunicando.

Conclusão

Os algoritmos de criptografia assimétrica utilizam duas chaves distintas. Uma chave é usada para criptografia e a outra para descriptografia. As chaves são ligadas matematicamente e devem ser geradas por um algoritmo de geração de chaves; valores aleatórios não funcionam. Normalmente, a chave de criptografia é compartilhada publicamente, permitindo que qualquer pessoa criptografe uma mensagem destinada ao proprietário do par de chaves.

Enquanto a chave de descriptografia permanecer privada, apenas o proprietário da chave poderá descriptografar as mensagens criptografadas com a chave pública. Como tal, a criptografia assimétrica também costuma ser chamada de criptografia de chave pública.