O que é criptografia?
sobes.tech IA
Resposta da IA
A criptografia é o processo de transformar informações legíveis (texto claro) em um formato ilegível (texto cifrado) usando um algoritmo criptográfico e uma chave. O objetivo é garantir a confidencialidade dos dados, para que apenas pessoas autorizadas possam lê-los, usando a chave correspondente para decifrá-los.
Existem dois tipos principais de criptografia:
-
Criptografia simétrica: Usa a mesma chave tanto para cifrar quanto para decifrar. A velocidade é alta, mas o problema está na transmissão segura da chave. Exemplos: AES, DES.
<?php // Exemplo de criptografia simétrica (simplificado, apenas para demonstração) $key = 'chave123'; $plaintext = 'Mensagem secreta'; // Suponha uma função de cifragem simples (não usar em produção) function simple_encrypt($data, $key) { return base64_encode($data ^ $key); // Operação XOR de exemplo } // Suponha uma função de decifragem simples (não usar em produção) function simple_decrypt($data, $key) { return base64_decode($data) ^ $key; // Operação XOR de exemplo } $ciphertext = simple_encrypt($plaintext, $key); echo "Cifrado: " . $ciphertext . "\n"; $decryptedtext = simple_decrypt($ciphertext, $key); echo "Decifrado: " . $decryptedtext . "\n"; ?> -
Criptografia assimétrica (criptografia com chave pública): Usa um par de chaves: chave pública para cifrar e chave privada para decifrar. A chave pública pode ser distribuída livremente, enquanto a chave privada é mantida em segredo. A velocidade é menor que a do criptografia simétrica. Exemplos: RSA, ECC.
<?php // Exemplo de criptografia assimétrica (simplificado, apenas para demonstração RSA) // Na prática, usam-se funções PHP para OpenSSL (openssl_public_encrypt, openssl_private_decrypt, etc.) // Geração de chaves (processo complexo) // $privateKey = ... // $publicKey = ... $plaintext = 'Outra mensagem secreta'; // Criptografia com chave pública // $encrypted = openssl_public_encrypt($plaintext, $ciphertext, $publicKey); // echo "Cifrado (assimétrico): " . base64_encode($ciphertext) . "\n"; // Decifragem com chave privada // $decrypted = openssl_private_decrypt($ciphertext, $decryptedtext, $privateKey); // echo "Decifrado (assimétrico): " . $decryptedtext . "\n"; // No código real, usariam-se funções OpenSSL ?>
A criptografia é aplicada para proteger dados em armazenamento (encryption at rest) e durante a transmissão (encryption in transit), por exemplo, nos protocolos SSL/TLS de websites.