Upgrade to Pro — share decks privately, control downloads, hide ads and more …

História e Algoritmos de Criptografia

História e Algoritmos de Criptografia

Apresentação feita na disciplina TPR da FATEC-SP.

Nichols Jasper

April 21, 2009
Tweet

More Decks by Nichols Jasper

Other Decks in Technology

Transcript

  1. FATEC-SP 1º Semestre 2009 Criptografia e egraa a forao “

    ccbrcifrq  ssrslvr ” Egr llP 
  2. FATEC-SP 1º Semestre 2009 Criptografia e Segurança da Informação “A

    mente humana não pode conceber uma cifra que a mente humana não possa resolver ” Edgar Allan Poe
  3. O que é Criptografia? O termo Criptografia surgiu da fusão

    das palavras gregas "Kryptós" e "gráphein", que significam "oculto" e "escrever", respectivamente. O objetivo da criptografia é que informações trocadas por dois meios não sejam facilmente lidas por algum possível interceptador.
  4. História da Criptografia  Antigo Egito De acordo com pesquisadores,

    a criptografia foi usada pela primeira vez há mais ou menos a 4500 atrás.
  5. História da Criptografia  Esparta O método mecânico mais antigo

    de codificação que se conhece é a chamada Escitala, que era de uso militar e foi utilizada durante a guerra entre Atenas e Esparta no século V a. C.
  6. História da Criptografia  Júlio César As mensagens eram transportadas

    por mensageiros e às vezes só chegavam dias depois ao seu destino. Por vezes esses mensageiros eram capturados no meio do caminho por seus inimigos e, para evitar que suas mensagens secretas fossem lidas, César criou uma forma de codificação que consistia em tornar as mensagens algo aparentemente sem sentido.
  7. História da Criptografia  Blaise de Vigenére – (1523 a

    1596) • Texto: ATACARBASESUL • Chave: LIMAOLIMAOLIM • Texto cifrado: LBMCOCJMSSDCX
  8. História da Criptografia  Segunda Guerra Mundial Os nazistas criaram

    uma máquina chama Enigma. Essa máquina se parecia com uma máquina de escrever antiga e, continha engrenagens de metal que se encaixavam complexamente umas nas outras e transformavam uma mensagem em um texto cifrado. Essas mensagens cifradas pelo Enigma só podiam ser decifradas por outra máquina Enigma calibrada exatamente como a máquina onde foi criada a mensagem
  9. História da Criptografia  Claude Shannon (1948) Criador da Teoria

    da informação e transmissão de sinais digitais, baseados em seqüências de zeros e uns. Estabeleceu o esquema de transmissão de informação hoje clássico, com uma mensagem que parte de uma fonte, é codificada e emitida por um transmissor, passa por um canal de comunicação, sofre perturbações designadas por ruídos, e chega depois ao receptor, passando por um sistema de decodificação.
  10. Algoritmos  Definição: “É uma função matemática utilizada para cifrar

    e decifrar um determinado dado.”  Simétricos: A criptografia simétrica ou convencional se utiliza de uma mesma chave para encriptar e decriptar as mensagens ou utiliza uma chave para encriptar e outra para decriptar, mas obter uma chave da outra é um processo trivial.  Assimétricos ou de chave pública: Os algoritmos assimétricos se utilizam duas chaves, uma privada, que deve ser mantida secreta, e outra pública que deve ser divulgada.
  11. Algoritmos Simétricos  Características:  Ambas as chaves precisam ser

    compartilhadas previamente entre origem e destinatário, antes de se estabelecer o canal criptográfico desejado;  São algoritmos computacionalmente rápidos, se comparados com os algoritmos assimétricos;
  12. Algoritmos Simétricos  Características:  A chave deve ser trocada

    entre as partes e armazenada de forma segura, o que nem sempre é fácil de ser garantido;  A criptografia simétrica não garante a identidade de quem enviou ou recebeu a mensagem (autenticidade e não-repudiação);  Ex: DES, AES,RC4, Máquina Enigma
  13. DES  O Data Encryption Standard (DES) é o algoritmo

    simétrico mais disseminado no mundo. Foi criado pela IBM em 1977 e, apesar de permitir cerca de 72 quadrilhões de combinações (256), seu tamanho de chave,64 bits (56 para a chave e 8 para paridade) é considerado pequeno, tendo sido quebrado por "força bruta" em 1997 em um desafio lançado na Internet.  DES é tipo de cifra em bloco, ou seja, um algoritmo que toma uma string de tamanho fixo de um texto plano e a transforma, através de uma série de complicadas operações, em um texto cifrado de mesmo tamanho.
  14. DES  Antes dos rounds principais, o bloco é dividido

    em duas metades de 32 bits e processado alternadamente; este cruzamento é conhecido como "esquema de Feistel". A estrutura de Feistel garante que a encriptação e desencriptação sejão processos bem similares - a única diferença é que as subchaves são aplicadas de modo reverso ao descriptografar, o resto do algoritmo é idêntico
  15. DES  Algoritmo de Feistel  Expansão - o bloco

    de 32 bits (metade do bloco) é expandido para 48 bits usando a permutação expansiva, representada pelo E no diagrama, através da duplicação de alguns bits.  Mistura de chaves - o resultado é combinado com uma subchave usando uma operação XOR. Dezesseis subchaves de 48 bits - uma para cada round - são derivadas da chave principal utilizando o agendamento de chaves
  16. DES  Algoritmo de Feistel  Substituição - após trocar

    a subchave, o bloco é dividido em oito pedaços de 6 bits antes do processamento pelo box de substituição ou S-box. Cada um dos oito S-boxes substitui os seis bits de entrada por quatro bits de saída de acordo com uma transformação não-linear, fornecida por uma lookup table. Os s-boxes fornecem o núcleo da segurança do DES - sem eles, a cifra seria linear e quebrada de forma trivial.  Permutação - finalmente, as 32 saídas das S-boxes são rearranjadas de acordo com uma permutação fixa, o P-box.
  17. DES  O Agendamento de chaves gera as subchaves. 

    56 bits da chave são selecionados dos 64 iniciais para a troca PC-1 - os oito bits restantes são, ou descartados, ou utilizados como bits de paridade. Os 56 bits são então divididos em dois blocos de 28 bits;
  18. DES  Cada metade é tratada separadamente. Em rounds sucessivos,

    as duas metades são rotacionadas à esquerda por um ou dois bits (especificado para cada round), e então uma subchave de 48 bits é selecionada para a troca PC-2 - 24 bits da metade esquerda e 24 da metade direita. As rotações (representadas como "<<<" no diagrama) significam que um conjunto diferente de bits foi usado em cada subchave; cada bit é usado em aproximadamente 14 das 16 subchaves.  O agendamento de chaves para descriptografar é similar - as subchaves estão em ordem reversa, se comparadas com a encriptação. Exceto por essa diferença, todo o processo é o mesmo da encriptação.
  19. Algoritmos Assimétricos  Características:  Os algoritmos assimétricos se utilizam

    duas chaves, uma privada, que deve ser mantida secreta, e outra pública que deve ser divulgada. Os algoritmos assimétricos mais conhecidos são o RSA, Diffie-Hellman, El Gamal e criptografia assimétrica por curvas elípticas.
  20. Algoritmos Assimétricos  Características:  Não é possível descobrir a

    chave pública através da chave secreta e vice-versa. Neste ponto encontra-se uma das propriedades mais importantes dos algoritmos de chave pública, juntamente com a capacidade de uma chave pública de decriptar uma mensagem encriptada pela chave privada e vice-versa.  São utilizados para se obter transações eletrônicas seguras
  21. RSA  RSA é um algoritmo de encriptação de dados,

    que deve o seu nome a três professores do Instituto MIT, Ron Rivest, Adi Shamir e Len Adleman;  Fundamenta-se em teorias clássicas dos números;  A RSA de 512 Bits já conseguiu ser quebrada por algoritmos complexos.
  22. Funcionamento RSA  Escolha de forma aleatória dois números primos

    grandes P e Q  Compute N = P*Q  Compute a função D = (P-1)*(Q-1).  Encontrar o valor de E na faixa 1 < = e < = (p – 1)(q – 1) tirando da fórmula ED = 1( mod( P – 1)( Q – 1));  Sendo assim é conhecida a chave pública, formada pelo par de inteiros (E,N);  Representar a mensagem M que será transmitida como um inteiro na faixa { 1,........N); se a mensagem M for muito grande, deve-se colocá-la em blocos;  Criptografar M num criptograma C da seguinte forma: C = M*E (mod N);  Decriptografar M utilizando a chave privada d e a fórmula D = CD (mod N).
  23. Hashs  A criptografia hash permite que, através de uma

    string de qualquer tamanho, seja calculado um identificador digital de tamanho fixo, chamado de valor hash. O valor hash geralmente é formado por 16 bytes (no caso do MD-2, MD-4 e MD- 5) ou 20 bytes (no caso do SHA-1), mas pode se estender, embora não passe de 512 bytes.  Uma função hash é dita "one-way” pois uma vez obtido o valor hash h para uma string x, é computacionalmente impossível fazer o processo inverso, ou seja, encontrar um valor x tal que H(x) = h.
  24. Hashs  Diz-se ainda que H(x) é livre de colisão,

    significando que as funções hash devem garantir uma probabilidade mínima de que duas strings diferentes acabem por resultar no mesmo valor hash. Qualquer alteração na string original que deu origem ao identificador digital, mesmo que de um único bit, acabará por gerar uma alteração significativa no valor hash final.  Alguns exemplos de Algoritmos Hashs: SHA, MD5.
  25. Aplicações de Criptografia  Certificado Digital : é um documento

    que contém a chave pública de uma pessoa (física ou jurídica) e os dados necessários para garantir sua identidade.
  26. Aplicações de Criptografia  Assinatura Digital: A assinatura digital faz

    uso dos conceitos de chave pública e privada. E funciona da seguinte maneira: é necessário que o usuário tenha um documento eletrônico e a chave pública do destinatário (um usuário pode ser tanto uma pessoa quanto uma instituição qualquer). Através de programas apropriados, o documento é então criptografado de acordo com a chave pública.
  27. Aplicações de Criptografia  A assinatura digital utiliza-se do conceito

    de “função hashing”, onde, a função hashing analisa todo o documento e gera um valor de tamanho fixo para o arquivo. Esse valor, conhecido como “valor hash”, é calculado com base nos caracteres do documento. Isso deixa claro que o arquivo em si não precisa, pelo menos teoricamente, ser criptografado (caso não seja algo secreto), mas sim acompanhado do valor hash.  Depois de gerado o hash, ele deve ser criptografado através de um sistema de chave pública, para garantir a autenticação e o não-repúdio. O autor da mensagem deve usar sua chave privada para assinar a mensagem e armazenar o hash criptografado junto a mensagem original.
  28. Webgrafia  http://hsw.com.br  http://pt.wikipedia.org/wiki/Seguran%C3%A7a_da_informa%C3%A 7%C3%A3o  http://sosmatematica.com.sapo.pt/mundomatematico/criptografia.ht m 

    http://pt.wikipedia.org/wiki/AES  http://www.redes.unb.br/security/criptografia/rsa/rsa.html#c- %20funcionamento%20do%20RSA  http://pt.wikipedia.org/wiki/Criptoan%C3%A1lise  http://pt.wikipedia.org/wiki/DES  http://pt.wikipedia.org/wiki/RSA
  29. Webgrafia  http://www.gta.ufrj.br/grad/07_1/ass-dig/TiposdeCriptografia.html  http://denialaccess.blogspot.com/2008/05/criptografia.html  http://www.numaboa.com/index.php?option=com_content& view=article&id=553&Itemid=57  http://starbase.cs.trincoll.edu/~crypto/historical/intro.html

     http://www.nsa.gov/kids/home.cfm  http://cs-exhibitions.uni-klu.ac.at/index.php?id=277  http://www.lsi.usp.br/~elima/seguranca_cripto.html  http://pt.wikipedia.org/wiki/Criptografia