A criptografia envolve a prática de criptografar e descriptografar informações para garantir que elas permaneçam privadas e protegidas contra terceiros indesejados. A criptografia foi usada pela primeira vez no Antigo Egito, por volta de 1900 A.C., com substituição por hieróglifos para proteger as comunicações. Um algoritmo criptográfico é a equação matemática usada para embaralhar o texto comum e torná-lo ilegível. Ambos são usados para criptografia de dados, autenticação e assinaturas digitais. Há três tipos de criptografia: Criptografia de chave simétrica - O remetente e o destinatário compartilham uma única chave, e o remetente usa essa chave para criptografar texto simples. O texto cifrado é enviado ao destinatário, que pode aplicar a mesma chave para descriptografar a mensagem e recuperar o texto simples do remetente. A criptografia de chave pública ou criptografia assimétrica – Na criptografia de chave pública (PKI), também conhecida como criptografia assimétrica, existem duas chaves relacionadas, a chave pública e a chave privada. Embora a chave pública possa ser distribuída livremente, a chave privada emparelhada precisa permanecer confidencial. A chave pública é usada para criptografia, e a chave privada é usada para descriptografia. Os algoritmos de criptografia assimétrica mais usados são RSA e ECC. Certificados TLS/SSL costumam usar chaves RSA, e o tamanho recomendado para essas chaves está sempre aumentando (por exemplo, 1024 bits para 2048 bits) para manter força criptográfica suficiente. Uma alternativa à RSA é a ECC, que pode oferecer o mesmo nível de força criptográfica com tamanhos de chave muito menores, oferecendo segurança aprimorada com menores requisitos computacionais e de armazenamento. Função de hash - Nenhuma chave é usada nesse algoritmo, mas um valor de comprimento fixo é calculado a partir de texto simples, o que torna impossível recuperar o conteúdo a partir do texto simples. As funções de hash costumam ser usadas por sistemas de computador para criptografar senhas. Um algoritmo de hash conhecido é o 256-SHA.