# Segurança em Redes de Dados/Criptografia

Criptografia (do grego kryptós, "escondido", e gráphein, "escrita") é o estudo dos princípios e técnicas pelas quais a informação pode ser transformada da sua forma original para outra ilegível, de forma que possa ser conhecida apenas por seu destinatário (detentor da "chave secreta"), o que a torna difícil de ser lida por alguém não autorizado. Assim sendo, só o receptor da mensagem pode ler a informação com facilidade.
Nos dias atuais, onde grande parte dos dados é digital, sendo representados por bits, o processo de criptografia é basicamente feito por algoritmos que fazem o embaralhamento dos bits desses dados a partir de uma determinada chave ou par de chaves, dependendo do sistema criptográfico escolhido
De facto, o estudo da criptografia cobre bem mais do que apenas cifragem e decifragem. É um ramo especializado da teoria da informação com muitas contribuições de outros campos da matemática e do conhecimento, incluindo autores como Maquiavel, Sun Tzu e Karl von Clausewitz. A criptografia moderna é basicamente formada pelo estudo dos algoritmos criptográficos que podem ser implementados em computadores.
O estudo das formas de esconder o significado de uma mensagem usando técnicas de cifragem tem sido acompanhado pelo estudo das formas de conseguir ler a mensagem quando não se é o destinatário; este campo de estudo é chamado criptoanálise.
Criptologia é o campo que engloba a Criptografia e a Criptoanálise.
As pessoas envolvidas neste trabalho, e na criptografia em geral, são chamados criptógrafos, criptólogos ou criptoanalistas, dependendo de suas funções específicas.
Termos relacionados à criptografia são Esteganografia, Código, Criptoanálise e Criptologia.
A Esteganografia é o estudo das técnicas de ocultação de mensagens dentro de outras, diferentemente da Criptografia, que a altera de forma a tornar seu significado original ininteligível. A Esteganografia não é considerada parte da Criptologia, apesar de muitas vezes ser estudada em contextos semelhantes e pelos mesmos pesquisadores.
Uma informação não-cifrada que é enviada de uma pessoa (ou organização) para outra é chamada de "texto claro" (plaintext). Cifragem é o processo de conversão de um texto claro para um código cifrado e decifragem é o processo contrário, de recuperar o texto original a partir de um texto cifrado.
Diffie e Hellman revolucionaram os sistemas de criptografia existentes até 1976, a partir do desenvolvimento de um sistema de criptografia de chave pública que foi aperfeiçoado por pesquisadores do MIT e deu origem ao algoritmo RSA.

## Terminologia

O termo é comumente usado para se referir a área de estudo de forma abrangente, como criptologia ("o estudo dos segredos").
Durante muito tempo, o termo referiu-se exclusivamente a cifragem, o processo de converter uma informação comum (texto plano) em algo não-inteligível; o qual chama-se texto cifrado. A decifragem é a tarefa contrária, dado uma informação não-inteligível convertê-la em texto plano.
No uso coloquial, o termo "código" é usado para referir-se a qualquer método de cifragem ou similar. Em criptografia, "código" tem um significado mais específico, refere-se a substituição de uma unidade significativa (i.e., o significado de uma palavra ou frase) pelo substituto equivalente. Códigos não são mais usados na criptografia moderna, visto que o uso de cifras se tornou mais prático e seguro, como também melhor adaptado aos computadores.

## Cifras e Códigos

A cifra é um ou mais algoritmos que cifram e decifram um texto. A operação do algoritmo costuma ter como parâmetro uma chave. Tal parâmetro costuma ser secreto (conhecido somente pelos comunicantes).
Na linguagem não-técnica, um Código secreto é o mesmo que uma cifra. Porém, na linguagem especializada os dois conceitos são distintos. Um código funciona manipulando o significado, normalmente pela substituição simples de palavras ou frases. Uma cifra, ao contrário, trabalha na representação da mensagem (letras, grupos de letras ou, atualmente, bits).
Por exemplo, um código seria substituir a frase "Atacar imediatamente" por "Mickey Mouse". Uma cifra seria substituir essa frase por "sysvst ozrfosyszrmyr". No Dia D, por exemplo, as praias de desembarque não eram conhecidas pelo seu nome próprio, mas pelos seus códigos (Omaha, Juno, etc.).
Basicamente, códigos não envolvem chave criptográfica, apenas tabelas de substituição ou mecanismos semelhantes.

## Visão geral: objetivos

A criptografia tem quatro objetivos principais:
* confidencialidade da mensagem: só o destinatário autorizado deve ser capaz de extrair o conteúdo da mensagem da sua forma cifrada. Além disso, a obtenção de informação sobre o conteúdo da mensagem (como uma distribuição estatística de certos caracteres) não deve ser possível, uma vez que, se o for, torna mais fácil a análise criptográfica.
* integridade da mensagem: o destinatário deverá ser capaz de determinar se a mensagem foi alterada durante a transmissão.
* autenticação do remetente: o destinatário deverá ser capaz de identificar o remetente e verificar que foi mesmo ele quem enviou a mensagem.
* não-repúdio ou irretratabilidade do destinatário: não deverá ser possível ao destinatário negar o envio da mensagem.
Nem todos os sistemas ou algoritmos criptográficos são utilizados para atingir todos os objetivos listados acima. Normalmente, existem algoritmos específicos para cada uma destas funções. Mesmo em sistemas criptográficos bem concebidos, bem implementados e usados adequadamente, alguns dos objetivos acima não são práticos (ou mesmo desejáveis) em algumas circunstâncias. Por exemplo, o remetente de uma mensagem pode querer permanecer anônimo, ou o sistema pode destinar-se a um ambiente com recursos computacionais limitados, ou pode não interessar a confidencialidade.

## Criptografia Clássica

Podemos dizer que o uso da criptografia é tão antigo quanto a necessidade do homem em esconder a informação. Muitos pesquisadores atribuem o uso mais antigo da criptografia conhecido aos hieróglifos usados em monumentos do Antigo Egito (cerca de 4500 anos atrás). Diversas técnicas de ocultar mensagens foram utilizadas pelos gregos e romanos.
A criptografia pré-computacional era formada por um conjunto de métodos de substituição e transposição dos caracteres de uma mensagem que pudessem ser executados manualmente (ou até mesmo mentalmente) pelo emissor e pelo destinatário da mensagem. O surgimento de máquinas especializadas e, posteriormente, dos computadores ocasionou uma significativa evolução das técnicas criptográficas.

## Criptografia Moderna

A era da criptografia moderna começa realmente com Claude Shannon, possivelmente o pai da criptografia matemática. Em 1949 ele publicou um artigo Communication Theory of Secrecy Systems com Warren Weaver. Este artigo, junto com outros de seus trabalhos que criaram a área de Teoria da Informação estabeleceu uma base teórica sólida para a criptografia e para a criptoanálise. Depois disso, quase todo o trabalho realizado em criptografia se tornou secreto, realizado em organizações governamentais especializadas (como o NSA nos Estados Unidos). Apenas em meados de 1970 as coisas começaram a mudar.
Em 1976 aconteceram dois grandes marcos da criptografia para o público. O primeiro foi a publicação, pelo governo americano, do DES (Data Encryption Standard), um algoritmo aberto de criptografia simétrica, selecionado pela NIST em um concurso onde foi escolhido uma variante do algoritmo Lucifer, proposto pela IBM. O DES foi o primeiro algoritmo de criptografia disponibilizado abertamente ao mercado.
O segundo foi a publicação do artigo New Directions in Cryptography por Whitfield Diffie e Martin Hellman, que iniciou a pesquisa em sistemas de criptografia de chave pública. Este algoritmo ficou conhecido como "algoritmo Diffie-Hellman para troca de chaves" e levou ao imediato surgimento de pesquisas neste campo, que culminou com a criação do algoritmo RSA, por Ronald Rivest, Adi Shamir e Leonard Adleman.

## Criptografia Quântica

Desenvolvimento da técnica reunindo o conceito de criptografia e a teoria quântica é mais antigo do que se imagina, sendo anterior à descoberta da criptografia de Chave Pública. Stephen Wiesner escreveu um artigo por volta de 1970 com o título: “Conjugate Coding” que permaneceu sem ser publicado até o ano de 1983. Em seu artigo, Wiesner explica como a teoria quântica pode ser usada para unir duas mensagens em uma única transmissão quântica na qual o receptor poderia decodificar cada uma das mensagens porém nunca as duas simultaneamente, pela impossibilidade de violar uma lei da natureza (o princípio de incerteza de Heisenberg).
Utilizando-se pares de fótons, a criptografia quântica permite que duas pessoas escolham uma chave secreta sem jamais terem se visto, trocado alguma mensagem ou mesmo algo material. A criptografia quântica oferece a possibilidade de gerar uma chave segura se o sinal é um objeto quântico, assim, o termo mais correto seria Distribuição de Chave Quântica (Quantum Key Distribution - QKD) e não Criptografia Quântica. É interessante notar que a Criptologia atual está amparada na Matemática mas com a introdução desse conceito de mensagens criptografadas por chaves quânticas a física passou a ter importância primordial no tema. O maior problema para implementação da Criptografia quântica ainda é a taxa de erros na transmissão dos fótons seja por via aérea ou fibra ótica. Os melhores resultados obtidos atualmente se dão em cabos de fibra ótica de altíssima pureza, e conseqüentemente elevadíssimo custo também, alcançando algo em torno de 70 km.
Por via aérea a distância chega a algumas centenas de metros e qualquer tentativa de se aumentar essa distância tanto em um quanto em outro método a taxa de erros se torna muito grande e inviabiliza o processo. O desenvolvimento de tecnologias que permitam o perfeito alinhamento dos polarizadores, fibras óticas melhores e amplificadores quânticos de sinais permitirá que o sistema de Distribuição de Chaves Quânticas venha a ser o novo padrão de segurança de dados.
A Criptografia Quântica se destaca em relação aos outros métodos criptográficos pois não necessita do segredo nem do contato prévio entre as partes, permite a detecção de intrusos tentando interceptar o envio das chaves, e é incondicionalmente segura mesmo que o intruso tenha poder computacional ilimitado. A única forma possível de falha no processo seria se utilizar de um ardil onde a comunicação fosse interceptada e substituída, tanto para o emissor quanto para o receptor, criando assim um canal de comunicação controlado pelo intruso. O processo ainda apresenta um elevado custo de implantação, mas o desenvolvimento tecnológico poderá torná-la acessível a todas as aplicações militares, comerciais e de fins civis em geral.