Criptografia

26
CRIPTOGRAFIA Anna Claudia Paula Peçanha Renan Brum

description

Criptografia: Definição, cifras, chaves e algoritmos.

Transcript of Criptografia

CRIPTOGRAFIAAnna ClaudiaPaula PeçanhaRenan Brum

● De acordo com Almeida & Mendes (2005) é o “termo formado pelas palavras gregas kryptós, “escondido”, e gráphein, “escrever”, definido por [Shannon, 1949]. É um conjunto de técnicas para codificar informações, com a finalidade de evitar que pessoas indesejadas tenham acesso a elas.”

● Trata-se de um conjunto de regras que visa codificar a informação de forma que só o emissor e o receptor consigam decifrá-la.

Definição

● Uma cifra implica em um método, ou sistema, de escrita que é ilimitado no seu uso e pelo qual deve ser possível transformar qualquer mensagem, sem consideração sobre linguagem e tamanho, para uma forma não compreensível, chamada criptograma.

Cifras

● Segundo Almeida & Mendes (2005), a criptografia é uma fórmula matemática. Ela trabalha com dispositivos chamados "chaves".

● De acordo a CERT (2005), os métodos de criptografia atuais são seguros e eficientes e baseiam-se no uso de uma ou mais chaves.

Cifras

● Chave pública - Qualquer pessoa pode saber;- É usada para criptografar os dados.

● Chave privada - Só o destinatário dos dados conhece, - É usada para descriptografar os dados, ou seja,

"abrir" os dados que ficaram aparentemente sem sentido.

Chaves

● O interessante é que a partir da chave pública é impossível descriptografar os dados e deduzir qual é a chave privada.

Chaves

Criptografia Simétrica● Veríssimo (2002) faz a definição de criptografia

simétrica da seguinte forma: a chave para criptografar é a mesma usada para descriptografar.

● A criptografia simétrica trabalha com algoritmos, os mais conhecidos são:

○ Algoritmo DES (desenvolvido pela IBM) ○ AES (blocos de 128, 192 ou 256 bits)○ Blowfish (tamanho de chaves, 132 e 448 bits).

Criptografia Simétrica● Para Barbosa (2003) apud Almeida & Mendes (2005), a

criptografia simétrica é considerada um método muito seguro, pois, usa um sistema de chaves que podem ser detectadas, mas não “quebradas”.

Criptografia Assimétrica● Baseia-se em um sistema que utiliza duas chaves

distintas, uma para codificar e outra para decodificar mensagens.

● Neste método cada pessoa ou entidade mantém duas chaves: uma pública e outra privada.

● As mensagens codificadas com a chave pública só podem ser decodificadas com a chave privada correspondente.

Integridade da mensagem● Criptografia garante a confidencialidade, mas não a

integridade.

● Uma função hash é uma equação matemática que utiliza texto (tal como uma mensagem de e-mail) para criar um código chamado message digest (resumo de mensagem).

● Impressão digital ou digest da mensagem: a mensagem passa por um algoritmo denominado função hash.

Exemplo - Chave Assimétrica1. Frank escreve uma mensagem e a criptografa utilizando a chave pública de Andréa. A chave está disponível para qualquer pessoa.2. Frank envia a mensagem para Andréa.3. Andréa recebe a mensagem e a descriptografa utilizando sua chave privada (só ela conhece).4. Caso Andréa queira responder a mensagem, ela deverá fazer o mesmo, porém utilizando a chave pública de Frank.

Exemplo - Chave Assimétrica● Pode-se também criar uma assinatura digital. 1. Frank escreve a mensagem e a criptografa usando sua chave privada (assinatura da mensagem).2. Em seguida, ele criptografa a mensagem com a chave pública de Andréa (tornando-a secreta).3. Frank envia a mensagem duplamente criptografada para Andréa.4. Andréa recebe a mensagem e a descriptografa duas vezes. Primeiro com sua chave privada e depois com a chave pública de Frank.

Exemplo - Chave Assimétrica5. Agora Andréa pode ler a mensagem e tem certeza de que ninguém a leu e que veio de Frank. Também tem certeza de que não foi alterada, pois para isso o invasor teria de ter acesso a chave privada de Frank.

Problema: as chaves assimétricas são computacionalmente intensiva, sendo necessário muito tempo para criptografar uns poucos parágrafos.

Exemplo - Chave Assimétrica● Solução: combinar os melhores aspectos da

criptografia com chave simétrica e assimétrica, codificando a mensagem com o método da chave simétrica e criptografando a chave simétrica com o método da chave assimétrica:

○ Velocidade do método simétrico

○ Facilidade de distribuição de chaves do método assimétrico

Exemplo - Combinação

1. Frank escreve a mensagem e a codifica usando a criptografia com chave simétrica com uma chave gerada aleatoriamente apenas para esta mensagem (chave de sessão ou session key).

2. Frank criptografa essa chave de sessão com a chave pública de Andréa (isto não toma muito tempo por que a chave não é muito grande).

Exemplo - Combinação3. Frank envia a mensagem criptografada e a chave de sessão criptografada para Andréa.

4. Andréa descriptografa a chave de sessão com sua chave privada.

5. Em seguida, descriptografa a mensagem usando a chave de sessão que acabou de receber.

Algoritmos simétricos● Máquina Enigma (Máquina alemã de rotores utilizada

na 2a Guerra Mundial)● DES - Data Encryption Standard (FIPS 46-3, 1976)● RC4 (um dos algoritmos criados pelo Prof. Ron Rivest)● RC5 (também por Prof. Ron Rivest)

Algoritmos simétricos● Blowfish (por Bruce Schneier)● IDEA - International Data Encryption Algorithm (J

Massey e X Lai)● AES (também conhecido como RIJNDAEL) - Advanced

Encryption Standard (FIPS 197, 2001)● RC6 (Ron Rivest)

Blowfish● O Blowfish foi desenvolvido em 1993 por Bruce Schneier

como uma alternativa grátis mais rápida para os algorítmos criptográficos existentes.

● A cifragem do texto é feita em blocos de 64 ou 128 bits, nos quais os bits não são tratados separadamente, mas em grupos de 32 bits.

Blowfish● O algoritmo consiste de duas partes:

○ Expansão da chave: transformação da chave em subchaves, totalizando 4168 bits;

○ Criptografia dos dados: consiste de 16 fases, sendo que, em cada uma dessas, é feita uma permutação dependente da chave e uma substituição dependente da chave e dos dados.

Algoritmos assimétricos ou de chave pública● Curvas elípticas● Diffie-Hellman● DSA de curvas elípticas● El Gamal● RSA

RSA● RSA é um algoritmo de criptografia de dados, que deve o

seu nome a três professores do Instituto MIT: Ronald Rivest, Adi Shamir e Leonard Adleman, que inventaram este algoritmo.

● Foi o primeiro algoritmo a possibilitar criptografia e assinatura digital, e uma das grandes inovações em criptografia de chave pública.

● É considerado um dos mais seguros.

RSA● O RSA envolve um par de chaves, uma chave pública

que pode ser conhecida por todos e uma chave privada que deve ser mantida em sigilo.

● Toda mensagem cifrada usando uma chave pública só pode ser decifrada usando a respectiva chave privada.

● Sequência de passos: ○ Geração das chaves; ○ Cifração; ○ Decifração.

TKIP● O TKIP (Temporal Key Integrity Protocol) é um

algoritmo de criptografia baseado em chaves que se alteram a cada novo envio de pacote.

● Criado em 2002.● A sua principal característica é a frequente mudanças

de chaves que garante mais segurança. ● A senha é modificada automaticamente por padrão a

cada 10.000 pacotes enviados e recebidos pela sua placa de rede.

TKIP● Faz parte do padrão WPA (Wi-Fi Protected Access).● Utiliza o tamanho de chaves de 128 bits● Tamanho do vetor de inicialização de 48 bits.● A chave compartilhada entre os usuários Wireless e o

ponto de acesso é alterada de tempo em tempo.

Referências● http://www.gta.ufrj.br/grad/99_2/marcos/criptografia.htm● http://pt.wikipedia.

org/wiki/Criptografia#Alguns_algoritmos_e_sistemas_criptogr.C3.A1ficos

● http://pt.wikipedia.org/wiki/Blowfish● http://pt.wikipedia.org/wiki/RSA● http://pt.wikipedia.org/wiki/TKIP