Post on 24-Jun-2015
Criptografia (Clássica) Acompanhamento para a apresentação Douglas D. Souza e Antonio V. Barranco
CRIPTOGRAFIA (CLÁSSICA) Douglas D. Souza, sob as orientações de Antonio V. Barranco
Conteúdo
Por que fazer Criptografia? ..................................................................................................... 3
O que é Criptografia? .............................................................................................................. 3
Jargão da Criptografia ............................................................................................................. 3
O que é Esteganografia e Criptolalia? .................................................................................... 4
Sistematização da Criptografia ............................................................................................... 4
História da Criptologia – Antiguidade ..................................................................................... 5
História da Criptologia – Medieval (Era das trevas na Europa) .............................................. 6
História da Criptologia – Recente ........................................................................................... 7
História da Criptologia – Atual ................................................................................................ 9
Por que fazer Criptografia hoje? ........................................................................................... 14
Criptografia atual .................................................................................................................. 14
Esteganografia atual ............................................................................................................. 14
Sistematização da Criptografia Atual .................................................................................... 14
Tipos de Criptografias atuais ................................................................................................ 15
Criptografia Atual – Hash ...................................................................................................... 15
Criptografia Atual – Chaves Simétricas ................................................................................. 15
Criptografia Atual – Chaves Simétricas: DES ........................................................................ 15
Criptografia Atual – Chaves Simétricas: Triple-DES .............................................................. 16
Criptografia Atual – Chaves Assimétricas ............................................................................. 16
Criptografia Atual – Chaves Assimétricas: RSA ..................................................................... 17
Criptografia Atual – Protocolos Híbridos .............................................................................. 17
Criptografia Atual – Curvas Elípticas ..................................................................................... 17
Criptografia Atual – Assinatura Digital ................................................................................. 18
Criptografia Atual – Assinatura Digital via RSA ..................................................................... 18
Panorama da Criptografia Atual ........................................................................................... 18
Criptografia Atual: Uso Cotidiano! ........................................................................................ 19
Criptografia Atual: Órgãos Controladores ............................................................................ 19
Criptografia Atual: Ataques .................................................................................................. 19
Quebra do RSA: Se pode ser feito, acabará sendo feito... .................................................... 20
Bibliografia ............................................................................................................................ 20
Por que fazer Criptografia?
“Já se falou que a Primeira Guerra Mundial foi a guerra dos químicos, devido ao emprego, pela primeira vez, do gás mostarda e do cloro, que a Segunda Guerra Mundial foi a guerra dos físicos devido à bomba atômica. De modo semelhante se fala que uma Terceira Guerra Mundial seria a guerra dos matemáticos, pois os matemáticos terão o controle sobre a próxima grande arma de guerra, a informação. Os matemáticos têm sido responsáveis pelo desenvolvimento dos códigos usados atualmente para a proteção das informações militares. E não nos surpreende que os matemáticos também estejam na linha de frente da batalha para tentar decifrar esses códigos.”
SINGH, S. - O livro dos Códigos – Editora Record, 2001
“Uma corrente é tão segura quanto seu elo mais fraco”
O que é Criptografia?
Criptografia: ciência de se escrever mensagens que apenas o
destinatário pode ler
Criptanálise: ciência de se decifrar
e ler estas mensagens cifradas, sem conhecer a chave
A Criptografia e a Criptanálise compõem a chamada Criptologia, que pode ser considerado atualmente como um campo de estudos da matemática.
Jargão da Criptografia
Texto Claro: A mensagem em si;
Cifra: Método de obtenção do criptograma a partir dos caracteres ou conjuntos de caracteres
do texto;
Código: Obtenção do criptograma a partir das palavras ou conjuntos de palavras do texto;
Não envolvem chave criptográfica
Os milhares de substitutos são organizados nas chamadas “nomenclaturas”
Texto Cifrado, ou Criptograma: Mensagem cifrada;
O que é Esteganografia e Criptolalia?
A mensagem é escrita na língua natural mas é escondida
por algum artifício, como por exemplo uma camada de cera com outra mensagem por cima. Outro exemplo é a
grelha, onde as palavras são escritas espaçadas e outras palavras são adicionadas entre essas, modificando o
sentido original (usa-se um cartão previamente
recortado para ler apenas as palavras certas).
Por exemplo a língua do Pê.
Sistematização da Criptografia
Algumas combinações nunca ocorreram na história como, por exemplo, a cifra de substituição
poligrâmica polialfabética.
As cifras de transposição sozinhas são fáceis de serem quebradas: Supercifração, superencriptação ou recifração: Uma ou mais cifragens efetuadas em um
texto já cifrado.
História da Criptologia – Antiguidade
1900 a.C.
Substituição de hieróglifos na tumba de Khnumhotep II - “Mais importantes e bonitos” 1500 a.C.
Mesopotâmia: Um oleiro gravou a fórmula de um esmalte com símbolos diferentes em um tablete de barro para protegê-la dos seus rivais
Mercadores assírios usavam Intáglios, peças de barro com gravuras, para identificar unicamente
cada vendedor ≈ Certificação Digital! Esteganografia:
Marcas internas em caixotes de madeira com cera
Mensagem em estômagos de animais... e humanos!
500-600 a.C.
Hebreus – Livro de Jeremias (livro de Babel) ATBASH - o alfabeto reverso: ATBASH, ALBAM e ALBAH
Scytalae (ou bastão de Licurgo – cifra de transposição) – Usado pelos espartanos Heródoto - “As histórias”: Conflitos entre Grécia e Pérsia:
Histaeu enviou uma mensagem para Aristágora de Mileto para que se rebelasse contra o rei persa. Para isso tatuou a cabeça de um escravo e esperou que o cabelo crescesse novamente.
400 a.C.
Enéas, o tático - Telégrafo Hidro-ótico: Emissor e receptor possuíam um jarro contendo um bastão com diversas mensagens escritas. O emissor acendia uma tocha e os jarros eram
enchidos com água até que o emissor apagasse a tocha. O nível de água indicava a mensagem a ser enviada.
300 a.C.
Artha-sastra, de Kautilya (Índia):
Diversas cifras criptográficas
Diversos métodos para criptanálise
Recomendado para diplomatas
~300 a.C.
Euclides de Alexandria - Os Elementos: 13 livros de Geometria e Teoria dos números
Erastótenes de Cirene - Crivo de Erastótenes: Identificação de números primos ~200 a.C.
Políbio, historiador grego de Megalópolis - Código de Políbio: cifra de substituição
50 a.C.
Cifra de César: Substituição cíclica por letra 3 posições à frente no alfabeto. Funcionava bem
pois poucas pessoas eram letradas naquele período.
79 d.C.
Fórmula Sator (ou Quadrado Latino): Encontrado em escavações de Pompéia
Encontrado em um amuleto de bronze na Ásia Menor no séc. V
Alguns historiadores acreditam que seja anterior a era cristã
400 d.C.
Kama-sutra (de Vatsayana) - 44ª e 45ª artes que uma mulher deve conhecer (dentre 64): Escrever em cifras – Criptografia
Falar mudando as formas das palavras – Criptolalia
História da Criptologia – Medieval (Era das trevas na Europa)
718 –786
al-Khalil: Método da palavra provável – Muitos manuscritos da época se iniciavam com a sentença “Em nome de Deus”
801 –873
Abu Yusuf Ya'qub ibn Is-haq ibn as-Sabbah ibn 'omran ibn Ismail al-Kindi
al-Kindi, o filósofo dos árabes e o bisavô da estatística: Mais de 290 livros de medicina, astronomia, matemática, linguísticae música
Análise de frequência de ocorrência de letras:
Manuscritos estrangeiros levados para Bagdá, alguns encriptados = Curiosidade
A substituição implica que os novos símbolos tenha as mesmas propriedades das letras
originais: Frequência na língua, Posições em palavras, Agrupamentos repetitivos (sílabas)
Frequência de ocorrência das letras no português do Brasil (em porcentagem)
1187 –1229
Ibn Dunainir - Cifras Algébricas: Letras » Números » Transformações Aritméticas
1379
O antipapa Clemente VII designa Gabriele Lavinde para coordenar a unificação do sistema de cifras da Itália Setentrional:
Sistema usado por 450 anos! Manual ainda guardado pelo vaticano
1401
Simeone de Crema:
Homófonos - Múltiplos substitutos Indício de que o ocidente já conhece a criptanálise!
1412
Qalqashandi: “Subhal-asha”:
Enciclopédia de 14 volumes (em árabe...)
Seção de Criptologia escrita por al-Duraihim
Tabela de frequenciasde letras e conjuntos de letras!
0
5
10
15
20
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
História da Criptologia – Recente
1466
Leon Battista Alberti (1404-1472): 1ª cifra polialfabética → Disco de Alberti (de cifração) - Inquebrável até 1800 e chamado de
“invenção genial” por Charles Wheatstone que o reinventou em 1867
1470 -“Trattatiin cifra” Uso de vários alfabetos cifrados alternadamente → base para muitos
pesquisadores, dentre eles: Trithemius, Della Porta e Vigenère
Avanço mais relevante dos últimos 1000 anos! 1474
A criptografia torna-se uma prática universal
1518
Johannes Trithemius (1462-1516): Polygraphiae
Cifra esteganográfica que substituia cada letra por uma palavra de oração e gerava um texto compreensível
Tabula Recta Caesar
1526
Heinrich Cornelius Agrippa von Nettelsheim (1486-1535) - “De occultaphilosophia”: Cifra de
substituição monoalfabética (cifra Pig-Pen), usada pela sociedade secreta dos franco-maçons 1550
“De subtilitate libri XXI”, de Girolamo Cardano (1501-1576) notável matemático, “físico” e filósofo:
1º Método com auto-chave (imperfeito)
Grelha de Cardano (também inventada por Richelieu)
1551
John Dee (1527-1608), alquimista, astrólogo e matemático inglês, astrólogo da rainha Maria Tudor:
Alfabeto Enoquiano→ “Língua dos Anjos” → Língua arcaica com letras, gramática e sintaxe
próprias
Sua escrita cifrada não foi quebrada até hoje
1553
Giovanni Battista Bellaso (1505-15??) (Itália)
Introdução da “palavra chave”
Noção de senha como chave para a cifra polialfabética
Cifra de auto-chave (melhoria da de Cardano)
1563
Giambattista Della Porta (1535-1615): Fundador da 1ª sociedade científica da Renascença
1º Europeu a usar o método das palavras prováveis
1ª Cifra digrâmica (ou digráfica) da história
2º Disco cifrante da história (depois do de Alberti)
Uso de sinônimos e erros ortográficos para confundir os criptanalistas
“De furtivis literarum notis” → Compilação do conhecimento criptológico da época em quatro
volumes:
o Cifras arcaicas
o Cifras modernas
o Criptanálise
o Peculiaridades linguísticas
Classificou as cifras em cifras de transposição e substituição
1580
François Viète (1540-1603), matemático francês, considerado o “pai da álgebra moderna”
Notação algébrica sistematizada
O rei da espanha, Felipe II, ao perceber que seu complexo sistema de cifras havia sido
quebrado pelos franceses foi pedir ao Papa que intervisse contra o que ele acreditava ser “uso
de magia negra”. O Papa, bem informado das habilidades de Viète, nada fez. A cifra do Rei Felipe II era composta de substituições homofônicas e uma lista de códigos
com 413 termos
Os trechos decifrados por Viète eram usados na guerra mas a derrota das forças de
Mayenne aconteceu 1 dia antes da decifração completa, 110 milhas distante de Viète Cifra de Sully, desenvolvida por Viète em 1599
1586
Blaisede Vigenère (1523-1596), diplomata - “Traicté des chiffres”:
Examinou detalhadamente as cifras de seus predecessores: Alberti, Trithemius e Della Porta
Descreveu diversas cifras distintas
Desenvolveu um método de auto-chave progressiva
Apresentou o Vigenère tableau (quadrado de Vigenère)
Deu os créditos aos devidos autores, o que possibilitou que os historiadores pudessem saber
os verdadeiros inventores das cifras da antiguidade Uma simplificação de sua cifra de auto-chave eternizou seu nome: “Cifra de Vigenère” ou
ainda “Le chiffre indéchiffable”
1623
Sir Francis Bacon (1561-1626), inglês considerado o fundador da ciência moderna
Deu contribuições para a Esteganografia
→ Alfabeto biliteral: A e B em grupos de 5 = codificação binária de 5 bits
25 = 32 possibilidades
Hoje conhecida como cifra de Bacon
1663
Pasigrafia – Escrita Universal: desenvolvida por Athanasius Kircher (1601-1680), franciscano,
estudioso e matemático alemão. Números para significados semelhantes de palavras em Latim,
Italiano, Francês, Alemão e Espanhol 1691
Grande Cifra de Luís XIV: desenvolvida por Antoine Rossignol e seu filho Bonaventure Cifra robusta, quebrada apenas em 1890
Caiu em desuso após a morte de seus inventores
O Mistério do “Homem da Máscara de Ferro” reside na criptanálise incompleta de uma carta cifrada com esta cifra
Século XVII
Black Chambers → Espionagem na Europa
Leitura das correspondências diplomáticas internacionais
Cópia dessas correspondências
Devolução ao correio na manhã seguinte
Desde 1680 atuavam na França (Cabinet Noir)
1795
Thomas Jefferson (1743-1826), 3º presidente dos EUA: Cilindro cifrante de 26 discos
Substituições polialfabéticas com rapidez e segurança
Em cada disco a letra da palavra é substituida por outra duas posições à frente (no disco)
1837
O Código Morse é desenvolvido pelo assistente de Samuel Morse (1791-1872) Morse inventa o telégrafo Morse e envia a primeira mensagem em 1844: “What hath God
wrought”
1839
Sir William Brooke O’Shaughnessy - cirurgião inglês da Cia. Das Índias Orientais
Paralelamente a Morse (EUA), Cooke e Wheatstone(Inglaterra), desenvolveu um sistema de
comunicação: Interligação de toda a Índia por 6500km de linhas em apenas 3 anos
4km de conexão usando a água do rio Hooghly
1854
Charles Babbage (1791-1871), matemático inglês considerado “o pai do computador”
Quebra a cifra de Vigenère ao aceitar o desafio de um dentista que a havia reinventado
Entre diversos inventos curiosos projeta a “Máquina das diferenças” e a “Máquina analítica”
que serviriam para cálculos automatizados para a criação de tabelas de funções ou mesmo o cálculo de impostos
Criptanálise da cifra de Vigenère O uso repetido da chave pode levar a coincidências na substituição: O mesmo grupo de
letras ocasionalmente são deslocados pelas mesmas quantidades
A partir de uma análise da distância no texto entre esse agrupamento de letras podemos
descobrir quantas letras possui a chave
Sabendo o número de letras da chave podemos separar o texto cifrado em um grupo de letras para cada entrada da chave e usar análise de frequências para descobrir qual foi o
deslocamento usado em cada grupo e consequentemente descobrir qual é esta letra na chave.
1893
Padre Roberto Landell de Moura - “O Patrono dos Radioamadores Brasileiros”
Formado em Humanidades, Direito, Física e Química: Comunicação sem fio entre Av. Paulista e o alto de Sant’Ana (~8km em liha reta)
Três patentes em Washington (em 1904):
o “Transmissor de ondas”
o “Telefone sem fio”
o “Telégrafo sem fio”
História da Criptologia – Atual
1901
Guglielmo Marconi (1874-1937):
Transmissão Intercontinental (Inglaterra → Canadá)
“Você consegue ouvir algo, Sr. Kemp?”
Início da era da comunicação sem fios → Sistemas abertos de comunicação
1931 → a partir de Roma acionou a iluminação geral do Cristo Redentor
Janeiro de 1917
Decifração do telegrama de Zimmermann
• Comunicação entre o Ministro das Relações exteriores da Alemanha com a embaixada do México: Proposta indecente de aliança e conquista de territórios dos EUA
• Mudança da opinião pública norte-americana dentro de um mês, que antes era neutra quanto a guerra
• Responsável pelo ingresso dos EUA na 1ª Guerra Mundial
1917
Gilbert Sandford Vernam (1890-1960), da AT&T: Cifra de Vernam
Uma chave, gravada em fita de papel, é combinada caracter a caracter com o texto (cifra de fluxo)
Joseph Mauborgne sugere que seja usada informação randômica na chave
Torna-se conhecido como One-Time Pad
Vantagens:
o Provado, posteriormente (Shannon), que sua segurança é incondicional
Dificuldades:
o A chave deve ser tão longa quanto a mensagem
o Distribuir a chave com segurança é um novo desafio
o A chave deve ser perfeitamente randômica
1918
Arthur Scherbius (1878-1929)
Patenteia uma máquina de cifração com rotores e tenta vendê-la ao exército alemão
A Enigma é rejeitada
1920-1930
Diversas máquinas eletro-mecânicas são criadas 1924
Alexander von Kryha: “Máquina Codificante” Em um teste de criptanálise o criptograma de testes com 1135 caracteres foi decriptado em
2h41min por Friedman, Kullback, Rowlette Sinkov
Ainda assim foi um sucesso de vendas até 1950!
1927-1933 - Uso de criptografia com fins criminosos
~1930
SIGABA (irmã da M-134-C e Typex) - Inventada nos EUA por William Frederick Friedman (1891-
1969), “o pai da criptanálise dos EUA”: Aperfeiçoamento dos rotores de Heberne Scherbius
Escalonamentos randômicos
15 rotores
1933-1945
Enigma - Alemanha nazista
Simples e rápida de usar
Supostamente indecifrável Diversas versões
Famosas por que foram decifradas
Funcionamento
Combinação de sistemas mecânicos e elétricos: Teclado + rotores + mecanismo de passo
O rotor mais à direita gira a cada tecla pressionada, acionando os demais
Foram desenvolvidas versões com 3 a 8 rotores
O movimento da parte mecânica altera o circuito que efetua a cifração
A rotação é semelhante a um conta-quilometros
Ao se pressionar uma tecla, uma lâmpada indica a letra a ser usada para a substituição
Os rotores eram numerados de I a VIII
Cada rotor possui ligações internas diferentes
Alguns rotores possuiam mais ranhuras, rodando mais frequentemente
A chave do dia define a ordem, o número dos rotores a serem usados e o jumpeamento (entre outras variáveis)
Instruções de Uso
Os rotores são postos na configuração inicial padrão
Digita-se a chave da mensagem duas vezes (modificado após 1940)
Os rotores são postos na configuração da chave escolhida
Digita-se a mensagem
Os livros de códigos da marinha eram impressos em tinta vermelha, solúvel em água, sobre papel rosa
As chaves eram trocadas mensalmente
Foram usadas por: Exército, Marinha, Força Aérea, grupos nazistas, Gestapo e diplomatas
alemães
Criptanálise do Sistema Enigma
Correspondia a uma cifra de substituição polialfabética
O número de configurações se o oponente não conhece a máquina, tem acesso apenas às mensagens e a máquina é usada corretamente é 10114(~380 bits)
Conhecendo-se as configurações de jumpeamento e as restrições operacionais: 1023 configurações (~76 bits)
O sistema foi repetidamente incrementado com novidades
ULTRA (-secret) - Inteligência inglesa e norte-americana
o Usavam a Typex e one-time pad para disseminar as informações
o Para despistar os alemães desconfiados:
Aviões de reconhecimento sobrevoavam antecipadamente cada navio cuja posição
tinha sido decifrada
Espiões inexistentes eram informados das gratificações que receberiam pelo excelente
trabalho
Álibis até mesmo exagerados eram inventdos! Poloneses e franceses:
o Compra de chaves por três meses
o O sistema é quebrado pelos matemáticos poloneses Marian Rejewski, Jerzy Różycki e
Henryk Zygalski
Bombe machine
o Criada por Alan Turing, Gordon Welchman e outros (Inglaterra)
o Engenharia reversa de uma Enigma roubada
o Criptanálise do sistema
1944
Colossus machine
Desenhada por quatro engenheiros para resolver um problema formulado pelo matemático
Max Newman na decifração das Lorenz machines:
o Tommy Flowers
o Allen Coombs
o Sid Broadhurst
o Bill Chandler
Primeiro computador eletrônico, digital e programável Posto em ação em Bletchley Park, Inglaterra
Mark 1 – 1500 válvulas eletrônicas
Mark 2 – 2400 válvulas (e 5 vezes mais rápida)
5000 caracteres por segundo de processamento
12,2 m/s de fita de papel
Desintegração do papel quando atingido 9700 caracteres por segundo
Computação paralela! Dez Colossi em uso no período final da guerra
Todas foram destruídas com o final da guerra
Informações das movimentações das tropas alemãs
Informações sobre o tamanho real das forças alemãs
Confiança nas operações do “dia-D”
~1945 – Decifração das comunicações em 1 ou 2 dias
Término da Guerra 1 ano antes do esperado (talvez 2)
Após a Guerra
Recolhimento das Enigmas e venda para países de 3º mundo... Operações mantidas em segredo até 1974, junto com o nome dos envolvidos na decifração
da Enigma e as atividades em Bletchley Park
Publicação de livros por diversos envolvidos nas quebras dos códigos
1937 (uso em 1939)
“Purple Machine” - inventada por Jinsaburo Ito (Japão) Relês telefônicos escalonados ao invés de rotores
Sistema quebrado pela equipe de W. F. Friedman em 1940
Descoberta do ataque a Pearl Harbor na última hora
1943-1980
Projeto Venona, da NSA (National Security Agency) - O mais duradouro projetos
criptográficos:
Decifração das mensagens enviadas à KGB em Moscou
Identificação dos espiões soviéticos
o Klaus Fuchs
o Nun May
o Bruno Pontecorvo
o Indiretamente ›› Casal Ethel e Julius Rosenberg
1948
Claude Elwood Shannon (1916-2001) “A Mathematical Theory of Communication”:
Criação de uma nova área da matemática, já totalmente fundamentada
Idéia pioneira de “reduzir o conteúdo da informação em uma sequência de zeros e uns”
“Entropia”, termo sugerido por John Von Neumann
“A Communications Theory of Secrecy Systems” 1960
Horst Feistel (1915-1990), pesquisador do IBM Watson Research Lab Cifra Lucifer
Cifra de bloco com blocos e chaves de 128 bits
Vulnerável à criptanálise diferencial Base do DES e outros produtos da família de cifras Feistel
1969
James Ellis da CESG (Communications Electronic Security Group): Sistema de chaves públicas e
privadas separadas baseado em texto anônimo da Bells Labs da II G. M.
1973
Clofford Cocks conhece Ellis e acha uma solução que é basicamente o RSA
1974
IBM apresenta a cifra Luciferao NBS (National Bureau of Standards – hoje NIST)
1976
NBS, com ajuda da NSA introduz modificações na cifra Lucifer:
FIPS PUB-46 é adotado como padrão de encriptação de dados dos EUA:
DES (Data Encryption Standard)
1976
Whitfield Diffie e Martin Hellman publicam o “New Directions In Cryptography” Alertam que o uso de força bruta quebraria o DES
DES é quebrado 20 depois, a um custo 100 vezes menor que o estimado inicialmente
Introdução da idéia de criptografia de chave pública
Reforço da concepção de autenticação com uso de função de via única (one-way function)
Abril de 1977
Protocolo RSA
Ronald L. Rivest - Adi Shamir - Leonard M. Adleman Discussão de um protocolo de chave pública prático
Rivest: uso de fatoração em grandes números primos
Patente de algoritmo: novidade na época
Publicado no Scientific American de setembro de 1997: Oferta de envio de um relatório
técnico completo pra quem enviasse uma carta selada e com o próprio endereço
Receberam milhares de cartas de todo o mundo
A distribuição foi pausada devido à NSA e novamente retomada
1985
Criptografia com curvas elípticas proposta independentemente por Neal Koblitz e Victor Miller
1990
Xuejia Lai e James Massey (Suiça) - “A Proposalfor a New Block Encryption Standard”:
IDEA (International Data Encryption Standard)
Proposto para substituir o DES
128 bits de chave
Operações adequadas para PCs de uso geral
Implementações mais eficientes de software
1991
Phil Zimmermann: PGP (Pretty Good Privacy)
Resposta ao FBI, que declarou ter o direito de ler todas as comunicações não secretas realizadas
Alta segurança para pessoas comuns
Grande concorrente de produtos comerciais, como o Mailsafe, da RSA Data Security Inc.
FREEWARE: tornou-se rapidamente um padrão mundial
Zimmermann foi alvo de investigação federal por 3 anos
1994
Ron Rivest, autor do RC2 e RC4 publica o RC5 na internet - Operações não lineares Blowfish, algoritmo projetado por Bruce Schneier
Cifra de bloco de 64 bits
Chave de até 448 bits
Novembro de 1994
TEA – Tiny Encryption Algorithm - desenvolvido por David Wheeler e Roger Needham na
Universidade de Cambridge, Inglaterra
Cifra de bloco do tipo Feistel Rival do IDEA
Sem patente
Chaves de 128 bits
Diversos aperfeiçoamentos subsequentes
1995
SHA-1 (Secure Hash Algorithm) - Adotado pelos EUA para uso em todas os departamentos e
agências federais na autenticação de documentos digitais
1997
PGP 5.0 → Amplamente distribuído (freeware)
DES de 56 bits: quebrado por uma rede de 14000 computadores
1998
DES de 56 bits: quebrado em 56 horas por pesquisadores da EFF (Electric Frontier Foundation), do vale do silício
1999
DES de 56 bits: quebrado em 22h15min por uma máquina da EFF (DeepCrack) associado a
computação distribuída → Governo dos EUA parte para o triple-DES
2002 (oficialização)
Rijndael: Uma coleção de cifras de bloco, é selecionada para substituir o DES: AES → Advanced
Encryption Standard Eleito com 86 votos contra 59 do 2º colocado
Cifra de bloco simétrica com chaves de 128, 192 e 256 bits
Implementação rápida via hardware e software
Por que fazer Criptografia hoje?
Necessidades atuais de se garantir:
Sigilo: Apenas usuários autorizados têm acesso à informação
Integridade: Garantia de que a informação não foi alterada
Autenticação do usuário: Permite ao sistema saber se a pessoa é de fato quem alega ser
Autenticação de remetente: Permite ao usuário certificar-se que a mensagem foi de fato
enviada pelo remetente ou provar que o remetente foi o autor da mensagem (também chamada “não-repúdio”)
Autenticação de destinatário: Prova de que a mensagem foi recebida como enviada
Autenticação de atualidade: Provar que a mensagem não se trata de mensagens antigas reenviadas
Criptografia atual
Criptografia Atual:
Feita por algoritmos que embaralham os bits da mensagem conforme parametrizado por uma
chave ou par de chaves
Princípio de Kerckhoffs:
“A segurança de um sistema criptográfico não deve depender do fato de o algoritmo ser secreto ou não. Ela deve ser garantida apenas por se manter secreta a chave”
“Máxima de Shannon”:
“O inimigo conhece o sistema”
Esteganografia atual
Esteganografia Atual:
Ocultar informações dentro de outras Técnica LSB (Least Significant Bit): troca-se o último bit de cada porção do arquivo por um
bit da mensagem
o Imagens
o Vídeos
o Áudios
Sistematização da Criptografia Atual
Tipos de Criptografias atuais
Criptografia Hash
Criptografia de Chaves Simétricas
Criptografia de Chaves Assimétricas
Criptografia de Curvas Elípticas
Assinatura Digital
Criptografia Atual – Hash
Hash – Picar, misturar, confundir
“Transformação de grande quantidade de informação em uma pequena quantidade de
informação”
Identificação unívoca de arquivo ou informação
Unidirecional: Impossível reobter o arquivo a partir de seu valor hash
Colisões: Contra-domínio muito menor que o domínio da função h(x)
Quanto mais difícil a geração de colisões intencionais, melhor o algoritmo
SHA – Secure Hash Algorithm - SHA-0, SHA-1, SHA-2
Algoritmo usado pelo eMule para identificar arquivos duplicados
Saídas de comprimento fixo (160 ou mais bits)
MD – Message-Digest Algorithm - MD, MD2, MD4, MD5
Desenvolvido pela RSA Data Security, Inc. Algoritmo usado para verificação de arquivos longos baixados por P2P (peer to peer)
Usado como autenticação de login em sistemas UNIX
Saída fixa de 128 bits
Criptografia Atual – Chaves Simétricas
Chaves Simétricas
Tipo mais simples
Emissor e receptor possuem a mesma chave
Desvantagens:
o Necessita troca constante de chaves
o Não podem ser usados para autenticação
Vantagens:
o Algoritmos mais rápidos que os assimétricos
Exemplos: DES –56 bits (quebrada)
IDEA –128 bits
RC (Ron’s Code ou Rivest Cipher) - Largamente usado em e-mails - 8 a 1024 bits (RC2, RC4,
RC5, RC8)
3DES
Twofish
Blowfish
AES – Advanced Encryption Standard
Criptografia Atual – Chaves Simétricas: DES
DES - Data Encryption Standard (1976-1999)
Embaralhamento da mensagem parametrizado por uma chave de 56 bits:
256 ≈ 7,2 . 1016 chaves possíveis
Menos chaves que uma cifra de substituição polialfabética, mas sem atalhos conhecidos para
sua quebra...
Funcionamento:
A mensagem é quebrada em blocos de 64 bits que ao entrarem no algoritmo são novamente divididos em dois blocos de 32 bits. Esses bits são completamente embaralhados conforme é parametrizado pela chave de 64 bits, que é dividida em 16 chaves de 4 bits cada. Embora a chave na realidade tenha 64 bits, 8 desses bits são usados para verificar erros e são descartados, por isso temos o DES-56 bits.
O algoritmo é uma repetição da unidade fundamental chamada “round”, o conceito usado é chamado “esquema Feistel” e garante que a encriptação e decriptação sejam bem parecidas.
Criptografia Atual – Chaves Simétricas: Triple-DES
Duas chaves de 56 bits cada:
2112 ≈ 5 . 1033 chaves possíveis
Implementação lenta em software
Funcionamento:
Criptografia Atual – Chaves Assimétricas
Criptografia Assimétrica ou de chave pública
Uso de um par de chaves:
o Pública –distribuída livremente (que apenas encripta = cadeado)
o Privada –guardada pelo gerador das chaves (que apenas decripta)
Funcionamento:
o Alice gera uma chave pública e uma chave privada
o Bob usa a chave pública para encriptar a mensagem
o Ninguém consegue decriptar o criptograma sem a chave privada, nem mesmo Bob
o Alice usa a chave privada e obtém a mensagem
O que é como um cadeado, fácil de fechar e difícil de abrir sem uma chave?
Funções de via única!
Exemplos: RSA
El Gamal
DSS (Digital Signature Standard)
Vantagens:
Garantia de autenticidade ou confidencialidade
Possibilidade de comunicação segura entre partes que nunca se encontraram (sem
“handshake”) Desvantagens:
A decriptação exige tempo computacional e torna inviável seu uso em comunicação intensa
Criptografia Atual – Chaves Assimétricas: RSA
Protocolo RSA
Geração das chaves:
o Aleatoriamente escolha dois números primos p e q grandes, maiores que 10100 (maiores
que 350 bits)
o Calcule n = p.q
o Compute a função totiente φ(n) = (p-1)(q-1)
o Escolha um inteiro e tal que 1 < e < φ e φ e e sejam primos entre si o Compute d de forma que d.e seja congruente a 1 mod(φ)
Chaves Públicas: n e e
Chaves Privadas: n e d
Cifração: Transformação da mensagem m tal que m < n em uma mensagem c
Usa-se a chave pública do destinatário n e e:
Potenciação modular: c = memod(n)
Decifração:
Basta calcular m = cdmod(n)
Aprimoramentos básicos na computação:
Exemplo de otimização na obtenção dos números primos:
o Todo número primo pode ser escrito na forma (4n+1) ou (4n-1), onde n é um inteiro
Cálculo da exponenciação modular memod(n):
o O módulo pode ser resolvido em cada etapa de multiplicação por m:
memod(n)= aemod(n), sendo que a = m mod(n)
Criptografia Atual – Protocolos Híbridos
Protocolos Híbridos
A comunicação inicial (Handshake) é feita por chaves assimétricas, permitindo o
compartilhamento de uma chave simétrica
As comunicações posteriores são feitas por chaves simétricas, sempre trocadas no final de
cada transmissão
Exemplos:
TLS (Transport Layer Security)
SSL (Secure Sockets Layer)
Criptografia Atual – Curvas Elípticas
ECC (EllipticCurve Cryptography)
Dificuldade de se resolver o logaritmo discreto para o grupo de uma curva elíptica sobre alguns grupos finitos
A codificação é uma adaptação de antigos sistemas criptográficos de logaritmos discretos,
projetados para uso em outros grupos discretos:
o Diffie-Hellman
o El Gamal
o DSA
Acredita-se que seja mais complicado que os problemas de fatorização ou PLD, o que
implica na possibilidade de uso de chaves menores com a mesma segurança
O teste mais complexo usou 10000 computadores tipo Pentium por 540 dias seguidos para quebrar uma chave de 109 bits, em 2003
Estima-se que a chave de comprimento mínimo recomendado, 163 bits, exija recursos 108 vezes maiores
Criptografia Atual – Assinatura Digital
Assinatura Digital
Garantir a autoria do documento, entre outras coisas
Funcionamento: Emissor
o Aplica uma função hash sobre a mensagem
o Encripta o valor hash por um sistema de chaves públicas
o Envia a mensagem e o valor hash já encriptado
Receptor
o Calcula o valor hash da mensagem recebida
o Decripta com a chave privada o hash enviado
o Compara os valores hash
Criptografia Atual – Assinatura Digital via RSA
Assinatura Digital usando o RSA
O emissor, que possui a chave privada d, assina uma dada mensagem:
o s = mdmod(n)
É difícil obter s sem conhecer d, o que garante que a mensagem foi enviada pelo remetente
O receptor obtém a mensagem fazendo:
o se= (md)emod(n) = m mod(n)
Panorama da Criptografia Atual
Criptografia Atual: Uso Cotidiano!
Existem diversos programas de proteção de dados de computador:
Encrypted Magic Folder
Best Crypt
EasyCrypto
PGP
DataSafe
Kryptel Lite
Power Crypt
Cypher Millenium
DriveCrypt
FineCrypt
Etc
Criptografia EFS:
Criptografia nativa do sistema operacional Windows 2000 ou posterior
Menu “Arquivo” do Windows Explorer
Criptografia por Hardware:
Lançado pela Seagate em 2007: HD Momentus 5400 FDE.2
Para PCs portáteis
AES de 128 bits
Chip codificador dedicado
Solução mais econômica que via software
Sem alteração de desempenho
Autenticidade: A chave fica no computador do usuário?
Solução: SmartCard
o O cartão guarda a chave que não pode ser lida
o O chip do cartão possui memória RAM (8KB), ROM (346KB+256KB) e microprocessador
(16-bit) próprios e encripta os dados
o O computador tem acesso aos dados já criptografados
eToken - SmartCard USB
Criptografia Atual: Órgãos Controladores
ICP – Infraestrutura de Chaves Públicas
No Brasil controla 6 Autoridades Certificadoras:
Presidência da República
Receita Federal
SERPRO (Serviço Federal de Processamento de Dados)
Caixa Econômica Federal
SERASA (Centralisadora dos Serviços dos Bancos S/A)
CertiSign – Empresa de certificação digital
Criptografia Atual: Ataques
Todo processo de encriptação deixa rastros...
Timing Attacks
Usado contra SmartCards
Para se evitar Timing Attacks pode-se programar o processo de encriptação para que dure
sempre o mesmo intervalo de tempo = Perda de eficiência
Consumo de corrente
Geração de Calor
Emissão de radiação
etc
Quebra do RSA: Se pode ser feito, acabará sendo feito...
A geração de números primos depende de algoritmos que eventualmente são aperfeiçoados
A capacidade de processamento dos computadores cresce a cada dia (conforme a lei de
Moore, dobra a cada 2 anos)
Um computador quântico com o algoritmo de Shor seria capaz de fatorar os números usados
atualmente em alguns segundos
Com a criptografia clássica, tudo o que já foi feito, um dia poderá ser descoberto...
Bibliografia
Sites:
Site de Simon Singh, escritor do livro The Code Book. No site o autor disponibiliza
gratuitamente para download um CD (em inglês) com conteúdo interativo e muito rico para complementar o livro
www.simonsingh.net Site de uma apresentação sobre Assinatura Digital da disciplina de Redes de Computadores
da UFRJ
http://www.gta.ufrj.br/grad/07_1/ass-dig/index.html Curso de Criptologia do site "Aldeia Numaboa" de autoria de Viktoria Tkotz
http://www.numaboa.com/criptografia Trabalho de Fernanda Taline da Silva (aluna) e Fabiana Garcia Papani (orientadora) da
UNIOESTE
http://projetos.unioeste.br/cursos/cascavel/matematica/xxiisam/artigos/16.pdf Curso de Introdução, História e Teoria da Criptografia de Rodolfo Riyoei Goya
http://rgoya.sites.uol.com.br/criptografia/index.html Blog sobre Segurança da Informação escrito por Evaldo Tatsch Júnior
http://infoaux-security.blogspot.com/ História e aplicações da Criptografia
http://www.absoluta.org/cripty/cripty_h.htm Youtube –Charles Babbage and his Difference Engine #2
http://www.youtube.com/watch?v=KBuJqUfO4-w&NR=1 Artigos da Wikipedia.org (inglês e português): AES, Algoritmo de chave simétrica, Assinatura
Digital, Criptografia, Criptografia de chave pública, Criptografia de curvas elípticas, Data
Encryption Standard, Esteganografia, Diffie-Hellman, Enigma (máquina), Hash, MD5, One-time
pad, PGP, RC5, RC6, RSA, SHA-1 http://www.wikipedia.org/ Trechos do episódio 24 da 2ª temporada de “O Mundo de Beakman”
Filmes Indicados:
Enigma (2001) Windtalkers (2002)
Livros:
SINGH, S. - O livro dos Códigos – Editora Record, 2001 Artigos:
Dusek, M., Lütkenhaus, N., Hendrych, M., Quantum Cryptography, E. Wolf, Progress In Optics VVV