Ciphertext é texto criptografado transformado a partir de texto simples usando um algoritmo de criptografia. O texto criptografado não pode ser lido até que tenha sido convertido em texto puro (decifrado) com uma chave. A cifra de decifração é um algoritmo que transforma o texto criptografado de volta ao texto em texto puro.
O termo cifra é às vezes usado como sinônimo para texto criptografado. Contudo, refere-se ao método de encriptação e não ao resultado.
Tipos de cifras
Existem vários tipos de cifras, incluindo:
- Cifras de substituição. Substitua bits, caracteres, ou blocos de caracteres em texto simples por bits, caracteres ou blocos de caracteres alternados para produzir texto cifrado. Uma cifra de substituição pode ser monoalfabética ou polialfabética:
- Um único alfabeto é usado para encriptar toda a mensagem em plaintextos. Por exemplo, se a letra A for cifrada como a letra K, isto será o mesmo para a mensagem inteira.
- Uma substituição mais complexa usando um alfabeto misto para encriptar cada bit, caractere ou bloco de caracteres de uma mensagem em texto plaintexto. Por exemplo, a letra A pode ser codificada como a letra K para parte da mensagem, mas mais tarde pode ser codificada como a letra W.
- Cifras de transposição. Ao contrário das cifras de substituição que substituem as letras por outras letras, as cifras de transposição mantêm as letras iguais, mas reorganizam a sua ordem de acordo com um algoritmo específico. Por exemplo, numa simples cifra de transposição colunar, uma mensagem pode ser lida horizontalmente mas seria escrita verticalmente para produzir o texto cifrado.
- Cifras poligráficas. Substituindo uma letra por outra, uma cifra poligráfica realiza substituições com dois ou mais grupos de letras. Isto mascara a distribuição de frequência das letras, tornando os ataques de análise de frequência muito mais difíceis.
- Cifras de permutação. Nesta cifra, as posições mantidas pelo texto em plaintextos são deslocadas para um sistema regular para que o texto em cifras constitua uma permutação do texto em plaintextos.
- Criptografia de chave privada. Nesta cifra, o emissor e o receptor devem ter uma chave pré-partilhada. A chave compartilhada é mantida em segredo de todas as outras partes e é usada para criptografia, bem como para decodificação. Esta criptografia também é conhecida como “algoritmo de chave simétrica”
- Criptografia de chave pública. Nesta cifra, duas chaves diferentes — chave pública e chave privada — são usadas para encriptação e desencriptação. O remetente usa a chave pública para realizar a criptografia, mas a chave privada é mantida em segredo do receptor. Isto também é conhecido como “algoritmo de chave assimétrica”
Uses of ciphertext
Cifras assimétricas, que são tipicamente usadas para proteger comunicações online, são incorporadas em muitos protocolos de rede diferentes para serem usadas para criptografar trocas. Por exemplo, a Transport Layer Security usa cifras para criptografar dados da camada de aplicação.
Redes privadas virtuais conectando trabalhadores ou filiais remotas em redes corporativas usam protocolos com cifras simétricas para proteger as comunicações de dados. As cifras simétricas protegem a privacidade dos dados na maioria das redes Wi-Fi, bancos online, serviços de comércio eletrônico e telefonia móvel.
Outros protocolos, incluindo shell seguro, OpenPGP e Secure/Multipurpose Internet Mail Extensions usam criptografia assimétrica para criptografar e autenticar pontos finais, mas também para trocar com segurança as chaves simétricas para criptografar dados de sessão. Por razões de desempenho, os protocolos geralmente dependem de cifras para criptografar dados de sessão.
Ataques de criptografia
O conhecido ataque de criptografia, ou ataque somente de criptografia (COA), é um método de ataque usado em criptanálise quando o atacante tem acesso a um conjunto específico de criptografia. Entretanto, neste método, o atacante não tem acesso ao texto claro correspondente, ou seja, dados que são transmitidos ou armazenados não criptografados. O COA é bem sucedido quando o texto claro correspondente pode ser determinado a partir de um determinado conjunto de texto criptografado. Às vezes, a chave que é usada para criptografar o texto criptografado pode ser determinada a partir deste ataque.
Em um ataque de texto criptografado escolhido (CCA), o atacante pode fazer com que a vítima (que conhece a chave secreta) descriptografe qualquer texto criptografado e envie de volta o resultado. Analisando o texto criptográfico escolhido e o correspondente texto em quadrícula que recebem, o atacante tenta adivinhar a chave secreta que a vítima utilizou. O objetivo do CCA é obter informações que diminuam a segurança do esquema de criptografia.
Ataque de chave encriptada é qualquer forma de análise criptográfica onde o atacante pode observar o funcionamento de uma cifra sob várias chaves diferentes cujos valores o atacante não conhece inicialmente. No entanto, existe alguma relação matemática ligando as chaves que o atacante conhece.
Exemplo de criptografia
Uma das primeiras e mais simples cifras é a cifra de César, que usa um algoritmo de chave simétrica. A chave age como um segredo compartilhado entre duas (ou mais) partes que podem ser usadas para enviar informações secretas que ninguém pode ler sem uma cópia da chave.
A cifra César é uma cifra de substituição na qual cada letra do texto em quadrícula é “deslocada” um certo número de lugares abaixo do alfabeto. Por exemplo, com um deslocamento de 1, A seria B, B seria substituído por C, etc. O método tem o nome de Júlio César, que se diz ter usado para se comunicar com seus generais.
Aqui está um exemplo dos passos de encriptação e decriptação envolvidos com a cifra de César. O texto a ser encriptado é “defender o muro leste do castelo”, com um deslocamento (chave) de 1.
- Plaintext: defender o muro leste do castelo
- Ciphertext: efgfoe uif fbtu xbmm pg uif dbtumf