# data[].attributes.body
Criptografia, derivado do grego “escrita oculta”, é o estudo das técnicas de ocultação de informações. Esta é uma área tradicionalmente ligada à segurança da informação, remontando a um passado de milhares de anos.

A criptografia atual está fortemente ligada à Ciência da Computação, dada a enorme quantidade de cálculos e manipulações realizadas a cada operação de codificação e decodificação. De forma recíproca, a natureza segura de algumas técnicas criptográficas se baseia na computabilidade dos algoritmos aplicados – dado um computador, ou grupo de computadores, com poder suficiente, algumas técnicas passam a ser quebradas com facilidade.

# data[].attributes.body
A criptografia simétrica é a forma mais comum de criptografia e a de mais simples entendimento. Os dados a serem protegidos são alimentados a um algoritmo que recebe uma chave secreta e fornece como saída o dado criptografado, ou seja, modificado e aparentemente sem sentido. A informação é então transmitida ao receptor (ou armazenada para uso posterior). Para obter os dados originais, a informação criptografada é alimentada a um algoritmo que realiza um procedimento inverso e, se fornecida a mesma chave secreta, tem como saída os dados originais.

# data[].attributes.body
A criptografia assimétrica ou criptografia de chave pública, cujo desenvolvimento teve início em 1976, tem como principal vantagem aquele que era o ponto fraco da criptografia simétrica: as chaves de codificação e decodificação são diferentes, eliminando o problema da comunicação. Os algoritmos usados no processo de criptografia são relacionados, porém um é de resolução muito mais fácil que o outro (chamados funções de mão única) – a chave original, chamada de chave privada, pode dar origem à chave que é divulgada, chamada de chave pública, mas o inverso não é possível em tempo hábil.

# data[].attributes.body
A criptografia possui usos importantes em áreas variadas, divididos principalmente entre duas vertentes, que recebem o nome de confidencialidade e autenticidade.

O uso mais comum da criptografia é garantir a segurança de informações sigilosas (confidencialidade), codificando os dados de forma que apenas aqueles que tiverem o direito de lê-la o possam fazer. Um documento que se deseja manter secreto é codificado usando alguma das técnicas existentes, e a chave apropriada é fornecida ao receptor (possivelmente usando algum meio diferente), que a utiliza para decodificar os dados criptografados e obter o documento original. Caso algum espião tenha acesso aos dados criptografados durante a transferência ou armazenamento, este não terá como ler o conteúdo verdadeiro do documento.

A segunda categoria de uso é a autenticação, que está relacionada à comprovação de que uma mensagem foi realmente enviada por quem diz ser o remetente, ou que o conteúdo de um documento não foi alterado. Normalmente trabalha-se com funções de hash, que produzem uma cadeia de símbolos substancialmente menor que o texto original e permitem uma comparação rápida. Estas funções são preparadas de forma que pequenas alterações no documento original gerem mudanças significativas na cadeia resultante.

Na autenticação de remetente, este assina a mensagem com sua chave privada – ou seja, gera um hash da mensagem enviada e depois aplica uma criptografia assimétrica sobre o hash utilizando sua chave – e aqueles que quiserem verificar a autenticidade comparam o hash da mensagem recebida com o resultado da aplicação da chave pública do remetente sobre a assinatura enviada.