Baixe o app para aproveitar ainda mais
Prévia do material em texto
Introdução a Criptografia Prof. Emerson Alberto Marconato Criptografia “Criptografia é um conjunto de Técnicas para cifrar ou decifrar informações por meio de um algoritmo, convertendo um texto original em um texto ilegível, sendo possível mediante o processo inverso recuperar as informações originais”recuperar as informações originais” Texto Cifrado Texto Claro Algoritmo Criptográfico Alguns termos utilizados na criptografia Texto legível (texto claro, texto original, texto simples) Texto Ilegível (cifra, texto cifrado, texto código, criptograma) Encriptar (codificar, criptografar, cifrar) Algoritmo criptográfico: seqüência de procedimentos Algoritmo criptográfico: seqüência de procedimentos matemáticos capaz de cifra/decifrar informações. Criptologia: Estudo dos princípios, métodos e meios de ocultar informações. Criptoanálise: ciência que abrange os princípios, métodos e meios para se chegar à decriptação de um criptograma. Criptografia – Breve Histórico Antiga quanto a própria Escrita (Egípcios/Romanos) 1900a.C., um escriba teve a idéia de substituir palavras para que se um ladrão encontra-se pergaminho não encontraria o tesouro e morreria de fome nas pirâmides. 50 a.C., Cesar com sua cifra de substituição cifrou documentos/segredos governamentais. 50 a.C., Cesar com sua cifra de substituição cifrou documentos/segredos governamentais. 1901, início da era da comunicação sem fio (desafio de proteção). 1921 – primeira máquina eletromecânica de cifragem (Heber Electric Code) 1933-1945 – Máquina Enigma(Alemanha nazista), quebrado por um matemático polonês Criptografia – Breve Histórico 1943, Máquina Colossus (quebra códigos) 1976, Diffie-Hellman – algoritmo de Chave Pública 1976 , Lucifer (DES) – IBM, 56 bits de chave 1977-1978, RSA (Rivest) 1990, IDEA, 128 bits de chave 1991, PGP, sistema de segurança para usuários comuns 1994, RC4,RC5 1997, DES é quebrado (14.000 computadores) 1998, DES quebrado em 56 Horas 1999, DES quebrado em 22 horas (Disbributed.Net -100 mil Computadores pessoais) 2000-2001 – AES (novo padrão) Criptografia – Breve Histórico Máquina Enigma Importância da criptografia A maioria dos documentos e informações atualmente encontra-se no formato digital. Internet 2016 – 3,2 bilhões de usuário no mundo (segundo o Facebook)Facebook) 55% dos ataques são de pessoas da própria empresa Importância da criptografia O que os SOs podem oferecer de proteção? Normalmente a proteção do S.O é por meio de Login, onde temos um administrador do sistema responsável pela criação dos demais usuários. Infelizmente existem alguns ataques eficientes contra esse Infelizmente existem alguns ataques eficientes contra esse tipo de proteção: Ataques contra senhas: Os sistemas operacionais vem com um usuário de administrador padrão e o mesmo login é utilizado pra realizar todas as operações mo sistema. Assim o invasor se tiver competência poderá utilizar técnicas de capturas de senhas ou software de testes exaustivos de senhas até descobrir a senha correta. Importância da criptografia Ataque de recuperação de dados: O SO organiza as informações em arquivos e diretórios. Contudo, não deixam de ser bits eletrônicos que podem ser acessados sem a utilização do SO. Capturando os bits brutos, esses podem ser interpretados posteriormente. Ataque de reconstrução de memória: Uma vezAtaque de reconstrução de memória: Uma vez que uma informação é armazenada na memória por algum aplicativo somente este pode manipular esses dados. Mas após a execução o SO simplesmente libera a área de memória utilizada, e o invasor poderá alocar a mesma área e examinar as informações manipuladas. Importância da criptografia Como proteger as informações? Utilizando criptografia É importante salientar que a criptografia não é a única É importante salientar que a criptografia não é a única ferramenta para proteção de um sistema, além disso ela não é a prova de falhas. Toda criptografia pode ser quebrada! Dados X Informações Informações: seqüência de bits/caracteres capaz de ser interpretada e agregam um valor, ou seja tenha algum sentido. (uma carta, um banco de dados, uma panilha, etc). Dados: seqüência de bits/caracteres que não possuem Dados: seqüência de bits/caracteres que não possuem significado ou valor na forma como esta sendo apresentada. (caracteres aleatórios, texto cifrados, etc) “Desta forma, nosso objetivo principal é transformar informações em dados cifrados.” Esteganografia A Esteganografia esconde as mensagens através de artifícios, por exemplo imagens ou um texto que tenha sentido mas que sirvam apenas de suporte. Marcação de caracteresMarcação de caracteres Tinta Invisível Pequenos furos no papel Moderna Esteganografia Uso de bits não significativos Área não usada Esteganografia (Banco Nacional Suíço ) Softwares de Esteganografia Existem dezenas (pagos e gratuitos) - alguns até on-line Existem alguns sites na Internet dedicados ao tema. Um bom é o http://www.stegoarchive.com. Existem softwares pequenos (<1Mb que podem ser baixados para teste) Algoritmos Criptográficos Antigos Cifra de César (código de César). Origem: Usada pelo imperador romano Júlio César em 50 a.C Classe: Substituição Simples.Classe: Substituição Simples. Características: Reversível: uma cifragem dupla devolve a mensagem original. Segurança: Baixíssima Uso: Em textos muito curtos Algoritmos Criptográficos Antigos Cifra de César (código de César). Cada letra da mensagem original era substituída pela letra que a seguida em três posições no alfabeto: a letra A era substituída por D, a B por E, e assim até a última letra. ABCDEFGHIJKLMNOPQRSTUVWXYZ DEFGHIJKLMNOPQRSTUVWXYZABC Ex: MARCONATO PDUFRQDWR SISTEMAS VLVWHPDV Cifra de César (código de César). Problemas Ex: CASA – FDVD letras iguais geram a mesma cifra A sempre será D no criptograma. Conhecido o algoritmo qualquer pessoa pode decodificar! Algoritmo: Para i =0 até o tamanho da String faça Cifra = String(i) + 3 posiçõesCifra = String(i) + 3 posições Exercícios: 1) Usando o algoritmo de CESAR cifrar as informações a seguir: a) A A A B B B C C C b) S I S T E M A S D E I F O R M C A O c) 7 S E M E S T R E d) R $ 3, 5 0 Cifra de César (código de César). 2) Decifrar os seguintes dados: a) FULSWRJUDILD b) VHJXUDQFD c) VDR SDXOR d) WULFRORUd) WULFRORU Cifra de César (melhorada V1). Por que apenas 3 deslocamentos? Para que revelar o valor do deslocamento? Pode-se facilmente melhorar a cifra de César adicionando um deslocamento não conhecido. adicionando um deslocamento não conhecido. Dificultando o invasor, pois mesmo que esse conheça a cifra não sabe qual o deslocamento utilizado. Exemplo: Claro Desloc. Cifra F A B I O 3 I D E L R F A B I O 5 K F G N T Cifra de César (melhorada V1). Exercícios 1) Cifrar conforme o deslocamento : SISTEMAS (desloc 4) SISTEMAS (desloc 6) C R I P T O G R A F I A (desloc 5)C R I P T O G R A F I A (desloc 5) C I F R A D E C E S A R (desloc 2) 2) Decifrar conforme o deslocamento XZUWJXF (R: SUPRESA) (desloc 5) BMABM (R: TESTE) (desloc. 8) VGORGUVCFG (R: TEMPESTADE) (desloc 2) Cifra de César (melhorada V1). 3) Decifrar TIRXEKSRS PENTAGONO com desl. de 4 KPHQTOCECQ INFORMACAO com desl. de 2 XJHWJYT SECRETO com desl. de 5 4) Para aumentar a segurança de César. Podemos aplicar a cifra em cima da cifra. Isso funciona? EX: textoOriginal cifra(cesar) cifra1 cifra(cesar) cifra2 textoOriginadecifra(cesar) cifra1decifra(cesar) cifra2 Cifra de César (melhorada V2). Mesmo com a melhoria aplicada a cifra de César ainda assim este é vulnerável, pois pode-se identificar facilmente as vogais em um texto. A R A R A Q U A R A D U D U D T X D U DA R A R A Q U A R A D U D U D T X D U D A e R são repetidos várias vezes, sendo possível visualizar isso no texto cifrado. Como acabar com esse problema? Outras Chaves Toda cifra que apresenta uma substituição com deslocamento fixo é chamadaCifra de César; Exemplo => Chave = 10: ALGORITMO: KVQYBSDWYALGORITMO: KVQYBSDWY COMPUTADOR: MYWZEDKNYB Com Ajuda de Tabela Matemática Suponha chave = 7; Para cifrar a letra E (4) = 4 + 7 = 11 (L); Computacionalmente é indicado usar a Tabela ASCII A tabela ASCII Cifra de César - Implementação Escreva um algoritmo para implementar a criptografia utilizando a Cifra de César: Algoritmo Cesar variavel palavra,cifrado: texto; i, chave: inteiro;i, chave: inteiro; ler palavra; ler chave; para i de 1 até tamanho_palavra cifrado[i] = palavra[i]+chave; mostrar cifrado; Fim. Substituição Simples Baseado em tabela de substituição; Troca-se as letras da primeira linha pelas letras da segunda linha; As letras da segunda linha são selecionadas aleatoriamente (chave da substituição);aleatoriamente (chave da substituição); Possível obter 26! combinações de chave: => 26! = 403291461126605635584000000. Substituição Simples Exemplos utilizando a tabela acima: ALGORITMO = IPMGBAEZG COMPUTADOR = KGZTOEIRGB CARAGUATATUBA = KIBIMOIEIEONI Substituição Simples - Implementação Escreva um algoritmo para implementar a criptografia utilizando a Substituição Simples: Algoritmo Simples variavel palavra,cifrado, chave: texto; i: inteiro;i: inteiro; ler palavra; para i de 1 até tamanho_palavra cifrado[i] = chave[palavra[i]]; mostrar cifrado; Fim. Substituição Simples – Decriptografia Calcular a chave inversa: Chave original: Chave inversa: Cifra de Vigenère Cada letra é representada por um inteiro; Chave é uma sequência de N letras; Para cifrar, soma-se o valor da letra com o valor da chave para uma determinada posição; Cifra de Vigenère Exemplo: CARAGUATATUBA Chave: CRIPTO Cifra de Vigenère - Exercícios Exercício – Gere as cifras para as palavras usando a chave: “CHAVE” CRIPTOGRAFIA UNIVEM CARAGUATATUBACARAGUATATUBA Decifre a palavra: CSGJVKAMJ Cifra de Vigenère - Soluções CRIPTOGRAFIA: EYIKXQNRVJKH UNIVEM: WUIQIO CARAGUATATUBA: EHRVKWHTVXWIA CSGJVKAMJ: ALGORITMOCSGJVKAMJ: ALGORITMO Cifra de Vigenère - Algoritmo Escreva um algoritmo para implementar a Cifra de Vigenère: Algoritmo Vigenere variavel palavra,cifrado,chave:texto; i, tam: inteiro;i, tam: inteiro; ler palavra; ler chave; para i de 1 até tamanho_palavra cifrado[i]=palavra[i]+chave[i mod tam]; mostrar cifrado; Fim. Introdução a Criptoanálise Tente decifrar o seguinte texto: TFD F TIVJTZDVEKF URJ IVUVJ UV TFDGLKRUFIVJ V R TFEJVHLVEKV EVTVJJZURUV UV GIVJVIMRI RJ ZEWFIDRTFVJ HLV KIRWVXRD EVCRJ TIZFL JV LDRZEWFIDRTFVJ HLV KIRWVXRD EVCRJ TIZFL JV LDR XIREUV MRIZVURUV UV RCXFIZKDFJ UV TIZGKFXIRWZR TFD TRIRTKVIZJKZTRJ V FSAVKZMFJ UZWVIVEKVJ KFIEREUF R VJTFCYR UF RCXFIZKDF ZUVRC LDR KRIVWR ERF DLZKF JZDGCVJ Agradecimentos Prof. Rodolfo Barros Chiaramonte; Prof. Edward D. Moreno; Prof. Fábio D. Pereira;
Compartilhar