Criptografia - Cifra de Cesar
November 14, 2022 | Author: Anonymous | Category: N/A
Short Description
Download Criptografia - Cifra de Cesar...
Description
UNIVERSIDADE PAULISTA – UNIP
FELIPE CUNHA SANTOS / C7625F-2 HENRIQUE MENDONÇA DE SOUZA / C6027C-5 IGOR PIMENTEL DOS SANTOS / C620JC-1 JOSÉ VITOR ZANONI DA COSTA / C60EFI-0 KAIO DA FONSECA GONÇALVES DA SILVA / C5347A-3 LUCAS BRITTO DA SILVA / C75FCF-1
AS TÉCNICAS CRIPTOGRÁFICAS: CONCEITOS, USOS E APLICAÇÕES
SÃO PAULO 2015
FELIPE CUNHA SANTOS / C7625F-2 HENRIQUE MENDONÇA DE SOUZA / C6027C-5 IGOR PIMENTEL DOS SANTOS / C620JC-1 JOSÉ VITOR ZANONI DA COSTA / C60EFI-0 KAIO DA FONSECA GONÇALVES DA SILVA / C5347A-3 LUCAS BRITTO DA SILVA / C75FCF-1
AS TÉCNICAS CRIPTOGRÁFICAS: CONCEITOS, USOS E APLICAÇÕES
Atividade prática supervisionada apresentada ao curso Ciência da Computação, para a obtenção de nota na mesma.
Orientador: Prof. Álvaro A. Colombero Prado.
SÃO PAULO 2015
RESUMO A técnica de "disfarçar" um texto com o objetivo de que apenas pessoas autorizadas consigam entender denomina-se criptografia. E ela, desde seu início, possui um papel muito importante na sociedade, principalmente em ambiente militar, como por exemplo nos tempos de Júlio César, e durante a primeira e segunda guerra mundial. No entanto, a criptografia atualmente é muito usada para manter a segurança de informações de empresas e bancos, e para isso ela se desenvolveu e se dividiu em diferentes métodos, m étodos, cada um com suas peculiaridades visando atender os interesses de quem as usa. Porém, com uso da criptografia, começam a se desenvolver também os métodos de criptoanálise, que consistem em maneiras de se tentar descriptografar o texto e obter as informações contidas nele para uso próprio. Palavras-chave: criptografia, segurança, informação, métodos.
ABSTRACT The technique of "disguising" a text in order that only authorized persons can understand is called encryption. And it, since its inception, has a very important role in society, especially in military environment, such as in the times of Julius Caesar, and during the first and second world war. However, encryption is now widely used to keep the security of information of companies and banks, and for this it developed and partitioned into different methods, each with its peculiarities to meet the interests of those who use them. However, with use of encryption, begin to also develop the cryptanalysis methods, which consist of ways to try to decrypt the text and get the information in it for their t heir own use. Key words: encryption, security , information, methods.
SUMÁRIO 1 INTRODUÇÃO ............................................................................................ 7 2 OBJETIVO .................................................................................................. 9 2.1 Objetivos gerais ............. .......................... .......................... ......................... ......................... .......................... ..................... ........ 9 2.2 Objetivos específicos ............ ......................... .......................... .......................... .......................... ......................... ............ 9 3 CRIPTOGRAFIA ....................................................................................... 11 3.1 O que é criptografia ........... ........................ .......................... .......................... ......................... ......................... ................. 11 3.2 O que faz a criptografia ............ ........................ ......................... .......................... .......................... ..................... ........ 11 3.3 Propriedades fundamentais da criptografia ............. .......................... ......................... ............ 11 3.3.1 Disponibilidade.................... Disponibilidade................................. .......................... .......................... .......................... ......................... ............ 11 3.3.2 Integridade ........... ........................ .......................... .......................... .......................... ......................... ......................... ................. 11 3.3.3 Confidencialidade ............. .......................... .......................... .......................... ......................... ......................... ................. 12 3.3.4 Autenticidade ............ ........................ ......................... .......................... .......................... .......................... ....................... .......... 12 3.4 A importância da criptografia ............ ......................... .......................... .......................... ....................... .......... 12 3.5 Criptoanálise ............ ........................ ......................... .......................... .......................... .......................... ......................... ............ 12 3.5.1 Ataque por texto ilegível ............ ......................... ......................... ......................... .......................... ................... ...... 13 3.5.2 Ataque por combinação ............. .......................... ......................... ......................... .......................... ................... ...... 13 3.5.3 Ataque por encriptação ............ ........................ ......................... .......................... .......................... ..................... ........ 13 4 TÉCNICAS CRIPTOGRÁFICAS MAIS UTILIZADAS .......................... ............. ................. .... 15 4.1 Técnica de substituição ............. .......................... ......................... ......................... .......................... ................... ...... 15 4.2 Técnica de transposição ............ ......................... ......................... ......................... .......................... ................... ...... 15 4.3 Modos de cifra.............. cifra........................... ......................... ......................... .......................... .......................... ..................... ........ 15 4.3.1 Cifra de blocos ............ ......................... ......................... ......................... .......................... .......................... ..................... ........ 15 4.3.2 Cifra de fluxo ............. ......................... ......................... .......................... .......................... .......................... ....................... .......... 15 4.4 Chave simétrica ............. .......................... .......................... ......................... ......................... .......................... ................... ...... 16 4.4.1 DES - Data Encryption Standart ............. ......................... ......................... .......................... ................... ...... 17 4.4.2 AES - Advanced Encryption Standart ............. .......................... .......................... ....................... .......... 17 4.4.3 3DES ............. .......................... .......................... ......................... ......................... .......................... .......................... ..................... ........ 17 4.5 Chave assimétrica ............. .......................... .......................... .......................... ......................... ......................... ................. 18 4.5.1 Criptossistema RSA ............ ......................... .......................... .......................... .......................... ......................... ............ 18 5 CIFRA DE CÉSAR ................................................................................... 21 5.1 Estruturação, fundamentos e conceitos............ ......................... .......................... ................... ...... 21 5.2 Benefícios............ ......................... .......................... .......................... .......................... ......................... ......................... ................. .... 22 5.3 Aplicações que fazem ou fizeram uso da técnica técnica ............ ......................... ................. .... 22 5.3.1 Quadro de Trimethius Trimethius ......................................................................... ......................................................................... 22 5.3.2 Cifra de Vigenère ............ ......................... .......................... .......................... ......................... ......................... ................. .... 24 5.4 Discussão comparativa ............ ........................ ......................... .......................... .......................... ..................... ........ 25 5.5 Vulnerabilidade e falhas ............. .......................... ......................... ......................... .......................... ................... ...... 25 5.6 Melhorias ............. .......................... .......................... .......................... .......................... ......................... ......................... ................. .... 25 6 ARRANJO EXPERIMENTAL ................................................................... 27 7 RESULTADOS ......................................................................................... 31 8 CONCLUSÃO ........................................................................................... 39
REFERÊNCIA BIBLIOGRAFIA............. .......................... ......................... ......................... .......................... ................... ...... 41 FICHAS DE ATIVIDADES ............ ......................... .......................... .......................... ......................... ......................... ................. 43 código ................................................... 47 ANEXO A - Relatório com linhas de código ...................................................
7 1
INTRODUÇÃO
Criptografia, derivado do grego “escrita oculta”, é o estudo das técnicas de ocultação de informações. Esta é uma área tradicionalmente ligada à segurança da informação, remontando a um passado de milhares de anos. A criptografia atual está fortemente ligada à Ciência da Computação, dada a enorme quantidade de cálculos e manipulações realizadas a cada operação de codificação e decodificação. De forma recíproca, a segurança de algumas técnicas criptográficas se baseiam na computabilidade dos algoritmos aplicados – dado um computador, ou grupo de computadores, com poder suficiente, algumas técnicas passam a ser quebradas com facilidade. Durante o trabalho serão citados diversos autores especialistas na área para tentar mostrar e esclarecer aos leigos e interessados no assunto os conceitos básicos, funções e aplicações das técnicas criptográficas. Apresentando as técnicas mais utilizadas e conhecidas atualmente, expondo também suas vulnerabilidades e falhas assim como suas vantagens. Escolhemos uma das técnicas, e desenvolvemos um software, em linguagem C, como exemplo. Durante a terceira etapa do nosso trabalho, explicamos os conceitos gerais da criptografia, baseados em especialista que serão citados ao longo do trabalho. Durante a quarta etapa, são apresentadas as técnicas mais utilizadas, explicando seus conceitos e aplicações. Durante a quinta etapa iremos expor a estrutura, fundamentos e conceitos da técnica escolhida, assim como iremos falar sobre suas falha e vulnerabilidades benefícios. E por fim mostrar as aplicações que fizeram uso da técnica e compará-la com as demais. Durante a sexta etapa, explicaremos o funcionamento do software desenvolvido como exemplo. Durante a sétima etapa, mostrarem através de prints o funcionamento do software em um computador. E por fim, durante a oitava etapa, deixaremos as nossas conclusões sobre todo o trabalho.
8
9 2
OBJETIVO
2.1 Objetivos gerais Pesquisar e expor os conceitos e aplicações de criptografia para que uma pessoa leiga e interessada no assunto possa compreender de forma clara e assim futuramente aplicar de alguma forma seus conhecimentos adquiridos através deste trabalho. Desenvolver um software em linguagem C aplicando e melhorando a técnica escolhida. 2.2 Objetivos específicos Pesquisar e compreender os métodos e usos da criptografia.
•
Avaliar as técnicas e selecionar uma.
•
Mostrar uso e aplicações da técnica selecionada.
•
Encontrar os benefícios da técnica.
•
Expor aplicações que fazem ou fizeram uso da técnica.
•
Mostrar as falhas da técnica selecionada.
•
Desenvolver um software software em linguagem C, implantando implantando melhorias baseadas na técnica original.
•
Explicar e apresentar o funcionamento do software.
•
10
11 3
CRIPTOGRAFIA
3.1 O que é a criptografia Segundo Tanenbaum e Wetherall (2011, p. 481) a palavra criptografia vem do grego kryptos (escondido) + grafo (escrita). É um conjunto de técnicas que permitem tornar incompreensível uma mensagem originalmente escrita com clareza, de forma a permitir normalmente que apenas o destinatário a decifre ecompreenda. 3.2 O que faz a criptografia Fred (2011) em sua entrevista para o boletim OUCH! explica que a criptografia funciona utilizando uma cifra e uma chave para converter um texto simples em um texto criptografado. A cifra é a receita geral da criptografia e sua chave torna seu dado encriptado único – somente as pessoas com a sua chave única e a mesma cifra podem decifrá-lo. Fred (2011) completa dizendo que as chaves são normalmente uma longa sequência de números protegidos por um mecanismo comum de autenticação como senhas, “tokens”, ou biometria como sua impressão digital. 3.3 Propriedades fundamentais da criptografia 3.3.1 Disponibilidade Propriedade de que a informação esteja acessível e utilizável sob demanda por uma pessoa física ou determinado sistema, órgão ou entidade. 3.3.2 Integridade Propriedade de que a informação não foi modificada, inclusive quanto à origem e ao destino, ou destruída.
12 3.3.3 Confidencialidade Propriedade de que a informação não esteja disponível ou revelada a pessoa física, sistema, órgão ou entidade não autorizado e credenciado. 3.3.4 Autenticidade Propriedade de que a informação foi produzida, expedida, modificada ou destruída por determinada pessoa física, ou por determinado sistema, órgão ou entidade. 3.4 A importância da criptografia Segundo Peixinho, Fonseca e Lima (2013, p. 142) a 142) a criptografia, desde a sua existência, teve um papel muito importante para a sociedade, pois nos tempos antigos. Com o fim da Primeira Guerra Mundial, foi preciso criar mensagens criptografadas para caso o inimigo pegue a mensagem de alguma forma eles não conseguirão ler a mensagem devido a sua codificação Stallings (2007, p. 15) relata que atualmente a criptografia é a ferramenta mais importante mais importante para a segurança de redes e das comunicações comunicações.. Se não existisse a criptografia, a internet não seria tanto segura quanto ela é, pois se mesmo com os avanços da criptografia, milhares de dados pessoais dos usuários são roubados diariamente, e é por isso que há a necessidade da criptografia evoluir cada vez mais, para estar sempre dificultando o roubo de dados. 3.5 Criptoanálise Tâmega (2003, p. 36) explica que a criptoanálise consiste em estratégias matemáticas com o objetivo de quebrar um algoritmo de criptografia. Como não há um meio matemático de se provar que esse algoritmo é ou não seguro, então, ele é seguro até que alguém consiga quebrá-lo. Tâmega (2003, p. 36) fala que a maior dificuldade que um criptoanalista possui ao tentar quebrar um algoritmo está no número de chaves que este utiliza,
13 pois quanto maior o número de chaves, maior a dificuldade de se conseguir obter sucesso na criptoanálise de um determinado sistema. Tâmega (2003, p. 36) ainda completa dizendo que um sistema que seja impossível de se quebrar fica conhecido como sistema de segurança perfeita. E para isso é necessárioque o número de chave seja maior do que o tamanho do comprimento do texto legível e que a probabilidade de ocorrência entre elas seja a mesma. Tâmega (2003, p. 37) ainda descreve algunstipos de ataques a texto criptografados. 3.5.1 Ataque por texto ilegível Ocorre quando um criptoanalista consegue obter o texto legível somente estudando o texto criptografado. Esse tipo de ataque geralmente serve para quebrar algoritmos baseados em monosubtituição. O criptoanalista verifica a frequência em que as letras aparecem no texto criptografado e deduz qual seriam elas no texto original. 3.5.2 Ataque por combinação Ocorre quando o criptoanalista possui uma parte do texto criptografado e uma parte do texto original, por meio disso ele consegue chegar ao método utilizado para criptografar o texto. 3.5.3 Ataque por encriptação O criptoanalista tem acesso a chave de codificação, criptografa um texto qualquer e utiliza o método da combinação para tentar achar algum texto criptografado. Ou então usa o método da comparação, que consiste em criptografar vários textos e os compara.
14
15 4
TÉCNICAS CRIPTOGRÁFICAS MAIS UTILIZADAS
4.1 Técnicas de substituição Tanenbaum e Wetherall (2011, p. 483) dizem que em cifras de substituição, cada caracter da mensagem é substituído por um outro caracter. Caracteres podem ser substituídos individualmente ou em grupos. Um exemplo trivial de substituição é ordenar os caracteres de um alfabeto em pares, aleatoriamente, e substituir as letras de uma mensagem por seus pares determinados na ordenação aleatória. 4.2 Técnicas de transposição Tanenbaum e Wetherall (2011, p. 483) explicam que as cifras de transposição usam como técnica a mudança da ordem das letras. 4.3 Modos de cifra 4.3.1 Cifra de blocos De acordo com José Mauricio (2010) uma cifra de bloco é um esquema de criptografia/descriptografia em que um bloco de texto é tratado como um todo e usado para produzir um bloco de texto cifrado do mesmo tamanho. Muitas cifras de blocos possuem uma estrutura de Feistel, que consiste em diversas rodadas de processamento idênticas. Em cada rodada, uma substituição é realizada em metade dos dados sendo processados, seguida por uma permutação que troca as duas metades. A chave original é expandida de modo que uma chave diferente seja usada em cada rodada. 4.3.2 Cifra de fluxo José Mauricio (2010) explica que as cifras de fluxo, também conhecidas como cifras em cadeia, operam em unidades menores, geralmente bits, o que as torna bem mais rápidas. Na cifra de fluxo, não é necessário ter um bloco para cifrar. Cifra-se o que se
16 tem e, se desejar, no momento que se quiser. Por exemplo, os algoritmos de substituição usados no passado permitiam cifrar letra a letra e não precisavam ser agrupadas para completar um bloco. De fato, todos os algoritmos históricos são considerados como cifras de fluxo. 4.4 Chaves simétricas Segundo Stallings (2007, p.17) a criptografia simétrica também chamada de criptografia convencional ou criptografia de chave única, era o único tipo de criptografia em uso antes do desenvolvimento da criptografia por chave pública na década de 1970. Esse continua sendo, de longe, o mais usado dos dois tipos de criptografia. Stallings (2007, p.17) fala que a criptografia simétrica utiliza a mesma chave para criptografar e descriptografar uma informação. Essa chave tem de ser compartilhada entre o emissor e o receptor da informação. Entretanto, o uso de criptografia simétrica dificulta o gerenciamento de chaves e não permite a autenticação e o não repúdio do remetente. Stallings (2007, p.17) ainda diz que a criptografia simétrica transforma o texto em texto cifrado, usando uma chave secreta e um algoritmo de criptografia. Usando a mesma chave e um algoritmo de decriptografia, o texto claro é recuperado a partir do texto cifrado. cifrado. Figura 1 - Criptografia de chave simétrica
Fonte: http://4java.com.br/utilizando-criptografia-em-java-simetrica/ (2015).
17 4.4.1 DES - Data Encryption Standard O Data Encryption Standard (DES) foi o algoritmo simétrico mais disseminado no mundo, até a padronização padronização do AES. Foi criado pela IBM em 1977 e apesar apesar de permitir cerca de 72 quadrilhões de combinações, combinações, seu tamanho tamanho de chave (56 bits) é considerado pequeno, pequeno, tendo sido quebrado por "força bruta" em em 1997 em em um desafio lançado na internet. O NIST que lançou o desafio mencionado, recertificou o DES pela última vez em 1993, passando então a recomendar o 3DES. Tanenbaum e Wetherall (2011 p. 489) explicam que o DES criptografa o texto original em blocos de 64 bits, produzindo 64 bits de um texto criptografado. O algoritmo, parametrizado por uma chave de 56 bits, tem 19 estágios. O primeiro estágio é transposição independente da chave no texto simples de 64 bits. O último estágio é o inverso dessa transposição. O penúltimo estágio troca os 32 bits mais à esquerda pelos 32 bits mais à direita. Os 16 estágios restantes são funcionalmente idênticos, mas são parametrizados por diferentes funções f unções de chave. 4.4.2 AES – AdvancedEncryption Standard O AdvancedEncryption Standard (AES) foi o nome escolhido para o substituto do DES. O AES foi selecionado entre inúmeros criptossistemas submetidos por candidatos a uma consulta pública efetuada pelo NationalInstituteof Standards and Technology (NIST). A cifra escolhida, o Rijndael, foi proposta pelos pesquisadores Belgas Rinjmen e Daemen. Conforme dito por Tanenbaum e Wetherall (2011 p. 492), o Rijndael é uma cifra de com blocos de 128 bits, e três possibilidades de tamanhos de chaves, 128 bits, 192 bits e 256 bits. O número de passos depende do tamanho da chave. São 10 passos se a chave é de 128 bits, 12 se é uma chave de 192 bits, e 14 se a chave for de 256 bits. Até o momento o Rijndael é resistente a todos os ataques conhecidos contracifras de blocos. 4.4.3 3DES De acordo com Stallings (2005, p. 383) o 3DES é uma simples variação do
18 DES, utilizando o em três ciframentos sucessivos, podendo empregar uma versão com duas ou com três chaves diferentes. É seguro, porém muito lento para ser um algoritmo padrão. 4.5 Chaves assimétricas assimétricas Segundo Peixinho, Fonseca e Lima (2013, p. 125) a criptografia assimétrica é uma forma de criptossistema em que a criptografia e a descriptografia são realizadas via diferentes chaves: uma chave pública e uma chave privada. Ela também é conhecida como criptografia de chave pública. A criptografia assimétrica transforma o texto claro em texto cifrado usando uma de duas chaves e um algoritmo de criptografia. Usando a outra chave associada e um algoritmo de descriptografia, o texto claro é recuperado a partir do texto cifrado. Figura 2 - Criptografia de chave assimétrica
Fonte: https://laurobmb.wordpress.com/2014/08/26/cifragem-de-arquivos-com-chaveassimetrica/ (2014).
4.5.1 Criptossistema RSA O RSA é um algoritmo assimétrico que possui este nome devido a seus
19 inventores: Ron Rivest, Adi Shamir e LenAdleman, que o criaram em 1977 no MIT. Segundo Tenenbaum e Wetherall (2011, p. 498) o RSA é atualmente o algoritmo de chave pública mais amplamente utilizado além de ser uma das mais poderosas formas de criptografia de chave pública conhecidas até o momento. Stallings (2005, p. 394) fala que o RSA utiliza números primos, e consiste na facilidade de multiplicar dois números primos para obter um terceiro número, mas muito difícil de recuperar os dois primos a partir daquele terceiro número. número. Stallings (2005, p. 394) explica que o RSA se inicia com dois grandes números primos, “p” e “q”. Dados esses números, encontra-se seu produto, n=pq, denominado módulo. Um terceiro número “e”, menor que “n” e relativamente primo com (p-1)*(q-1) é escolhido "e", com seu inverso mod (p-1)*(q-1), “d” é calculado. Dessa forma, a criptografia assimétrica pode ser utilizada para garantir a confidencialidade, a autenticidade ou ambos.
20
5
21
CIFRA DE CÉSAR
5.1 Estruturação, fun amentos e conceitos Segundo Tanenb um e Wetherall (2011, p. 483), 483) , Júlio César usava para dênc ncia iass ppar artiticu cula larres e ddee cun cunho ho militar um código de proteger suas corresp ndê subs su bstititu tuiç ição ão no qua uall ccaa a letra do texto original era substituída pela letra que está no aalfa lfabe beto to:: a llet etra ra ""a" a" er eraa sub subst stitituí uí a por "d", a "b" por trê três posições a fr freente d la no ente.. "e", e assim sucessivamente Figura 3 - Cifra de César. César.
Fonte: https://social.msdn.microsoft.com/Forums/pt-BR/22d50089-61 02-4110-b5d51c99 30cadf2/cifra-de-csar?forum=vsvbasicpt (2015).
Tanenbaum e etherall (2011, p. 483) explica que esse método de criptografifiaa uussa uum m si sistema sim impple less de de su subs bstititu tuiç ição ão mo mono noal alfa fabé bé ica, onde cada letra é substituída por outra let letra ra ddee acord acordoo co com m a cha chave ve util utiliz izad ada, podendo ser ela qualquer uma das 26 le ras do do alf alfabeto, abeto, criando criando assim assim um text text criptografado, mas mantendo a ordem dos ímbolos do texto original. A chav chavee util utiliz izad ad sempre é a letra que irá substituir a letra "a", então se quis qu iser ermo moss usa usarr a letr letraa " " como chave, o alfabeto criptografado ficaria:
22 Figura 4 - Alfabeto chave g.
Fonte: Própria (2015).
A cifra de César usa o que chamamos de criptografia de chave simétrica, onde a mesma chave usada para criptografar o texto é usada também para descriptografar. 5.2 Benefícios Simplicidade para o desenvolv desenvolvimento imento de softwares de criptografia. criptografia.
•
Facilidade para ensinar os conceitos básicos de criptografia. criptografia.
•
Facilidade para mostrar como funciona a criptografia de modo geral. geral.
•
Velocidade e algoritmos rápidos. rápidos.
•
Chaves simples geram textos cifrados. cifrados.
•
Facilidade de implementação de hardware por fazer uso de chaves simétricas. simétricas.
•
5.3 Aplicações que fazem ou fizeram uso da técnica 5.3.1 Quadro de Trimethius Jonathan Strickland (2007) (2007) explica que um estudioso chamado JohannesTrimethius, se propôs a colocar o alfabeto em uma matriz. A matriz tinha 26 linhas e 26 colunas. A primeira linha continha o alfabeto normalmente escrito. A próxima linha usava uma cifra de César para mover o alfabeto sobre um espaço. Cada linha alterava o alfabeto em um outro ponto para que a linha final iniciasse com a letra "z" e terminasse com a letra "y". Você poderia ler o alfabeto normalmente olhando pela primeira linha ou pela primeira coluna. Ficando assim:
23
Figura 5 - Quadro de Trimethius
Fonte: http://ciencia.hsw.uol.com.br/cracker2.htm http://ciencia.hsw.uol.com.br/cracker2.htm
Jonathan Strickland (2007) ainda explica que cada linha é uma cifra de César e que para criptografar uma letra, o criptógrafo escolhe uma linha e usa a primeira linha como guia do texto simples. Um criptógrafo usando a 10ª linha, por exemplo, codificaria a letra de texto simples "a" como "j". Jonathan Strickland (2007) completa falando que Trimethius sugeriu que os criptógrafos criptografassem suas mensagens usando a primeira linha para a primeira letra, a segunda linha para a segunda letra e assim por diante até o final do quadro. Após chegar ao final, o criptógrafo volta a primeira linha e segue a sequência até criptografar a mensagem toda. De acordo com Jonathan Strickland (2007) o quadro de Trimethius é um bom exemplo de uma cifra cifra polialfabética. A maioria das cifras antigas eram monoalfabéticas, o que significa que um alfabeto em cifra substitui um alfabeto de texto simples. Uma cifra polialfabética usa múltiplos alfabetos para substituir o texto simples. Apesar das mesmas palavras serem usadas em cada linha, as letras dessa linha têm um significado diferente. Um criptógrafo codifica um texto simples
24 "A" na linha três como um "C," porém um "A" na linha 23 é um "W". O sistema de Trimethius, no entanto, usa 26 alfabetos - um para cada letra no alfabeto normal. 5.3.2 Cifra de Vigenère Jonathan Strickland (2007) relata que Blaise de Vigenére propôs um sistema polialfabético que é particularmente difícil de decifrar. Seu método usou uma combinação de uma matriz que tinha 26 linhas e 26 colunas(A primeira linha continha o alfabeto normalmente escrito. A próxima linha usava uma cifra de César para mover o alfabeto uma posição, assim como o quadro de Trimethius),e uma chave. A chave determina quais alfabetos da tabela o criptografodo texto irá usar. Figura 6 - Cifra de Vigenère
Fonte: https://www.geocaching.com/seek/cache_details.aspx?wp=GC183EJ&title=a-cifra-indecifravellisboa&guid=f7949ec1-9456-4bce-a08c-56fcb53a1537 (2007).
25 Jonathan Strickland (2007) explica que a cifra de Vigenère funciona da seguinte forma: O criptógrafo liga a coluna da primeira letra do texto original com a linha da primeira letra da chave, a coluna da segunda letra do texto original com a linha da segunda letra da chave e assim sucessivamente, sempre que a chave acabar deve se voltar a sua primeira letra até criptografar todo o texto. A intersecção entre linha e coluna será a letra correspondente ao texto criptografado. 5.4 Discussão comparativa A cifra de César é algo extremamente simples comparado aos métodos de criptografia que possuímos nos dias atuais, onde temos algoritmos de chaves assimétricas, como por exemplo o RSA (RivestShamirAdleman) que é muito utilizado e uma das melhores formas de se criptografar uma chave. Porém em usos didático e para pessoas que estão entrando no mundo dos algoritmos e códigos, a cifra de César é um ótimo meio de se iniciar os estudos sobre a criptografia. Podendo assim, a partir dela se aprofundar e entender os diversos modos de se criptografar e descriptografar um texto. 5.5 Vulnerabilidade e falhas Dificuldade de gerenciamento e transmissão de chaves. chaves.
•
•
Não permite a autenticação. autenticação. Não permite o não repudio do remetente. remetente.
•
Pode sofrer diversos tipos de criptoanálise. criptoanálise.
•
Possui um número limitado e pequeno de chaves. chaves.
•
5.6 Melhorias Melhorias Com a ajuda dos computadores e da tabela ASCII, foi possível implementar a técnica um número muito maior de chaves possíveis, assim como um número maior de símbolos no texto criptografado, pois agora não existem apenas letras, mas também números e caracteres especiais dentro dele, podemos também voltar pelos
26 caracteres e não apenas avançar, fazendo com que se torne mais difícil a descriptografia através de certos tipos de criptoanálise.
27 6
ARRANJO EXPERIMENTAL
O software funciona de maneira simples. O algoritmo de criptografia utiliza-se de uma chave numérica fornecida pelo usuário, e através dela faz a substituição das letras do texto original com auxílio da tabela ASCII, tornando assim o texto incompreensível. Figura 7 - Tabela ASCII (decimal e caractere).
Fonte: www.futurosistemas.netarquivos.htm (1996).
O software possui duas funções, criptografar e descriptografar um texto, onde para descriptografar é necessário a utilização da mesma chave usada para criptografar. Ao criptografar um texto o usuário fornece uma chave e essa será usada da seguinte forma: Supondo que o usuário queira criptografar um texto, e o texto escrito por ele seja "Testando" e a chave escolhida seja o número "10". A chave irá percorrer todo o texto subtraindo 10 de cada decimal correspondente ao caractere do texto original, então teremos:
28 Figura 8 - Exemplo criptografia
Fonte: Própria (2015).
Ao final do processamento teremos o seguinte texto criptografado: "J[ijWdZe". O mesmo ocorre ao descriptografar o texto, porém ao invés de subtrair a chave do decimal de cada caractere, o software faz o contrário, ou seja, soma a chave ao decimal de cada caractere do texto criptografado. Utilizando o mesmo texto criptografado anteriormente, teremos: Figura 9 - Exemplo descriptografia.
Fonte: Própria (2015).
29 Ao final do processamento teremos o seguinte texto descriptografado: "Testando".
30
31 7
RESULTADOS
O software é iniciado com um menu onde o usuário seleciona a opção desejada de acordo com o número correspondente. Figura 10 - Menu do software.
Fonte: Própria (2015).
Caso o usuário escolha 1 (criptografar um texto), o software pede uma chave numérica que esteja entre o número 1 e o número 255. Figura 11 - Digite a chave.
Fonte: Própria (2015).
32 Neste exemplo usaremos a chave de número 5. Figura 12 - Chave digitada.
Fonte: Própria (2015).
Após a escolha da chave, o usuário deve digitar o texto que deseja criptografar. Figura 13 - Digite o texto.
Fonte: Própria (2015).
Usaremos um texto qualquer como exemplo.
33 Figura 14 - Texto digitado.
Fonte: Própria (2015).
O texto é criptografado de acordo com a chave escolhida, no nosso caso a chave foi o número 5, então cada caractere do texto original voltou 5 posições de acordo com a tabela ASCII. O software dá ao usuário a opção de descriptografar o texto novamente em caso de uso didático. Figura 15 - Texto criptografado.
Fonte: Própria (2015).
Caso o usuário digite "s" o texto é descriptografado, e é fornecida a opção de criptografar um novo texto.
34 Figura 16 - Volta do texto criptografado.
Fonte: Própria (2015).
Caso o usuário digite "s" voltamos a tela de seleção de chave, mas caso o usuário digite outra coisa o programa é finalizado. Figura 17 - Finalizando.
Fonte: Própria (2015).
Caso o usuário escolha 2 (descriptografar um texto), o software pede a chave que foi usada para criptografar.
35 Figura 18 - Forneça a chave.
Fonte: Própria (2015).
Vamos usar a mesma chave do exemplo anterior. Figura 19 - Chave fornecida.
Fonte: Própria (2015).
Após a fornecer a chave, o usuário deve digitar o texto que deseja descriptografar.
36 Figura 20 - Escreva o texto.
Fonte: Própria (2015).
Usaremos o texto criptografado do exemplo anterior. Figura 21 - Texto escrito.
Fonte: Própria (2015).
O texto é descriptografado de acordo com a chave escolhida, no nosso caso a chave foi o número 5, então cada caractere do texto criptografado pulou 5 posições de acordo com a tabela ASCII. O software dá ao usuário a opção de criptografar o texto novamente em caso de uso didático.
37 Figura 22 - Texto descriptografado.
Fonte: Própria (2015).
Caso o usuário digite "s" o texto é criptografado novamente, e é fornecida a opção de descriptografar um novo texto. Figura 23 - Volta do texto descriptografado.
Fonte: Própria (2015).
Caso o usuário digite "s" voltamos a tela de seleção de chave, mas caso o usuário digite outra coisa o programa é finalizado.
38 Figura 24 - Finalizando.
Fonte: Própria (2015).
Caso o usuário escolha 3 (sair) o software é finalizado. Figura 25 - Finalizando.
Fonte: Própria (2015).
39 8
CONCLUSÃO
Com esta pesquisa podemos compreender a importância da criptografia nos tempos atuais e todo seu desenvolvimento. Ao longo da história, a sigilosidade na troca de mensagens se fez necessário em assuntos importantes entre pessoas, como na guerra e diplomacia, ou em assuntos tabus, e manter essas mensagens ilegíveis foi um modo de escondê-las de terceiros. Histórias divergem sobre a criação da criptografia e sua idade, o que pode ser confirmado sobre tal fato, é que há milhares de anos métodos criptográficos já eram utilizados em trocas de mensagens importantes com caneta e papel (criptografia clássica) e a quebra desses códigos fez desenvolver novas técnicas para manter a segurança das mensagens. Hoje em dia é crucial manter a segurança em tornar ilegíveis as mensagens criptografadas a qualquer terceiro, considerando que um computador tem grande poder de processamento de dados e pode quebrar estas mensagens pelo método de força bruta (tentativa e erro) o estudo na utilização de novos métodos e procedimentos lógicos (algoritmos) tem sido aprofundado, como a utilização de chaves simétricas e assimétricas. Contudo, a criptografia atual, mesmo com a utilização de algoritmos complexos e funcionais, não garante total segurança total contra a descriptografia, sendo necessário o constante desenvolvimento de novos métodos. Uma mensagem importante codificada que é quebrada pode vazar conhecimentos que em posse de outra pessoa, seja utilizado como vantagem ou até mesmo de má fé. A criptografia, sendo crucial na segurança da informação, é de interesse governamental, cabendo ao estado desenvolver mecanismos que busquem garantir o sigilo e a responsabilidades das informações. Em suma, esta pesquisa teve como base a conscientização sobre a importância da criptografia em nossa sociedade e na segurança da informação. O principal objetivo foi evidenciar a importância da criptografia na segurança da informação, evitando crimes de espionagem e financeiros para o bem do país.
40
41 REFERÊNCIA BIBLIOGRAFIA Livros TENENBAUM, A. S; WETHERALL, D. Redes de Computadores. Computadores. 5. ed. São Paulo: Pearson Education , 2011. 582p. 582p. PEIXINHO, I. C; FONSECA, F. M; LIMA, F. M; Segurança de Redes e Sistemas. Sistemas . 2. ed. Rio de Janeiro: Escola Superior de Redes RNP, 2013. 251p. TÂMEGA, F. Hacker Inside Top Secret File 2. 1. ed. Goiás: Terra Ltda., 2003. 88p. STALLINGS, W. Criptografia e Segurança de Redes: Princípios e Práticas. Práticas. 4. ed. São Paulo: Pearson Education , 2007. 476p. STALLINGS, W. Redes e Sistemas de Comunicação de Dados. Dados. 5. ed. Rio de Janeiro: Campus, 2005. 439p. Material da Internet HowStuff Works (Como tudo funciona). O quadro de Trimethius, Trimethius, por Jonathan Strickland. Disponível em:. em:. Acesso em: 07 nov. 2015. HowStuff Works (Como tudo funciona). A cifra de Vigenere, Vigenere, por Jonathan Strickland. Disponível em:. Acesso em: 08 nov. 2015. Projeto de redes. Cifras em Bloco e Cifras de Fluxo, Fluxo, por José Mauricio Santos Pinheiro. Disponível em: . acesso em: 04 nov. 2015. Revistas OUCH!.Brasil: SANS Securing the human, 2011. 2011.
42
43 FICHAS DE ATIVIDADES Figura 26 - Ficha Felipe Cunha Santos.
Fonte: Própria (2015). Figura 27 - Ficha Henrique Mendonça de Souza.
Fonte: Própria (2015)..
44 Figura 28 - Ficha Igor Pimentel dos Santos.
Fonte: Própria (2015).. Figura 29 - Ficha José Vitor Zanoni da Costa.
Fonte: Própria (2015).
45 Figura 30 - Ficha Kaio da Fonseca Gonçalves da Silva.
Fonte: Própria (2015). Figura 31 - Ficha Lucas Britto da Silva.
Fonte: Própria (2015).
46
47 ANEXO A - Relatório com linhas de código #include #include #include int main(intargc, char *argv[]) { char texto[128]="", op2='s', op3='s', crip[128]="", descrip[128]=""; int op1=0, i=0, chave=0; printf("\n\t\t\tPROGRAMA DE CRIPTOGRAFIA\n"); printf("\n1-Criptografar.\n"); printf("\n2-Descriptografar.\n"); printf("\n3-Sair.\n"); printf("\nInforme a opcao desejada: "); scanf("%d", &op1); fflush(stdin); while(op1!=1 && op1!=2 && op1!=3){ printf("\n\nOpcao invalida, tente novamente: "); scanf("%d", &op1); } system("cls"); switch(op1){ case 1: while(op2=='S' || op2=='s'){ printf("Entre com uma chave numerica (1-255): "); scanf("%d", &chave); fflush(stdin); while((chave>255) || (chave
View more...
Comments