Capítulo 7 Introdução a Criptografia
A Criptografia é a área que trata do envio e da recepção de mensagens secretas. O objetivo da criptografia é enviar mensagens de maneira que somente o destinatário desejado possa lê-los. Além disso, ao recebê-la, o destinatário requer alguma garantia de autenticidade, isto é, que não foi enviada por alguém que está tentando o enganar. A criptografia moderna depende fortemente da álgebra abstrata e da teoria de números.
Chamaremos a mensagem que estamos enviando de texto claro. A mensagem codificada será chamada de texto cifrado. Tanto o texto claro como o texto cifrado estão escritos em um alfabeto, que consiste de letras ou caracteres. Os caracteres podem incluir não somente as letras usuais como A, \(\ldots\text{,}\) Z e a, \(\ldots\text{,}\) z mas também dígitos, caracteres de pontuação e espaços. Um criptossistema, ou cifrado, tem duas partes: encriptação, o processo de transformar um texto claro em um texto cifrado, e decriptação, a transformação inversa do texto cifrado em texto plano.
Existem diversas famílias de criptossistemas, cada uma se distingue por um algoritmo particular de encriptação. Os criptossistemas em uma família específica se distinguem entre eles por um parâmetro da função de encriptação chamado key (chave). Um criptossistema clássico tem uma chave, que deve ser mantida em segredo, só é conhecida pelo remetente e pelo destinatário da mensagem. Se uma pessoa \(A\) deseja enviar mensagens secretas a duas pessoas diferentes \(B\) e \(C\text{,}\) e não quer que \(B\) entenda a mensagem enviada para \(C\) e vice-versa, então \(A\) deve usar duas chaves diferentes, um criptossistema para trocar mensagens com \(B\text{,}\) e outro para trocar mensagens com \(C\text{.}\)
Os sistemas que usam duas chaves separadas, uma para encriptar e outra para decriptar, são conhecidos como criptossistemas de chave pública (public key cryptosystems). Como o conhecimento da chave de encriptação não permite acesso a chave de decriptação, a primeira pode ser colocada como pública. Um criptossistema de chave pública permite tanto a \(A\) como a \(B\) enviar mensagens a \(C\) usando a mesma chave de encriptação. Qualquer um pode encriptar mensagens para enviar a \(C\text{,}\) mas só \(C\) sabe como decriptar essas mensagens.