Criptografia (Clássica)

20
Criptografia (Clássica) Acompanhamento para a apresentação Douglas D. Souza e Antonio V. Barranco

Transcript of Criptografia (Clássica)

Page 1: Criptografia (Clássica)

Criptografia (Clássica) Acompanhamento para a apresentação Douglas D. Souza e Antonio V. Barranco

Page 2: Criptografia (Clássica)

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

Page 3: Criptografia (Clássica)

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;

Page 4: Criptografia (Clássica)

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.

Page 5: Criptografia (Clássica)

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

Page 6: Criptografia (Clássica)

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

Page 7: Criptografia (Clássica)

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

Page 8: Criptografia (Clássica)

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”

Page 9: Criptografia (Clássica)

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

Page 10: Criptografia (Clássica)

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

Page 11: Criptografia (Clássica)

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

Page 12: Criptografia (Clássica)

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

Page 13: Criptografia (Clássica)

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

Page 14: Criptografia (Clássica)

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

Page 15: Criptografia (Clássica)

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

Page 16: Criptografia (Clássica)

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)

Page 17: Criptografia (Clássica)

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

Page 18: Criptografia (Clássica)

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

Page 19: Criptografia (Clássica)

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

Page 20: Criptografia (Clássica)

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