Criptografia - Universidade de Aveirosweet.ua.pt/andre.zuquete/Aulas/SIO/12-13/docs/6-cryptography.pdf · CriptanCriptaná ááálise de um criptograma Vigenlise de um criptograma
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Cifra de VigenCifra de VigenCifra de VigenCifra de Vigenèèèère (ou quadrado de Vigenre (ou quadrado de Vigenre (ou quadrado de Vigenre (ou quadrado de Vigenèèèère)re)re)re)a b c d e f g h i j k l m n o p q r s t u v w x y z
a A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
b B C D E F G H I J K L M N O P Q R S T U V W X Y Z A
c C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
d D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
e E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
f F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
g G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
h H I J K L M N O P Q R S T U V W X Y Z A B C D E F G
i I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
j J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
k K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
l L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
m M N O P Q R S T U V W X Y Z A B C D E F G H I J K L
n N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
o O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
p P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
q Q R S T U V W X Y Z A B C D E F G H I J K L M N O P
r R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
s S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
t T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
u U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
v V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
w W X Y Z A B C D E F G H I J K L M N O P Q R S T U V
x X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
y Y Z A B C D E F G H I J K L M N O P Q R S T U V W X
z Z A B C D E F G H I J K L M N O P Q R S T U V W X Y
� Exemplo da cifra da letra M com a chave S, originando o criptograma E
CriptanCriptanCriptanCriptanáááálise de um criptograma Vigenlise de um criptograma Vigenlise de um criptograma Vigenlise de um criptograma Vigenèèèère:re:re:re:Exemplo (1/2)Exemplo (1/2)Exemplo (1/2)Exemplo (1/2)
� Texto:Eles não sabem que o sonho é uma constante da vidatão concreta e definida como outra coisa qualquer,como esta pedra cinzenta em que me sento e descanso,como este ribeiro manso, em serenos sobressaltoscomo estes pinheiros altos
� Cifra com o quadrado de Vigenère e chave “poema”texto elesnaosabemqueosonhoeumaconstantedavidataoconcretaedefinida
CriptanCriptanCriptanCriptanáááálise de um criptograma Vigenlise de um criptograma Vigenlise de um criptograma Vigenlise de um criptograma Vigenèèèère:re:re:re:Exemplo (2/2)Exemplo (2/2)Exemplo (2/2)Exemplo (2/2)
MMMMááááquinas de rotores (1/2)quinas de rotores (1/2)quinas de rotores (1/2)quinas de rotores (1/2)
� As máquinas de rotores concretizam cifras polialfabéticas complexas� Cada rotor efectua uma permutação do alfabeto
� Que consiste num conjunto de substituições� A posição do rotor concretiza um alfabeto de substituição� A rotação de um rotor ao longo do tempo concretiza uma cifra
polialfabética� Acumulando vários rotores em sequência e rodando-os de forma
diferenciada consegue-se uma cifra polialfabética complexa� A chave de cifra é:
� O conjunto de rotores usado (conjunto de permutações)� A ordem relativa dos rotores (ordem das permutações)� A posição original dos rotores (alfabetos de substituição originais)
� Rotores simétricos (bidireccionais) permitem concretizar a decifras usando cifras duplas� Uso de um disco reflector (meio-rotor)� Cada símbolo nunca pode ser substituído por si mesmo
� Originalmente apresentada em 1919� Enigma I, com 3 rotores
� Foram usadas diversas variantes� Com diferentes números de rotores� Com cablagem para permutar alfabetos� Selecções de chaves distribuídas em livros de códigos
� 5 critérios de Shannon� A quantidade de secretismo oferecida� A complexidade na escolha das chaves� A simplicidade da realização� A propagação de erros� A dimensão do criptograma
� Assumir sempre o pior caso� O criptanalista conhece o algoritmo
� A segurança está na chave� O criptanalista possui grande número de criptogramas gerados com esse algoritmo� Os criptogramas não são secretos
� O criptanalista conhece parte do texto original que produziu esses criptogramas� É normal haver alguma noção do texto original� Ataques com texto conhecido
� Geração e mistura da chave contínua� Gerador: máquina de estados� Algoritmo: diagrama de transições da máquina de estados� Chave: estado inicial da máquina de estados� Mistura: XOR bit a bit (C = T ⊕ K, T = C ⊕ K)
� Caracterização� São cifras polialfabéticas
� A chave contínua pode ser infinita mas o período é finito� O período é dado pelo ciclo executado pela máquina de estados
para uma dada chave� A sincronização é crítica
� Usa confusão� Mas não difusão� Não propaga erros
CriptanCriptanCriptanCriptanáááálise de lise de lise de lise de TunnyTunnyTunnyTunny em em em em BletchleyBletchleyBletchleyBletchley ParkParkParkPark (1/3)(1/3)(1/3)(1/3)
� A estrutura da máquina Lorenz não era conhecida� Só no final da guerra a conseguiram observar� Sabiam que ela existia porque interceptavam
comunicações cifradas usando símbolos de 5 bits� Usando o código de 32 símbolos de Baudot em vez do
CriptanCriptanCriptanCriptanáááálise de lise de lise de lise de TunnyTunnyTunnyTunny em em em em BletchleyBletchleyBletchleyBletchley ParkParkParkPark (2/3)(2/3)(2/3)(2/3)
� O erro (30 de Agosto de 1941)� Um operador alemão tinha uma grande mensagem para enviar (~4,000 caracteres)
� Configurou a sua Lorenz e enviou um indicador de 12 letras (posição inicial dos rotores) para o receptor
� Depois de ter escrito ~4,000 caracteres, manualmente, recebeu do receptor “envie outra vez”
� Ambos colocaram a Lorenz na mesma posição inicial� Completamente proibido!
� O emissor recomeçou o envio da mensagem, manualmente� Mas escreveu algo ligeiramente diferente!
� A descoberta� A mensagem começava com um texto bem conhecido: SPRUCHNUMMER — número de
mensagem� Na primeira vez o operador escreveu S P R U C H N U M M E R� Na segunda vez escreveu S P R U C H N R� Assim, imediatamente após o N os dois criptogramas eram diferentes!
� As mensagens foram completamente decifradas por John Tiltman, em Bletchley Park, usando combinações aditivas dos criptogramas (chamados Depths) � A segunda mensagem era cerca de 500 caracteres mais curta que a primeira
� Assim se conseguiu obter, pela 1ª vez, um exemplar longo de uma chave contínua Lorenz� Tiltman ainda não sabia como a Lorenz operava, apenas sabia que o que tinha era o
CriptanCriptanCriptanCriptanáááálise de lise de lise de lise de TunnyTunnyTunnyTunny em em em em BletchleyBletchleyBletchleyBletchley ParkParkParkPark (3/3):(3/3):(3/3):(3/3):ColossusColossusColossusColossus
� A estrutura da cifra foi deduzida apartir da chave contínua capturada� Mas a decifra dependia do
conhecimento da posição inicial dosrotores
� Os alemães começaram a usarnúmeros para definir o estado inicial dos rotores� Bill Tutte desenvolveu um método para o encontrar
� A máquina Colossus foi desenvolvida para aplicar esse método� A concepção começou em Março de 1943� O Colossus Mark 1 (1500 válvulas) estava operacional em
Janeiro de 1944� O Colossus reduziu o tempo de criptanálise de semanas para
DESDESDESDES ((((Data Data Data Data EncryptionEncryptionEncryptionEncryption StandardStandardStandardStandard) (1/4)) (1/4)) (1/4)) (1/4)
� 1970: necessidade de uma cifra padrão que para a sociedade civil
� 1972: NBS abre um concurso para uma nova cifra com os seguintes requisitos:� alto nível de segurança� completamente especificado, fácil de perceber� Algoritmo público
� secretismo dependente apenas das chaves� Multiusos� Economicamente realizável em dispositivos electrónicos � Eficiente� Susceptível de validação� Susceptível de exportação
� Dificuldade de factorização de grandes números� Dificuldade de cálculo de logaritmos discretos
� Operações e chaves� C = Pe mod n P = Cd mod n K = (e, n) K-1 = (d, n)� C = Pd mod n P = Ce mod n
� Escolha dos valores das chaves� n de grande dimensão (centenas ou milhares de bits)� n = p · q p e q primos� Escolher e coprimo de (p-1)(q-1)� Procurar um d tal que e · d ≡ 1 mod (p-1)(q-1)� Não se consegue deduzir d a partir de e e n
� Publicado por El Gamal em 1984� Semelhante ao RSA
� Mas baseado apenas na dificuldade de cálculo de logaritmos discretos
� Uma variante é muito usada em assinaturas digitais� DSA (Digital Signature Algorithm)� US Digital Signature Standard (DSS)
� Operações e chaves (para assinaturas)� β = αa mod p K = (β, α, p) K-1 = (a, α, p)� k aleatório, k · k-1 ≡ 1 mod (p-1)� Assinatura de x: (γ,δ) γ = αk mod p δ = k-1 (x - aγ) mod (p-1)� Validação da assinatura de x: βγγδ ≡ αx (mod p)
� Problema� O valor de k precisa de ser secreto� O seu conhecimento revela a!
DiagramasDiagramasDiagramasDiagramas de de de de assinaturaassinaturaassinaturaassinatura e e e e validavalidavalidavalidaççççãoãoãoão((((dadadada wikipediawikipediawikipediawikipedia, http://, http://, http://, http://en.wikipedia.org/wiki/Digital_signatureen.wikipedia.org/wiki/Digital_signatureen.wikipedia.org/wiki/Digital_signatureen.wikipedia.org/wiki/Digital_signature))))
AssinaturaAssinaturaAssinaturaAssinatura digital num edigital num edigital num edigital num e----mail:mail:mail:mail:ConteConteConteConteúúúúdosdosdosdos multimultimultimulti----partidospartidospartidospartidos, , , , assinaturaassinaturaassinaturaassinatura c/ c/ c/ c/ certificadoscertificadoscertificadoscertificados