Anda di halaman 1dari 38

Introducao a Criptografia

Instituto de Computacao - UNICAMP

Julio Lopez Disciplina MC889


Ementa da Disciplina

Introducao
Criptografia classica:
http://home.ca.inter.net/hagelin/crypto.html
Aritmetica modular
Algoritmos simetricos modernos
Funcoes de resumo
Fundamentos matematicos
Criptografia assimetrica
Assinatura digital
Protocolos criptograficos
Aplicacoes

Julio Lopez Disciplina MC889


Sobre este curso

A Criptografia moderna se ocupa muito menos de sigilo


(protecao dos dados contra divulgacao nao autorizada) do que
ha meros trinta anos atras, quando justificava plenamente a
etimologia da palavra criptografia, cuja origem grega significa
escrita oculta.

Julio Lopez Disciplina MC889


Sobre este curso

A Criptografia moderna se ocupa muito menos de sigilo


(protecao dos dados contra divulgacao nao autorizada) do que
ha meros trinta anos atras, quando justificava plenamente a
etimologia da palavra criptografia, cuja origem grega significa
escrita oculta.
Hoje, tecnicas criptograficas sao utilizadas para garantir a
seguranca dos sistemas informaticos. Aplicacoes e sistemas
que tenham requisitos como sigilo, autenticacao, integridade,
nao-repudio e anonimato empregam tecnicas criptograficas em
algum nvel de sua arquitetura.

Julio Lopez Disciplina MC889


Sobre este curso

A Criptografia moderna se ocupa muito menos de sigilo


(protecao dos dados contra divulgacao nao autorizada) do que
ha meros trinta anos atras, quando justificava plenamente a
etimologia da palavra criptografia, cuja origem grega significa
escrita oculta.
Hoje, tecnicas criptograficas sao utilizadas para garantir a
seguranca dos sistemas informaticos. Aplicacoes e sistemas
que tenham requisitos como sigilo, autenticacao, integridade,
nao-repudio e anonimato empregam tecnicas criptograficas em
algum nvel de sua arquitetura.
Criptografia moderna e o estudo cientfico de tecnicas para a
seguranca da informacao digital, transacoes, e computacao
distribuda.

Julio Lopez Disciplina MC889


Sobre este curso

O objetivo e dar uma visao panoramica das tecnicas criptograficas


atuais mais importantes para a consecucao de requisitos
fundamentais da seguranca da informacao, como sigilo,
autenticacao e integridade, dos quais dependem, outros requisitos
de seguranca.

Julio Lopez Disciplina MC889


Sobre este curso

O objetivo e dar uma visao panoramica das tecnicas criptograficas


atuais mais importantes para a consecucao de requisitos
fundamentais da seguranca da informacao, como sigilo,
autenticacao e integridade, dos quais dependem, outros requisitos
de seguranca.
Sigilo de dados: protecao dos dados contra divulgacao nao
autorizada.

Julio Lopez Disciplina MC889


Sobre este curso

O objetivo e dar uma visao panoramica das tecnicas criptograficas


atuais mais importantes para a consecucao de requisitos
fundamentais da seguranca da informacao, como sigilo,
autenticacao e integridade, dos quais dependem, outros requisitos
de seguranca.
Sigilo de dados: protecao dos dados contra divulgacao nao
autorizada.
Autenticacao: garantia que a entidade se comunicando e
aquela que ela afirma ser.

Julio Lopez Disciplina MC889


Sobre este curso

O objetivo e dar uma visao panoramica das tecnicas criptograficas


atuais mais importantes para a consecucao de requisitos
fundamentais da seguranca da informacao, como sigilo,
autenticacao e integridade, dos quais dependem, outros requisitos
de seguranca.
Sigilo de dados: protecao dos dados contra divulgacao nao
autorizada.
Autenticacao: garantia que a entidade se comunicando e
aquela que ela afirma ser.
Integridade de dados: a garantia que os dados recebidos
estao exatamente como foram enviados por uma entidade
autorizada (ou seja, nao contem modificacao, insercao,
exclusao ou repeticao).

Julio Lopez Disciplina MC889


Modelo de seguranca

O nosso modelo basico de comunicacao supoe duas entidades,


Alice e Beto, trocando mensagens transmitidas num canal
inseguro; isto e, um canal passvel de leitura e escrita por um
Intruso.

Julio Lopez Disciplina MC889


Modelo de seguranca

O nosso modelo basico de comunicacao supoe duas entidades,


Alice e Beto, trocando mensagens transmitidas num canal
inseguro; isto e, um canal passvel de leitura e escrita por um
Intruso.
Os metodos de Intruso podem ser a simples escuta, um
grampo, que chamamos de ataque passivo, ou ate a
modificacao, repeticao e injecao de mensagens com objetivos
variados como, por exemplo, passar-se por Alice ou Beto para
obter acesso a servicos nao autorizados; esses sao os chamados
ataques ativos. Passivos ou ativos, esses ataques representam
ameaca aos requisitos de seguranca que discutimos acima.

Julio Lopez Disciplina MC889


Modelo de seguranca

O nosso modelo basico de comunicacao supoe duas entidades,


Alice e Beto, trocando mensagens transmitidas num canal
inseguro; isto e, um canal passvel de leitura e escrita por um
Intruso.
Os metodos de Intruso podem ser a simples escuta, um
grampo, que chamamos de ataque passivo, ou ate a
modificacao, repeticao e injecao de mensagens com objetivos
variados como, por exemplo, passar-se por Alice ou Beto para
obter acesso a servicos nao autorizados; esses sao os chamados
ataques ativos. Passivos ou ativos, esses ataques representam
ameaca aos requisitos de seguranca que discutimos acima.
As tecnicas criptograficas para prevenir tais ataques vem de
duas vertentes, a simetrica e a assimetrica, usadas
isoladamente ou em conjunto.

Julio Lopez Disciplina MC889


Criptografia simetrica

Intruso

m c m
Enc Dec
canal inseguro
Alice Beto

k k

Modelo Simetrico

Alice e Beto desejam trocar mensagens m (texto claro) em


sigilo; Alice aplica uma funcao (ou algoritmo) de encriptacao
Enck (m), que transforma m numa mensagem encriptada ou
texto encriptado c, sob a acao da chave k. Ao receber c, Beto
aplica a funcao de decriptacao Deck (c), recuperando m.

Julio Lopez Disciplina MC889


Criptografia simetrica

O objetivo e produzir um texto c que nao guarde relacao


alguma com m. A inclusao da chave k no processo tem o
objetivo de dar o poder de transformar c em m apenas a
quem conhece k; isto e, prover sigilo na transmissao de m.

Julio Lopez Disciplina MC889


Criptografia simetrica - premissas

Enc. (.) deve ser projetada de forma que seja muito difcil
para Intruso calcular m a partir de c sem conhecimento de k,
ainda que Enc. (.) seja publica e Intruso use computadores.

Julio Lopez Disciplina MC889


Criptografia simetrica - premissas

Enc. (.) deve ser projetada de forma que seja muito difcil
para Intruso calcular m a partir de c sem conhecimento de k,
ainda que Enc. (.) seja publica e Intruso use computadores.
Dizemos que Enck (.) deve ser uma funcao unidirecional para
cada valor fixo de k; isto e, que Enck (.) seja facil de calcular,
mas Enck (.)1 , ou seja, Deck (.), seja muito difcil de
calcular sem o conhecimento da chave k.

Julio Lopez Disciplina MC889


Criptografia simetrica - premissas

Enc. (.) deve ser projetada de forma que seja muito difcil
para Intruso calcular m a partir de c sem conhecimento de k,
ainda que Enc. (.) seja publica e Intruso use computadores.
Dizemos que Enck (.) deve ser uma funcao unidirecional para
cada valor fixo de k; isto e, que Enck (.) seja facil de calcular,
mas Enck (.)1 , ou seja, Deck (.), seja muito difcil de
calcular sem o conhecimento da chave k.
A quantidade de chaves possveis deve ser muito grande, para
evitar uma busca exaustiva de k.

Julio Lopez Disciplina MC889


Criptografia simetrica - premissas

Enc. (.) deve ser projetada de forma que seja muito difcil
para Intruso calcular m a partir de c sem conhecimento de k,
ainda que Enc. (.) seja publica e Intruso use computadores.
Dizemos que Enck (.) deve ser uma funcao unidirecional para
cada valor fixo de k; isto e, que Enck (.) seja facil de calcular,
mas Enck (.)1 , ou seja, Deck (.), seja muito difcil de
calcular sem o conhecimento da chave k.
A quantidade de chaves possveis deve ser muito grande, para
evitar uma busca exaustiva de k.
Alice e Beto tem que estabelecer a chave k em sigilo antes do
seu uso. Essa dificuldade e recorrente. Veremos como essa
dificuldade pode ser contornada.

Julio Lopez Disciplina MC889


Criptografia simetrica - Cenarios de ataques

Julio Lopez Disciplina MC889


Criptografia simetrica - Cenarios de ataques

Texto encriptado somente:. Neste ataque, o Intruso observa


um texto encriptado (ou multiplos textos encriptados) e tenta
determinar o texto claro (ou textos claros).

Julio Lopez Disciplina MC889


Criptografia simetrica - Cenarios de ataques

Texto encriptado somente:. Neste ataque, o Intruso observa


um texto encriptado (ou multiplos textos encriptados) e tenta
determinar o texto claro (ou textos claros).
Texto claro conhecido:. Aqui Intruso obtem um ou mais pares
de texto-claro/texto-cifrado com a mesma chave. O objetivo
do ataque e determinar um texto claro que foi encriptado em
algum outro texto-cifrado (para o qual ele nao conhece o
correspondente texto claro).

Julio Lopez Disciplina MC889


Criptografia simetrica - Cenarios de ataques

Texto encriptado somente:. Neste ataque, o Intruso observa


um texto encriptado (ou multiplos textos encriptados) e tenta
determinar o texto claro (ou textos claros).
Texto claro conhecido:. Aqui Intruso obtem um ou mais pares
de texto-claro/texto-cifrado com a mesma chave. O objetivo
do ataque e determinar um texto claro que foi encriptado em
algum outro texto-cifrado (para o qual ele nao conhece o
correspondente texto claro).
Texto claro escolhido:. Se Intruso tiver acesso a funcao
Enck (.), por exemplo embutida em algum dispositivo, e
puder produzir pares (m0 , c 0 ) a sua escolha, entao o objetivo
do ataque e determinar o texto claro que foi encriptado (para
o qual ele nao conhece o texto claro).

Julio Lopez Disciplina MC889


Criptografia simetrica - Cenarios de ataques...

Julio Lopez Disciplina MC889


Criptografia simetrica - Cenarios de ataques...

Texto encriptado escolhido:


Finalmente, se Intruso tiver acesso a funcao Deck (.) e puder
produzir pares (m0 , c 0 ) a sua escolha, entao o objetivo do
ataque, uma vez mais, e determinar o texto claro que foi
encriptado (cuja desencriptacao nao e possvel fazer-la
diretamente).
A ciencia que se dedica a analisar algoritmos criptograficos em
busca de falhas, ou de quebrar tais algoritmos, e a
Criptoanalise.

Julio Lopez Disciplina MC889


Criptografia simetrica - simetria

Julio Lopez Disciplina MC889


Criptografia simetrica - simetria

O adjetivo simetrico e bastante adequado. Tudo que um


puder encriptar ou decriptar o outro tambem pode. Um
benefcio dessa simetria e a confianca que Alice e Beto tem de
que estao trocando mensagens sigilosas um com o outro, e
nao com Intruso. Por outro lado, nao e possvel atribuir a um
ou a outro a autoria de uma mensagem sem a ajuda de uma
terceira parte confiavel.
Outras denominacoes dos sistemas simetricos sao sistemas de
chaves secretas e sistemas de chaves simetricas.

Julio Lopez Disciplina MC889


Criptografia simetrica - exemplo

Um exemplo simples de encriptacao simetrica consiste em


substituir cada letra de um texto pela letra k posicoes a frente
no alfabeto (supomos que apos z vem a).

Julio Lopez Disciplina MC889


Criptografia simetrica - exemplo

Um exemplo simples de encriptacao simetrica consiste em


substituir cada letra de um texto pela letra k posicoes a frente
no alfabeto (supomos que apos z vem a).
Para k = 5, a palavra alabastro se transforma em
FQFGFXYWT.

Julio Lopez Disciplina MC889


Criptografia simetrica - exemplo

Um exemplo simples de encriptacao simetrica consiste em


substituir cada letra de um texto pela letra k posicoes a frente
no alfabeto (supomos que apos z vem a).
Para k = 5, a palavra alabastro se transforma em
FQFGFXYWT.
A chave, neste caso, e k. Esse e o chamado metodo da
substituicao monoalfabetica.

Julio Lopez Disciplina MC889


Criptografia simetrica - exemplo

Um exemplo simples de encriptacao simetrica consiste em


substituir cada letra de um texto pela letra k posicoes a frente
no alfabeto (supomos que apos z vem a).
Para k = 5, a palavra alabastro se transforma em
FQFGFXYWT.
A chave, neste caso, e k. Esse e o chamado metodo da
substituicao monoalfabetica.
Em vez de uma so letra substituindo outra, podemos ter uma
lista de letras usadas em sequencia. Essa e a substituicao
polialfabetica.

Julio Lopez Disciplina MC889


Criptografia simetrica-sintaxe

Julio Lopez Disciplina MC889


Criptografia simetrica-sintaxe

Um esquema de criptografia simetrico (ou chave secreta) consiste


de tres algoritmos: procedimento para geracao de chaves,
procedimento para encriptacao e procedimento para decriptacao.

Julio Lopez Disciplina MC889


Criptografia simetrica-sintaxe

Um esquema de criptografia simetrico (ou chave secreta) consiste


de tres algoritmos: procedimento para geracao de chaves,
procedimento para encriptacao e procedimento para decriptacao.
O algoritmo de geracao de chave: Gen e um algoritmo
probabilstico que produz uma chave k escolhida de acordo a
alguma distribuicao determinada pelo esquema.

Julio Lopez Disciplina MC889


Criptografia simetrica-sintaxe

Um esquema de criptografia simetrico (ou chave secreta) consiste


de tres algoritmos: procedimento para geracao de chaves,
procedimento para encriptacao e procedimento para decriptacao.
O algoritmo de geracao de chave: Gen e um algoritmo
probabilstico que produz uma chave k escolhida de acordo a
alguma distribuicao determinada pelo esquema.
O algoritmo de encriptacao: Enc toma como entrada uma
chave k e uma mensagem de texto claro m e produz um texto
encriptado c. Denotamos por Enck (m) a encriptacao do
texto claro m usando a chave k.

Julio Lopez Disciplina MC889


Criptografia simetrica-sintaxe

Um esquema de criptografia simetrico (ou chave secreta) consiste


de tres algoritmos: procedimento para geracao de chaves,
procedimento para encriptacao e procedimento para decriptacao.
O algoritmo de geracao de chave: Gen e um algoritmo
probabilstico que produz uma chave k escolhida de acordo a
alguma distribuicao determinada pelo esquema.
O algoritmo de encriptacao: Enc toma como entrada uma
chave k e uma mensagem de texto claro m e produz um texto
encriptado c. Denotamos por Enck (m) a encriptacao do
texto claro m usando a chave k.
O algoritmo de decriptacao: Dec toma como entrada uma
chave k e um texto encriptado c e produz um texto claro m.
Denotamos por Deck (c) a decriptacao do texto encriptado c
usando a chave k.

Julio Lopez Disciplina MC889


Alguns algoritmos simetricos modernos

Algoritmo Simetrico : Cifrador de bloco + modo de operacao


Algoritmo Simetrico: Cifrador de fluxo

Julio Lopez Disciplina MC889


Alguns algoritmos simetricos modernos

Algoritmo Simetrico : Cifrador de bloco + modo de operacao


Algoritmo Simetrico: Cifrador de fluxo
Cifradores de Bloco:
Data Encryption Standard (DES), 1977.
DESX,TDES, TEA, CAST, BLOWFISH, IDEA...
Advanced Encryption Standard (AES), 2000.
NESSIE (2003): MYSTY1, AES, Camellia (ISO 2005).
ECRYPT (2004-2008): Kasumi (64-128), AES.
CRYPTREC (2002): Camellia, SC2000, Hierocrypt-3,
CIPHERUNICORN-A.

Julio Lopez Disciplina MC889


Alguns algoritmos simetricos modernos

Algoritmo Simetrico : Cifrador de bloco + modo de operacao


Algoritmo Simetrico: Cifrador de fluxo
Cifradores de Bloco:
Data Encryption Standard (DES), 1977.
DESX,TDES, TEA, CAST, BLOWFISH, IDEA...
Advanced Encryption Standard (AES), 2000.
NESSIE (2003): MYSTY1, AES, Camellia (ISO 2005).
ECRYPT (2004-2008): Kasumi (64-128), AES.
CRYPTREC (2002): Camellia, SC2000, Hierocrypt-3,
CIPHERUNICORN-A.
Modos de Operacao: CBC, CTR, GCM, etc.
Futuro: algoritmos novos para autenticacao encriptada

Julio Lopez Disciplina MC889

Anda mungkin juga menyukai