Codificação de Informação 2010/2011 Criptografia e

Transcrição

Codificação de Informação 2010/2011 Criptografia e
11/2/10
Codificação
de
Informação
2010/2011
Sumário:
Criptografia
• Introdução,
terminologia,
critérios
de
classificação
• Alguns
métodos
de
cifra
clássicos
• Noção
de
segredo
perfeito
(Shannon)
Criptografia
e
Cripto‐análise
Criptografia
A
arte
de
fazer
códigos
Cripto‐análise
A
arte
de
furar
códigos
2
Dept.
InformáHca
/
FCT
2
Novembro
2010
2
1
11/2/10
Criptografia
Fonte de
informação
Destino da
informação
Codificação
da fonte
Descodificação
da fonte
Dispostivo
para cifrar
Dispostivo
para decifrar
Tratamento
de erros
Tratamento
de erros
Canal de
comunicação
Dept.
InformáHca
/
FCT
2
Novembro
2010
3
Cifra
ou
sistema
de
cifra
Uma
cifra
ou
sistema
de
cifra
é
um
par
de
funções
FK
(função
de
cifrar)
que
faz
a
correspondência
de
um
conjunto
S
num
conjunto
T;
FK
é
baseada
num
valor
K
que
é
a
chave
para
cifrar
GK´
(função
de
decifrar)
que
é
a
inversa
de
FK
;
GK´
é
baseada
num
valor
K´
que
é
a
chave
para
decifrar
Mensagem
em claro (P)
“atacar”
Mensagem
cifrada (C)
F(P,K)
“sdwr$350”
K
Dept.
InformáHca
/
FCT
G(C,K')
“atacar”
K’
2
Novembro
2010
4
2
11/2/10
Criptografia
simétrica
e
assimétrica
Determinar
P
a
parHr
de
C
sem
conhecer
K´
é
muito
di\cil
Se
K
=
K´
(ou
é
fácil
determinar
K´
a
parHr
de
K)
a
cifra
diz‐se
de
chave
secreta
(criptografia
simétrica)
Se
K´
é
extremamente
di\cil
de
determinar
a
parHr
de
K
trata‐se
de
criptografia
assimétrica
:
Nos
sistemas
de
cifra
que
usam
esta
abordagem,
em
muitos
casos
K
é
conhecido
(chave
pública)
e
K´
só
é
conhecido
por
quem
recebe
a
mensagem
(chave
privada)
A
criptografia
de
chave
pública
é
recente
(1976)
Dept.
InformáHca
/
FCT
2
Novembro
2010
5
Cripto‐análise
Ataque
apenas
com
texto
cifrado
O
atacante
possui
apenas
cifras
(com
o
mesmo
algoritmo)
de
várias
mensagens.
O
objecHvo
é
recuperar
o
texto
original,
ou,
melhor
ainda,
deduzir
a
chave
ou
chaves.
Ataque
com
texto
simples
conhecido
O
atacante
possui
cifras
(com
o
mesmo
algoritmo)
de
várias
mensagens
conhecidas.
O
objecHvo
é
idênHco
ao
anterior.
Ataque
com
texto
simples
escolhido
Semelhante
ao
anterior,
com
a
diferença
de
ser
o
criptanalista
a
escolher
o
texto
das
mensagens
a
cifrar
Dept.
InformáHca
/
FCT
2
Novembro
2010
6
3
11/2/10
Cripto‐análise
Ataque
adapta=vo
com
texto
simples
escolhido
Caso
parHcular
do
anterior
em
que
os
textos
a
enviar
não
precisam
de
ser
escolhidos
todos
à
parHda,
mas
podem
ir
sendo
escolhidos
à
medida
que
se
conhecem
os
resultados
da
codificação
anterior
Ataque
com
texto
cifrado
escolhido
Os
criptanalistas
podem
escolher
diferentes
textos
cifrados
e
ter
acesso
aos
textos
em
claro
resultantes
da
respecHva
descodificação
Dept.
InformáHca
/
FCT
2
Novembro
2010
7
Cifras
e
Códigos
Cifras
• Transformam
unidades
de
comprimento
fixo,
por
meio
de
uma
função
que
descreve
como
se
cifra
uma
unidade
• Não
dependem
da
linguagem
usada
Códigos
• Dicionário
que
faz
corresponder
palavras
a
outras
palavras
• Dependem
da
linguagem
usada
• A
codificação
depende
da
linguagem
usada
• Um
livro
de
códigos
contém
o
dicionário
• É
di\cil
distribuir,
manter
e
proteger
os
livros
de
códigos
Dept.
InformáHca
/
FCT
2
Novembro
2010
8
4
11/2/10
Tipos
de
Cifra
Tipo
de
chave
Cifras
simétricas
Cifras
assimétricas
Cifra
mista
ou
híbrida
Modo
de
operação
Cifras
de
bloco
–
block
cipher
Cifras
coninuas
(corridas
ou
de
sequência)
–
stream
cipher
Dept.
InformáHca
/
FCT
2
Novembro
2010
9
Tipos
de
chaves:
cifras
simétricas
Chave
comum
à
operação
de
cifrar
e
de
decifrar
Chave
secreta
P
mensagem
em
claro,
C
mensagem
cifrada
K
chave
usada
para
cifrar
e
decifar
f
função
usada
para
cifrar,f‐1
função
usada
para
decifrar
C
=
f
(
K,
P)
P
=
f‐1
(
K,C)
Dept.
InformáHca
/
FCT
2
Novembro
2010
10
5
11/2/10
Tipos
de
chaves:
cifras
assimétricas
• Kp
Chave
pública
para
cifrar,
Ks
Chave
privada
para
decifrar
(Kp
diferente
de
Ks)
Estas
chaves
estão
ligadas
a
uma
determinada
enHdade
com
a
qual
se
quer
comunicar
• C
=
f
(Kp
,
P)
P
=
f‐1
(Ks
,
C)
As
funções
f
e
f‐1
têm
tempos
de
execução
muito
mais
longos
do
que
as
funções
usadas
nas
chaves
simétricas
Dept.
InformáHca
/
FCT
2
Novembro
2010
11
Tipos
de
chaves:
cifras
mistas
• A
transferência
de
grandes
quanHdades
de
dados
é
feita
usando
um
método
simétrico
com
chave
secreta
K
• A
troca
da
chave
K
entre
os
interlocutores
usa
um
método
assimétrico
(chave
pública,
chave
privada)
Dept.
InformáHca
/
FCT
2
Novembro
2010
12
6
11/2/10
Alguns
Hpos
de
cifra
clássicos
• Cifras
de
subsHtuição
• monoalfabéHcas
• polialfabéHcas
• Cifras
de
Vigenère
• Cifra
de
Vernam
(one
Hme
pad)
• Cifras
de
permutação
Dept.
InformáHca
/
FCT
2
Novembro
2010
13
Cifra
de
César
SubsHtuir
cada
carácter
no
texto
em
claro
pelo
carácter
3
posições
à
frente.
Chave
é
3
Texto em claro A
Texto cifrado
B
D E
C D E
F
F
G H I
G H …
J
K
…
A=1, B=2, C=3, …
Cifrar: C = P+3
Decifrar: P = C-3
Dept.
InformáHca
/
FCT
2
Novembro
2010
14
7
11/2/10
Cifra
de
César
• Cifra
monoalfabéHca,
com
deslocamento
3
• Uma
letra
no
texto
em
claro
corresponde
sempre
a
outra
letra
no
texto
cifrado
• A
correspondência
mantém‐se
ao
longo
do
texto
• São
facilmente
quebradas
por
análise
estaisHca
• T(a)
=
(P(a)+3)
mod
26
“attackatdawn”
“dwwdfndwgdzq”
• Problema
• Frequência das letras
Letras com alta taxa de ocorrência correspondem a letras cifradas com
alta frequência também
Dept.
InformáHca
/
FCT
15
15
2
Novembro
2010
Cifras
de
subsHtuição
monoalfabéHca
• O
Alfabeto
A..Z
corresponde
a
uma
permutação
do
alfabeto
• ConHnua
a
ser
possível
quebrar
a
cifra
por
análise
estaisHca
do
texto
cifrado.
Por
exemplo,
em
inglês:
Em português:
Dept.
InformáHca
/
FCT
2
Novembro
2010
A
E
O
S
R
I
D
N
T
M
U
C
P
L
V
G
F
B
H
Q
16
8
11/2/10
Cifras
de
subsHtuição
polialfabéHca
O
deslocamento
aplicada
à
letra
no
texto
em
claro
depende
da
posição
da
letra
no
texto
Exemplo:
Seja
o
texto
c1,
c2,
c3,
...
ci
Se
i
é
divisível
por
4
deslocar
7
letras
Se
i
dá
resto
1
deslocar
5
Se
i
dá
resto
2
deslocar
13
Se
i
dá
resto
4
deslocar
2
Os
deslocamentos
podem
estar
codificados
numa
palavra
Dept.
InformáHca
/
FCT
2
Novembro
2010
17
Cifra
de
Vigenère
• Codificar
letras
como
números
(A=1,
B=2,
etc.)
• Chave
é
uma
“palavra
chave”
• Método
para
cifrar
- Somar
a
“palavra
chave”
ao
texto
em
claro
(letra
a
letra)
• Método
para
decifrar
- Subtrair
a
“palavra
chave”
ao
texto
cifrado
• Exemplo
wearediscoveredsaveyourself
deceptivedeceptivedeceptive
+
ZICVTWQNGRZGVTWAVZHCQYGLMGJ
Dept.
InformáHca
/
FCT
2
Novembro
2010
18
9
11/2/10
Quebra
da
cifra
de
Vigenère
• Babbage
(1854),
Kasiski
(1863)
• Determinar
comprimento
da
chave
K,
desde
que
se
conheça
a
linguagem
usada
no
texto
em
claro,
e
uma
razoável
quanHdade
de
texto
cifrado.
• Baseiam‐se
em
procurar
sequências
cifradas
repeHdas;
correspondem
a
agrupamentos
comuns
de
2
ou
três
letras
(the,
...)
• A
mesma
sequência
cifrada
quase
de
certeza
corresponde
a
uma
coincidência
dos
mesmos
valores
no
texto
em
claro
com
as
mesmas
porções
da
chave
• Isto
permite
determinar
o
comprimento
da
chave
e
partes
da
chave
...
Dept.
InformáHca
/
FCT
2
Novembro
2010
19
“One
Time
Pads”
• Semelhante
à
cifra
de
Vigenère
mas
em
que
o
valor
a
somar
é
uma
sequência
aleatória
de
comprimento
infinito
• A
sequência
a
somar
faz
parte
de
um
livro
em
que
cada
página
é
uma
sequência
de
números
aleatórios
• O
emissor
e
o
receptor
combinam
a
página
a
usar
e
esta
não
volta
a
ser
usada.
O
emissor
e
o
receptor
têm
dois
cadernos
(pads)
que
contêm
a
mesma
sequência
de
números
e
que
nunca
reuHlizam
e
que
nunca
volta
ao
princípio
(one‐Hme)
• Método
seguro
contra
análise
estaisHca
• O
problema
é
a
segurança
e
manutenção
dos
livros
...
Dept.
InformáHca
/
FCT
2
Novembro
2010
20
10
11/2/10
“One‐Time
Pads”
• Pode
ser
conseguida
usando
um
gerador
de
números
aleatórios
com
a
mesma
semente
(Seed)
• O
“ou‐exclusivo”
(XOR)
é
úHl
neste
contexto
• P(i):
elemento
i
do
texto
em
claro
• C(i):
elemento
i
do
texto
cifrado
• O(i):
valor
usado
para
cifrar
o
elemento
i
Função
para
cifrar
C(i)
=
P(i)
XOR
O(i)
Função
para
decifrar
P(i)
=
C(i)
XOR
O(i)
(A
xor
B)
xor
B
=
A
Dept.
InformáHca
/
FCT
2
Novembro
2010
21
XOR
Tabela
de
verdade
do
XOR:
Ent
1
Ent
2
Saída
0
0
0
0
1
1
1
0
1
1
1
0
Propriedade:
(c
XOR
k)
XOR
k
=
c
Usa‐se
a
mesma
sequência
de
números
para
cifrar
e
para
decifrar.
Dept.
InformáHca
/
FCT
2
Novembro
2010
22
11
11/2/10
“One‐Time
Pad”
Função
de
cifra
Função
para
decifrar
srand(
chave)
while
(mais
texto
para
cifrar)
c[i]=p[i]
xor
rand()
srand(chave)
while
(mais
texto
para
decifrar)
p[i]
=
c[i]
xor
rand()
“chave”
é
um
valor
combinado
entre
o
emissor
e
o
receptor
(chave
secreta)
Dept.
InformáHca
/
FCT
2
Novembro
2010
23
23
Cifra
de
transposição
A
mensagem
cifrada
é
uma
permutação
de
letras
da
mensagem
em
claro.
A
mensagem
é
dividida
em
blocos
de
tamanho
N.
Dentro
de
cada
bloco
as
letras
são
reordenadas
Suponhamos
um
tamanho
de
bloco
de
5
e
que
a
permutação
é
especificada
por
(
4
3
1
5
2
):
a
1a
letra
passa
a
ser
a
4a.,
a
2a.
letra
a
3a.,
....
Exemplo:
UM
TESTE
A
CIFRA
DE
BLOCO
UMTES
TEACI
FRADE
BLOCO
TSMUE
AIETC
AERFD
OOLBC
Dept.
InformáHca
/
FCT
2
Novembro
2010
24
12
11/2/10
Cifra
de
transposição
Por
si
só,
as
cifras
de
transposição
são
muito
fáceis
de
quebrar
Corresponde
a
resolver
anagramas
...
Podem
ser
usadas
em
conjunto
com
cifras
de
subsHtuição
Muitos
sistemas
de
cifra
modernos,
baseiam‐se
nesta
conjunção
de
cifras
de
subsHtuição
com
cifras
de
transposição
Dept.
InformáHca
/
FCT
2
Novembro
2010
25
Máquina
Enigma
Simon
Singh,
The
Code
Book,
1999,
Fourth
Estate,
London
Vários
simuladores
da
Enigma
existem
na
Internet
h{p://homepages.tesco.net/~andycarlson/enigma/enigma_j.html
Dept.
InformáHca
/
FCT
2
Novembro
2010
26
13
11/2/10
Relação
da
criptografia
com
a
teoria
da
informação
Segredo
perfeito
(Perfect
secrecy)
–
Shannon
Um
sistema
de
criptografia
assegura
segredo
perfeito
quando
dada
uma
mensagem
cifrada
c
a
probabilidade
de
ela
corresponder
a
uma
dada
mensagem
m
de
ter
sido
gerado
com
uma
chave
k
é
igual
à
probabilidade
de
ocorrência
de
m
Observando
os
bytes
cifrados
não
se
obtem
qualquer
informação
sobre
os
bytes
em
claro
Para
que
isto
se
verifique
é
necessário
que:
o
nº
de
chaves
possível
tem
de
ser
superior
ao
nº
de
textos
em
claro
possíveis
A
escolha
das
chaves
seja
aleatória
para
tornar
todas
as
chaves
equiprováveis
Dept.
InformáHca
/
FCT
2
Novembro
2010
27
“One
Hme
pad”
é
uma
cifra
perfeita
Como
o
nº
de
chaves
possível
é
normalmente
limitado,
as
cifras
normalmente
não
são
perfeitas
Um
exemplo
de
uma
cifra
perfeita
é
“one
Hme
pad”
(ou
cifra
de
Vernam)
Chave
(one time pad)
XOR
Mensagem
(em claro)
Mensagem
(cifrada)
XOR
O comprimento da chave é
igual ao do texto em claro
Mensagem
(em claro)
Emissor
Dept.
InformáHca
/
FCT
Chave
(one time pad)
2
Novembro
2010
28
14
11/2/10
Segredo
perfeito
e
o
canal
BSC
(Binary
Symmetric
Channel)
0.5
0
Mensagem
em claro
0.5
0.5
0.5
0
Mensagem
cifrada
1
1
A
probabilidade
de
erro
é
associado
à
chave;
se
fôr
0
fica
igual;
se
fôr
1
troca
A
probabilidade
de
erro
é
0.5
A
capacidade
do
canal
é
0;
ie
a
incerteza
condicional
do
texto
em
claro
(entrada
do
canal)
dado
o
texto
cifrado
(saída)
é
o
mesmo
do
que
a
incerteza
do
texto
cifrado
O
texto
em
claro
e
cifrado
são
variáveis
aleatórias
independentes,
portanto
existe
segredo
perfeito
Dept.
InformáHca
/
FCT
2
Novembro
2010
29
Cifras
coninuas
(strem
ciphers)
Usado
por
exemplo
para
cifrar
voz
Gerador
de sequência
Sequência de chave
(bits)‫‏‬
Sequência
em
claro
xor
Sequência
cifrada
Ver exemplo do XOR a propósito do “one time pad”
Dept.
InformáHca
/
FCT
2
Novembro
2010
30
15
11/2/10
Cifras
simétricas
coninuas
Geradores
uHlizados
Máquinas
de
estado
deterministas,
controladas
por
uma
chave
de
dimensão
finita.
A
chave
determina:
O
estado
inicial
Parametriza
a
função
que
define
o
estado
seguinte
É
produzida
uma
sequência
cíclica
de
bits
O
princípio
da
confusão
é
usado,
uma
vez
que
existe
uma
relação
complexa
entre
a
chave,
os
bits
em
claro
e
os
bits
cifrados
O
princípio
da
difusão
não
é
usado
Assim
sendo,
normalmente
para
cada
interacção,
usa‐se
uma
chave
diferente
Dept.
InformáHca
/
FCT
2
Novembro
2010
31
Geradores
para
cifras
coninuas
As
chaves
coninuas
devem
ser
o
mais
próximo
do
“one
Hme
pad”
possível
Período
o
mais
longo
possível;
se
possível
superior
ao
tamanho
da
mensagem
a
cifrar
Sequência
verdadeiramente
aleatória
equiprobabilidade
imprevisibilidade
Dept.
InformáHca
/
FCT
2
Novembro
2010
32
16
11/2/10
Porque
não
se
usa
sempre
este
método?
A
gestão
das
chaves
não
é
práHca:
Para
cada
texto
tem
de
ser
usada
uma
chave
diferente
As
chaves
têm
de
ter
comprimento
igual
ou
superior
à
mensagem
A
sua
uHlização
em
comunicação
implica
uma
pré‐
distribuição
de
chaves
de
grande
dimensão
Não
faz
senHdo
usar
este
método
para
cifrar
dados
armazenados
Dept.
InformáHca
/
FCT
2
Novembro
2010
33
Critérios
de
Shannon
para
avaliar
a
qualidade
de
uma
cifra
“imperfeita”
(1)
• QuanHdade
de
secreHsmo
oferecido
Tempo
mínimo
de
segurança
da
mensagem
cifrada,
face
a
um
dado
esforço
de
tempo
e
dinheiro
invesHdo
na
sua
criptoanálise
• Dimensão
das
chaves
Complexidade
inerente
à
transmissão
e
salvaguarda
das
chaves
• Simplicidade
de
realização
e
exploração
Facilidade
de
uso
da
cifra
em
ambientes
de
produção
(critério
pouco
relevante
nos
dias
de
hoje
–
so‚ware
ou
hardware
cifram
e
decifram)
Dept.
InformáHca
/
FCT
2
Novembro
2010
34
17
11/2/10
Critérios
de
Shannon
para
avaliar
a
qualidade
de
uma
cifra
“imperfeita”
(2)
• Propagação
de
erros
- Indesejável
porque
obriga
a
retransmissões
- Desejável
porque
facilita
a
verificação
da
integridade
da
mensagem
cifrada
• Dimensão
da
mensagem
cifrada
- Dimensão
menor
ou
igual
à
mensagem
em
claro
Dept.
InformáHca
/
FCT
2
Novembro
2010
35
Difusão
e
confusão
Aproximações
definidos
por
Shannon
para
realizar
cifras
com
uma
boa
quanHdade
de
secreHsmo
Confusão
A
relação
entre
o
texto
em
claro,
uma
chave
e
o
texto
cifrado
deve
ser
o
mais
complexa
possível;
descobrir
partes
do
texto
em
claro
deve
ser
di\cil,
mesmo
conhecendo
uma
parte;
Deve
ser
muito
di\cil
deduzir
a
chave
usada
a
parHr
do
texto
cifrado
Difusão
Cada
pedaço
da
mensagem
cifrada
deverá
depender
de
um
grande
pedaço
da
mensagem
em
claro;
Cada
bit
do
texto
cifrado
deve
influenciar
muitos
bits
da
mensagem
cifrada
Qualquer
pequena
alteração
na
mensagem
em
claro
leva
a
grandes
alterações
na
mensagem
cifrada
Dept.
InformáHca
/
FCT
2
Novembro
2010
36
18
11/2/10
Boas
práHcas
de
criptografia
Deve
admiHr‐se
que
o
cripto‐analista:
• Conhece
o
algoritmo
de
cifra
usada
e
as
suas
eventuais
fragilidades;
a
segurança
baseia‐se
apenas
no
desconhecimento
da
chave
• Tem
acesso
a
todas
as
mensagens
cifradas
produzidas
usando
um
dado
algoritmo
e
uma
dada
chave
• Conhece
porções
da
mensagem
original,
e
que
as
pode
usar
para
efectuar
ataques
baseados
em
conteúdo
conhecido
Dept.
InformáHca
/
FCT
2
Novembro
2010
37
19


Documentos relacionados

Slides - João Paulo Barraca

Slides - João Paulo Barraca n A posição dos bits é determinante para a sua substituição ¤ Normalmente usadas

Leia mais

Cifras de Fluxo e Bloco

Cifras de Fluxo e Bloco Numa aplicação real o ataque é ainda mais fácil, pois as mensagens trocadas entre duas partes (procurem a definição de parte no roteiro sobre os objetivos da segurança) obedecem a um padrão de form...

Leia mais

Cifras por Blocos

Cifras por Blocos O algoritmo foi tornado público, mas não os critérios para o seu desenho... Este facto alimentou alguma controvérsia porque, aparentemente, foram enfraquecidos alguns aspectos do LUCIFER relevantes...

Leia mais