CRIPTOGRAFIA RSA APLICADA A ÁUDIO

Documentos relacionados
O USO DA CRIPTOGRAFIA EM ÁUDIO

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

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

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

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

Números primos e Criptografia

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

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

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

Criptografia em redes de computadores. Gabriel Stefen e Thiago Stefen

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

Mantendo Segredos com a ajuda da Matemática

Agenda. Criptografia e Segurança Certificado Digital Assinatura Digital

Teoria dos Números e Criptografia

Complexidade de Algoritmos

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

O mundo virtual pode permitir essa segurança assim como o mundo real. As garantias virtuais se chamam as Assinaturas Digitais.

Segurança em Sistemas Operacionais

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

Faculdade de Engenharia da Computação

CONCEITUAÇÃO CONCEITOS

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

Criptografia com Maple

Criptografia: códigos sem segredos

Números Primos: onde estão? Por que encontrá-los? Ana Cristina Vieira MAT/UFMG. Primos

CRIVO QUADRÁTICO: IMPLEMENTAÇÃO DA OBTENÇÃO DE UM CONJUNTO DE NÚMEROS COMPLETAMENTE FATORADOS SOBRE UMA BASE DE FATORES

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

Este é um exemplo das informações de um certificado digital, que no caso é o meu: Informações do Certificado Digital

e-financeira Manual para Compactação e Criptografia de dados

Números Primos e Criptografia RSA

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

Tópicos de Ambiente Web Segurança

O que é Segurança da Informação

CIFRA DE HILL. Autor: Maycon Pereira de Souza

AULA 10 CRIPTOGRAFIA E SEGURANÇA DE DADOS CERTIFICADOS DIGITAIS ESTRUTURA DE UMA ICP 26/03/2016 PROF. FABIANO TAGUCHI

Tecnologia da Informação e Comunicação. Douglas Farias Cordeiro

Capítulo 8. Segurança de redes

2 Teoria da Informação

Geração de números aleatórios verdadeiros

Introdução em Segurança de Redes

Introdução Conversão Digital Analógica Conversão Analógica Digital Referências. Conversão D/A e A/D. Aula 01 - DAC / ADC

GFM015 Introdução à Computação. Plano de Curso e Introdução. Ilmério Reis da Silva UFU/FACOM

CRIPTOSSISTEMAS BASEADOS EM NÚMEROS PRIMOS

COMPUTAÇÃO PARALELA E DISTRIBUÍDA

TESTES DE PRIMALIDADE

Software para Assinatura Digital

TP062-Métodos Numéricos para Engenharia de Produção Introdução. Prof. Volmir Wilhelm Curitiba, Paraná, Brasil

Aula 06 - Máquina Multinível e Von Neumann

CES-10 Introdução à Computação. Prof. Paulo André IEC - ITA

Emparelhamentos Bilineares Sobre Curvas

Segurança do Ambiente Físico Para garantir adequada segurança do ambiente físico, é necessário combinar as seguintes medidas: o De prevenção; o Detecç

MATRIZ CURRICULAR BACHARELADO EM ENGENHARIA DA COMPUTAÇÃO. 1º Período

Criptografia e Segurança em Redes Capítulo 9. Quarta Edição William Stallings

AULA 02. Lógica de Programação. Centro Educação Profissional Ezequiel Ferreira Lima CEPEF. Curso Técnico em Eletrônica.

DISCIPLINA: Arquitetura e Organização de Computadores I

Arquitetura de Computadores. Alberto Felipe Friderichs Barros

Introdução à Computação

SISTEMA DE CONTROLE AUTOMATIZADO DE SIRENE ESCOLAR COM MÚLTIPLAS ENTRADAS E SAÍDAS DE ÁUDIO USANDO ARDUINO

INFORMÁTICA: Informação automática

Noções de Algoritmos

Sistemas Digitais INE 5406

Arquitetura de Sistemas Digitais

Informática Instrumental

Benchmarks. 1. Introdução

UTILIZAÇÃO DE HASH CRIPTOGRAFADA PARA TRANSPORTE DE MENSAGENS (MAC), NO USO DO HMAC

CERTIFICAÇÃO DIGITAL COM JAVA. Cléber da Silveira.

Códigos de Autenticação de Mensagens. Instituto de Computação - UNICAMP

O que é um sistema distribuído?

ORGANIZAÇÃO DE COMPUTADORES

Modelos de Criptografia de Chave Pública Alternativos

Transcrição:

Patrocínio, MG, outubro de 2016 ENCONTRO DE PESQUISA & EXTENSÃO, 3., 2016, Patrocínio. Anais... Patrocínio: IFTM, 2016. CRIPTOGRAFIA RSA APLICADA A ÁUDIO Mariana de Lourdes Godoy da Silva 1 ; Cintia Carvalho Oliveira 2 Modalidade: Pesquisa Agência Financiadora: CNPq Resumo: Hoje, com o avanço da tecnologia, é necessário segurança em todos os aspectos e com a troca constante de informações tornou-se evidente a necessidade de ferramentas para proteger arquivos armazenados em bancos de dados. Nesta pesquisa é adotado o algoritmo RSA de criptografia assimétrica que funciona como um par de chaves, pública e privada, geradas com base na multiplicação de dois números primos. Sua quebra é complexa, pois se for grande o suficiente a fatoração de tal pode demorar anos. Por isso, hoje é amplamente usado por garantir eficiência e segurança, além de nunca ter sido violado por qualquer algoritmo. Palavras-chave: Algoritmo RSA; Áudio Digital; Criptografia Assimétrica. Introdução Atualmente, com o crescimento dos meios de comunicação enfatizando o uso da Web, o mundo avança no desenvolvimento e sofisticação de tecnologias que nos permitem mais praticidade no decorrer do dia, como por exemplo, efetuar uma compra através do seu cartão de crédito, aplicativos que controlem sua movimentação bancária, envio de documentos privados e entre outros. Devido a isso faz-se necessário o aprimoramento de ferramentas que tornem seguras tais atividades evitando a decodificação de informações pessoais por pessoas mal-intencionadas (STALLINGS, 2008). 1 Estudante do Curso Técnico em Eletrônica Integrado ao Ensino Médio, bolsista PIBIC-EM. mariannag_@hotmail.com 2 Professor(a) Orientador(a), Me. Ciências da Computação. cintiaoliveira@iftm.edu.br

Portanto, a criptografa é usada como um método para assegurar sigilo de qualquer tipo de informação virtual, tornando-as códigos a serem decriptadas apenas pelo receptor da mensagem. O conceito de criptografia de chave pública evoluiu de uma tentativa de atacar dois dos problemas mais difíceis associados à criptografia simétrica. O primeiro problema é o da distribuição de chaves que requer (1) que dois comunicantes já compartilhem uma chave de alguma forma distribuída a eles; ou (2) o uso de um centro de distribuição de chaves. Whitfield Diffie, um dos inventores da criptografia de chave pública, descobriu que esse segundo requisito anulava a própria essência da criptografia: a capacidade de manter sigilo total sobre sua própria comunicação. Conforme foi dito por Diffie, não há vantagem de desenvolver criptossistemas impenetráveis, se seus usuários forem obrigados a compartilhar suas chaves com um CDC (Centro de Distribuição de Chaves) que pode estar sujeito a roubo ou suborno (STALLINGS, 2008). 560 Metodologia Os métodos de criptografia podem ser classificados de acordo com o uso das chaves em duas categorias principais: os criptossistemas simétricos que utilizam apenas uma chave, cuja função é tanto cifrar quanto decifrar; e assimétricos que utilizam duas delas, uma com a função de cifrar, chamada pública, e outra com a função de decifrar, chamada privada (CAVALCANTE, 2005). A Criptografia RSA trabalha com algoritmos computacionais utilizando um par de chaves que permite a qualquer usuário codificar mensagens usando sua chave pública. Entretanto, só o destinatário legítimo poderá decodificá-la usando sua chave privada. A segurança desse sistema criptográfico está baseada em um antigo problema matemático: obter os fatores primos de um número dado (CAVALCANTE, 2005). O RSA explora essa situação ao utilizar um número, que atualmente varia de 512 a 1024 bits, e que é o produto de dois números primos muito grandes sendo impossível a quebra da chave de decodificação pela não existência de algoritmos eficientes para a fatoração de números inteiros em fatores primos. Dessa forma esse trabalho aborda as técnicas supracitadas, aplicadas à manipulação de áudio (STALLINGS, 2008).

Descrição do Algoritmo A criptografia RSA utiliza uma expressão com exponenciais. O texto claro é criptografado em blocos, com cada bloco tendo um valor binário menor que algum número n, ou seja, o tamanho do bloco precisa ser menor ou igual a log2 (n). Na prática seu tamanho é de i bits, onde 2 i < n 2 i+1. A criptografia e a descriptografia têm a seguinte forma para algum bloco de texto claro M e bloco de texto cifrado C: 561 1) C = M e mod n 2) M = C d mod n = (M e)d mod n = M ed mod n Tanto o emissor quanto o receptor precisam conhecer o valor de n. O emissor conhece o valor de e, e somente o receptor conhece o valor de d. Assim, esse é um algoritmo de criptografia assimétrica com chave pública PU = {e, n} e uma chave privada PR = {d, n}. Para que esse algoritmo seja satisfatório para a criptografia de chave pública os seguintes requisitos precisam ser atendidos: 1. Encontrar valores de e, d, n tais que Med mod n = M para todo M < n; 2. Ser relativamente fácil calcular Me mod n e Cd mod n para todos os valores de M < N; 3. Ser inviável determinar d dados e e n; Encontramos um relacionamento na forma: Med mod n = M Que se mantêm se e e d forem inversos multiplicativos módulo (n). O relacionamento entre e e d pode ser expresso como: Que é equivalente a ed mod (n) = 1 ed=1 mod (n)

d = e -1 mod (n) Ou seja, e e d são inversos multiplicativos de mod (n). Agora, formularemos o esquema RSA, os ingredientes são os seguintes: 1. Calcular dois números inteiros, primos e longos (com centenas de bits) q e r; calcular seus produtos n = q*r. Recomenda-se que o comprimento de q seja próximo do comprimento de r para tornar inviável a fatoração rápida de n em primos. 2. Calcular um terceiro número s relativamente primo a (q-1)(r-1) (que é igual a n) e calcular um inteiro p que satisfaça p.s = 1 mod (q-1) (r-1) Para ilustrarmos a criptografia RSA, suponhamos que o texto legível a ser enviado por um usuário resume-se a I, a nona letra do alfabeto. Por isso I corresponde a 9 1. O usuário conhecendo a chave pública de Px = (7, 22) verifica que 9 < 22 e calcula o valor de 97 mod 22 = 15 (resto da divisão por 22 do resultado de 9 elevado à potência 7) e envia 15 para Px 2. Ao receber 15 conhecendo a chave secreta Sx = (3, 22), calcula-se o valor de 153 mod 22 = 9, isto é, ela recupera o valor original correspondente á letra I. Se eventualmente um intruso grampear o número 15 da linha de comunicação entre os dois usuários ele não consegue recuperar o valor 9, pois ele não conhece a chave Sx = (3,22). Em outras palavras, o valor 15 é ilegível para o intruso. 562 Desenvolvimento Este capítulo tem o objetivo de descrever as etapas do desenvolvimento do trabalho, as quais foram elaboradas com base em pesquisas bibliográficas. Um áudio digital é um arquivo binário como qualquer outro, e devido ao processo de evolução tecnológica dos processos de conversão de som analógico para digital, não há mais distinção perceptível ao ouvido humano entre o som analógico e sua representação digital. Contudo, a precisão de um áudio varia de acordo com a taxa de amostragem, frequência e a quantidade de bits para cada amostra. De acordo com o Teorema de Nyquist,

uma taxa de amostragem de duas vezes o valor da frequência máxima alcançada pelo sinal analógico é suficiente para uma representação digital sem grandes perdas (IIAZZETTA, 2016). Dessa forma ao termos um áudio como objeto em entrada e o armazenarmos num vetor obtêm-se a quantidade de bits por amostra explicita, onde poderá ser facilmente criptografada. Por conseguinte utilizamos a linguagem de programação JAVA e o NetBeans 8.0.2 como interface de desenvolvimento para implementarmos um código de manipulação de áudio usando a biblioteca AudioFileInputStream e assim reproduzi-lo. Ao longo do desenvolvimento foram estudados alguns códigos de criptografia RSA provenientes de pesquisas com o objetivo de encontrar a melhor biblioteca de manipulação de arquivos assim como métodos para gerar chaves públicas e privadas. Entretanto, ao usar um método que gere chaves automaticamente, restringimos que o resultado de uma criptografia seja observado em relação a sua velocidade e eficiência versus o tamanho de suas chaves. Dessa forma decidimos optar por gerar os pares de chaves manualmente de forma que tivéssemos o controle de mudar variáveis e comparar diferentes tamanhos de chaves entre outros algoritmos de criptografia assimétrica para comprovar a eficiência do RSA. 563 Conclusões Através de árdua pesquisa fizemos uma coleta de dados bibliográficos em trabalhos apresentados em congressos, teses e artigos especializados, em busca de modelos e casos de sucesso no desenvolvimento de algoritmos para criptografia de documentos de áudio. Também estudamos as bibliotecas de processamento e manipulação de áudio e criptografia RSA da linguagem de programação Java, bem como Programação Orientada a Objetos de forma a atribuir tais métodos em nossa pesquisa. Testamos algoritmos de alguns trabalhos finalizados com o intuito de agregarmos os melhores métodos no software, e assim por meio de análises concluímos que o método RSA de criptografia é o mais seguro devido a forma como é criada seu par de chaves. Medimos também a eficiência do algoritmo em relação ao tempo de resposta para cifrar e decifrar uma mensagem.

Percebemos que a busca pela segurança através do aumento do tamanho das chaves provoca um aumento exponencial no tempo das cifragens e decifragens, o que pode trazer resultados negativos. Em um servidor de Internet por exemplo, onde circula um volume enorme de informações, exigirão alto poder de processamento para utilizar a criptografia RSA de forma rápida. Dessa forma, a escolha do tamanho da chave deverá levar em conta o grau de importância e o tamanho da informação que se queira proteger. Por isso atualmente as cifragens e decifragens são realizadas geralmente pelos algoritmos simétricos, que são mais rápidos, e o transporte das chaves é feito através do sistema assimétrico. Para se ter uma ideia do poder computacional necessário para violar o segredo de uma informação cifrada com a técnica de criptografia assimétrica através da fatoração, supõe-se uma unidade de medida chamada MIPS-ano, sendo que um MIPS-ano significa um computador executando um milhão de instruções por segundo durante todo o ano. Assim se tivermos uma chave assimétrica de 1024 bits necessitaria de 30.000 MIPS-ano para ser quebrada, ou seja, um computador rodando 1 milhão de instruções por segundo levaria 564 300.000.000.000 MIPS-ano. Contudo, o que destruiria o RSA seria a criação de um algoritmo de fatoração eficiente de encontrar d sem utilizar n. Neste caso para Barbosa et al (2003), a saída seria utilizar criptografia baseada em curvas elípticas, pois utilizam grupos e polinômios mais complexos. Nesta edição, Silva (2005) afirma que existe uma pesquisa sobre a construção de um computador quântico, capaz de fatorar números e dessa forma encontrar primos com mais velocidade, o que daria início a Criptografia Quântica. Referências BARBOSA, Luis Alberto de Moraes et al. RSA: Criptografia Assimétrica e Assinatura Digital. 2003. 50 p. (Especialização em Redes de Computadores) - Universidade Estadual de Campinas, Campinas, 2003. SILVA, Elen Viviani Pereira da. Introdução à Criptografia RSA. 2006. 32 p. - Faculdade de Engenharia de Ilha Solteira, Universidade Estadual Paulista Julio de Mesquita Filho, Ilha Solteira, 2006.

CAVALCANTE, André LB. Teoria dos números e criptografia. Revista Virtual, 2005. DE OLIVEIRA, Ana Karina Dourado Salina; PRETI, João Paulo Delgado. Métodos Criptográficos EM Java. Profiscientia, n. 3, 2013. STALLINGS, William. Criptografia e segurança de redes: princípios e práticas. Pearson Prentice Hall, 2008. IIAZZETTA, Fernando. Disponível em:< http://www2.eca.usp.br/prof/iazzetta/tutor/audio/a_digi-tal/a_digital.html>. Acesso em: 9 mar. 2016. 565 TRINTA, Fernando. Um Estudo sobre a Criptografia e Assinatura Digital. Setembro, 1998. Disponível em:<http://www.di.ufpe.br/~flash/ais98/cripto/criptografia.htm>. Acesso em: 22 set. 2015. OLIVEIRA, Ronielton. Criptografia simétrica e assimétrica: os principais algoritmos de cifragem. Disponível em:< http://www.ronielton.eti.br/publicacoes/artigorevistasegurancadigital2012.pdf>. Acesso em: 22 set. 2015.