Você está na página 1de 38

Introdução à Criptografia

Instituto de Computação - UNICAMP

Julio López Disciplina MC889


Ementa da Disciplina

Introdução
Criptografia clássica:
http://home.ca.inter.net/∼hagelin/crypto.html
Aritmética modular
Algoritmos simétricos modernos
Funções de resumo
Fundamentos matemáticos
Criptografia assimétrica
Assinatura digital
Protocolos criptográficos
Aplicações

Julio López Disciplina MC889


Sobre este curso

A Criptografia moderna se ocupa muito menos de sigilo


(proteção dos dados contra divulgação não autorizada) do que
há meros trinta anos atrás, quando justificava plenamente a
etimologia da palavra criptografia, cuja origem grega significa
escrita oculta.

Julio López Disciplina MC889


Sobre este curso

A Criptografia moderna se ocupa muito menos de sigilo


(proteção dos dados contra divulgação não autorizada) do que
há meros trinta anos atrás, quando justificava plenamente a
etimologia da palavra criptografia, cuja origem grega significa
escrita oculta.
Hoje, técnicas criptográficas são utilizadas para garantir a
segurança dos sistemas informáticos. Aplicações e sistemas
que tenham requisitos como sigilo, autenticação, integridade,
não-repúdio e anonimato empregam técnicas criptográficas em
algum nı́vel de sua arquitetura.

Julio López Disciplina MC889


Sobre este curso

A Criptografia moderna se ocupa muito menos de sigilo


(proteção dos dados contra divulgação não autorizada) do que
há meros trinta anos atrás, quando justificava plenamente a
etimologia da palavra criptografia, cuja origem grega significa
escrita oculta.
Hoje, técnicas criptográficas são utilizadas para garantir a
segurança dos sistemas informáticos. Aplicações e sistemas
que tenham requisitos como sigilo, autenticação, integridade,
não-repúdio e anonimato empregam técnicas criptográficas em
algum nı́vel de sua arquitetura.
Criptografia moderna é o estudo cientı́fico de técnicas para a
segurança da informação digital, transações, e computação
distribuı́da.

Julio López Disciplina MC889


Sobre este curso

O objetivo é dar uma visão panorâmica das técnicas criptográficas


atuais mais importantes para a consecução de requisitos
fundamentais da segurança da informação, como sigilo,
autenticação e integridade, dos quais dependem, outros requisitos
de segurança.

Julio López Disciplina MC889


Sobre este curso

O objetivo é dar uma visão panorâmica das técnicas criptográficas


atuais mais importantes para a consecução de requisitos
fundamentais da segurança da informação, como sigilo,
autenticação e integridade, dos quais dependem, outros requisitos
de segurança.
Sigilo de dados: proteção dos dados contra divulgação não
autorizada.

Julio López Disciplina MC889


Sobre este curso

O objetivo é dar uma visão panorâmica das técnicas criptográficas


atuais mais importantes para a consecução de requisitos
fundamentais da segurança da informação, como sigilo,
autenticação e integridade, dos quais dependem, outros requisitos
de segurança.
Sigilo de dados: proteção dos dados contra divulgação não
autorizada.
Autenticação: garantia que a entidade se comunicando é
aquela que ela afirma ser.

Julio López Disciplina MC889


Sobre este curso

O objetivo é dar uma visão panorâmica das técnicas criptográficas


atuais mais importantes para a consecução de requisitos
fundamentais da segurança da informação, como sigilo,
autenticação e integridade, dos quais dependem, outros requisitos
de segurança.
Sigilo de dados: proteção dos dados contra divulgação não
autorizada.
Autenticação: garantia que a entidade se comunicando é
aquela que ela afirma ser.
Integridade de dados: a garantia que os dados recebidos
estão exatamente como foram enviados por uma entidade
autorizada (ou seja, não contêm modificação, inserção,
exclusão ou repetição).

Julio López Disciplina MC889


Modelo de segurança

O nosso modelo básico de comunicação supõe duas entidades,


Alice e Beto, trocando mensagens transmitidas num canal
inseguro; isto é, um canal passı́vel de leitura e escrita por um
Intruso.

Julio López Disciplina MC889


Modelo de segurança

O nosso modelo básico de comunicação supõe duas entidades,


Alice e Beto, trocando mensagens transmitidas num canal
inseguro; isto é, um canal passı́vel de leitura e escrita por um
Intruso.
Os métodos de Intruso podem ser a simples escuta, um
“grampo”, que chamamos de ataque passivo, ou até a
modificação, repetição e injeção de mensagens com objetivos
variados como, por exemplo, passar-se por Alice ou Beto para
obter acesso a serviços não autorizados; esses são os chamados
ataques ativos. Passivos ou ativos, esses ataques representam
ameaça aos requisitos de segurança que discutimos acima.

Julio López Disciplina MC889


Modelo de segurança

O nosso modelo básico de comunicação supõe duas entidades,


Alice e Beto, trocando mensagens transmitidas num canal
inseguro; isto é, um canal passı́vel de leitura e escrita por um
Intruso.
Os métodos de Intruso podem ser a simples escuta, um
“grampo”, que chamamos de ataque passivo, ou até a
modificação, repetição e injeção de mensagens com objetivos
variados como, por exemplo, passar-se por Alice ou Beto para
obter acesso a serviços não autorizados; esses são os chamados
ataques ativos. Passivos ou ativos, esses ataques representam
ameaça aos requisitos de segurança que discutimos acima.
As técnicas criptográficas para prevenir tais ataques vêm de
duas vertentes, a simétrica e a assimétrica, usadas
isoladamente ou em conjunto.

Julio López Disciplina MC889


Criptografia simétrica

Intruso

m c m
Enc Dec
canal inseguro
Alice Beto

k k

Modelo Simétrico

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


sigilo; Alice aplica uma função (ou algoritmo) de encriptação
Enck (m), que transforma m numa mensagem encriptada ou
texto encriptado c, sob a ação da chave k. Ao receber c, Beto
aplica a função de decriptação Deck (c), recuperando m.

Julio López Disciplina MC889


Criptografia simétrica

O objetivo é produzir um texto c que não guarde relação


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

Julio López Disciplina MC889


Criptografia simétrica - premissas

Enc. (.) deve ser projetada de forma que seja muito difı́cil
para Intruso calcular m a partir de c sem conhecimento de k,
ainda que Enc. (.) seja pública e Intruso use computadores.

Julio López Disciplina MC889


Criptografia simétrica - premissas

Enc. (.) deve ser projetada de forma que seja muito difı́cil
para Intruso calcular m a partir de c sem conhecimento de k,
ainda que Enc. (.) seja pública e Intruso use computadores.
Dizemos que Enck (.) deve ser uma função unidirecional para
cada valor fixo de k; isto é, que Enck (.) seja fácil de calcular,
mas Enck (.)−1 , ou seja, Deck (.), seja muito difı́cil de
calcular sem o conhecimento da chave k.

Julio López Disciplina MC889


Criptografia simétrica - premissas

Enc. (.) deve ser projetada de forma que seja muito difı́cil
para Intruso calcular m a partir de c sem conhecimento de k,
ainda que Enc. (.) seja pública e Intruso use computadores.
Dizemos que Enck (.) deve ser uma função unidirecional para
cada valor fixo de k; isto é, que Enck (.) seja fácil de calcular,
mas Enck (.)−1 , ou seja, Deck (.), seja muito difı́cil de
calcular sem o conhecimento da chave k.
A quantidade de chaves possı́veis deve ser muito grande, para
evitar uma busca exaustiva de k.

Julio López Disciplina MC889


Criptografia simétrica - premissas

Enc. (.) deve ser projetada de forma que seja muito difı́cil
para Intruso calcular m a partir de c sem conhecimento de k,
ainda que Enc. (.) seja pública e Intruso use computadores.
Dizemos que Enck (.) deve ser uma função unidirecional para
cada valor fixo de k; isto é, que Enck (.) seja fácil de calcular,
mas Enck (.)−1 , ou seja, Deck (.), seja muito difı́cil de
calcular sem o conhecimento da chave k.
A quantidade de chaves possı́veis deve ser muito grande, para
evitar uma busca exaustiva de k.
Alice e Beto têm que estabelecer a chave k em sigilo antes do
seu uso. Essa dificuldade é recorrente. Veremos como essa
dificuldade pode ser contornada.

Julio López Disciplina MC889


Criptografia simétrica - Cenários de ataques

Julio López Disciplina MC889


Criptografia simétrica - Cenários de ataques

Texto encriptado somente:. Neste ataque, o Intruso observa


um texto encriptado (ou múltiplos textos encriptados) e tenta
determinar o texto claro (ou textos claros).

Julio López Disciplina MC889


Criptografia simétrica - Cenários de ataques

Texto encriptado somente:. Neste ataque, o Intruso observa


um texto encriptado (ou múltiplos 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 é determinar um texto claro que foi encriptado em
algum outro texto-cifrado (para o qual ele não conhece o
correspondente texto claro).

Julio López Disciplina MC889


Criptografia simétrica - Cenários de ataques

Texto encriptado somente:. Neste ataque, o Intruso observa


um texto encriptado (ou múltiplos 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 é determinar um texto claro que foi encriptado em
algum outro texto-cifrado (para o qual ele não conhece o
correspondente texto claro).
Texto claro escolhido:. Se Intruso tiver acesso à função
Enck (.), por exemplo embutida em algum dispositivo, e
puder produzir pares (m0 , c 0 ) à sua escolha, então o objetivo
do ataque é determinar o texto claro que foi encriptado (para
o qual ele não conhece o texto claro).

Julio López Disciplina MC889


Criptografia simétrica - Cenários de ataques...

Julio López Disciplina MC889


Criptografia simétrica - Cenários de ataques...

Texto encriptado escolhido:


Finalmente, se Intruso tiver acesso à função Deck (.) e puder
produzir pares (m0 , c 0 ) à sua escolha, então o objetivo do
ataque, uma vez mais, é determinar o texto claro que foi
encriptado (cuja desencriptação não é possı́vel fazer-la
diretamente).
A ciência que se dedica a analisar algoritmos criptográficos em
busca de falhas, ou de ”quebrar” tais algoritmos, é a
Criptoanálise.

Julio López Disciplina MC889


Criptografia simétrica - simetria

Julio López Disciplina MC889


Criptografia simétrica - simetria

O adjetivo simétrico é bastante adequado. Tudo que um


puder encriptar ou decriptar o outro também pode. Um
benefı́cio dessa simetria é a confiança que Alice e Beto têm de
que estão trocando mensagens sigilosas um com o outro, e
não com Intruso. Por outro lado, não é possı́vel atribuir a um
ou a outro a autoria de uma mensagem sem a ajuda de uma
terceira parte confiável.
Outras denominações dos sistemas simétricos são sistemas de
chaves secretas e sistemas de chaves simétricas.

Julio López Disciplina MC889


Criptografia simétrica - exemplo

Um exemplo simples de encriptação simétrica consiste em


substituir cada letra de um texto pela letra k posições à frente
no alfabeto (supomos que após ’z’ vem ’a’).

Julio López Disciplina MC889


Criptografia simétrica - exemplo

Um exemplo simples de encriptação simétrica consiste em


substituir cada letra de um texto pela letra k posições à frente
no alfabeto (supomos que após ’z’ vem ’a’).
Para k = 5, a palavra alabastro se transforma em
FQFGFXYWT.

Julio López Disciplina MC889


Criptografia simétrica - exemplo

Um exemplo simples de encriptação simétrica consiste em


substituir cada letra de um texto pela letra k posições à frente
no alfabeto (supomos que após ’z’ vem ’a’).
Para k = 5, a palavra alabastro se transforma em
FQFGFXYWT.
A chave, neste caso, é k. Esse é o chamado método da
substituição monoalfabética.

Julio López Disciplina MC889


Criptografia simétrica - exemplo

Um exemplo simples de encriptação simétrica consiste em


substituir cada letra de um texto pela letra k posições à frente
no alfabeto (supomos que após ’z’ vem ’a’).
Para k = 5, a palavra alabastro se transforma em
FQFGFXYWT.
A chave, neste caso, é k. Esse é o chamado método da
substituição monoalfabética.
Em vez de uma só letra substituindo outra, podemos ter uma
lista de letras usadas em seqüência. Essa é a substituição
polialfabética.

Julio López Disciplina MC889


Criptografia simétrica-sintaxe

Julio López Disciplina MC889


Criptografia simétrica-sintaxe

Um esquema de criptografia simétrico (ou chave secreta) consiste


de três algoritmos: procedimento para geração de chaves,
procedimento para encriptação e procedimento para decriptação.

Julio López Disciplina MC889


Criptografia simétrica-sintaxe

Um esquema de criptografia simétrico (ou chave secreta) consiste


de três algoritmos: procedimento para geração de chaves,
procedimento para encriptação e procedimento para decriptação.
O algoritmo de geração de chave: Gen é um algoritmo
probabilı́stico que produz uma chave k escolhida de acordo a
alguma distribuição determinada pelo esquema.

Julio López Disciplina MC889


Criptografia simétrica-sintaxe

Um esquema de criptografia simétrico (ou chave secreta) consiste


de três algoritmos: procedimento para geração de chaves,
procedimento para encriptação e procedimento para decriptação.
O algoritmo de geração de chave: Gen é um algoritmo
probabilı́stico que produz uma chave k escolhida de acordo a
alguma distribuição determinada pelo esquema.
O algoritmo de encriptação: 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 encriptação do
texto claro m usando a chave k.

Julio López Disciplina MC889


Criptografia simétrica-sintaxe

Um esquema de criptografia simétrico (ou chave secreta) consiste


de três algoritmos: procedimento para geração de chaves,
procedimento para encriptação e procedimento para decriptação.
O algoritmo de geração de chave: Gen é um algoritmo
probabilı́stico que produz uma chave k escolhida de acordo a
alguma distribuição determinada pelo esquema.
O algoritmo de encriptação: 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 encriptação do
texto claro m usando a chave k.
O algoritmo de decriptação: Dec toma como entrada uma
chave k e um texto encriptado c e produz um texto claro m.
Denotamos por Deck (c) a decriptação do texto encriptado c
usando a chave k.

Julio López Disciplina MC889


Alguns algoritmos simétricos modernos

Algoritmo Simétrico : Cifrador de bloco + modo de operação


Algoritmo Simétrico: Cifrador de fluxo

Julio López Disciplina MC889


Alguns algoritmos simétricos modernos

Algoritmo Simétrico : Cifrador de bloco + modo de operação


Algoritmo Simétrico: 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 López Disciplina MC889


Alguns algoritmos simétricos modernos

Algoritmo Simétrico : Cifrador de bloco + modo de operação


Algoritmo Simétrico: 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 Operação: CBC, CTR, GCM, etc.
Futuro: algoritmos novos para autenticação encriptada

Julio López Disciplina MC889

Você também pode gostar