Prévia do material em texto
Inserir Título Aqui Inserir Título Aqui Métodos Criptográficos Métodos Criptográficos Responsável pelo Conteúdo: Prof. Me. Almir Meira Alves Revisão Textual: Prof. Me. Claudio Brites Nesta unidade, trabalharemos os seguintes tópicos: • Introdução; • Entender e Diferenciar os Métodos Criptográficos; • Métodos de Substituição; • Cifras de Transposição; • A Cifra de Vigenère; • Técnicas Modernas de Criptografia; • Métodos Assimétricos de Criptografia. Fonte: Getty Im ages Objetivo • Entender e diferenciar os métodos criptográficos para saber qual deles deve ser utilizado de acordo com à aplicação. Sendo esses os métodos: simétrico, assimétrico, tipos de cha- ve, pública ou privada, entendo ainda como e quando utilizar hash em aplicações. Caro Aluno(a)! Normalmente, com a correria do dia a dia, não nos organizamos e deixamos para o úl- timo momento o acesso ao estudo, o que implicará o não aprofundamento no material trabalhado ou, ainda, a perda dos prazos para o lançamento das atividades solicitadas. Assim, organize seus estudos de maneira que entrem na sua rotina. Por exemplo, você poderá escolher um dia ao longo da semana ou um determinado horário todos ou alguns dias e determinar como o seu “momento do estudo”. No material de cada Unidade, há videoaulas e leituras indicadas, assim como sugestões de materiais complementares, elementos didáticos que ampliarão sua interpretação e auxiliarão o pleno entendimento dos temas abordados. Após o contato com o conteúdo proposto, participe dos debates mediados em fóruns de discussão, pois estes ajudarão a verificar o quanto você absorveu do conteúdo, além de propiciar o contato com seus colegas e tutores, o que se apresenta como rico espaço de troca de ideias e aprendizagem. Bons Estudos! Métodos Criptográficos UNIDADE Métodos Criptográfi cos Contextualização A criptografia tem ganhado um protagonismo muito grande na nossa vida cotidiana. Desde 2013, quando Edward Snowden trouxe ao mundo uma série de vazamentos de dados, indicando que governos espionam pessoas e empresas no mundo todo, houve uma mudança estrutural no que diz respeito à proteção das in- formações pessoais e corporativas. Alguns especialistas dizem que as revelações de Snowden adiantaram em 7 anos a evolução do uso da criptografia na vida das pessoas. Desde então, muito investimento foi feito para se introduzir a criptografia nos mais diversos ambientes. Esta unidade apresenta os principais métodos criptográficos, desde os clássicos até os eletrônicos, de chave simétrica e de chave pública, para que você possa conhecê-los, praticá-los e aplicá-los. Já vamos começar. Esteja pronto para aproveitar a experiência! Porque aqui a aprendizagem é completa, na prática, para você aplicar hoje mesmo em sua vida pessoal e profissional! 6 7 Introdução Desde a Antiguidade, o homem tem usado de diversas técnicas para proteger a sua informação. A história que será contada a seguir demonstra uma forma de proteção da informação que foi utilizada no tempo do Império Romano. Certa vez, um comandante do Império Romano precisava enviar uma mensagem importante para outro comandante, que estava muito distante, cuidando de um grande regimento do exército Romano. O comandante que precisava mandar a mensagem tinha poucos soldados à sua dis- posição e o caminho até o local onde o outro comandante estava era cheio de perigos e exércitos rivais. Contudo, esse primeiro comandante tinha um soldado que se destacava quanto à sua coragem e rapidez no avanço dentro das linhas inimigas, definindo-o como o portador da mensagem. Mas havia um problema: caso fosse capturado, como a men- sagem seria protegida ou ocultada? O comandante que enviaria a mensagem teve uma ideia. Como não havia urgência no envio dessa, ele chamou o soldado e um tatuador para o seu quartel. A cabeça do soldado foi raspada e a mensagem foi tatuada em sua cabeça. Depois, o soldado deixou seu cabelo crescer. Quando a mensagem tatuada foi coberta pelo seu cabelo, então o soldado pode deixar o seu quartel e levar a mensagem para o seu receptor. Quando o soldado chegou ao destino, sua cabeça foi raspada e a mensagem recuperada. O grande problema dessa história é que o soldado poderia, a qualquer momento, PERDER A CABEÇA! Essa técnica é chamada de esteganografia. Ela não é exatamente um método crip- tográfico, pois não codifica a mensagem, mas dá a ideia da importância de se proteger uma informação. Os métodos criptográficos foram usados ao longo dos tempos para proteger informa- ções. Os criptógrafos sempre criaram métodos mais sofisticados e difíceis de serem que- brados e os criptoanalistas sempre buscaram formas de quebrar esses métodos e as cifras criadas. Foi sempre uma briga de gato e rato. Esta unidade mostrará uma série de métodos criptográficos, desde os mais clássicos e manuais até os métodos mais modernos, usados em computadores. Serão abordados os seguintes tópicos: • Entender e diferenciar os métodos criptográficos; • Cifras de substituição; • Cifras de transposição; • Cifra indecifrável de Vigenère; • Métodos simétricos eletrônicos: DES; 3DES; AES. • Métodos assimétricos: Criptografia de chave pública; RSA; Função de Hash. Prepare-se para uma imersão nas técnicas que protegeram a informação ao longo dos tempos, pois aqui a informação vai da teoria à prática. 7 UNIDADE Métodos Criptográfi cos Entender e Diferenciar os Métodos Criptográficos Criptografar ou codificar uma mensagem é sempre uma forma de proteger a infor- mação. Mas isso pode ser feito de diversas maneiras. Uma informação simples e pesso- al, informada em uma carta, pode ser criptografada de forma manual. Isso pode ser feito utilizando-se técnicas clássicas, como a substituição e a transposição. Demonstraremos rapidamente um exemplo de Cifra de Substituição. Utilizaremos um exemplo em que cada letra é trocada pela letra seguinte do alfabeto. Por exemplo, a palavra diploma seria transformada da seguinte forma: D → E I → J P → Q L → M O → P M → N A → B Então, a palavra DIPLOMA será transmitida como EJQMPNB, tornando sua com- preensão bem difícil para uma pessoa que não tiver a chave criptográfica. Agora, mostraremos a criptografia do termo DIPLOMA NOVO CRUZEIRO DO SUL utilizando um Método de Transposição, conhecido como método das colunas. No nosso exemplo, distribuiremos o texto em colunas, como pode ser visto a seguir: D L A V R E O S I O N O U I D U P M O C Z R O L A mensagem é, então, transmitida da seguinte forma: DLAVREOS IONOUIDU PMOCZROL. A chave dessa mensagem é de 3 LINHAS e 8 COLUNAS. Essa mensa- gem é simples de ser descoberta em uma análise mais detalhada, mas esse método é mais complexo do que as cifras comuns de substituição. Nesta unidade, detalharemos mais cada um desses métodos. Esses foram exemplos de cifras manuais. No caso das cifras eletrônicas, elas são usa- das para criptografar maiores quantidades de informação. Por exemplo, o método DES realiza 18 etapas de cifragem na informação original. Já a cifra 3DES realiza 3 ciclos do método DES, totalizando 48 ciclos de cifragem na informação, aumentando considera- velmente a segurança da informação. No caso das técnicas de criptografia de chave pública, são usadas transformações que envolvem números primos e matemática modular, auferindo alto nível de segurança, a partir da geração de um par de chaves, sendo essas chaves diferentes e responsáveis pela cifragem e decifragem das informações e com a garantia de que a chave que cifra é diferente da chave que decifra a informação. 8 9 Por todas essas justificativas, é importante o estudo dos diversos métodos de cripto- grafia para sua compreensão. Métodos de Substituição Os métodos de substituição são parte da criptografia clássica dos métodos manuais. Nesse tipo de método, o alfabeto original é substituído por uma sequência de letras des- locadas de suas posições originais e uma quantidade de posições. O método de substituição mais famosoé o CÓDIGO DE CÉSAR, que foi original- mente utilizado pelo Imperador Júlio César, de Roma. Esse método, originalmente, desloca o alfabeto original em 3 posições, resultando na CIFRA DE CÉSAR, que pode ser vista na Tabela 1. Tabela 1 – Código de César ALFABETO ORIGINAL 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 CIFRA DE CÉSAR D E F G H I J K L M N O P Q R S T U V W X Y Z A B C Nesse método, podemos observar que a cifra é o alfabeto deslocado de 3 posições para a direita na cifragem. Na decifragem, cada letra da mensagem cifrada deve ser deslocada 3 posições para a esquerda. Portanto, a informação que define a chave é o número 3. Quem receber uma mensagem codificada e perceber que ela é codificada pelo Código de César, basta aplicar a chave 3 para decodificar a mensagem. Na verdade, o Código de César original foi usado como base para qualquer tipo de código de substituição simples. Portanto, existem ao todo 25 Códigos de César, de acordo com a quantidade de deslocamentos do alfabeto original. A chave de um código de César fica totalmente determinado por um número entre 1 e 25. É preciso apenas tempo para testar as 25 possibilidades e decifrar a mensagem. Nesse caso, um “ataque de força bruta” poderá quebrá-lo facilmente. Exemplo: Decifremos a mensagem da Tabela 2, sabendo que ela está cifrada com o código de César, com chave igual a 10 posições de deslocamento. Tabela 2 – Cifra de César de 10 posições e resolução de exemplo ALFABETO ORIGINAL 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 CIFRA DE CÉSAR K L M N O P Q R S T U V W X Y Z A B C D E F G H I J MENSAGEM CIFRADA X O F Y E O W M E B S D S L K Y K X Y Z K C C K N V SUBSTITUIÇÃO N E V O U E M C U R I T I B A O A N O P A S S A D O Como pode ser visto na Tabela 2, a mensagem decifrada é NEVOU EM CURITIBA O ANO PASSADO. 9 UNIDADE Métodos Criptográfi cos Cifras Monoalfabéticas Nesse tipo de método de substituição, cada letra do alfabeto corresponde a um sím- bolo distinto. Agora, a substituição não precisa seguir a sequência do alfabeto apenas deslocado de uma quantidade fixa de posições. O exemplo da Tabela 3 mostra dois exemplos de cifras monoalfabéticas, onde cada letra do alfabeto original corresponde a uma letra ou símbolo fixo. Tabela 3 – Cifras Monoalfabéticas ALFABETO ORIGINAL 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 CIFRA 1 L N M A X Y O P B K Q J R D I U S C H V T E Z G W F CIFRA 2 O N M R S V Q Z T U O # @ ! * > \ A K P A B W 5 3 8 Agora, utilizaremos as duas cifras para codificar a palavra ALUNO. Pela cifra 1, a palavra codificada é LJTDI e, pela cifra 2, a palavra codificada é O#A!*. De maneira geral, esse tipo de codificação obriga que o remetente e o destinatário conheçam e gravem a chave que gera o código em algum meio (por exemplo, escrevendo em um papel) e escondam a anotação em um local seguro. Essa solução é considerada sensível, porque a anotação pode, em algumas situações, cair nas mãos do inimigo. Idealmente, os dois atores deveriam MEMORIZAR a cifra. Mesmo assim, os atores podem ser forçados a revelar a chave se forem coagidos. É muito simples gerar cifras monoalfabéticas genéricas, como é o caso da Figura 3. No entanto, é complexo memorizar qualquer uma destas cifras, pois elas não têm uma Lei de Composição, como é o caso do Código de César. Para definir uma boa cifra monoalfabética, você deve buscar duas qualidades: • A cifra deve ser complexa o suficiente para dificultar a sua interpretação; • A cifra deve ser construída de forma que seja possível guardar a chave de constru- ção na memória. Existem diversos outros tipos de cifras de substituição. As cifras apresentadas aqui são as mais comuns e utilizadas ao longo da história da criptografia. Na sequência, serão apresentadas as cifras de transposição. Substituição Homofônica Durante toda a história da Criptografia, sempre houve uma reação dos criptoanalistas a cada novo método que era criado para a cifragem da informação. Por isso, para as ci- fras clássicas de substituição, foi desenvolvido um método eficaz de quebra dos códigos, chamado Análise de Frequências. Nesse método, assume-se que cada letra tem uma probabilidade percentual de apa- recimento em um texto, o que levou os criptoanalistas a desenvolverem métodos que 10 11 funcionam como algoritmos de quebra dos códigos criptográficos. Discutiremos sobre a quebra dos métodos criptográficos em outra unidade desta disciplina, mas vale esse registro para introduzir o próximo método, que é a Substituição Homofônica. Esse método é uma reação da criptografia à análise de frequências. A ideia era evoluir, a partir da substituição monoalfabética, para um método em que fosse possível anular as diferenças entre a frequência dos símbolos que pudessem orientar a decifragem. A fórmula encontrada pelos criptógrafos foi associar a cada consoante apenas um sím- bolo e, para cada vogal, quatro ou cinco símbolos distintos. E, além disso, para aumentar o grau de segurança e eficácia do método, foram introduzidos símbolos que não signifi- cavam nada, para dificultar o processo de decifragem por quem não conhecia o método. O exemplo da Tabela 4 mostra a substituição homofônica aplicada: Tabela 4 – Código de substituição homofônica CONSOANTES B C D F G H J K L M N P Q R S T V W X Y Z SUBSTITUIÇÃO U X T H $ N ϕ A V θ Π E λ P L Q ∑ W S Y I LETRAS A E I O U NULOS SUNSTITUIÇÃO R D & # @ Ω B F Θ M ε ∇ Z O C ∆ J ∪ α β Agora, imagine que você está em uma guerra e precisa enviar a seguinte mensagem para um grupamento de combate: ENVIEM TANQUES HOJE → @ΠJ∑FΩθαQRΠλOBLN∪εϕ@ Mensagem Original mensagem cifrada Como forma de verificação da efetividade do método, podemos citar que, na mensa- gem original, a letra E aparece 4 vezes. De acordo com as regras do código, essa letra é cifrada pelos 3 símbolos correspondentes (@, Ω, B, @), na ordem em que aparecem. Percebam que o símbolo @ aparece duas vezes, porque voltamos ao início da sequência correspondente à letra E. Os símbolos nulos também são introduzidos aleatoriamente na mensagem cifrada. Quem recebe a mensagem e conhece o código deve retirar esses símbolos no processo de decifragem. Esse método é eficiente contra a análise de frequências. Cifras de Transposição Nas cifras de substituição vistas anteriormente, pode-se verificar que a característica comum é a substituição linear de caracteres, ou seja, cada caractere é substituído por ou- tro, mas o formato do código não é alterado, por exemplo, da horizontal para a vertical. As cifras de transposição mudam essa lógica, ao apresentarem diversos formatos diferentes em suas codificações ou cifras. 11 UNIDADE Métodos Criptográfi cos Para exemplificar, tomemos o exemplo da cidade-estado grega de Esparta. Por volta do século V a.C., essa cidade tinha uma cultura de guerra muito desenvolvida. Por isso, os espartanos tinham grande preocupação com a segurança das comunicações. Dessa preocupação, surgiu o Bastão de Licurgo, que foi o exemplo mais notável dessa época. Nessa técnica, o remetente escrevia a mensagem de modo vertical, em colunas, ao longo do bastão e, depois, desenrolava a tira, que se convertia em uma sequência de letras sem sentido. O mensageiro usava a tira como um cinto, com as letras voltadas para dentro. O destinatário, ao receber o cinto, enrolava-o em um bastão idêntico ao do remetente. Portanto, a chave criptográfica desse método era o próprio bastão, que tinha que ser idêntico para todos os que tivessem que ter acesso ao cinto criptografado. A Figura 1 mostra um exemplo do Bastão de Licurgo: Figura 1 – Bastão de Licurgo Fonte: Wikimedia Commons A Tabela Espartana Esse é um método de criptografia grego. Trata-se de uma tabela comum, constituída de linhas e colunas. A chave do código é dada pelas dimensões da tabela. Uma chave MxN significa que a tabela tem M linhas e N colunas, conforme pode ser visto no exemplo a seguir. Exemplo de Tabela Espartana: Duas pessoasprecisam trocar mensagens com o có- digo da Tabela Espartana, com uma chave C = 7x5, previamente combinada entre as duas pessoas. Considere que as duas pessoas são militares e que o indivíduo A precisa enviar ao indivíduo B a seguinte mensagem: “ATAQUEM O INIMIGO PELO DESFILADEIRO” Primeiramente, a mensagem deve ser separada em blocos de comprimento 5, que é o número de colunas. A mensagem ficará assim: ATAQU EMOIN IMIGO PELOD ESFIL ADEIR OABCD Obs.: Como o último bloco ficou com menos de 5 letras, ele foi completado para dar sentido ao método. As letras adicionais serão descartadas na decifragem. 12 13 Agora, o código está pronto para a Transposição. Letra por letra, os blocos são transcritos sequencialmente nas linhas da tabela 5, de dimensões 7x5, sendo um bloco em cada linha. Tabela 5 – Tabela espartana A T A Q U E M O I N I M I G O P E L O D E S F I L A D E I R O A B C D Agora, a mensagem está pronta para ser criptografada. A mensagem deve ser trans- crita com as letras em sequência em que aparecem nas colunas. Dessa forma, a mensa- gem cifrada ficará assim: AEIPEAOTMMESDAAOILFEBQIGOIICUNODLRD O destinatário B, ao receber a mensagem acima e conhecendo que a chave é a Ta- bela Espartana com chave 7x5, tem condições de reconstruir a tabela original e decifrar a mensagem. A Cifra de Vigenère Na época dos métodos clássicos de criptografia, a análise de frequências sempre foi o método de criptoanálise mais eficiente contra as cifras de substituição e de transposição. Sabendo disso, faz sentido a seguinte pergunta: Por que não associar de uma vez várias cifras distintas a cada letra? Essa seria uma solução consistente para a análise de frequências, mas haveria uma dificuldade na organização. Isso se deve ao fato de que a chave que permite a cifragem e a decifragem deve atender ao quesito usabilidade. A proposta de uma nova cifra que fosse imune à análise de frequências ocorreu em 1586 e foi chamada de Cifra de Vigenère. A cifra de Vigenère é um método de Substi- tuição Polialfabética, sendo uma reação à análise de frequências. A nova cifra criada entusiasmou os criptógrafos, a ponto de ser chamada de “Cifra Indecifrável”. Essa cifra correspondeu bravamente à essa fama durante 286 anos, quan- do o inglês Charles Babbage conseguiu quebrar a cifra. Descrevendo esse método, podemos dizer que se trata de um sistema polialfabético ou de substituição múltipla, cuja estrutura é formada por uma tabela no formato de uma matriz, com 27 linhas e 27 colunas. A primeira linha e a primeira coluna representam o alfabeto original e servem para orientar o processo de cifragem. Na parte interna da tabela, temos os 26 Códigos de César, aplicados sucessivamente, linha a linha e coluna a coluna. 13 UNIDADE Métodos Criptográfi cos A Tabela 6 mostra a Cifra de Vigenère. Tabela 6 – Cifra de Vigenère A A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A 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 B b c d e f g h i j k l m n o p q r s t u v w x y z a C c d e f g h i j k l m n o p q r s t u v w x y z a b D d e f g h i j k l m n o p q r s t u v w x y z a b c E e f g h i j k l m n o p q r s t u v w x y z a b c d F f g h i j k l m n o p q r s t u v w x y z a b c d e G g h i j k l m n o p q r s t u v w x y z a b c d e f H h i j k l m n o p q r s t u v w x y z a b c d e f g I i j k l m n o p q r s t u v w x y z a b c d e f g h J j k l m n o p q r s t u v w x y z a b c d e f g h i K k l m n o p q r s t u v w x y z a b c d e f g h i j L l m n o p q r s t u v w x y z a b c d e f g h i j k M m n o p q r s t u v w x y z a b c d e f g h i j k l N n o p q r s t u v w x y z a b c d e f g h i j k l m O o p q r s t u v w x y z a b c d e f g h i j k l m n P p q r s t u v w x y z a b c d e f g h i j k l m n o Q q r s t u v w x y z a b c d e f g h i j k l m n o p R r s t u v w x y z a b c d e f g h i j k l m n o p q S s t u v w x y z a b c d e f g h i j k l m n o p q r T t u v w x y z a b c d e f g h i j k l m n o p q r s U u v w x y z a b c d e f g h i j k l m n o p q r s t V v w x y z a b c d e f g h i j k l m n o p q r s t u W w x y z a b c d e f g h i j k l m n o p q r s t u v X x y z a b c d e f g h i j k l m n o p q r s t u v w Y y z a b c d e f g h i j k l m n o p q r s t u v w x Z z 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 Chaves para a cifra de Vigenère A chave pode ser qualquer palavra, uma frase ou um conjunto arbitrário de letras. Além disso, não há impedimento para o comprimento da chave. Lembramos que esse é um método de chave simétrica ou chave secreta, em que a mesma chave é usada na cifragem e na decifragem das mensagens. Aqui reside a gran- de fragilidade do método, pois é necessária uma troca prévia da chave entre emissor e receptor “antes do início do fluxo de mensagens”. Nesse momento, o risco de intercep- tação é grande. Utilizaremos um exemplo para mostrar a cifra de Vigenère em ação. Cifraremos a mensagem “armada submarina entrando no porto sábado” com a palavra- -chave SEGREDO. 14 15 A Tabela 7 mostra a resolução do processo de cifragem. Tabela 7 – Cifragem de mensagem com a Cifra de Vigenère MENSAGEM ORIGINAL a r m a d a s u b m a r i n a e n t PALAVRA-CHAVE S E G R D O S E G R D O S E G R D O MENSAGEM CIFRADA S V S R G O K Y H D D F A R G V Q H MENSAGEM ORIGINAL r a n d o n o p o r t o s a b a d o PALAVRA-CHAVE S E G R D O S E G R D O S E G R D O MENSAGEM CIFRADA J E T U R B G T U I W C K E H R G C O resultado do processo de cifragem aparece na última linha da tabela: SVSRGOKYHDDFARGVQHJETURBGTUIWCKEHRGC Primeiramente, podemos observar que na palavra passe não utilizamos as duas letras E da palavra SEGREDO. Isso ajuda o processo de cifragem a ser mais seguro e menos previsível. A explicação do processo de cifragem é simples. Para cifrar a primeira letra, basta localizá-la na primeira linha da tabela de Vigenère e identificar a coluna correspondente a essa letra. Em seguida, deve-se fazer o cruzamento com a linha da tabela que possui a primeira letra da palavra-chave. A letra que aparecer nesse cruzamento será inserida na mensagem cifrada. Por exemplo, a primeira letra da mensagem original do exemplo ante- rior é a letra “a”. Identificaremos a coluna “a” na tabela. Em seguida, localizaremos a linha correspondente à primeira letra da palavra-chave. No exemplo anterior, temos a linha da letra “S” na tabela. Realizando o cruzamento da coluna “a” com a linha “S”, temos como resultado a letra “S”. Devemos repetir esse processo com todas as letras da mensagem. A principal inovação que o método de Vigenère apresentou pode ser vista, por exem- plo, nas cifragens da vogal “a”. Essa letra aparece 7 vezes na mensagem original e, na mensagem cifrada, ela se torna as letras S, R, O, D, G, E, E, R. Portanto, somente para essa letra foram utilizados 6 códigos de César distintos. Até este ponto da unidade, estudamos os diversos métodos clássicos e os manuais de criptografia. A partir de agora, estudaremos as técnicas modernas de criptografia, que foram disseminadas a partir da invenção dos computadores. Técnicas Modernas de Criptografia A partir do desenvolvimento dos computadores, sistemas eletrônicos passaram a ser utilizados de forma consistente e definitiva para armazenar e transmitir informações. Os sis- temas criptográficos passaram a atuar em informação armazenada eletronicamente, ou seja, em blocos de bits de informação. A criptografia pode ser em software ou em hardware. Nos métodos de criptografia eletrônica, foram desenvolvidas técnicas simétricas e as- simétricas. Em relação a itens como velocidade, gerenciamento e distribuição de chaves 15 UNIDADE Métodos Criptográfi cos e assinatura digital, as técnicas simétricas e assimétricas funcionam de forma bastante distinta. A Tabela 8 mostra um comparativo entre os dois tipos de criptografia. Tabela 8 – Comparativo entre tipos de criptografi a CRIPTOGRAFIA SIMÉTRICA CRIPTOGRAFIA ASSIMÉTRICA VELOCIDADE Rápida Lenta GERENCIAMENTO EDISTRIBUIÇÃO DE CHAVES Problemática Simples ASSINATURA DIGITAL Não Possui Possui Na prática, utiliza-se esquemas híbridos, que aproveitam as vantagens de cada tipo de algoritmo. Em geral, um algoritmo de chave pública (assimétrica) é utilizado para implementar a distribuição de chaves e a assinatura digital, enquanto um algoritmo de chave simétrica é usado para criptografar a mensagem. Um exemplo desse tipo de esquema é o PGP (Pretty Good Privacy), que é um sis- tema criptográfico muito usado em correio eletrônico. O PGP combina um sistema de chave pública (RSA) com um sistema de chave simétrica (CAST, IDEA ou 3DES). Criptografia DES – Uma Introdução Nesta parte de nosso estudo, apresentaremos um dos métodos de criptografia eletrônica mais importantes para a história da criptografia: o DES (Data Encryption Standard). Também apresentaremos o algoritmo DES Simplificado, o S-DES, que mos- tra as propriedades e a estrutura geral do DES. Como estamos lidando agora com criptografia eletrônica, temos que destacar que os computadores só entendem números. Sendo assim, todo processo de criptografia em sistemas computacionais envolve uma pré-codificação em que o texto é transformado em uma sequência numérica, em notação binária, o que resulta em uma sequência de bits. Em relação ao modo como são aplicadas as sequências de bits de entrada, os siste- mas criptográficos são divididos em: • Sistemas criptográficos de bloco (block ciphers): dividem a mensagem em blocos de tamanho definido (64 bits, normalmente). O algoritmo é aplicado em cada bloco, resultando em um bloco de bits de igual tamanho; • Sistemas criptográficos de fluxo (stream ciphers): o algoritmo criptográfico é apli- cado bit a bit (ou byte a byte), na sequência de entrada de bits. Então, como uma mensagem pode ser transformada em números? Para fazer isso, utiliza-se um código chamado ASCII (American Standard Code for Information Interchange). Esse código associa números de 0 a 127 a caracteres como 2, a, A e @ e a alguns caracteres de controle como shift e tecla de espaço. Com o tempo, o código ASCII foi estendido e é representado por 256 combinações de 8 bits, para representar letras, números e símbolos especiais. 16 17 A Tabela 9 mostra o código ASCII para as letras maiúsculas de nosso alfabeto. Tabela 9 – Código ASCII para letras maiúsculas A 01000001 N 01001110 B 01000010 O 01001111 C 01000011 P 01010000 D 01000100 Q 01010001 E 01000101 R 01010010 F 01000110 S 01010011 G 01000111 T 01010100 H 01001000 U 01010101 I 01001001 V 01010110 J 01001010 W 01010111 K 01001011 X 01011000 L 01001100 Y 01011001 M 01001101 Z 01011010 Utilizando o código ASCII da Tabela 5, podemos transformar a palavra AMOR para o código binário 01000001 01001101 01001111 01010010. A Operação XOR A operação XOR (OU EXCLUSIVO) é muito usada em circuitos eletrônicos e na descrição de sistemas criptográficos. A Figura 6 mostra a Tabela Verdade da função XOR. Tabela 10 – Função XOR A ⊕ B = S 0 ⊕ 0 = 0 0 ⊕ 1 = 1 1 ⊕ 0 = 1 1 ⊕ 1 = 0 Em linhas gerais, podemos enunciar a função XOR da seguinte forma: Em uma função XOR, sempre que as entradas forem iguais, a saída será 0 (zero) e, sempre que as entradas forem diferentes, a saída será 1. Para o uso em criptografia, consideraremos que o texto puro é representado por P e a chave é representada por K. Então, se fizermos a operação P ⊕ K, teremos o texto cifrado como saída. Como exemplo, podemos realizar a cifragem da palavra AMOR usando a chave LIMA. Isso pode ser visto na Tabela 11. 17 UNIDADE Métodos Criptográfi cos Tabela 11 – Exemplo de aplicação da função XOR no código ASCII Texto Claro: AMOR P 1000001 1001101 1001111 1010010 Chave: LIMA K 1001100 1001001 1001101 1000001 Texto Cifrado P⊕K 0001101 0000100 0000010 0010011 A grande vantagem da função XOR é que, se usada novamente na mensagem cifrada, ela recupera a mensagem original. Veja isso na Tabela 12. Tabela 12 – Processo de decifragem com o uso da função XOR Texto Cifrado P⊕K 0001101 0000100 0000010 0010011 Chave: LIMA K 1001100 1001001 1001101 1000001 Texto Claro: AMOR P 1000001 1001101 1001111 1010010 Portanto, para decifrar a mensagem em código C = P⊕K, basta uma nova operação XOR com a chave K. Voltando agora a falar da criptografia DES, podemos afirmar que ela é um dos métodos criptográficos mais importantes de todos os tempos. Esse estudo será importante para entendermos um pouco sobre os algoritmos criptográficos simétricos internamente, de forma a garantir o seu objetivo, que é um embaralhamento tão grande do texto original até que não seja possível decifrá-lo, a não ser que se conheça a chave correta ou que se tente todas as combinações de chaves possíveis. O ato de se tentar todas as chaves possíveis é chamado de Ataque de Força Bruta. Para que um algoritmo seja considerado não vulnerável a esse tipo de ataque, é necessá- rio que se tenha um número tão grande de combinações de chaves que não seja possível testar todas, exigindo um esforço computacional que não vale a pena para um atacante. A história do DES A computação comercial foi iniciada na década de 1950. Em 1959, foi criado o CI (Circuito Integrado), o que iniciou uma nova era na computação. A partir da década de 1960, a criptografia entrou de vez no mundo dos computadores, sendo usada por um grande número de empresas comerciais. Essa introdução se deu de forma empírica, sem que padrões fossem inicialmente definidos. Cada empresa poderia ter seus próprios protocolos criptográficos, que garantiam a segurança da informação transmitida e armazenada pelos computadores daquela em- presa. Por outro lado, não era possível a comunicação segura entre duas empresas que utilizassem protocolos criptográficos diferentes. Isso só seria possível se ambas utilizas- sem os mesmos sistemas criptográficos. Para resolver esse problema, em 1973, a American National Bureau of Standards, órgão do governo americano responsável por estabelecer padrões, de forma similar ao INMETRO no Brasil, fez uma proposta de padronização de sistemas criptográficos para transporte e armazenamento de dados. O objetivo era criar um padrão que pudesse ser usado por todas as empresas. 18 19 Um dos mais importantes algoritmos criptográficos da época era o sistema Lucifer, da IBM, tornando-se um forte candidato para se tornar um padrão em criptografia. Um alemão chamado Horst Feistel participou do desenvolvimento do sistema Lucifer. Por ser alemão e por conta da Segunda Guerra Mundial, a NSA impediu que o projeto de Feistel fosse adotado como padrão em sua versão completa, mesmo sendo conside- rado o sistema criptográfico mais forte da época. A NSA pressionou para que, caso o sistema fosse adotado como padrão, que fosse em uma versão limitada, forçando o algoritmo a usar chaves de apenas 56 bits. A versão limitada do Lucifer foi chamada de DES e amplamente adotada na indústria e no setor bancário. Em 1980, o algoritmo DES foi adotado oficialmente no setor bancário. Um dos motivos pelo qual a NSA limitou o DES seria a sua capacidade de decifrar mensagens, considerando os recursos computacionais de que dispunham na época. O algoritmo des simplificado S-DES Este algoritmo tem função didática, para que se entenda como é a estrutura do DES completo, pois mostra as propriedades gerais do DES. O S-DES é um algoritmo de cifra de bloco, ou seja, toma blocos de bits como entrada e dá saída a blocos de bits de igual tamanho, que representa o texto cifrado. Um cifrador de bloco é um algoritmo criptográfico simétrico, que transforma blocos de bits de tamanho fixado (representando o texto claro) em blocos de bits de mesmo tamanho (representando o texto cifrado). O S-DES usa blocos de 8 bits de texto claro, como, por exemplo, 10001100, e uma chave de 10 bits, e produz um bloco de 8 bits de texto cifrado na saída. Para decifrar a mensagem, pegamos blocos de 8 bits de texto cifrado e aplicamos a mesma chave de 10 bits, resultando em blocos de 8 bitsde texto claro. Este esquema pode ser visto na Figura 2: CIFRAGEM Chave de 10 Bits Texto Claro (8 bits) Texto Cifrado (8 bits) DECIFRAGEM Chave de 10 Bits Texto Claro (8 bits) Figura 2 – Processo de cifragem e decifragem com o algoritmo S-DES O algoritmo que criptografa cada bloco de 8 bits usa 5 passos ou estágios. A saída de cada estágio é a entrada do estágio posterior. Os 5 estágios são os seguintes: • Aplica-se uma função de permutação IP (Initial Permutation); • Aplica-se uma função fk1, que depende da chave K e que envolve permutações e repetições; • Aplica-se uma função SW, que permuta (troca de posição) das duas metades do bloco de bits; 19 UNIDADE Métodos Criptográfi cos • Aplica-se uma função fk2, que é a mesma função do segundo estágio, mas alimen- tada com uma chave diferente K2; • Aplicamos a permutação inversa de IP, ou seja, aplicamos IP-1. A Figura 3 mostra o processo de criptografia do S-DES. IP Texto Claro (8 bits) Texto Cifrado (8 bits) fk1 SW fk2 IP-1 Figura 3 – Processo de criptografi a S-DES O S-DES usa uma chave de 10 bits, de onde extraímos as duas chaves de 8 bits usa- das no processo descrito na Figura 3. Agora, descreveremos de forma simplificada as etapas de operação do S-DES na geração de chaves. Inicialmente, consideraremos uma chave K de 10 bits: K = 1011001010 O primeiro estágio consiste na permutação P10(K). Nessa permutação, os bits são trocados, de acordo com uma fórmula fixa, que pode ser vista a seguir: P10 = 3 5 2 7 4 10 1 9 8 6 Onde cada número representa a posição dos bits na chave K original. Então, temos que: K = 1011001010 e P10(K) = 1001101100 20 21 Em seguida, é realizada uma operação SHIFT em cada metade de 5 bits de P10. Essa operação é uma rotação circular à esquerda (LS-1), conforme pode ser visto a seguir: 10011 01100 LS-1 LS-1 00111 1100 Então: SHIFT1(P10(K)) = 0011111000 Agora, realizaremos a permutação P8, que consiste em selecionar 8 bits de um bloco de 10 bits. A fórmula da permutação P8 é a seguinte: P8 = 6 3 7 4 8 5 10 9 Então, P8 de (0011111000) = (11110100). Então, obtivemos K1=11110100. Agora, devemos retornar ao resultado da operação SHIFT1 e aplicar uma operação SHIFT2, que é uma rotação circular à esquerda de 2 posições, em cada bloco de 5 bits. Como SHIFT1(P10(K)) = 0011111000, então SHIFT2 = (1110000011). Aplicando novamente P8 a esse resultado, obtemos K2= 01000011. O DES completo usa 16 iterações no processo principal, atua em blocos de 64 bits e usa uma chave de 56 bits, de onde são extraídas 16 subchaves, uma para cada iteração do processo principal. O 3DES O algoritmo DES foi considerado seguro por cerca de duas décadas. No entanto, quando ficou clara a necessidade de utilizar algoritmos mais seguros que o DES, uma das soluções propostas foi a de utilizar o mesmo DES com várias chaves. A vantagem evidente dessa solução foi poder utilizar os mesmos softwares e hardwares criados para o DES. A alternativa mais simples seria o DES Duplo, ou 2DES. A ideia básica desse método é repetir o DES duas vezes, usando duas chaves distintas. O esquema pode ser visto na Figura 4: IP IP K1 P C CIFRAGEM K2 IP IP K2 C P DECIFRAGEM K1 Figura 4 – Processo de operação do DES DUPLO 21 UNIDADE Métodos Criptográfi cos Esse esquema envolve duas chaves de 56 bits, resultando em uma chave de 112 bits. Isso parece ser muito eficiente, correto? Mas não é bem assim! Existe uma forma de ataque utilizada desde a década de 1970, conhecida como Ataque do encontro no meio. Esse método diz que, dada uma chave criptográfica, basta testar 50% de todas as combinações, que os outros 50% derivam de forma espelhada. Ou seja, esse tipo de ataque reduz o DES duplo à segurança do DES simples. O triplo DES com 2 chaves Nesse método, o DES é aplicado três vezes, com uma opção interessante, que é fazer K1 = K3. Dessa forma, utiliza-se somente duas chaves de 56 bits, requerendo, portanto, uma chave de 112 bits. A Figura 5 mostra a forma que o algoritmo assume nesse modelo: E D K1 P CIFRAGEM NO TRIPLO DES COM DUAS CHAVES K2 D E K1 C DECIFRAGEM NO TRIPLO DES COM DUAS CHAVES K2 E C K1 D P K1 Figura 5 – Cifragem e decifragem com o uso do Triplo DES com duas chaves O triplo DES com 3 chaves Também conhecido como 3DES, opera com três chaves distintas de 56 bits, resultando em uma chave efetiva de 168 bits. Muitas aplicações para a Internet usam o 3DES com três chaves, incluindo o PGP e o S/MIME, usados em correio eletrônico. O 3DES ainda é muito utilizado atualmente, mas seu problema principal é o desem- penho. O 3DES foi criado para ser implementado em hardware, não em software. Por isso, há algoritmos mais modernos que foram desenvolvidos para operar em software e que são muito mais rápidos. Um exemplo disso é o Blowfish, que oferece segurança similar ao 3DES, mas é muito mais rápido. Em 1998, o 3DES foi recomendado como padrão pela NIST (National Institute of Standards and Technology). Porém, em 2002, o 3DES foi oficialmente substituído pelo AES (Advanced Encryption Standard). O algoritmo AES O algoritmo Rijndael, rebatizado de AES, foi adotado pelo governo americano como protocolo padrão de criptografia em 2002. O NIST o colocou como substituto oficial do DES. Esse algoritmo foi criado em 1998 por dois criptógrafos belgas: Joan Daemen e Vincent Rijmen. 22 23 O AES é um algoritmo rápido, tanto em software quanto em hardware, sendo rela- tivamente fácil de ser implementado e requer pouca memória. Desde sua escolha como padrão, seu uso tem crescido muito em produtos que envolvem criptografia. A história do AES O NIST estava buscando um substituto para o DES e estabeleceu uma compe- tição pública, onde especificou um conjunto de critérios para o desenvolvimento do algoritmo: • Operar com chaves e blocos de tamanho variável, com tamanho mínimo de 128 bits; • Ser seguro e de descrição simples para facilitar a análise, certificação e implementação; • Ser rápido, tanto em software quanto em hardware, em diversas plataformas, di- versos servidores e mesmo em smart cards; • Ser livre, isto é, de domínio público e disponível mundialmente. O NIST recebeu 21 submissões, onde 15 atenderam a todas as exigências. Os 15 algoritmos foram avaliados pela comunidade acadêmica, órgãos de governo e empresas de segurança. Cinco algoritmos foram escolhidos como finalistas: • MARS: Desenvolvido pela IBM, contava com Don Coppersmith na equipe de de- senvolvimento. Ele trabalhou no desenvolvimento do DES; • TWOFISH: Algoritmo criado por Bruce Schneier e derivado do Blowfish; • SERPENT: Algoritmo que ficou em segundo lugar; • RIJNDAEL: Algoritmo escolhido como vencedor; • RC6: Mais um dos algoritmos criptográficos criados por Ron Rivest. É derivado do RC5. O algoritmo vencedor foi rebatizado como AES. Todos os cinco finalistas foram considerados muito seguros. Em 2003, o governo americano informou que o AES poderia ser usado para proteger informações secretas. Esse é um marco na história da criptografia, pois pela primeira vez o público em geral teve acesso a um sistema criptográfico que a NSA aprovou como seguro para informações secretas do gover- no americano. O Funcionamento do Algoritmo AES O AES é um cifrador de bloco, com tamanho de chave e bloco variáveis entre 128, 192 e 256 bits. A operação central do AES usa uma sequência de operações de per- mutação e substituição. O AES opera em matrizes de 4x4 bytes, chamadas de state. Em cada etapa do AES (com exceção da última), o state sofre as seguintes operações: • SubBytes: uma operação não-linear em que cada byte é substituído por outro, escolhido em uma tabela de substituição, que é um S-Box de 8 bits; 23 UNIDADE Métodos Criptográfi cos Figura 6 • ShiftRows: uma operação de transposição nas linhas do state, em que cada linha é deslocada ciclicamente por um certo número de passos; Figura 7 • MixColumns: uma operação nas colunas do state. Aplica uma certa transforma- ção linearaos 4 bytes de cada coluna, gerando uma outra coluna de 4 bytes; Figura 8 • AddRoundKey: cada byte do state é combinado, através de uma operação de corpo finito com uma chave derivada da chave inicial, através de um processo de geração de subchaves. Figura 9 Até este momento, não há registros de que o algoritmo AES tenha sido quebrado. 24 25 Métodos Assimétricos de Criptografia As técnicas convencionais de criptografia são conhecidas como simétricas, pois o mesmo processo usado na cifragem da mensagem é usado, em sentido oposto, na deci- fragem dessa mensagem. Em linhas gerais, utilizamos uma chave para “embaralhar” o texto claro e a mesma chave para “desembaralhar” o texto criptografado, recuperando o texto original. Uma forma de visualizar os sistemas simétricos é usar como exemplo um cofre, que só pode ser fechado e aberto com o uso de uma chave, que pode ser uma combinação de números. A mesma combinação abre e fecha o cofre. Como comparação, para crip- tografar uma mensagem, usamos a chave (fechamos o cofre) e, para decifrá-la, utiliza- mos a mesma chave (abrimos o cofre). Dessa forma, fica evidente o problema em relação à distribuição de chaves, que de- vem ser combinadas entre as partes antes que a comunicação segura seja iniciada. Isso pode ser um problema nas situações onde as partes não podem se encontrar. Além disso, há outros problemas: a chave pode ser interceptada ou alterada em trânsito por um criminoso virtual. Por isso, foram desenvolvidas técnicas de criptografia com o uso de chaves assimétricas. Um pouco de história Em 1975, Whitfield Diffie estava trabalhando no problema de distribuição das chaves dos algoritmos simétricos quando teve uma ideia: utilizar um sistema de chave assimétrica. A importância dessa ideia foi imediatamente reconhecida por Diffie. A ideia era uti- lizar um par de chaves, sendo uma delas pública, que poderia ser divulgada a qualquer pessoa, e outra privada, que deveria ser mantida em sigilo. A chave pública seria, então, utilizada para criptografar a mensagem e a chave privada seria usada para decifrar essa mensagem. Dessa forma, as duas chaves estão relacionadas, mas quem tiver somente o conhecimento da chave pública não poderá decifrar as mensagens, pois isso é exclusividade da chave privada. Como exemplo, tomaremos dois personagens fictícios: ALICE e BOB. Para iniciar o processo, ambos devem gerar um par de chaves: • CA = CHAVE PÚBLICA DE ALICE; • DA = CHAVE PRIVADA DE ALICE; • CB = CHAVE PÚBLICA DE BOB; • DB = CHAVE PRIVADA DE BOB. 25 UNIDADE Métodos Criptográfi cos As chaves públicas são divulgadas para os dois e as chaves privadas são mantidas em sigilo. • Para enviar uma mensagem P para ALICE, BOB deverá usar a chave pública CA, produzindo o texto cifrado CA(P). Esse texto é enviado para ALICE por qualquer meio; • ALICE recebe a mensagem CA(P) e usa sua chave privada DA, obtendo o seguin- te resultado: DA(CA(P)) = P Isso recupera a mensagem original P. Não importa que o texto seja interceptado em trânsito, porque somente alice conhece a chave secreta “da”, que é a única chave que pode decifrar a mensagem. Representaremos esse esquema de comunicação segura na Tabela 13. Tabela 13 – Esquema de funcionamento da criptografi a de chave pública ALICE BOB Gera par de chaves CA e DA e divulga CA Quer enviar mensagem P para ALICE. Usa chave pública de ALICE e gera mensagem cifrada CA(P) Recebe CA(P) Transmite CA(P) Usa chave secreta DA e recupera mensagem original P = DA(CA(P)) Uma pessoa mal-intencionada que conseguisse interceptar toda a comunicação entre Alice e Bob saberia somente a chave pública CA e a mensagem cifrada CA(P). Ele não poderia decifrar a mensagem sem conhecer a chave privada DA. O simples conheci- mento de CA não permite a dedução de DA. Agora, se Alice desejasse enviar uma resposta R para a mensagem de Bob, ela utili- zaria a chave pública de Bob, ou seja, CB, resultando na mensagem cifrada CB(R). Bob receberia essa mensagem cifrada e realizaria a decifragem usando sua chave secreta DB. R = DB (CB(R)) Esse esquema resolve de forma brilhante o problema da troca de chaves da criptogra- fia simétrica. Como somente as chaves públicas precisam ser de conhecimento de todos, pode-se publicá-las em qualquer lugar, sem a necessidade de uma distribuição sigilosa. Mas nem tudo são flores, existe ainda um problema a ser resolvido. Se eu recebo uma mensagem de Alice, informando que sua chave pública é CA, como posso ter certeza de que essa mensagem foi realmente enviada por Alice? Um criminoso virtual poderia publicar uma chave pública qualquer, se fazendo passar por Alice. Trataremos da resposta a esse problema mais à frente. 26 27 O uso de funções inversas Na criptografia de chave pública, as chaves C e D são duas funções inversas uma da outra. Essa característica torna possível o uso do par de chaves diferentes na criptografia de chave pública. Veja como isso funciona na Tabela 14: Tabela 14 – Processo com uso das funções inversas P CA CA(P) DA P=DA(CA(P)) Texto claro Função que criptografa Texto cifrado Função que decifra Texto claro recuperado Com o uso de funções inversas, com o conhecimento de uma delas não é possível descobrir a outra. O modelo de criptografia de chave pública pode ser exemplificado por um cadeado: • Imagine que o cadeado representa o processo criptográfico; • O cadeado aberto representa a chave pública, podendo ser enviado a qualquer pessoa que precise “prender” um objeto que precise ser enviado ao dono da chave do cadeado; • A chave do cadeado representa a chave privada, pois sua posse exclusiva é do dono do cadeado e somente essa chave pode ser usada para abrir o cadeado. O método RSA O método proposto por Diffie não foi implementado por ele. Ele fez apenas a pro- posta matemática, não conseguindo transformar tecnologicamente sua ideia em uma solução. Diffie publicou suas ideias em 1975, ficando sem resposta por dois anos. Em 1977, três pesquisadores do MIT (Instituto de Tecnologia de Massachusetts), do Laboratório de Ciência da Computação, propuseram um esquema que implementou a proposta do sistema de criptografia assimétrico de Diffie. O nome dos três pesquisadores são Ron Rivest, Adi Shamir e Leonard Adleman. O sistema foi chamado de RSA, iniciais dos nomes desses pesquisadores, e tornou-se um dos sistemas criptográficos mais importantes de todos os tempos, sendo muito utilizado até os dias atuais. No RSA, uma mensagem é quebrada em blocos de tamanhos fixos, que depois são transformados em números. Para criptografar essa mensagem, considere um inteiro módulo N, que faz parte da chave pública do RSA. Esse inteiro N é produto de dois números primos distintos p e q: N = p . q Quebrar um código RSA é equivalente a fatorar o inteiro N. A segurança do RSA está na dificuldade de fatorar inteiros grandes. Para decifrar a mensagem, é necessário conhecer a fatoração de N, o que só quem gerou a chave conhece. A dificuldade de fatorar o inteiro N aumenta quando N aumenta. Quanto maior a segurança requerida pelo sistema, maior deve ser a chave escolhida. 27 UNIDADE Métodos Criptográfi cos Autenticidade Um dos grandes desafios de um sistema de chave pública é assegurar a autenticidade da chave. Um atacante pode ter acesso a uma mensagem, sem precisar quebrar o siste- ma criptográfico, falsificando a chave pública de uma das partes. Isso pode ser feito da seguinte forma: • Alice quer enviar uma mensagem P para Bob; • Ela pergunta a chave pública diretamente para Bob ou consulta uma lista de chaves públicas que contenha a de Bob; • Nesse ponto, um atacante pode enviar uma chave pública CB’, fazendo-se passar por Bob; • Alice recebe a chave CB’, acreditando ser de Bob, e usa essa chave para cifrar a mensagem P, gerando CB’(P); • O atacante recupera a mensagem original, usando a chave privada DB’, que ele possui, gerando: P = DB’(CB’(´P)); • Para tornar o golpe mais sofisticado, o atacante pode usar achave pública real de Bob e enviar CB(P) para Bob, que não saberá que a mensagem já foi lida por outra pessoa. Esse esquema mostra a necessidade da existência de um esquema que garanta a autenticidade das chaves públicas. Existem duas formas principais para garantir a auten- ticidade das chaves: O uso de um terceiro confiável, uma Autoridade Certificadora, ou seja, uma enti- dade em que todos confiam e que se responsabiliza por assegurar a autenticidade das chaves públicas; A assinatura digital do documento a ser enviado, usando a chave privada de quem envia o documento, pode ser verificada com a chave pública do emissor no destino da mensagem. Assinatura Digital O sistema de criptografia de chave pública permite a assinatura digital. O processo baseia-se na inversão do processo de criptografia do texto claro e pode ser visto na Tabela 15. Tabela 15 – Processo de Assinatura Digital S DA DA(S) CA P=CA(DA(S)) Assinatura de Alice Função que assina a mensagem Texto cifrado com a assinatura digital Função que verifica a assinatura de Alice Assinatura validada por Bob 28 29 Explicando o processo: • Alice quer enviar uma mensagem P para Bob. Então, ela envia o par: » (CB(P), DA(S)) • Ao receber a mensagem, Bob usa sua chave privada para decifrar a mensagem: » P = DB(CB(P)) • E usa a chave pública de Alice para conferir a assinatura: » S = CA(DA(S)) A assinatura digital é, normalmente, uma função de hash, que é um resumo da men- sagem, com tamanho fixo (128, 256 ou 512 bits) para blocos de texto de tamanho fixo. Normalmente, uma função de hash é rápida, permitindo o seu cálculo rapidamente e sua natureza técnica é a de ser impraticável calcular a Assinatura S a partir do hash H(S). Para dois textos diferentes, é improvável que suas funções de hash sejam iguais. Nesta unidade, vimos os principais métodos criptográficos, sua matemática e forma de ob- tenção de sistemas simétricos e assimétricos de criptografia. Estude bastante e realize as atividades propostas, para que o conteúdo seja assimilado e possa servir de base para seu aprofundamento posterior. 29 UNIDADE Métodos Criptográfi cos Material Complementar Indicações para saber mais sobre os assuntos abordados nesta Unidade: Livros Criptografia e Segurança de Redes SALLINGS, W. Criptografia e Segurança de Redes. 6. ed. São Paulo: Editora Pear- son, 2014. Criptografia geral COSTA, C. J.; FIGUEIRERO, L. M. S. Criptografia geral. 2. ed. Rio de Janeiro: UFF/ CEP-EB, 2006. Vídeos Criptografia – Tipos – Simétrica, Assimétrica e Funções de Hash – 02 https://youtu.be/UJ6uSV1KREM O que é Chave Simétrica? – Primeira Parte: https://youtu.be/XEmP7OIx66A 30 31 Referências CARLOS, M. C. ICPEdu Introdução à Infraestrutura de chaves públicas e aplica- ções. Rio de Janeiro: RNP/ESR, 2014. FURHT, B.; KIROVSKI, D. Multimedia Encryption and Authentication Techniques and Applications. Boca Raton: Auerbach Publication, 2006. KONHEIM, A. G. Computer Security and Cryptography. New Jersey: John Willey & Sons, Professional, 2007. MORAES, A. F. Segurança em Redes. 1. ed. São Paulo: Editora Érica, 2010. PEIXINHO, I. C. Segurança de Redes e Sistemas. Rio de Janeiro: RNP/ESR, 2013. STALLINGS, W. Criptografia e segurança de redes. 4. ed. São Paulo: Pearson Pren- tice Hall, 2008. STALLINGS, W. Network Security Essentials: Applications and Standards. 3. ed. New Jersey: Prentice Hall, 2006. STALLINGS, W. Segurança de Computadores. 2. ed. Rio de Janeiro: Elsevier, 2014. 31