Fundamentos da criptologia

Documentos relacionados
Números primos e Criptografia

Engloba os criptossistemas clássicos. Outros nomes: (Criptografia...)

AULA 08 CRIPTOGRAFIA E SEGURANÇA DE DADOS CRIPTOGRAFIA ASSIMÉTRICA CHAVES E ALGORITMOS 03/03/2016 PROF. FABIANO TAGUCHI

Segurança Computacional alavancando o avanço da computação

Segurança da Informação Aula 6 Principais Algoritmos Simétricos. Criptografia Assimétrica.

O USO DA CRIPTOGRAFIA EM ÁUDIO

SEGURANÇA CRIPTOGRAFIA E SEGURANÇA DE DADOS. As funções de cifra são consideradas totalmente seguras se:

Desvendando os mistérios do criptossistema RSA. Grasiele Cristiane Jorge. Pós-Doc - IMECC - UNICAMP

Criptografia no MSX Fulswrjudild qr PVZ

Capítulo 8. Segurança de redes

AULA 5: Criptografia e Esteganografia

Autenticação por par de. chaves assimétricas. Bruno Follmann

Faculdade de Engenharia da Computação

Simon Singh: O livro dos códigos 1

Álgebra A - Aula 01 Algoritmo da divisão de Euclides e Algoritmo Euclideano estendido

TOCI08 Segurança em Redes de Computadores Módulo 08: Criptografia Assimétrica RSA e ECC

M3D4 - Certificados Digitais Aula 2 Certificado Digital e suas aplicações

Tão logo os homens adotaram a escrita, começaram a se preocupar em enviar informações em segredo.

OTES07 Segurança da Informação Módulo 05c: Criptografia Assimétrica RSA e ECC

Teoria dos Números e Criptografia

Técnicas de criptografia. Funções Hash Criptografia com chave secreta Criptografia com chave pública Assinatura digital Protocolos

MAB 715 Segurança em Redes

Técnicas Clássicas de Criptografia. Criptografia e Segurança de Redes, Cap. 2 Willian Stallings 4 Ed. Pearson, 2008

Entendendo a criptografia e como ela pode ser usada na prática. Italo Valcy Universidade Federal da Bahia CERT.

Segurança de Sistemas de Informação

A loira do banheiro. Série Matemática na Escola

CONHECENDO E PRATICANDO: A CRIPTOGRAFIA DENTRO DA SALA DE AULA

O que é Segurança da Informação

Segurança da Informação Aula 5 Criptografia. Objetivos e Tipos. Cifras de Bloco e Fluxo

4 ÍNDICE Exemplo de redundância e distância de unicidade... 41

Tópicos de Ambiente Web Segurança

Criptografia em redes de computadores. Gabriel Stefen e Thiago Stefen

PTC Aula 19. (Kurose, p ) (Peterson, p ) 09/06/ O que é segurança de rede? 5.2 Princípios de criptografia

Cifra Homofônica. Mestrado em Ciência da Computação Estruturas de Dados Prof. Dr. Paulo Roberto Gomes Luzzardi Mestranda: Nelsi Warken

05/02/2016 CRIPTOGRAFIA CRIPTOGRAFIA EXERCÍCIO. A cifra de César já apresentado em sala, faz uso da aritmética modular(congruência), vejamos:

Segurança e Auditoria de Sistemas. Professor Emiliano S. Monteiro

Criptografia Simétrica e Assimétrica, Hash, e Assinatura Digital

Aplicações da Álgebra Linear: Criptografia

PLANO DE DISCIPLINA DISCIPLINA: Segurança da Informação

Complexidade de Algoritmos

PTC Aula 20. (Kurose, p ) (Peterson, p ) 14/06/ Princípios de criptografia

CRIPTOGRAFIA RSA APLICADA A ÁUDIO

Resumo Segurança em Redes de Computadores

Segurança em Redes de Computadores

OTES07 Segurança da Informação Módulo 05b: Criptografia Simétrica: AES/SAES

O SISTEMA CRIPTOGRÁFICO D.E.S. - DATA ENCRYPTION STANDARD

Criptografia simétrica e assimétrica

Já sabemos como determinar todas as soluções de uma equação diofantina linear, caso esta seja resolúvel. Para conguências temos:

CIFRA DE HILL. Autor: Maycon Pereira de Souza

Segurança da Informação Aula 7 Assinaturas Digitais e HASH.

OTES07 Segurança da Informação Módulo 05a: Criptografia Simétrica: DES/SDES

Máquinas de Calculo Mecânicas

Virtual Private Network (VPN)

Engenharia Civil. Representação da Informação. Introdução à Computação

Codificando e decodificando com os conteúdos matemáticos do Ensino Médio

Faculdade de Engenharia da Computação

INFORMÁTICA E CONTABILIDADE. Prof. Me. Fábio Assunção CMP 1128 Parte 01

A * CRIPTOGRAFIA COMO UMA APLICAÇÃO MATEMÁTICA*

Criptografia e Segurança em Rede Capítulo 3. William Stallings

ACTIVIDADE: Códigos Secretos Actividade desenvolvida pela Escola Secundária Padre Alberto Neto.

DESEMPENHO DE UM ALGORITMO POSICIONAL EM SOFTWARE E HARDWARE.

Criptografia: códigos sem segredos

Manutenção de Computadores e Redes

Programação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO

CRIPTOSSISTEMAS BASEADOS EM NÚMEROS PRIMOS

D OLJHLUD UDSRVD PDUURP VDOWRX VREUH R FDFKRUUR FDQVDGR 1

SEGURANÇA DE SISTEMAS E REDES

Organização e Arquitetura de Computadores. Prof. Leonardo Araújo

Aula 1. Introdução à programação. Prof. Dr. Bruno Honda

OSRC001 Segurança em Redes de Computadores Módulo 07: Criptografia Simétrica: AES/SAES

Transcrição:

7 Fundamentos da criptologia Bernardino Sant Ana Júnior* Resumo Neste artigo são abordados o histórico e os fundamentos da criptologia, apresentando uma descrição do algoritmo assimétrico RSA, mais conhecido atualmente, bem como as técnicas modernas de esteganografia. Palavras-chave: Criptologia. Esteganografia. Algoritmo. 1 Introdução A criptologia encontra-se presente em diversos ramos da ciência e do nosso dia-a-dia. Pode-se observar sua utilização na segurança de bancos, em caixas eletrônicos, no acesso à internet ou na transmissão de mensagens em situações de guerra entre nações. Considerada de importância, a criptologia compõe o Plano de Disciplinas do Curso de Comunicações da Escola de Aperfeiçoamento de Oficiais (EsAO). Camuflados nas técnicas de criptologia e informática encontram-se teoremas da matemática na sua forma mais abstrata e pura. Conceitos matemáticos criados em épocas remotas, período em que não havia nem mesmo energia elétrica e cuja aplicação não ultrapassava muitas vezes a curiosidade de seu criador são aplicados na criptologia como se tivessem surgido com este intuito. Este trabalho apresenta sumariamente os fundamentos da * Currículo resumido: Capitão de Comunicações, Mestre em Operações Militares (EsAO), Especialista em Técnicas Comp u t a c i o n a i s Aplicadas à Engenharia (UNITAU). e-mail:santjr@ig. com.br. Sem título-17 7

8 criptologia, a qual é composta pela criptografia, criptoanálise e esteganografia, com ênfase nos algoritmos assimétricos ou de chave pública. 2 Evolução histórica da criptologia Segundo Singh (1999), os primeiros relatos sobre ocultação de mensagens provêm das histórias de Heródoto, filósofo e historiador, que narrou as guerras e conflitos entre a Grécia e Pérsia, durante o século V antes de Cristo. Nesta época o processo mais utilizado era o da esteganografia, que consiste somente em esconder a mensagem que será enviada. O remetente gravava a mensagem numa tabuleta de madeira e em seguida a cobria com cera, sobre a qual gravava uma nova mensagem, esta de teor público. Ao chegar no destino o remetente, previamente alertado sobre a forma de esconder a mensagem, raspava a cera e lia o conteúdo secreto. Uma das primeiras técnicas criptográficas que surgiu foi a cifra de César ou cifra por substituição, usada pelo Imperador romano Júlio César para transmitir mensagens aos seus exércitos. A técnica consiste em substituir letras do alfabeto por símbolos ou por outras letras. Pode-se, por exemplo, substituir cada letra do alfabeto pela terceira sucessora Por volta do século VIII, os árabes desenvolveram uma técnica para verificar a autenticidade dos textos sagrados de Maomé. Esta técnica foi utilizada posteriormente para criptoanalisar as mensagens criptografadas com os métodos de substituição monoalfabéticas. A técnica consiste em uma análise estatística da frequência com que as letras de um determinado idioma aparecem. No ano de 1563, Blaise de Viginére criou um novo sistema que inicialmente não podia ser criptoanalisado por análise de freqüência. O sistema era baseado em mais de Sem título-17 8

9 um alfabeto. Em 1854, a Cifra de Viginére é quebrada por Charles Babbage e, por muitos anos, nenhum outro método de criptografia foi desenvolvido de modo a apresentar relativa segurança. Com o desenvolvimento dos computadores mecânicos no início do século XX, máquinas mecânicas de criptografia sugiram e tornaram os processos de criptografia por substituição e transposição mais complexos. Antes do início da Segunda Guerra Mundial, no final da década de vinte, a Alemanha havia desenvolvido uma máquina de criptografia mecânica conhecida como Enigma que, apesar de utilizar métodos já conhecidos de substituição e transposição, tornou-os tão complexos que a criptoanálise manual de suas mensagens era quase impraticável. Para criptoanalisar a máquina Enigma foi necessário criar uma outra máquina, que funcionava com os princípios da lógica de Boole e com as idéias da máquina universal de Turing. O primeiro computador, o Colossus, foi construído em 1943 e utilizado no centro de criptoanálise do Bletchley Park, Inglaterra. Por ter a função de analisar códigos, o Colossus foi destruído ao final da Segunda Guerra Mundial, sendo seus projetos mantidos em segredo e durante muitos anos não foi conhecido como o primeiro computador a ser criado, sendo em geral o ENIAC (Electronic Numerical Integrator and Computer) lembrado como tal. Durante as décadas de 40 e 50, os métodos criptográficos simétricos estavam em desenvolvimento em diversos países. No final da Segunda Guerra Mundial a Força Expedicionária Brasileira, ao deslocar-se para o Teatro de Operações na Itália, tinha apoio de comunicações através da Companhia de Transmissões (atualmente Companhia de Comunicações) que para realizar o primeiro contato radiotelegráfico Itália-Brasil, em 9 de setembro de 1944, utilizando uma estação rádio SCR-299 (Signal Corps Radio Sem título-17 9

10 299), criptografou as mensagens utilizando um sistema simétrico americano em substituição ao utilizado no Brasil. Após a Segunda Guerra Mundial, a evolução da informática, utilizando os princípios da lógica booleana, desenvolveu computadores que possibilitaram a criação de algoritmos de substituição e transposição ainda mais complexos. De forma geral os métodos utilizados tinham o mesmo princípio da máquina Enigma. Uma chave era fornecida ao destinatário e em seguida um algoritmo era utilizado para a criptografia. A segurança desse sistema era baseada no fato da chave encontrar-se segura. A esse sistema chamou-se de algoritmos simétricos, pois usavam a mesma chave para criptografar e decriptografar a mensagem transmitida. Fotografia 1: À direita Teletypewriter TT-40 / TG, de fabricação norte-americana e à esquerda Telégrafo com fio TLG-202, de fabricação nacional. Ambos pertencentes ao museu do BEsCom e utilizados na 2ª guerra mundial. Fonte: autor. Com o tempo houve a necessidade de padronização dos diversos algoritmos de criptografia e, em 1977, a IBM (International Bussiness Machines) criou um algoritmo chamado DES (Data Encryption Standard) que passou a ser utilizado por diversos governos, organizações e empresas como um algoritmo de criptografia padrão. Este algoritmo foi certificado pela NSA (National Security Sem título-17 10

11 Agency, Agência de Segurança Nacional, dos Estados Unidos da América). Com a evolução da informática, surgiram computadores capazes de testar milhões de chaves por segundo e, que a custos relativamente baixos, para grandes empresas e governos, conseguiam quebrar o DES. Em virtude da fragilidade apresentada, o NIST (National Institute of Standards and Technology, Instituto Nacional de Padrões e Tecnologia, dos Estados Unidos da América) criou um processo para escolher os substitutos do DES, a qual denominou-se AES (Advanced Encryption Standard). Uma série de requisitos de segurança foram estabelecidos e o algoritmo escolhido no ano de 2000 foi o Rijndael. 3 Os algoritmos simétricos ou de chave pública Os algoritmos simétricos de criptografia foram desenvolvidos e são utilizados até os dias atuais, mas sua principal vulnerabilidade é a chave ou senha. A segurança do sistema reside no fato do criptoanalista não possuir a senha. Na década de 70 surgiu, um novo método criptográfico, o chamado algoritmo assimétrico de criptografia. A idéia foi criada por Diffie e Hellman, mas a mesma só foi colocada em prática com o desenvolvimento do RSA 1, criado por Ronald L. Rivest, Adi Shamir, e Leonard Adleman em 1977. Neste tipo de algoritmo as chaves do cifrador e do decifrador são diferentes. A base do método é a álgebra abstrata e a teoria dos números. Diferente do algoritmo simétrico, o assimétrico possui a seguinte concepção: são criadas duas chaves, uma pública, que será divulgada para o cifrador, que irá utilizá-la para cifrar a mensagem. Após a cifragem, somente o decifrador através da segunda chave, a chave privada, 1 O nome RSA é uma referência a seus criadores Rivest, Shamir e Adleman. Sem título-17 11

12 poderá decifrar a mensagem. As chaves pública e privada são diferentes e a chave privada não necessita ser transmitida. Esse algoritmo utiliza-se de propriedades das funções unidirecionais da aritmética modular. A operação MOD ou módulo, utilizada no sistema assimétrico, pode ser interpretado como a criação de um conjunto. A representação Z 3, por exemplo, indica o conjunto dos inteiros formados por 0, 1 e 2, sendo que qualquer operação não pode ultrapassar 3, por exemplo 2 + 2 = 4, mas em Z 3 ou MOD 3 temos que o resultado 4 é dividido por 3 e tem resto 1 (4 = 1 MOD 3); assim em MOD 3 tem-se que 2 + 2 =1. Outro exemplo, é a adição 2 + 1 = 0 em MOD 3, e assim para outras operações como 3 x 2 = 6, mas em MOD 3 tem-se que 3 x 2 = 0 (o resto de 6 dividido por 3 é 0). Essas definições serão utilizadas na apresentação do método RSA, algoritmo assimétrico mais conhecido. Outro conceito importante é o de inverso multiplicativo. Um número é inverso multiplicativo de outro quando, após a operação de multiplicação, o resultado é o elemento neutro da multiplicação. Assim ½ é inverso multiplicativo de 2, pois o produto é igual 1, que é elemento neutro da multiplicação. Será considerada a frase seguinte para ser criptografada: ESAO. Para melhor entendimento do método serão utilizados números pequenos. O algoritmo RSA inicia-se com a escolha aleatória de dois números primos, por exemplo 41 e 29, que serão chamados de p e q respectivamente, com p = 41 e q = 29. O produto destes dois números primos p e q será chamando de n, que no exemplo, será n = 1189. Após será calculado o número F(n), conhecido como número de Euler que é expresso por F(n) = (p-1).(q-1), sendo p e q primos, assim tem-se Ö(1189) = 1120. Sem título-17 12

13 Após o cálculo de F(n), escolhe-se um número inteiro menor que 1120 que seja primo deste, isto é, não possui fator comum com 1120, exceto 1. Escolhe-se por exemplo o número 17, e chama-se de e; assim, e =17. Este número, e, será a chave criptográfica, que será usada como expoente da equação modular: Y = X e ( mod n ). A variável d é a chave de decriptografia ou privada, calculada através do algoritmo estendido de Euclides, e definida como o inverso multiplicativo modular de e.. Com os valores da chave pública e privada calculados define-se a chave pública como sendo o par ordenado (e, n) = (17, 1189) e a chave privada como (d, n) = (593, 1189). Com os dados obtidos pode-se criptografar a frase ESAO, através do RSA. Normalmente divide-se a frase a ser cifrada ou criptografada em blocos, os quais devem ter valores menores que n, já que a equação genérica é módulo n. Fluxograma 1 Algoritmo Simétrico Chave alfanumérica, configuração inicial ou código Chave alfanumérica, configuração inicial ou código Texto Aplicação do algoritmo simétrico para a criptografia, utilizando a chave Texto Criptogra fado Aplicação do algoritmo de criptografia para decriptografar a mensagem, utilizando a chave Texto Fonte: Fonte: O autor. O autor Sem título-17 13

14 Fluxograma 2 Algoritmo Assimétrico Chave pública (e, n) Chave privada (d, n) Texto Aplicação do algoritmo assimétrico para a criptografia utilizando a chave pública do destinatário. Texto Criptogra fado Aplicação do algoritmo de decriptografia que utiliza a chave privada do destinatário. Texto Fonte: O autor. Cada letra da frase assumirá um valor equivalente ao seu correspondente no ASCII (American Standard Code for Information Interchange), pois geralmente a transmissão da mensagem é feita numa rede de computadores, isto é, via transmissão de dados. As letras da frase assumirão os seguintes valores (O correspondente ASCII das letras do alfabeto podem ser obtidos com a função CODIGO( ) no Excel): E S A O 69 83 65 79 A frase ficaria: 69836579, e seria divida em blocos de três elementos, com valores menores que n: 698 365 79. Caso está divisão em grupos de três não fosse aplicada estar-se-ia apenas fazendo uma substituição em que cada valor ASCII assumiria um outro valor, o que seria facilmente criptoanalisado por análise de freqüência. Com a Sem título-17 14

15 chave pública fornecida (17, 1189) cada bloco assumirá um valor c i, no qual i varia de 1 até o número de blocos, no exemplo 3 blocos. O valor c i é expresso por: b i e mod n, onde b i é o valor de cada bloco: c i = b e i mod n c i b e i mod n Resultado c 1 698 17 mod 1189 862 c 2 365 17 mod 1189 713 c 3 79 17 mod 1189 1063 Os novos blocos seriam: 862 713 1063 O bloco único seria: 8627131063, que então será transmitido. Através da chave privada (593, 1189), pode-se decriptografar a mensagem transformando os valores numéricos nos correspondentes blocos e depois nos grupos de dois números equivalentes ao ASCII e posteriormente em letras. Inicia-se obtendo o bloco único e dividindo-o em blocos de 3 e 4 algarismos: 862 713 1063. O valor m i é expresso por: m i = c d i mod n m i c d i mod n Resultado m 1 862 593 mod 1189 698 m 2 713 593 mod 1189 365 m 3 1063 593 mod 1189 79 Sem título-17 15

16 Obtêm-se assim os blocos: 698 365 79, exatamente como foram separados. Unindo os blocos e fazendo a separação em grupos de dois elementos tem-se: 69, 83, 65 e 79. Comparando os valores encontrados com a tabela ASCII retorna-se às letras da frase: 69 83 65 79 E S A O Nos exemplos acima, foram utilizados para os cálculos a calculadora científica do sistema operacional Windows 98, através da função MOD e x^y. Esse método permite que o bloco b i transforme-se em um valor c i, que na decriptografia irá transformar-se novamente em b i. A razão de b i assumir o seu valor inicial está fundamentada nos teoremas da álgebra. Para realizar a criptoanálise do algoritmo é necessária a fatoração de n, pois conhecendo-se p e q pode-se calcular Ö(n) e com o algoritmo de Euclides estendido calcular d. Considerando que com o auxílio da computação algébrica pode-se escolher números primos grandes com mais de 200 algarismos, ainda não se tem divulgado nenhum algoritmo para fatoração que seja eficiente e, com o uso do computador, o cálculo seria demorado. Este método apresenta boa segurança. A desvantagem do algoritmo assimétrico é a baixa velocidade de transmissão devido ao cálculos necessários para a criptografia. Nos atuais programas de criptografia como o PGP (Pretty Good Privacy) as técnicas de criptografia são mistas e podem ser utilizadas em computadores domésticos. A chave do processo simétrico é transmitida através de um processo assimétrico. Deste modo, pode-se aumentar a segurança sem diminuir a velocidade de processamento e transmissão da mensagem. Sem título-17 16

17 4 Técnicas modernas de esteganografia Atualmente, um outro ramo da criptologia está sendo muito utilizado: a esteganografia. Modernamente este processo consiste basicamente da ocultação de dados, que abrange a inserção em imagens de computador, principalmente nos formatos JPG e GIF, que são disponibilizados na Internet. Programas freeware (gratuitos), como o Steghide e o Steganopic permitem a inclusão de mensagens nos arquivos binários das imagens, sem alterações visuais, que depois podem ser lidas por um destinatário ou por alguém que saiba onde a mensagem está oculta. Alguns programas, além de incluirem mensagens nas imagens, também fazem a criptografia destas. Segundo a edição do USA TODAY, de 05 de fevereiro de 2001, esta técnica foi utilizada para troca de mensagens pelo grupo terrorista chefiado por Osama Bin Laden. A programação menos elaborada de softwares que realizam a tarefa de ocultação de mensagens não ultrapassa 20 linhas em linguagem C ++ e a sua detecção é difícil, pois torna-se necessário saber em que imagens estão as mensagens esteganografadas. 5 Conclusão O emprego da criptologia pode tanto manter a privacidade como facilitar a troca de mensagens pelo inimigo ou criminosos. Em situações de conflito, ou mesmo de paz, é aplicada pelo sistema comando e controle como uma das técnicas de garantir a segurança e o sigilo das operações. Com o avanço da informática poderá vir a ser cada vez mais empregada nos pequenos escalões; assim, conhecer seus fundamentos torna-se imprescindível para o planejador e para o tomador de decisões. Sem título-17 17

18 Basics of cryptplogy Abstract History and Basis of criptology are presented, showing a description of the RSA asymmetric algorithm, the most known nowadays, and also the modern techniques of steganography. Keywords: Cryptography. Cryptology. RSA. Steganography. Algorithm. Referências DAGHLIAN, Jacob. Lógica e Álgebra de Boole, São Paulo: Atlas, 1986. EVARISTO, Jaime; PERDIGÃO, Eduardo. Álgebra abstrata. Maceió: EDUFAl, 2002. KELLY, Jack. Terror Groups hide behind Web encyption. 2001. Disponível em: <http:// www.usatoday.com/tech/news/2001-02-05-binladen.htm>. Acesso em: 10 set. 2004. LUCCHESI, Cláudio Leonardo. Introdução à Criptografia Computacional, Campinas, SP: Papirus, 1986. MOTTA, Aricildes de Moraes (Org.). História oral do Exército na segunda guerra mundial. Rio de Janeiro: Biblioteca do Exército Editora, 2001. SANT ANA JÚNIOR, Bernardino. Introdução à matemática aplicada à criptologia. 2004. Trabalho de Conclusão de Curso (Licenciatura em Matemática) - Universidade Castelo Branco, Rio de Janeiro, 2004. SINGH, Simon. O livro dos códigos. Rio de Janeiro: Record, 1999. Sem título-17 18