c LSITec 1999 Histria da Criptografia Volnys Borges
(c) LSI-Tec 1999 História da Criptografia Volnys Borges Bernal Laboratório de Sistemas Integraveis Escola Politécnica da USP 1
(c) LSI-Tec 1999 Agenda o Alguns algoritmos clássicos de criptografia convencional v Cifra de Cesar v Playfair v Máquina de rotação 2
(c) LSI-Tec 1999 Algoritmos Clássicos Cifra de Cesar 3
(c) LSI-Tec 1999 Cifra de Cesar o o o Utilizada por Julio César Uso mais antigo de criptografia Cada letra do plaintext é substituida pela letra localizada a “d” posições à frente no alfabeto A chave do algoritmo é o deslocamento v K = “d” Julio César utilizava K=3 4
(c) LSI-Tec 1999 Cifra de Cesar (cont. ) o Atribui-se valores a cada letra do alfabeto: 00 01 02 03 04 05 06 07 08 09 10 11 12 a b c d e f g h i j k l m 13 14 15 16 17 18 19 20 21 22 23 24 25 n o p q r s t u v w x y z Encriptação: ï Ci = Ek(Pi) = ( Pi + k) mod 26 o Decriptação: ï Pi = Dk(Ci) = (Ci - k + 26) mod 26 o 5
(c) LSI-Tec 1999 Cifra de César (cont. ) o Exemplo de encriptação Plaintext: Ciphertext: “Este é um exemplo de mensagem” “hvwhhxphuhpsorghphkvdjhp“ P C Encriptador (E) Chave: K = 3 6
(c) LSI-Tec 1999 Cifra de César (cont. ) o Exemplo de decriptação Ciphertext: Plaintext: “hvwhhxphuhpsorghphkvdjhp“ “Este é um exemplo de mensagem” C P Decriptador (D) Chave: K = 3 7
(c) LSI-Tec 1999 Cifra de César (cont. ) o Criptoanálise v Espaço de chaves: Nchaves = 25 v Bloco = caractere v Espaço de blocos: 26 (qtde de blocos diferentes) v Ataques ï (1) Somente ciphertext: Força Bruta: Existem somente 25 chaves possíveis u Decifração símples: teste de todas as alternativas u ï (2) u ï (3) Plaintext Conhecido Direto: basta realizar a difereça do primeiro caractere para obter a chave Plaintext Escolhido / Ciphertext Escolhido: 8
(c) LSI-Tec 1999 Algoritmos Clássicos Playfair 9
(c) LSI-Tec 1999 10 Playfair Criado em 1854 e utilizado na 1 a guerra mundial pelos governos da Inglaterra e EUA o A encriptação é realizada traduzindo-se dois caracteres por vez o o Exemplo: v Plaintext: “Este é um exemplo de mensagem” Plaintext: Es te éu me xe mp lo de me ns ag em Ciphertext:
(c) LSI-Tec 1999 Playfair (cont. ) o Chave: v (a) A chave utilizada é uma palavra qualquer (uma seqüência de letras) v (b) Estas letras são dispostas em uma matriz 5 x 5. v (c) O restante da matriz é preenchido com as letras do alfabeto não utilizadas v OBS: ï Não devem existir letras repetidas na matriz ï Como o alfabeto inglês possui 26 letras e existem somente 25 posições, as letras “i” e “j” são representadas de forma única 11
(c) LSI-Tec 1999 Playfair (cont. ) o Exemplo: v Chave: ï “MONARQUIA” ï Na forma de Matriz 5 x 5: M O N A R Q U IJ M Q D K V O U E L W N A I J B F G P S X Y R C H T Z 12
(c) LSI-Tec 1999 Playfair (cont. ) o Regras de codificação: v (1) Este algoritmo não permite a tradução de pares de letras iguais do plaintext. Pares de letras iguais no plaintext devem ser separadas por uma letra especial pré estabelecida. ï Exemplo: “ESSA” --> “ESXSA” v (2) Se as duas letras estão em uma mesma linha, cada uma é substituida pela letra imediatemente a seguir na mesma linha 13
(c) LSI-Tec 1999 14 Playfair (cont. ) o Regras de codificação (continuação) v (3) Se as duas letras estão em uma mesma coluna cada uma é substituida pela letra imediatamente abaixo na mesma coluna v (4) Se as duas letras estão em linhas e colunas diferentes: ï A primeira letra é substituida pela letra da matriz na mesma linha cuja coluna cruza a segunda letra. ï A segunda letra é substituida pela letra da matriz na mesma linha cuja coluna cruza a primeira letra
(c) LSI-Tec 1999 Playfair (cont. ) o Exemplo de encriptação Plaintext: Ciphertext: “Este é um exemplo de mensagem” “ gllhleodwfnkwuefodapbsdo“ P C Encriptador (E) M Q D K V O U E L W N A I J B F G P S X Y R C H T Z 15
(c) LSI-Tec 1999 16 Playfair (cont. ) o Exemplo de encriptação M Q D K V O U E L W N A I J B F G P S X Y Chave R C H T Z Plaintext es te éu me xe mp lo de me ns ag em gl lh le od wf nk wu ef od ap bs do Ciphertext
(c) LSI-Tec 1999 Playfair (cont. ) o Regras de decriptação v “Regras Inversas da encriptação”: v v v (2) Se as duas letras estão em uma mesma linha, cada uma é substituida pela letra imediatemente anterior na mesma linha (3) Se as duas letras estão em uma mesma coluna cada uma é substituida pela letra imediatamente acima na mesma coluna (4) Se as duas letras estão em linhas e colunas diferentes: ï A primeira letra é substituida pela letra da matriz na mesma linha cuja coluna cruza a segunda letra. ï A segunda letra é substituida pela letra da matriz na mesma linha cuja coluna cruza a primeira letra 17
(c) LSI-Tec 1999 Playfair (cont. ) o Exemplo de decriptação Ciphertext: Plaintext: “ gllhleodwfnkwuefodapbsdo“ “Este é um exemplo de mensagem” C P Decriptador (D) M Q D K V O U E L W N A I J B F G P S X Y R C H T Z 18
(c) LSI-Tec 1999 19 Playfair (cont. ) o Exemplo de decriptação M Q D K V O U E L W N A I J B F G P S X Y Chave R C H T Z Ciphertext gl lh le od wf nk wu ef od ap bs do es te éu me xe mp lo de me ns ag em Plaintext
(c) LSI-Tec 1999 Playfair (cont. ) o Criptoanálise v Espaço de chaves = Nchaves = (25 !) / 25 = 24 ! v Bloco = dígrafo (2 caracteres) v Espaço de blocos = Ndigrafos = 26 x 26 = 676 20
(c) LSI-Tec 1999 Playfair (cont. ) o Criptoanálise v Ataques ï (1) Somente Ciphertext u ï (2) u ï (3) u ï (4) u Análise de padrões, etc Plaintext Conhecido Permite obter de imediato a função de encriptação de alguns dígrafos Plaintext Escolhido Plaintext: “aa ab ac. . . az ba bb bc. . . bz. . . ” Ciphertext Escolhido Ciphertext: “aa ab ac. . . az ba bb bc. . . bz. . . ” 21
(c) LSI-Tec 1999 Algoritmos Clássicos Máquina de rotação 22
(c) LSI-Tec 1999 23 Máquina de rotação Técnica de substituição com vários estágios a fim de dificultar a criptoanálise o Consiste de um conjunto de cilindros independentes. Cada cilindro possui 26 pinos de entrada e 26 pinos de saída com uma ligação interna que conecta cada pino de entrada a um pino de saída o Maquinas deste tipo foram utilizadas na Segunda Guerra Mundial v Alemanha: Enigma v Japão: Purple o Allan Turing (matemático ingles) trabalhou para os aliados na criptoanalise deste tipo de máquinas o
(c) LSI-Tec 1999 Máquina de Rotação (cont. ) 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 cada letra codificada o cilindro é rotacionado em 1 posição o Após 26 letras codificadas o cilindro retorna à posição original o Ex: v Plaintext: abc v Ciphertext: def o 24
(c) LSI-Tec 1999 25 Máquina de Rotação (cont. ) o 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 cil. 3 cil. 2 cil. 1 Com vários Cilindros v A dificuldade de criptoanálise cresce com a utilização de vários cilindros concatenados v A cada letra codificada o cilindo 1 rotaciona 1 posição. v Sempre que o cilindro 1 voltar a posição original o cilindro 2 rotaciona 1 posição v Sempre que o cilindro 2 voltar a posição original o cilindro 3 rotaciona 1 posição
(c) LSI-Tec 1999 Máquina de Rotação (cont. ) o Encriptação Plaintext: Ciphertext: P C Encriptador (E) 26
(c) LSI-Tec 1999 Máquina de Rotação (cont. ) o Decriptação Mesmo algoritmo v Mesma sequência de cilindros v Mesmo sentido de rotação v Realiza a substituição no sentido inverso v 27
(c) LSI-Tec 1999 Máquina de Rotação (cont. ) o Exemplo de encriptação Plaintext: Ciphertext: C P Decriptador (D) 28
(c) LSI-Tec 1999 29 Máquina de Rotação (cont. ) o Criptoanálise Espaço de chaves = Nchaves = (26 !) N ï (p/ N cilindros distintos) v Bloco = caractere v Espaço de blocos = 26 ï porém um mesmo bloco pode ser codificado de forma diferente de acordo com sua posição no plaintext v
(c) LSI-Tec 1999 Máquina de Rotação (cont. ) o Criptoanálise v Ataques ï (1) Ciphertext Somente u ï (2) u ï (3) Força bruta Plaintext conhecido Se for longo o suficiente, direto Plaintext Escolhido Direto, exemplo: u Plaintext: “aaaaaaa. . . a” (26 N vezes p/ N cilindros) u ï (4) Ciphertext Escolhido Direto, exemplo: u Ciphertext: “aaaaaaa. . . a” (26 N vezes p/ N cilindros) u 30
(c) LSI-Tec 1999 Algoritmos Clássicos Exercícios 31
(c) LSI-Tec 1999 Exercícios o (1) Criptografe o plaintext “exercício” utilizando os algoritmos apresentados neste módulo. Utilize como valor da chave K os valores utilizados nos exemplos. o (2) Dentre os algoritmos vistos quais podem ser descobertos de forma direta (imediata) pelo ataque com “Plaintext Escolhido” onde é utilizada a seguinte mensagem: v “abcdefghijklmnopqrstuvwxyz” 32
(c) LSI-Tec 1999 Exercícios o (3) Dentre os algoritmos vistos quais podem ser descobertos de forma direta (imediata) pelo ataque com “Plaintext Escolhido” onde é utilizada a seguinte mensagem: v “aaaaaaaaaaa. . a” o (4) Dentre os algoritmos vistos quais podem ser descobertos de forma direta (imeditata) pelo ataque com “Plaintext Escolhido” onde é utilizada a seguinte mensagem: v “a” 33
(c) LSI-Tec 1999 34 Exercícios o (5) A facilidade ao ataque pela força bruta também está relacionado ao numero de chaves possíves no algoritmo. Qual o número de chaves possíveis de cada um dos algoritmos apresentados?
(c) LSI-Tec 1999 Algoritmos Clássicos Bibliografia 35
(c) LSI-Tec 1999 Bibliografia o Livro: v Network and Internetwork Security - Principles and Practice - Second Edition Willian Stallings Prentice Hall 1998 36
- Slides: 36