Avaliação de geradores caóticos de números randômicos
Texto
(2) ´ Avaliac¸a˜ o de Geradores Ca´oticos de Numeros Randˆomicos Ana Karina Dourado Salina de Oliveira. Esta Dissertac¸a˜ o foi julgada adequada para a obtenc¸a˜ o do t´ıtulo de mestre em Ciˆencia da Computac¸a˜ o a´ rea de concentrac¸a˜ o em Sistemas de Computac¸a˜ o e aprovada em sua forma final pelo Programa de P´os-Graduac¸a˜ o em Ciˆencia da Computac¸a˜ o.. Prof. Ricardo Felipe Cust´odio, Dr. Orientador [email protected]. Prof. Fernando Ostuni Gauthier, Dr. Coordenador do Curso [email protected]. Banca Examinadora. Prof. Dr. Carlos Roberto De Rolt. Prof. Dr. Gilson Alberto Rosa Lima. Prof. Dr. Luiz Carlos Zancanella.
(3) iii. A emoc¸a˜ o e a raz˜ao O real e o abstrato O determin´ıstico e o estoc´astico A seguranc¸a e a evoluc¸a˜ o Lados da mesma moeda!.
(4) iv. ` minha fam´ılia e em especial A Henry Tamashiro de Oliveira Henrique Salina de Oliveira Edgar Salina Moreira Maria Eliza Moreira Dourado Salina Ana Elisa Dourado Salina pelo carinho e dedicac¸a˜ o recebidos.
(5) Agradecimentos Ao Prof. Dr. Ricardo Felipe Cust´odio Ao Prof. Dr. Luiz Carlos Zancanella Ao Prof. Dr. Jorge Gonzalez pela orientac¸a˜ o neste trabalho; Ao Magn´ıfico Reitor Dr´auzio Antonio de Medeiros ` Pr´o-Reitora Prof. Ms. Elizabeth Aguirre A Ao Prof. Ms. Paulo C´esar de Souza Castro pelo apoio a este projeto..
(6) Resumo As redes de computadores de meio f´ısico compartilhado possuem problemas relacionados a` seguranc¸a dos dados que trafegam pelo meio onde todas as m´aquinas ligadas a` rede possuem acesso. A Internet e´ um exemplo de rede com meio f´ısico compartilhado, e, atualmente, a seguranc¸a e´ a preocupac¸a˜ o principal para a transmiss˜ao de dados pela rede. Algoritmos de criptografia s˜ao utilizados para proteger os dados e existe vasta diversidade de algoritmos nesta a´ rea. Grande parte destes algoritmos utiliza sistema de chaves e necessita de gerac¸a˜ o de chaves aleat´orias para ter bom n´ıvel de seguranc¸a. Este trabalho prop˜oe a utilizac¸a˜ o de mapas ca´oticos e compactadores para a avaliac¸a˜ o de geradores de n´umeros randˆomicos, que s˜ao utilizados em algoritmos de criptografia. Para esta an´alise ser˜ao utilizados como ferramentas os programas MATLAB e WINZIP. Os resultados obtidos mostram o grau de aleatoriedade dos geradores testados, comparando-os em relac¸a˜ o a raz˜ao de compress˜ao obtida e sua distribuic¸a˜ o no mapa de primeiro retorno..
(7) Abstract Computer networks in a shared physical environment have problems related to the security of data that flow where all of the machines connected to the network have access. The Internet is an example of a shared physical environment, and, nowadays, security is the principal preoccupation concerning the transmission of data over the network. Cryptographic algorithms are utilized in order to protect data and there exists a vast diversity of algorithms in this area. The majority of these algorithms utilizes keys and requires the generation of random keys in order to have a good level of security. This work proposes the utilization of chaotic maps and compacting software for the evaluation of random number generators, which are utilized in cryptographic algorithms. For this analysis the MATLAB and WINZIP programs will be utilized as tools. The results obtained show the level of randomness of the tested generators, comparing them in relation to the obtained compacting ratio and its distribution on the map of first return..
(8) Sum´ario Resumo. vi. Abstract. vii. Lista de Figuras. 4. Lista de Tabelas. 6. Lista de Siglas. 6. 1 Introduc¸a˜ o. 8. 1.1. Objetivo Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 12. 1.2. Objetivos Espec´ıficos . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 12. 1.3. Motivac¸a˜ o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 12. 1.4. Materiais e M´etodos . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 13. 1.5. Trabalhos Relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . .. 14. 1.6. Conte´udo deste documento . . . . . . . . . . . . . . . . . . . . . . . . .. 14. 2 Criptografia. 16. 2.1. Introduc¸a˜ o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 16. 2.2. Princ´ıpio da Criptografia . . . . . . . . . . . . . . . . . . . . . . . . . .. 16. 2.2.1. Criptografia Sim´etrica . . . . . . . . . . . . . . . . . . . . . . .. 19. 2.2.2. Criptografia Assim´etrica . . . . . . . . . . . . . . . . . . . . . .. 20. 2.3. Protocolos Criptogr´aficos . . . . . . . . . . . . . . . . . . . . . . . . . .. 22. 2.4. Distribuic¸a˜ o de chaves . . . . . . . . . . . . . . . . . . . . . . . . . . .. 23.
(9) 2 2.5. Criptoan´alise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 23. 2.6. Conclus˜ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 24. ´ 3 Numeros Randˆomicos. 25. 3.1. Introduc¸a˜ o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 25. 3.2. Importˆancia dos N´umeros Randˆomicos na Criptografia . . . . . . . . . .. 25. 3.3. Geradores de N´umeros Randˆomicos . . . . . . . . . . . . . . . . . . . .. 26. 3.4. Avaliac¸a˜ o dos Geradores de N´umeros Randˆomicos . . . . . . . . . . . .. 29. 3.5. Conclus˜ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 30. 4 Geradores Ca´oticos. 32. 4.1. Introduc¸a˜ o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 32. 4.2. Conceito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 32. 4.3. Sistemas Lineares versus Sistemas Ca´oticos . . . . . . . . . . . . . . . .. 33. 4.4. Vari´avel de Incerteza e Condic¸o˜ es Iniciais . . . . . . . . . . . . . . . . .. 35. 4.5. Teoria do Caos e Criptografia . . . . . . . . . . . . . . . . . . . . . . . .. 35. 4.6. Equac¸o˜ es Log´ısticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 36. 4.6.1. Mapa Log´ıstico . . . . . . . . . . . . . . . . . . . . . . . . . . .. 36. 4.6.2. Um gerador de n´umeros randˆomicos baseado em func¸o˜ es ca´oticas imprevis´ıveis . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 36. 4.6.3. Mapas Ca´oticos precisamente solucion´aveis . . . . . . . . . . . .. 37. 4.6.4. Func¸o˜ es Ca´oticas imprevis´ıveis . . . . . . . . . . . . . . . . . .. 39. 4.6.5. Equac¸a˜ o de Transformac¸a˜ o . . . . . . . . . . . . . . . . . . . . .. 41. 4.7. Criptossistema Ca´otico . . . . . . . . . . . . . . . . . . . . . . . . . . .. 42. 4.8. Cifradores que utilizam equac¸o˜ es ca´oticas . . . . . . . . . . . . . . . . .. 43. 4.9. Criptossistema do Roskin . . . . . . . . . . . . . . . . . . . . . . . . . .. 43. 4.9.1. Cifrador Simples . . . . . . . . . . . . . . . . . . . . . . . . . .. 43. 4.9.2. An´alise do Cifrador . . . . . . . . . . . . . . . . . . . . . . . . .. 44. 4.10 Modificac¸o˜ es no Criptossistema de Roskin . . . . . . . . . . . . . . . . .. 46. 4.11 Criptossistema de Baptista . . . . . . . . . . . . . . . . . . . . . . . . .. 47.
(10) 3 4.12 Conclus˜ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Avaliac¸a˜ o de Geradores Ca´oticos. 49 51. 5.1. Introduc¸a˜ o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 51. 5.2. Equac¸a˜ o Log´ıstica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 52. 5.3. Mapa ca´otico proposto por Gonzalez . . . . . . . . . . . . . . . . . . . .. 55. 5.4. Mapa soluc¸a˜ o da equac¸a˜ o log´ıstica . . . . . . . . . . . . . . . . . . . . .. 60. 5.5. Transformac¸a˜ o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 63. 5.6. Aplicando o operador OU EXCLUSIVO na gerac¸a˜ o de chaves . . . . . .. 68. 5.7. Aplicando o operador Shift na gerac¸a˜ o de chaves . . . . . . . . . . . . .. 72. 5.8. Comparac¸a˜ o dos Resultados Obtidos . . . . . . . . . . . . . . . . . . . .. 74. 5.9. Conclus˜ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 76. 6 Considerac¸o˜ es Finais. 77. Referˆencias Bibliogr´aficas. 81. A Cifrador de Roskin. 83. B Contato com Gonzalez. 88. ¨ C Implementac¸a˜ o da Convers˜ao da sequencia do arquivo para bin´ario. 92.
(11) Lista de Figuras 2.1. Cifrador de Julio C´esar . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2.2. Criptografia Sim´etrica. Alice utiliza a chave secreta compartilhada. 17. para cifrar o texto aberto e envia a Beto. Beto decifra o texto cifrado atrav´es da mesma chave secreta compartilhada. , obtendo assim o texto. aberto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3. Criptografia Assim´etrica. Alice utiliza a chave p´ublica de Beto,. para. 19. cifrar a mensagem e envia a Beto. Beto decifra a mensagem utilizando sua chave privada, 2.4. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 21. Criptografia Assim´etrica - Assinatura. Beto utiliza sua chave privada,. . para cifrar a mensagem e envia para Alice. Alice decifra a men-. . . . . . . . . . . . . . . .. 22. 3.1. Func¸a˜ o rand da biblioteca padr˜ao do ANSI C . . . . . . . . . . . . . . .. 28. 3.2. Exemplo de func¸a˜ o srand . . . . . . . . . . . . . . . . . . . . . . . . . .. 29. 4.1. Mapa produzido pela func¸a˜ o ca´otica 4.5 para z real igual a 2 . . . . . . .. 38. 4.2. Mapa produzido pela func¸a˜ o ca´otica 4.5 para z real igual a 3 . . . . . . .. 38. 4.3. Diagrama de um Criptossistema Ca´otico . . . . . . . . . . . . . . . . . .. 42. 4.4. Cifrador Simples do Roskin . . . . . . . . . . . . . . . . . . . . . . . . .. 44. 4.5. Esquema de Cifrador Avanc¸ado do Roskin . . . . . . . . . . . . . . . . .. 45. 4.6. Modelo do esquema u´ nico para cifrar e decifrar . . . . . . . . . . . . . .. 46. 4.7. Modelo XOR. Este modelo cont´em o operador OU EXCLUSIVO . . . .. 47. 4.8. Modelo Reverso utilizando o operador OU EXCLUSIVO . . . . . . . . .. 48. sagem utilizando a chave p´ublica de Beto,.
(12) 5 4.9. Esquema de Representac¸a˜ o da divis˜ao em S locais . . . . . . . . . . . . .. 49. 5.1. Implementac¸a˜ o da Equac¸a˜ o Log´ıstica . . . . . . . . . . . . . . . . . . .. 52. 5.2. Mapa produzido pela func¸a˜ o log´ıstica 5.1 para. . . . . . . . . . . .. 53. 5.3. Mapa produzido pela func¸a˜ o log´ıstica 5.1 utilizada em Roskin onde. 5.4. Implementac¸a˜ o do Mapa Ca´otico Propostos por Gonzalez . . . . . . . . .. 56. 5.5. Mapa produzido pela func¸a˜ o 5.3 para. 56. 5.6 5.7 5.8 5.9.
(13) .
(14) . . . . . . . . . . . . . . . . . Mapa produzido pela func¸a˜ o 5.3 para . . . . . . . . . . . . . . . . Mapa produzido pela func¸a˜ o 5.3 para . . . . . . . . . . . . . . . . Mapa produzido pela func¸a˜ o 5.3 para . . . . . . . . . . . . . . . Mapa produzido pela func¸a˜ o 5.3 para . . . . . . . . . . . . . . . .. 54. 57 58 59 59. 5.10 Implementac¸a˜ o do Mapa Ca´otico Soluc¸a˜ o Propostos por Gonzalez . . . .. 61. 5.11 Mapa produzido pela func¸a˜ o 5.5 para. 61. . . . . . . . . . . . . . . . 5.12 Mapa produzido pela func¸a˜ o 5.5 para . . . . . . . . . . . . . . . .. 63. 5.13 Implementac¸a˜ o da equac¸a˜ o de transformac¸a˜ o Proposta por Gonzalez . . .. 64. ap´os a transformac¸a˜ o . . . .. 65. ap´os a transformac¸a˜ o . . . .. 66. 5.16 Implementac¸a˜ o da transformac¸a˜ o na equac¸a˜ o Ca´otica Soluc¸a˜ o . . . . . .. 67. ap´os a transformac¸a˜ o . . . .. 67. 5.18 Implementac¸a˜ o do operador XOR na Equac¸a˜ o Log´ıstica . . . . . . . . . .. 69. . . . . .. 70. 5.20 Implementac¸a˜ o do operador XOR na Equac¸a˜ o Proposta por Gonzalez . .. 71. 5.15 Mapa produzido pela func¸a˜ o 5.7 para 5.14 Mapa produzido pela func¸a˜ o 5.7 para. 5.17 Mapa produzido pela func¸a˜ o 5.8 para. . 5.19 Mapa produzido pela func¸a˜ o log´ıstica 5.9 com o operador # ! " . 5.21 Mapa produzido pela func¸a˜ o proposta por Gonzalez 5.10 com o operador. !#" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 71. 5.22 Implementac¸a˜ o da operacao Shift na Equacao Logistica . . . . . . . . . .. 73. 5.23 Mapa produzido pela func¸a˜ o log´ıstica 5.11 aplicando o operador. 73. $%'&)(+*. ..
(15) Lista de Tabelas 5.1. Tabela de Comparac¸a˜ o dos Resultados . . . . . . . . . . . . . . . . . . .. 75.
(16) Lista de Siglas e S´ımbolos ,. Ou Exclusivo. DES. Algoritmo Padr˜ao de Criptografia Sim´etrica. RSA. Algoritmo de Criptografia Assim´etrica. GNR. Gerador de N´umeros Randˆomicos. GPR. Gerador Pseudo Randˆomico. XOR. Operador OU EXCLUSIVO. WWW. World Wide Web.
(17) Cap´ıtulo 1 Introduc¸a˜ o A evoluc¸a˜ o das redes de computadores tornou o acesso a` informac¸a˜ o mais f´acil e mais r´apido. Por´em, trouxe s´erios problemas no quesito da gest˜ao da informac¸a˜ o dita classificada 1 e n˜ao-classificada. Em virtude das redes de computadores estarem cada vez mais sendo utilizadas por empresas e pessoas, e esta utilizac¸a˜ o ter-se popularizado com o advento da Internet, h´a grande demanda por pesquisa cient´ıfica e tecnol´ogica na a´ rea de seguranc¸a para diminuir as ameac¸as de acesso a informac¸a˜ o por pessoas ou entidades n˜ao autorizadas [STA 99]. Atualmente, seguranc¸a em redes de computadores e´ um assunto essencial para a´ reas tais como as de: correio eletrˆonico; com´ercio eletrˆonico; acesso remoto a` s empresas; interligac¸a˜ o atrav´es de uma rede de comunicac¸a˜ o de dados, da matriz de uma empresa as suas filiais entre outras aplicac¸o˜ es. As redes de computadores s˜ao constru´ıdas baseadas em modelos de referˆencia. Estes modelos s˜ao organizados na forma de camadas de software, onde cada camada proporciona um determinado servic¸o a camada superior. Assim, a camada 1. -. A informac¸a˜ o n˜ao classificada e´ de livre acesso. J´a a informac¸a˜ o classificada e´ gerida por um o´ rg˜ao. ou entidade gestora que define quem pode e quem n˜ao pode ter acesso a informac¸a˜ o e sob quais condic¸o˜ es esse acesso pode ser feito. Normalmente os governos dos pa´ıses tem uma agˆencia que se preocupa em classificar a informac¸a˜ o considerada de seguranc¸a nacional. Tamb´em as empresas, normalmente aquelas de m´edio a grande porte preocupam-se em classificar as informac¸o˜ es estrat´egicas de sua instituic¸a˜ o..
(18) 9 mais externa, a chamada camada de aplicac¸a˜ o, pode abstrair-se dos detalhes que regem um sistema distribu´ıdo e comunicar-se com outras camadas de aplicac¸o˜ es utilizando um protocolo pr´oprio. Os dois modelos de referˆencia mais conhecidos s˜ao: o OSI e o TCP/IP[TAN 97]. Independente do modelo de referˆencia, todas as camadas contribuem de alguma forma para a seguranc¸a da rede de computadores[SAN 01]. Na camada f´ısica, por exemplo, os ”grampos” podem ser anulados mantendo-se cabos (coaxial, par tranc¸ado ou fibra o´ tica) em tubos lacrados contendo argˆonio em alta press˜ao. Qualquer tentativa de perfurar um tubo liberar´a o g´as, reduzindo a press˜ao e disparando um alarme. Alguns sistemas militares utilizam esta t´ecnica. Na camada de enlace de dados, os pacotes de uma linha ponto a ponto podem ser codificados a medida que saem de uma m´aquina e decodificados quando entram em outro sistema. Toda codificac¸a˜ o poder´a ser tratada na camada de enlace de dados, com as camadas mais altas alheias ao que est´a acontecendo. No entanto, essa soluc¸a˜ o se mostra ineficiente quando os pacotes tem que atravessar v´arios roteadores, pois e´ necess´ario decifrar os pacotes em cada roteador, tornando-os vulner´aveis a ataques dentro do roteador. Al´em disso, esta estrat´egia n˜ao permite que algumas sess˜oes sejam protegidas (como, por exemplo, aquelas que envolvem compras on-line por cart˜ao de cr´edito). Todavia, a criptografia de enlace, que e´ o nome desse m´etodo, pode ser facilmente inclu´ıda em qualquer rede e com freq¨ueˆ ncia e´ muito u´ til. Na camada de rede, filtros (firewalls), que s˜ao barreiras de protec¸a˜ o, podem ser instalados para manter ou descartar pacotes. Na camada de transporte, e´ poss´ıvel criptografar conex˜oes inteiras, fim a fim, ou seja, processo a processo. Apesar dessas soluc¸o˜ es poderem ajudar no que se refere a quest˜oes de sigilo, nenhuma delas resolve o problema da autenticac¸a˜ o ou da irretratabilidade de uma forma suficientemente gen´erica. Para resolver esses problemas, as soluc¸o˜ es devem estar na camada de aplicac¸a˜ o, onde s˜ao implementados algoritmos de criptografia para cifrar as informac¸o˜ es a serem transmitidas, garantindo assim a seguranc¸a. A Pol´ıtica de Seguranc¸a que ser´a adotada e´ que dar´a o direcionamento para as implementac¸o˜ es de seguranc¸a, definindo o que se deseja como resultado. Por´em,.
(19) 10 a Pol´ıtica de Seguranc¸a deve ser um elemento de um conjunto de ac¸o˜ es que comp˜oem o Processo de Seguranc¸a, independente da informac¸a˜ o estar no ambiente computacional ou no ambiente convencional. O cuidado com a informac¸a˜ o deve ser o mesmo[JUN 01]. A tendˆencia ao ”esquecimento” dos procedimentos de seguranc¸a, at´e que ocorra algum problema grave, e´ muito comum nos ambientes denominados ”clienteservidor”. Os conceitos de confidencialidade, integridade e disponibilidade dizem respeito, respectivamente, ao quanto da informac¸a˜ o deve ser limitada ou restringida, a` correc¸a˜ o e certeza que a informac¸a˜ o e´ realmente a verdadeira e a` possibilidade de utilizac¸a˜ o da informac¸a˜ o no tempo e local requerido pelo usu´ario. Um ambiente totalmente seguro depende da aplicac¸a˜ o de recursos ilimitados. A seguranc¸a em redes pode ser dividida em quatro a´ reas:. .. Privacidade: evitar que as informac¸o˜ es caiam nas m˜aos de pessoas ou entidades n˜ao autorizadas;. .. Autenticac¸a˜ o: garantir que o receptor ou o emissor dos dados e´ quem realmente reivindica ser;. .. Irretratabilidade: garantir que uma pessoa n˜ao possa negar que enviou uma infor-. /. mac¸a˜ o depois de tˆe la enviado;. .. Integridade: verificar se uma determinada informac¸a˜ o recebida e´ a mesma que foi produzida. Uma das tecnologias usadas para garantir a seguranc¸a em Redes de. Computadores e´ contar com a implantac¸a˜ o de criptografia nos dados enviados. Considerando-se um texto que tem que ser enviado de um emissor. 0. para um receptor. 1. atrav´es. de um meio inseguro, a t´ecnica de criptografia consiste em alterar o texto original, aqui chamado de texto aberto, embaralhando seus dados e gerando um texto cifrado, que n˜ao pode ser decifrado por pessoas n˜ao autorizadas e podendo assim ser transmitido atrav´es do meio inseguro ao receptor o texto aberto.. 1. que conseguir´a decifrar o texto cifrado e obter novamente.
(20) 11 Para utilizac¸a˜ o dessa t´ecnica e´ necess´ario o uso de algoritmos de criptografia. Os algoritmos de criptografia, em geral, s˜ao p´ublicos, pois o que garante sua seguranc¸a n˜ao e´ o desconhecimento da t´ecnica utilizada, pois, sen˜ao, os criadores dos algoritmos poderiam sempre decifrar os textos cifrados, tornando-os vulner´aveis a este tipo de usu´ario. Por isso, os algoritmos utilizam chaves, para que o mesmo possa ser utilizados por outros usu´arios sem reduc¸a˜ o do n´ıvel de seguranc¸a. Em geral, os usu´arios utilizam senhas que somente quem as possui conseguir´a decifrar o texto cifrado. Os algoritmos podem utilizar as senhas como chaves, ou gerar outras chaves randomicamente, para cifrar os textos abertos. Existem v´arias t´ecnicas diferentes que utilizam esquemas de chaves p´ublicas e privadas mas que possuem a mesma id´eia b´asica de embaralhar o texto para n˜ao permitir que seja decifrado por pessoas n˜ao autorizadas. Os algoritmos de criptografia geralmente utilizam na etapa de projeto e/ou durante a sua execuc¸a˜ o, geradores de n´umeros randˆomicos que buscam gerar seq¨ueˆ ncias aleat´orias de n´umeros.. Na realidade, a gerac¸a˜ o de n´umeros verdadeiramente randˆomicos n˜ao e´ tarefa f´acil. Os computadores s˜ao sistemas baseados na previsibilidade. A partir de determinadas entradas obt´em-se, necessariamente, determinadas sa´ıdas. A gerac¸a˜ o de n´umeros randˆomicos e´ ent˜ao substitu´ıda por geradores de n´umeros pseudo-randˆomicos, por produzirem seq¨ueˆ ncias que s˜ao previs´ıveis, mas buscando-se atingir o maior grau poss´ıvel de imprevisibilidade.. Uma alternativa interessante recentemente proposta e´ a gerac¸a˜ o de n´umeros aleat´orios atrav´es de geradores ca´oticos. Alguns algoritmos de criptografia utilizam equac¸o˜ es ca´oticas embutidas para a gerac¸a˜ o de n´umeros aleat´orios, utilizados para cifrar a informac¸a˜ o. Estes geradores s˜ao baseados na teoria do caos, que estuda fenˆomenos n˜ao-lineares e possuem dependˆencia sensitiva a` s condic¸o˜ es iniciais. Apresentando um comportamento turbulento, os sistemas ca´oticos prop˜oem-se a produzir melhor grau de imprevisibilidade nos n´umeros gerados..
(21) 12. 1.1 Objetivo Geral Estudar e analisar atrav´es de ferramentas, n´umeros aleat´orios produzidos atrav´es de func¸o˜ es ca´oticas que s˜ao utilizados em algoritmos de criptografia.. 1.2 Objetivos Espec´ıficos. .. Fazer uma revis˜ao bibliogr´afica dos geradores de n´umeros randˆomicos;. .. Estudar as novas propostas de geradores de n´umeros randˆomicos baseados em func¸o˜ es ca´oticas;. .. Levantar a aplicac¸a˜ o dos geradores de n´umeros randˆomicos em protocolos criptogr´aficos.. .. Fazer uma levantamento da aplicac¸o˜ es de criptografia que necessitam de geradores de n´umeros randˆomicos;. .. Fazer uma comparac¸a˜ o dos geradores de n´umeros randˆomicos atrav´es de ferramentas que geram mapas de primeiro retorno e ferramentas de compactac¸a˜ o.. 1.3 Motivac¸a˜ o A seguranc¸a da informac¸a˜ o e´ um dos mais importantes temas da atualidade na ciˆencia da computac¸a˜ o. Hoje, a criptografia tem sido amplamente utilizada na busca da seguranc¸a da informac¸a˜ o. A despeito disto, existem grandes dificuldades em garantir a seguranc¸a devido a grande variedade de ataques para quebr´a-la. Como os algoritmos de criptografia utilizam largamente n´umeros gerados aleatoriamente, estes s˜ao relevantes para determinar o grau de seguranc¸a dos algoritmos. A gerac¸a˜ o de n´umeros randˆomicos e´ dif´ıcil de ser obtida, por isso, utilizar a teoria dos caos para gerac¸a˜ o de n´umeros randˆomicos tem sido uma alternativa interessante..
(22) 13 E´ vi´avel a reproduc¸a˜ o dos resultados desses trabalhos utilizando uma ferramenta que produz mapas a partir de func¸o˜ es e tamb´em de uma ferramenta de compactac¸a˜ o, permitindo a comparac¸a˜ o dos resultados dessas func¸o˜ es.. 1.4 Materiais e M´etodos Foram utilizados como materiais: artigos atuais contendo estudos sobre gerac¸a˜ o de n´umeros randˆomicos ca´oticos usados em criptografia e livros contendo informac¸o˜ es sobre n´umeros randˆomicos e criptografia. Ap´os o levantamento dos materiais, foi feito um estudo de func¸o˜ es ca´oticas. Foram aplicados v´arios testes em geradores de n´umeros randˆomicos ca´oticos atrav´es do programa MATLAB. 2 3 , onde criou-se um algoritmo para imple-. mentar as func¸o˜ es ca´oticas e posteriormente os resultados foram plotados em um mapa de primeiro retorno, que representa no eixo. !85:9<; .. 4. os valores de. !65. e no eixo. 7. os valores de. Os resultados obtidos das func¸o˜ es testadas no MATLAB foram trans-. = 3 3 2 , cuja implementac¸a˜o consta no apˆendice C. Foi gerado um arquivo bin´ario, que passou pelo compactador WINZIP '>:3 para averiguar o grau de aleatoriedade. Se a raz˜ao da compress˜ao for pr´oxima a 3 ? , isto formados em bin´ario por um programa em C. e´ , o tamanho do arquivo compactado e´ pr´oximo ao tamanho do arquivo original, ent˜ao prevˆe-se que a seq¨ueˆ ncia gerada e´ boa, pois os algoritmos de compress˜ao s˜ao baseados na indexac¸a˜ o de seq¨ueˆ ncias de bits para reduc¸a˜ o do tamanho do arquivo. Desta forma, quanto menos houver repetic¸a˜ o na seq¨ueˆ ncia, menor ser´a a raz˜ao na compress˜ao. A monografia foi escrita em LATEX no editor de texto WinEdt 5. Algumas figuras foram feitas no Corel Draw 6.0. Os gr´aficos foram gerados no MATLAB representando o mapa de primeiro retorno que est˜ao contidos neste trabalho. A convers˜ao do documento LATEX para os formatos ps e pdf foi feita atrav´es das ferramentas dvips e ps2pdf. Para visualizac¸a˜ o e impress˜ao dos documentos foram utilizados Acrobat Reader 4.0 e GSView 4.2..
(23) 14 O trabalho foi desenvolvido em m´aquinas com o Sistema Operacional Windows 98. Alguns pesquisadores que trabalham com caos foram contactados, entre eles Gonzalez, cujo trabalho analisa func¸o˜ es ca´otica atrav´es de mapas do primeiro retorno. O e-mail do contato com o prof. Dr. Jorge Gonzalez consta no apˆendice deste trabalho.. 1.5 Trabalhos Relacionados Foram analisados alguns trabalhos de geradores ca´oticos usados em criptografia. Gonzalez analisa geradores de n´umeros randˆomicos ca´oticos atrav´es de mapas do primeiro retorno. Roskin propˆos cifrar o texto aberto utilizando o gerador ca´otico tradicional e posteriormente criou um encadeamento do gerador ca´otico. Mehran prop˜oe algumas modificac¸o˜ es no gerador ca´otico de Roskin para melhorar a distribuic¸a˜ o das informac¸o˜ es cifradas, utilizando um OU EXCLUSIVO na sa´ıda do gerador de Roskin.. ´ deste documento 1.6 Conteudo Inicialmente, o cap´ıtulo 2 descreve sobre criptografia, onde se originou, suas formas e sua aplicabilidade em seguranc¸a. No cap´ıtulo 3, exp˜oe-se as principais t´ecnicas de geradores de n´umeros randˆomicos envolvendo o m´etodo de congruˆencia linear, embaralhamentos adicionais e padr˜oes m´ınimos a serem seguidos. No cap´ıtulo 4 discute-se os conceitos b´asicos da teoria do caos e como esta pode ser utilizada na gerac¸a˜ o de n´umeros randˆomicos. No cap´ıtulo 5, s˜ao avaliados alguns geradores ca´oticos para ver se possuem uma boa distribuic¸a˜ o no mapa de primeiro retorno, analisando seu uso em criptografia. Apresenta resultados de compress˜ao feita nas seq¨ueˆ ncias obtidas em cada mapa. Este cap´ıtulo mostra os objetivos propostos que foram alcanc¸ados e an´alise dos resultados obtidos..
(24) 15 Em anexo, no apˆendice A est˜ao os c´odigos dos programas de Roskin, que foram analisados para testar a implementac¸a˜ o da equac¸a˜ o log´ıstica. No apˆendice B consta os contatos feitos com o prof. Dr. Jorge Gonzalez para esclarecimento de d´uvidas a respeito de seu artigo. A implementac¸a˜ o do programa em C que converte arquivo texto em bin´ario, para an´alise de compress˜ao est˜ao no apˆendice C..
(25) Cap´ıtulo 2 Criptografia 2.1 Introduc¸a˜ o Este cap´ıtulo descreve sobre criptografia, sua evoluc¸a˜ o, sua importˆancia para a a´ rea de seguranc¸a em computac¸a˜ o e o uso de n´umeros randˆomicos nos diversos algoritmos de criptografia existentes. A sec¸a˜ o 2.2 mostra algumas t´ecnicas cl´assicas de criptografia, desde as t´ecnicas mais simples utilizadas pelo imperador J´ulio C´esar at´e as t´ecnicas mais recentes que usam uma chave como parˆametro de uma func¸a˜ o para cifrar o texto aberto. S˜ao mostradas caracter´ısticas utilizadas em criptografia como m´etodos de substituic¸a˜ o, transposic¸a˜ o, confus˜ao e tipos de chaves. Na sec¸a˜ o 2.3 mostra a importˆancia dos n´umeros randˆomicos em protocolos criptogr´aficos. A sec¸a˜ o 2.4 descreve sobre o problema da distribuic¸a˜ o de chaves de forma segura. S˜ao mostrados alguns tipos de criptoan´alise utilizados para quebrar a seguranc¸a na sec¸a˜ o 2.5.. 2.2 Princ´ıpio da Criptografia A palavra criptografia deriva do grego onde kript´os significa escondido e gr´apho significa grafia. Criptografia e´ a arte ou ciˆencia de escrever em cifra ou em c´odigos, de forma a permitir que somente o destinat´ario decifre a mensagem codificada.
(26) 17 transformando um texto original, aqui chamado texto aberto (plain text) ou texto claro (clear text), em uma informac¸a˜ o transformada, chamada texto cifrado (cipher text), que usualmente tem a aparˆencia de um texto randˆomico ileg´ıvel. A criptografia foi utilizada pelos eg´ıpcios h´a mais de 4000 anos e tamb´em pelos romanos. Comenta-se que o imperador Romano J´ulio C´esar teria empregado a criptografia nas cartas a serem enviadas a seus generais, pois n˜ao confiava no mensageiro e havia o risco dele ser capturado, no caso de uma guerra. A figura 2.1 representa o m´etodo utilizado por C´esar, conforme descrito: ele reescrevia a carta substituindo pela terceira letra seguinte no alfabeto romano, ou seja, o ”A” passaria a ser ”D”, o ”B” passaria a ser ”E” e assim sucessivamente, imaginado as letras dispostas em c´ırculo, ou seja, a lista n˜ao termina no ”Z”, mas continua na letra ”A” novamente[CRY 01]. Por exemplo, o transmissor. 1. 0. . O emissor. deseja enviar o seguinte texto aberto: ”amanha de manha” para o receptor. 0. cifra o texto aberto atrav´es do m´etodo de C´esar obtendo assim, o texto. cifrado: ”dpdqkd gh pdqkd”.. A. B. C. D. E. F. G. H. I. J. K. L. M. D. E. F. G. H. I. J. K. L. M. N. O. P. N. O. P. Q. R. S. T. U. V. W. X. Y. Z. Q. R. S. T. U. V. W. X. Y. Z. A. B. C. Figura 2.1: Cifrador de Julio C´esar. Hoje a criptografia utiliza t´ecnicas muito mais complexas que as de C´esar mas a sua id´eia b´asica da substituic¸a˜ o e´ ainda empregada. Generalizando, ria o n´umero de letras que deve ser somado a cada letra, onde. @. se-. AB0 CDE1F G=DH>>JI , ent˜ao. a substituic¸a˜ o consiste em cifrar um texto aberto, onde cada letra (i) da tabela e´ trocada pela letra correspondente no alfabeto, ou seja, texto cifrado(i) = (texto aberto(i) + k) mod 26, onde o alfabeto possui somente. 2. @. letras. Para decifr´a-lo, devemos conhecer ,.
(27) 18 obtendo o texto aberto por texto aberto(i) = (texto cifrado(i) -k) mod 26. Outra maneira de ”embaralhar” um texto aberto e´ atrav´es da transposic¸a˜ o. Neste m´etodo n˜ao h´a troca de caracteres por outro e cada um representa ele mesmo. H´a, no entanto, uma reordenac¸a˜ o dos mesmos, isto e´ , eles s˜ao escritos fora de ordem. Podemos dizer que escrever um texto ao contr´ario e´ uma forma bastante rudimentar de transposic¸a˜ o[TAN 97]. As mensagens do texto aberto a serem cifradas s˜ao transformadas por uma func¸a˜ o que e´ parametrizada por uma chave. Podemos estabelecer uma relac¸a˜ o entre. KL MN APOI , onde obt´em-se o texto cifrado K atrav´es de um algoritmo de Criptografia M que usa a chave @ para cifrar o texto aberto O . Da mesma forma, OL Q8N APRSI representa o processo inverso, ou seja, o deciframento.. o texto aberto, o texto cifrado e as chaves por. A chave consiste em uma string de bits relativamente pequena que e´ utilizada nos algoritmos para cifrar informac¸o˜ es, podendo ser alterada sempre que necess´ario. Conforme o princ´ıpio de Kerckhoffs [SCH 98], a seguranc¸a n˜ao e´ obtida mantendo-se o algoritmo em segredo, pois o algoritmo poder´a ser descoberto a partir do c´odigo gerado com a utilizac¸a˜ o da engenharia reversa. Se o algoritmo n˜ao e´ publicado, ent˜ao n˜ao se saber´a se ele e´ realmente forte, pois os melhores algoritmos existentes s˜ao os que foram publicados e tˆem sido atacados pelos melhores criptoanalistas do mundo. O sigilo deve estar na chave, e seu tamanho e´ uma quest˜ao muito importante no projeto. Uma chave com tamanho de dois d´ıgitos significa que existem. :33. possibilidades diferentes. J´a uma chave com tamanho de seis d´ıgitos significa um milh˜ao de possibilidades, portanto quanto maior for a chave maior ser´a o n´ıvel de seguranc¸a, havendo mais dificuldade em se encontrar a chave por tentativas. Existem dois tipos de criptografia: Criptografia Sim´etrica e Assim´etrica.. @. Na Criptografia Sim´etrica, o emissor e o receptor possuem a mesma chave . J´a na Criptografia Assim´etrica cada usu´ario possui um par de chaves, sendo uma chave p´ublica e a outra privada. . . , onde a chave p´ublica e´ de conhecimento p´ublico e a chave privada. e´ conhecida somente pelo pr´oprio usu´ario..
(28) 19. 2.2.1 Criptografia Sim´etrica Os mecanismos de cifrac¸a˜ o que utilizam a mesma chave para cifrar e decifrar s˜ao designados mecanismos de chave secreta ou chave sim´etrica. Neste m´etodo, a chave e´ u´ nica e tanto o transmissor quanto o receptor mant´em consigo a mesma chave. A representac¸a˜ o da criptografia sim´etrica e´ mostrada na figura 2.2, onde um texto aberto e´ cifrado pelo transmissor com a chave secreta compartilhada. resultan-. do em um texto cifrado que ser´a enviado ao receptor. O receptor ir´a decifrar a informac¸a˜ o utilizando a mesma chave. , obtendo assim o texto aberto. CHAVE COMPARTILHADA K. ALICE. BETO TEXTO CIFRADO. TEXTO ABERTO. CIFRADOR. DECIFRADOR. TEXTO ABERTO. T. Figura 2.2: Criptografia Sim´etrica. Alice utiliza a chave secreta compartilhada para cifrar o texto aberto e envia a Beto. Beto decifra o texto cifrado atrav´es da mesma chave secreta compartilhada , obtendo assim o texto aberto.. T. O padr˜ao de criptografia de dados (DES - Data Encryption Standard) e´ o mais utilizado destes mecanismos de chave sim´etrica. O DES utiliza v´arios est´agios de criptografia e utiliza v´arias t´ecnicas simultaneamente, entre elas a substituic¸a˜ o, transposic¸a˜ o e OU exclusivo bit a bit, o que garante a n˜ao correspondˆencia de freq¨ueˆ ncia de caracteres. O texto aberto e´ cifrado em blocos de. 2. bits e para cada bloco igual, com a. mesma chave ser´a gerado um mesmo bloco cifrado. Para melhorar a seguranc¸a no DES, pode-se fazer um encadeamento entre os blocos, como, por exemplo, fazer um OU EXCLUSIVO do bloco com o bloco anterior. Neste caso, dificulta-se o ataque, pois o texto fica ileg´ıvel porque os blocos subseq¨uentes fizeram um OU EXCLUSIVO com o original. Outras modificac¸o˜ es foram sugeridas para melhorar o DES, sendo uma delas fazer trˆes vezes a criptografia (Triplo.
(29) 20 DES) com duas chaves de. 2. bits, mas mesmo assim, o DES n˜ao deve ser usado em casos. onde seja fundamental que a informac¸a˜ o seja confidencial.. @. Os n´umeros randˆomicos s˜ao importantes no algoritmo DES para a ge-. rac¸a˜ o da chave , que e´ utilizada nas func¸o˜ es de permutac¸a˜ o e substituic¸a˜ o. A partir da. @. chave , s˜ao produzidas as subchaves que ser˜ao utilizadas na operac¸a˜ o OU EXCLUSIVO do algoritmo, para embaralhar a informac¸a˜ o. Para o algoritmo one-time-pad proposto por Joseph Mauborgne, onde precisa-se de uma chave t˜ao longa quanto a mensagem, onde n˜ao haja repetic¸a˜ o na chave, o uso de n´umeros randˆomicos para a gerac¸a˜ o das chaves produz o resultado desejado. Este algoritmo e´ considerado o ideal pois produz uma sa´ıda randˆomica que suporta um relacionamento n˜ao estat´ıstico com o texto aberto. O problema do algoritmo one-time-pad est´a na inviabilidade de se produzir chaves t˜ao longas quanto o texto aberto.. 2.2.2 Criptografia Assim´etrica O mecanismo de cifrac¸a˜ o que utiliza chaves diferentes para cifrar e decifrar e´ denominado de chave p´ublica ou chave assim´etrica, onde uma chave e´ p´ublica e outra e´ privada. A chave p´ublica e´ de conhecimento p´ublico e a chave privada e´ conhecida somente pelo pr´oprio usu´ario. O que for cifrado com uma das chaves somente poder´a ser decifrado com a outra. O mecanismo de criptografia assim´etrica e´ mostrado na figura 2.3. Neste processo cada usu´ario gera um par de chaves que ser´a utilizado para cifrar e decifrar. O usu´ario disponibiliza sua chave p´ublica em um local seguro de forma que todos tenham acesso. Para um transmissor A enviar uma mensagem a um receptor B, ele precisa conhecer a chave p´ublica. U. de B. Ent˜ao A cifra o texto aberto com. . e envia a B..
(30) , que somente ele tem acesso, B decifra o texto cifrado utilizando sua chave privada. obtendo assim o texto aberto. O conceito de chave p´ublica e privada foi introduzido por Whitfield Diffie e Martin Hellman em 1975. O padr˜ao RSA e´ o mais conhecido dentre os mecanismos que utilizam chave p´ublica e privada, o qual suporta todos os servic¸os como cifrar.
(31) 21 e decifrar, assinar digitalmente e realizar a troca de chaves. Foi desenvolvido por Ron. . $. ivest, Adi hamir e Len. 0. dleman em 1978. O RSA e´ um algoritmo de chave p´ublica. baseado na dificuldade de fatorar grandes n´umeros, explorando propriedades espec´ıficas dos n´umeros primos [TAN 97], mesmo em computadores r´apidos. O problema desses algoritmos e´ que eles s˜ao muito lentos e invi´aveis em alguns casos em que se deseja desempenho. Por exemplo, o RSA e´. V33. vezes mais lento, para uma chave de. =V. bits,. que o DES. Os n´umeros randˆomicos s˜ao utilizados no algoritmo RSA para a gerac¸a˜ o. W e X , onde ap´os a gerac¸a˜o dos n´umeros randˆomicos e´ feito um teste para verificar a primalidade entre os n´umeros W e X . de dois n´umeros primos. Anel de Chaves Públicas de Alice. JOÃO. KUb PEDRO. MALU. KRb. SUZANA BETO. Chaves Privada de Beto. ALICE. BETO TEXTO CIFRADO. TEXTO ABERTO. DECIFRADOR. CIFRADOR. TEXTO ABERTO. TZY . para cifrar a Figura 2.3: Criptografia Assim´etrica. Alice utiliza a chave p´ublica de Beto, mensagem e envia a Beto. Beto decifra a mensagem utilizando sua chave privada,. T6[ . Uma outra utilizac¸a˜ o da criptografia assim´etrica, e´ mostrada na figura 2.4 onde obtemos a assinatura da mensagem, podendo provar quem realmente enviou a mensagem. Na assinatura, o transmissor. 1. cifra o texto aberto com sua chave privada. e envia para o receptor 0 . 0 ir´a decifrar a mensagem com a chave p´ublica de 1 \ , certificando assim que somente 1 poderia ter enviado a mensagem..
(32) 22. KUb. Anel de Chaves Públicas de Alice. JOÃO. PEDRO. MALU. KRb. SUZANA BETO. Chaves Privada de Beto. BETO. ALICE TEXTO CIFRADO. TEXTO ABERTO. CIFRADOR. DECIFRADOR. TEXTO ABERTO. T6[ . para cifrar Figura 2.4: Criptografia Assim´etrica - Assinatura. Beto utiliza sua chave privada, a mensagem e envia para Alice. Alice decifra a mensagem utilizando a chave p´ublica de Beto,. TZY . 2.3 Protocolos Criptogr´aficos e o receptor. 1. Para que um sistema criptogr´afico funcione n˜ao basta que o emissor. 0. conhec¸am o algoritmo para cifrar e decifrar. E´ necess´ario que ambos acor-. dem em uma forma espec´ıfica de utilizar os m´etodos de cifragem e nos passos utilizados para transferir as mensagens. Um protocolo e´ um algoritmo, envolvendo duas ou mais partes, projetado para cumprir uma tarefa. No protocolo, todos os participantes precisam conhecˆe-lo completamente; todos os envolvidos devem concordar em utiliz´a-lo; n˜ao deve ser amb´ıguo, sendo que cada passo deve ser bem definido e n˜ao deve haver nenhuma chance de mal entendimento, e deve ser completo, havendo uma ac¸a˜ o especificada para cada situac¸a˜ o poss´ıvel [XEX 96]. Um protocolo criptogr´afico e´ um protocolo que usa criptografia. As partes envolvidas podem ou n˜ao confiar uma na outra. Protocolos podem ser arbitrados. ´ O a´ rbitro e´ um terceiro confi´avel e desinteressado. Arbitros s˜ao u´ teis nos protocolos entre duas partes que n˜ao se confiam mutuamente. Existem trˆes tipos de Protocolos Criptogr´aficos: Protocolo arbitrado: quando um protocolo utiliza um a´ rbitro para sua execuc¸a˜ o;.
(33) 23 Protocolo Adjudicado: quando no protocolo o a´ rbitro s´o e´ necess´ario em casos especiais. Nesse caso, chamamos o a´ rbitro de juiz (adjudicator). Protocolo Auto-Garantido: quando um protocolo pode ser realizado sem nenhum tipo de a´ rbitro. Esse protocolo e´ chamado de protocolo Auto-Confi´avel. Um dos protocolos criptogr´aficos busca resolver o problema da Troca de Chaves entre dois usu´arios que querem se comunicar. O mais comum e´ ter uma chave u´ nica para cada conversac¸a˜ o, chamada de chave de sess˜ao. Para a gerac¸a˜ o das chaves de sess˜ao de cada usu´ario, o protocolo utiliza n´umeros que s˜ao gerados randomicamente.. 2.4. Distribuic¸a˜ o de chaves Uma grande quest˜ao envolve a troca com seguranc¸a das chaves sim´etri-. ca e assim´etrica. Uma das formas de resolver o problema da troca das chaves, seria fazer com que o transmissor e receptor troquem a chaves pessoalmente, o que n˜ao e´ uma soluc¸a˜ o muito vi´avel. Como e´ poss´ıvel a distribuic¸a˜ o das chaves por um canal de comunicac¸a˜ o inseguro? Para resolver este problema s˜ao usados algoritmos com chave p´ublica e privada. As chaves p´ublica e privada s˜ao geradas e ent˜ao a chave p´ublica e´ divulgada por um entidade confi´avel. Assim, qualquer um que queira encontrar a chave p´ublica de algu´em, buscaria esta chave em uma entidade confi´avel. Para se trocar chaves sim´etricas, pode-se criptografar a chave sim´etrica com a chave p´ublica, onde o receptor ir´a decifr´a-la com sua chave privada.. 2.5 Criptoan´alise A criptoan´alise estuda as formas de quebrar a seguranc¸a das informac¸o˜ es transmitidas. Para analisar a seguranc¸a de um algoritmo criptogr´afico, deve-se especificar que tipo de ataque est´a sendo considerado..
(34) 24 Os objetivos dos criptoanalistas s˜ao: quebrar a seguranc¸a de um texto cifrado interceptado, ou descobrir a chave que foi utilizada para cifrar o texto aberto [TER 00]. Alguns tipo de ataque em ordem de seguranc¸a: Ataque somente no texto cifrado: o criptoanalista tenta adquirir conhecimento para quebrar a seguranc¸a apenas analisando o texto cifrado. Se esse tipo de ataque for computacionalmente vi´avel o algoritmo em quest˜ao e´ considerado totalmente inseguro; Ataque ao texto aberto: o criptoanalista possui e analisa pares (x,y) de texto aberto e cifrado correspondentes. Neste e nos pr´oximos tipos de ataque o criptoanalista tem acesso ao algoritmo (sem conhecer a chave); Ataque ao texto cifrado por chaves: O criptoanalista obt´em o texto aberto atrav´es do texto cifrado, tendo acesso apenas ao algoritmo de decriptografia (sem ter acesso a chave); Ataque por chaves conhecidas: O criptoanalista conhece algumas chaves j´a usadas e utiliza tal conhecimento para deduzir chaves novas; Ataque por repetic¸a˜ o: o criptoanalista grava as comunicac¸o˜ es originais entre Alice e Beto e depois reenvia a um dos pares alterando ou n˜ao a mensagem;. 2.6 Conclus˜ao Foi mostrado neste cap´ıtulo a forma como a criptografia atua para manter seguranc¸a dos dados. Mostrou-se os diversos tipos de criptografia existentes utilizando chaves sim´etrica e assim´etrica. Verificou-se que os n´umeros randˆomicos s˜ao muito importantes nos algoritmos de criptografia e Protocolos Criptogr´aficos. Tamb´em foi descrito sobre os diversos tipos de criptoan´alise utilizados para quebrar a seguranc¸a..
(35) Cap´ıtulo 3 ´ Numeros Randˆomicos 3.1 Introduc¸a˜ o Este cap´ıtulo oborda os n´umeros randˆomicos que s˜ao n´umeros aleat´orios 1 produzidos atrav´es de algoritmos que tem como objetivo produzir causalidade. Na sec¸a˜ o 3.2 e´ descrito sobre a importˆancia dos n´umeros randˆomicos na gerac¸a˜ o de chaves para a criptografia. A sec¸a˜ o 3.3 descreve sobre os geradores de n´umeros randˆomicos citando o gerador de congruˆencia linear e alguns padr˜oes a serem seguidos nestes geradores. Na sec¸a˜ o 3.4 e´ descrito sobre a avaliac¸a˜ o de n´umeros randˆomicos a partir das seq¨ueˆ ncias geradas.. ´ 3.2 Importˆancia dos Numeros Randˆomicos na Criptografia N´umeros Randˆomicos est˜ao diretamente ligados a` criptografia, pois constitui uma das ferramentas utilizadas para aux´ılio nos procedimentos de implementac¸a˜ o da seguranc¸a. A implementac¸a˜ o da seguranc¸a tem que ser feita por conjuntos de hardware e software, na maioria dos casos presentes no pr´oprio sistema operacional e m´aquinas servidoras. Atrav´es de Geradores de N´umeros Randˆomicos s˜ao geradas sa´ıdas que 1. dependem de fatores incertos, sujeitos ao acaso.
(36) 26 ser˜ao utilizadas por v´arios tipos de programas de aplicac¸o˜ es. Sua func¸a˜ o em simulac¸o˜ es e´ velha, mas tornaram-se muito importante para algoritmos de criptografia e atrai uma quantia consider´avel de pesquisa. Qualquer algoritmo que usar a sa´ıda de geradores de n´umeros randˆomicos considera que esta sa´ıda produzida e´ verdadeiramente um n´umero randˆomico e que satisfaz a condic¸a˜ o de seguranc¸a. Atualmente, um dos maiores uso de n´umeros randˆomicos est´a sendo para a protec¸a˜ o da senha do usu´ario. Para melhorar a seguranc¸a, a senha do usu´ario dever´a ser criptografada com uma chave gerada randomicamente, de forma que esta chave possa ser transmitida atrav´es de um meio inseguro. Os n´umeros randˆomicos n˜ao devem ser gerados por um m´etodo qualquer. Quase todos os mecanismos de cifrac¸a˜ o implicam na existˆencia de uma fonte de n´umeros randˆomicos que permita aumentar a entropia do texto cifrado, diminuindo a possibilidade de decifrac¸a˜ o n˜ao autorizada. Criptograficamente geradores fortes s˜ao equivalente a func¸a˜ o de caminho u´ nico. Uma func¸a˜ o de caminho u´ nico e´ f´acil de ser computada mas leva um tempo invi´avel para ser invertida, isto e´ , tal que a invers˜ao e´ definida como, dado putar. (UA]4^I , mas dado (UA]4^I. e´ dif´ıcil 2 computar. 4. 4. e´ f´acil com-. [SCH 98].. ´ 3.3 Geradores de Numeros Randˆomicos Existem muitos estudos envolvendo a veracidade de Geradores de N´umeros Randˆomicos (GNR), no sentido de se entender se m´aquinas produzidas pelo homem conseguem produzir n´umeros verdadeiramente randˆomicos. Sabe-se que os n´umeros ditos randˆomicos, produzidos pelo computador, na verdade geram uma sa´ıda que e´ completamente previs´ıvel, resultando em n´umeros que n˜ao s˜ao verdadeiramente randˆomicos,. /. conhecidos como n´umeros pseudo randˆomicos. Entretanto, o que deve ser avaliado e´ se a sa´ıda produzida satisfaz o programa de aplicac¸a˜ o que ir´a utiliz´a-la, pois o que e´ randˆomico bastante para uma aplicac¸a˜ o 2. poder´a levar milh˜oes de anos para encontrar. mundo. _. a partir de. `'ab_c , mesmo com todos os computadores do.
(37) 27 pode n˜ao ser randˆomico bastante para outra. Pode-se utilizar uma lista de testes estat´ısticos para garantir a seguranc¸a do GPR, nos quais alguns deles s˜ao comprovadamente eficientes na avaliac¸a˜ o de geradores. Bons geradores de n´umeros randˆomicos devem passar por todos estes testes; ou pelo menos a aplicac¸a˜ o deve estar atenta a qualquer falha deles, de forma que possa julgar se este o satisfaz. Entretanto, mesmo o gerador sendo submetido a um conjunto padr˜ao de testes randˆomicos, n˜ao estar´a garantindo que tamb´em passar´a em um novo teste. Quando simulac¸o˜ es s˜ao usadas em engenharia e aplicac¸o˜ es cient´ıficas, se enfrenta o problema de calcular uma quantidade desconhecida para algum conjunto preciso usando simulac¸o˜ es cuja efic´acia e´ desconhecida. Em tais casos, a qualidade da resposta depende diretamente. /. da qualidade da entrada pseudo randˆomica. Por´em, quantificar a qualidade de um GPR deste modo e´ dif´ıcil. Sendo assim, e´ poss´ıvel mostrar quando a sa´ıda do gerador n˜ao e´ randˆomica, mas provavelmente n˜ao ser´a poss´ıvel mostrar que uma sa´ıda randˆomica e´ verdadeiramente randˆomica, ou seja, e´ dif´ıcil provar que um algoritmo consiga descobrir a partir da sa´ıda gerada quais foram as informac¸o˜ es da entrada.. /. Uma t´ecnica de gerac¸a˜ o de n´umeros pseudo randˆomicos t´ıpica, conhe-. /. cida como gerador de congruˆencia linear de n´umero pseudo randˆomicos, e´ a aritm´etica. AB&<dVI. modular onde o valor. &. e´ simo e´ calculado do valor -´esimo por. e'f 9<; g e'f dihjABkmlon
(38) RSI Onde. R. e´ o m´odulo, e. g eh. (3.1). s˜ao inteiros positivos ditos multiplicador e. incremento respectivamente. Esta ocorrˆencia se repetir´a eventualmente, com um per´ıodo. R. g h eR. que n˜ao e´ maior que . Se ,. forem adequadamente escolhidos, pode-se fazer com. R. que o per´ıodo seja de durac¸a˜ o m´axima, isto e´ , de durac¸a˜ o . Esta t´ecnica tem uma forte relac¸a˜ o com o registro de troca linear de. /. geradores de n´umero pseudo randˆomicos. Em tais geradores, bits s˜ao introduzidos a fim de um registro de troca como o Ou Exclusivo de bits..
(39) 28. e'f 9<; e'f di1p , 1qH>>'ABkmlonr 5 I. (3.2). Este m´etodo de congruˆencia linear e´ utilizado pela func¸a˜ o rand() 3 que. 3 Rs/t , cuja sinopse e´ mostrada na figura 3.1.. gera uma seq¨ueˆ ncia de inteiros entre e. #include < stdlib.h > #define RAND-MAX... void srand(unsigned seed); int rand(void ); Figura 3.1: Func¸a˜ o rand da biblioteca padr˜ao do ANSI C. O gerador de n´umero pseudo-randˆomico e´ inicializado invocando srand com alguma semente arbitr´aria. Cada valor inicializado resultar´a em uma diferente seq¨ueˆ ncia randˆomica. Vocˆe obt´em n´umeros randˆomicos sucessivos na seq¨ueˆ ncia atrav´es de chamadas sucessivas para rand (). Para obter um valor randˆomico float entre 0.0 (inclusive) e 1.0 (exclusivo), tem-se a express˜ao:. 4Z g uvn<AwIx'A 0yzQ{/i|0j!}d 3 I. (3.3). Embora esta t´ecnica seja poderosa bastante para prover bons n´umeros randˆomicos, sua implementac¸a˜ o na maioria das bibliotecas ANSI C s˜ao bastante falhas, porque desde que o padr˜ao de ANSI especificou que rand () retorna um valor do tipo int, que e´ s´o uma quantidade de dois bytes em muitas m´aquinas, RAND-MAX n˜ao e´ freq¨uentemente muito grande. O padr˜ao ANSI C s´o requer que seja menor que 32767. Isto pode ser desastroso em muitas circunstˆancias. O comitˆe de ANSI decidiu que uma implementac¸a˜ o deveria prover uma func¸a˜ o rand() que gere a melhor seq¨ueˆ ncia randˆomica poss´ıvel para aquela implementac¸a˜ o, e n˜ao designou nenhum algoritmo padr˜ao, reconhecendo que se pode gerar a mesma 3. Biblioteca padr˜ao do C.
(40) 29. /. seq¨ueˆ ncia pseudo randˆomica em implementac¸o˜ es diferentes. Um exemplo e´ mostrado na figura 3.2. unsigned long next=1; int rand(void) /* n\˜{a}o RECOMENDADO */ { next = next*1103515245 + 12345; return (unsigned int)(next / 65536) % 32768; } void srand(unsigned int seed) { next = seed; }. Figura 3.2: Exemplo de func¸a˜ o srand. V , e R o q .. A figura 3.2 corresponde a equac¸a˜ o 3.2 para. g ~:3 =Vo , h. ´ 3.4 Avaliac¸a˜ o dos Geradores de Numeros Randˆomicos As mais tradicionais t´ecnicas de gerac¸a˜ o de n´umeros randˆomicos u-. /. sam origens determin´ısticas de n´umeros pseudo randˆomicos, que normalmente iniciam com uma pequena semente e usam operac¸o˜ es num´ericas ou l´ogicas para produzir uma seq¨ueˆ ncia de valores considerados randˆomicos[EAS 94]. Para testar 4 n´umeros randˆomicos, pode-se usar uma variedade de medidas estat´ısticas. Estes testes avaliam correlac¸o˜ es entre partes diferentes de uma ”seq¨ueˆ ncia randˆomica ” ou distribuic¸a˜ o de seus valores.. /. Algoritmos geradores de n´umeros pseudo randˆomicos tradicionais podem ser avaliados atrav´es de testes estat´ısticos nas seq¨ueˆ ncias geradas. De fato, na pr´atica, e´ mais f´acil avaliar o gerador a partir da seq¨ueˆ ncia de n´umeros gerada do que avali´a-lo diretamente. 4. neste trabalho testar significa avaliar.
(41) 30 Um bom indicativo para avaliar os n´umeros randˆomicos e´ verificar a distribuic¸a˜ o da seq¨ueˆ ncia gerada em um mapa de primeiro retorno. O mapa de primeiro. 4 f 9<;s L(UA]4 f I , sendo que o eixo 4 f f representa os resultados para 4 e o eixo 4 9<; os resultados para a vari´avel 7 .. retorno e´ o mapa que representa uma func¸a˜ o da forma. O mapa de primeiro retorno resulta em um gr´afico que permite visualizar os padr˜oes existentes na seq¨ueˆ ncia gerada pela func¸a˜ o e, conseq¨uentemente, auxiliar na verificac¸a˜ o do grau de previsibilidade da func¸a˜ o. Para a avaliac¸a˜ o neste trabalho ser˜ao considerados: a uniformidade da distribuic¸a˜ o e a aleatoriedade do gr´afico retornado no mapa de primeiro retorno. A uniformidade da distribuic¸a˜ o indica que os diferentes n´umeros tem a mesma probabilidade de serem retornados. Quando a distribuic¸a˜ o n˜ao e´ uniforme, significa que determinadas faixas de n´umeros tem maior probabilidade de serem retornadas pela func¸a˜ o enquanto outras faixas tem menor probabilidade. Isto n˜ao e´ desejado, pois pode aumentar a probabilidade da descoberta de n´umeros gerados randomicamente pelo teste dos n´umeros de faixas que tenham maior probabilidade de serem retornados. A aleatoriedade do gr´afico indica a eficiˆencia do gerador ca´otico. Quanto maior a aleatoriedade, mais dif´ıcil determinar padr˜oes de comportamento da func¸a˜ o e mais eficiente o gerador. Outro indicativo para avaliar n´umeros randˆomicos que ser´a utilizado neste trabalho e´ a compress˜ao da seq¨ueˆ ncia gerada atrav´es de ferramentas de compactac¸a˜ o. Se a raz˜ao da compress˜ao for pr´oxima a. 3?. , isto e´ , o tamanho do arquivo compacta-. do e´ pr´oximo ao tamanho do arquivo original, ent˜ao prevˆe-se que a seq¨ueˆ ncia gerada e´ boa, pois os algoritmos de compress˜ao s˜ao baseados na indexac¸a˜ o de seq¨ueˆ ncias de bits para reduc¸a˜ o do tamanho do arquivo. Desta forma, quanto menos houver repetic¸a˜ o na seq¨ueˆ ncia, menor ser´a a raz˜ao na compress˜ao.. 3.5 Conclus˜ao. /. Este cap´ıtulo apresentou a importˆancia dos geradores de n´umeros pseu-. do randˆomicos para a criptografia. E´ mostrado o gerador de n´umeros randˆomicos que e´ largamente utilizado, que tem como base os geradores de congruˆencia linear..
(42) 31 E´ apresentado um modelo de Padr˜ao M´ınimo para os geradores de congruˆencia linear proposto pelo comitˆe ANSI C, onde decidiu que uma implementac¸a˜ o deva gerar a melhor seq¨ueˆ ncia randˆomica poss´ıvel que satisfac¸a sua implementac¸a˜ o.. /. E´ descrito alguns m´etodos de como avaliar os geradores de n´umeros. pseudo randˆomicos atrav´es das seq¨ueˆ ncias geradas pelos algoritmos, tais como a distribuic¸a˜ o da seq¨ueˆ ncia gerada em um mapa de primeiro retorno e a compress˜ao da seq¨ueˆ ncia utilizando ferramentas de compactac¸a˜ o..
(43) Cap´ıtulo 4 Geradores Ca´oticos 4.1 Introduc¸a˜ o Este cap´ıtulo descreve a teoria do caos e sua aplicac¸a˜ o em geradores de n´umeros randˆomicos com a finalidade de serem utilizados em algoritmos de criptografia. A sec¸a˜ o 4.2 aborda elementos introdut´orios ligados a` teoria do caos. Na sec¸a˜ o 4.3 s˜ao descritas caracter´ısticas de Sistemas Lineares e Sistemas Ca´oticos. Na sec¸a˜ o 4.4 s˜ao descritas as condic¸o˜ es presentes em sistemas ca´oticos. Na sec¸a˜ o 4.5 e´ feita uma an´alise da teoria do caos aplicada a criptografia. S˜ao apresentadas algumas equac¸o˜ es ca´oticas que s˜ao utilizadas na an´alise deste trabalho na sec¸a˜ o 4.6. Na sec¸a˜ o 4.7 s˜ao descritas as caracter´ısticas de criptossistemas ca´oticos. Nas sec¸o˜ es de 4.8 a 4.11 s˜ao descritos alguns criptossistemas que utilizam equac¸o˜ es ca´oticas.. 4.2 Conceito A palavra caos se origina da palavra grega chaos1 e tem suas bases no estudo de Fenˆomenos n˜ao-lineares. Os processos ca´oticos est˜ao baseados na dependˆencia 1. Comportamento praticamente imprevis´ıvel exibido em sistemas regidos por leis determin´ısticas, e que. se deve ao fato de que as equac¸o˜ es n˜ao-lineares que regem a evoluc¸a˜ o desses sistemas serem extremamente sens´ıveis a variac¸o˜ es, em suas condic¸o˜ es iniciais.
(44) 33 sensitiva a` s condic¸o˜ es iniciais. A necessidade de estudar o caos surgiu a partir de problemas concretos, como por exemplo: descric¸a˜ o de turbulˆencias, previs˜ao de tempo, vit´oria em loterias. A presenc¸a de sistemas ca´oticos na natureza contradiz a previsibilidade das leis determin´ısticas e diminui o grau de certeza dos resultados gerados por estes sistemas. A Teoria do Caos, como uma nova ciˆencia, e´ objeto de estudo em diversas instituic¸o˜ es de ensino e pesquisa. O caos est´a presente na astrologia, biologia, qu´ımica, metereologia e at´e mesmo no estudo do comportamento humano, movimentos sociais e sistemas econˆomicos [MIS 01].. 4.3 Sistemas Lineares versus Sistemas Cao´ ticos Durante s´eculos, os cientistas analisaram os fenˆomenos exclusivamente a` luz da leis da f´ısica cl´assica. Isaac Newton introduziu os princ´ıpios dos Sistemas Lineares e do Determinismo na ciˆencia moderna. Ele descobriu um conjunto de leis que podiam prever o movimento e comportamento de diversos sistemas.[TRU 98]. As leis de Newton s˜ao determin´ısticas, pois elas implicam que, para qualquer sistema, as mesmas condic¸o˜ es iniciais sempre produzir˜ao os mesmos resultados de forma idˆentica[MIS 01]. Nas u´ ltimas d´ecadas, no entanto, novas experiˆencias indicaram que pequenos desvios nas condic¸o˜ es iniciais de um processo s˜ao capazes de alter´a-lo radicalmente com o decorrer do tempo. Trata-se do j´a famoso ”efeito-borboleta”. De acordo com ´ essa teoria, o bater de asas do inseto, na Asia, pode determinar ou impedir a ocorrˆencia de uma terr´ıvel tempestade nos Estados Unidos. Com base em novos estudos, percebe-se que uma incr´ıvel e sutil ordem microsc´opica de relac¸o˜ es est´a presente onde antes presumia-se que houvesse apenas o caos. O desenvolvimento recente das teorias sobre o caos colocou sob suspeita dogmas cultivados pelas ciˆencias f´ısicas e pela filosofia. Na base do debate, figura a disputa entre determinismo e indeterminismo. Durante s´eculos, pregou-se a possibilidade da identificac¸a˜ o de leis gerais e infal´ıveis que possibilitassem o ingresso do homem ao mundo do pleno conhecimento e das previs˜oes perfeitas..
(45) 34 Desde Maxwell, mostrou-se a complexidade dos sistemas dinˆamicos, sejam eles ligados a fenˆomenos puramente naturais, sejam produzidos pela ac¸a˜ o humana. O cientista escocˆes difundiu a id´eia de ”pontos de singularidade”, em que pequenos fatores tˆem influencia amplificada e s˜ao capazes de alterar radicalmente um processo. Henri Poincar´e foi um francˆes que viveu do final do s´eculo XIX ao in´ıcio do s´eculo XX. Era matem´atico, astrˆonomo te´orico e fil´osofo da ciˆencia. Ele teve papel fundamental no desenvolvimento de estudos sobre os sistemas dinˆamicos e o caos determin´ıstico. No in´ıcio do s´eculo, em sua obra ”Ciˆencia e M´etodo”, Poincar´e exp˜oe com clareza a quest˜ao da sensibilidade dos sistemas a` s condic¸o˜ es iniciais. Em sua an´alise do universo das probabilidades, o francˆes enfatiza a enorme influˆencia dos pequenos erros e desvios nos fenˆomenos naturais. Segundo ele, a ciˆencia cl´assica observa os eventos considerando apenas parte das influˆencias aos quais o objeto est´a sujeito. Em seu livro, Poincar´e afirma que o conhecimento pleno das leis da natureza e das condic¸o˜ es do universo no instante inicial permitiriam prever situac¸o˜ es em momentos posteriores. De acordo com o matem´atico, no entanto, mesmo que as leis fossem perfeitamente desvendadas e conhecidas, seria poss´ıvel identificar apenas de maneira aproximada as condic¸o˜ es iniciais. Essas pequenas particularidades do momento primordial poderiam provocar enormes distorc¸o˜ es nos eventos futuros. ”Um pequeno erro nos antecedentes pode produzir um erro enorme nos acontecimentos posteriores. A predic¸a˜ o se torna imposs´ıvel e temos um fenˆomeno fortuito”, escreve. Mandelbrot passou a vida obcecado pelos fenˆomenos que n˜ao seguem uma ordem previs´ıvel, como as cotac¸o˜ es da bolsa de valores, as epidemias e os ru´ıdos nas linhas telefˆonicas. Na observac¸a˜ o de eventos irregulares o cientista pˆode determinar padr˜oes de variac¸a˜ o. Chamou-os de efeitos No´e e Jos´e. O primeiro se aplicava a` modificac¸a˜ o brusca (o dil´uvio, por exemplo). O segundo se referia a` s tendˆencias persistentes, como os per´ıodos de abundˆancia e de escassez no Egito, mencionados pela B´ıblia. Mandelbrot depreendeu que a linguagem codificada das Escrituras exprimia uma clara constˆancia, adapt´avel a qualquer escala de tempo. Da mesma forma, comportam-se as figuras de fractais. Nos quadros, o todo reprisa a unidade mais elementar. Os pequenos defeitos ou incorrec¸o˜ es da unidade.
(46) 35 determinam as mudanc¸as no todo, com influˆencias que tendem ao infinito. Essa f´ormula de reconhecimento das realidades microsc´opicas e macrosc´opicas de todas as coisas serve a` an´alise de todos os fenˆomenos naturais.. 4.4 Vari´avel de Incerteza e Condic¸o˜ es Iniciais Os instrumentos utilizados para medic¸a˜ o n˜ao possuem precis˜ao infinita. Portanto, deve-se considerar um grau de incerteza nos sistemas. A incerteza existente em qualquer sistema indica que as condic¸o˜ es iniciais n˜ao podem ser especificadas com uma exatid˜ao infinita. Uma possibilidade de diminuir a incerteza nos resultados finais e´ aumentar o grau de exatid˜ao na medic¸a˜ o das condic¸o˜ es iniciais. Se as condic¸o˜ es iniciais de um sistema s˜ao conhecidas, e´ poss´ıvel calcular o estado desse sistema a qualquer momento. Por´em, o sistema, num momento inicial, tem uma probabilidade de distribuic¸a˜ o, que nunca e´ conhecida com certeza, e uma pequena variac¸a˜ o nas condic¸o˜ es iniciais gera grandes divergˆencias nos resultados desse sistema ap´os algum tempo.. 4.5 Teoria do Caos e Criptografia A utilizac¸a˜ o da teoria do Caos na criptografia pode ser recomendada devido a` s caracter´ısticas dos sistemas ca´oticos. A criptografia e´ utilizada para proteger informac¸o˜ es atrav´es da produc¸a˜ o de um texto cifrado a partir de um texto aberto. Para que o texto cifrado seja decifrado, o criptoanalista geralmente tenta descobrir padr˜oes de comportamento dos textos cifrados atrav´es de pequenas variac¸o˜ es nos bits do texto aberto. Os criptossistemas ca´oticos tˆem as seguintes caracter´ısticas[Gao 98]: 1. A func¸a˜ o ca´otica e´ simples, mas os sinais e resultados gerados s˜ao bastante complexos. 2. E´ f´acil utilizar a func¸a˜ o ca´otica sem ter risco de c´alculos que geram overflow..
(47) 36 3. E´ muito dif´ıcil para o criptoanalista obter resultados adequados com o criptossistema que utiliza a propriedade de dependˆencia sensitiva a` s condic¸o˜ es iniciais. 4. N˜ao e´ previs´ıvel. A dependˆencia sensitiva faz com que uma pequena variac¸a˜ o na entrada de dados resulta em dados cifrados bem diferentes. Esta sensibilidade dificulta ao criptoanalista decifrar dados, utilizando as mesmas condic¸o˜ es iniciais com pequena variac¸a˜ o e procurando modelos para obter a chave [ROS 99]. Considerando-se as caracter´ısticas acima citadas, ser´a extremamente dif´ıcil para o criptoanalista, a partir do texto cifrado, detectar a chave utilizada [MIS 01].. 4.6 Equac¸o˜ es Log´ısticas 4.6.1 Mapa Log´ıstico O mais conhecido mapa log´ıstico (chamado tamb´em de Func¸a˜ o Ca´otica) pode ser definido desta forma:. ! f 9<; V! f A/! f I f f f f onde ! Dx! 9<; e 3! Dx! 9<;sL e e 3t t Na equac¸a˜ o 4.1 & e´ uma vari´avel que muda a cada iterac¸a˜ o e. (4.1). e´ um. parˆametro fixo que e´ dado no in´ıcio de iterac¸o˜ es e n˜ao muda mais.[MIS 01]. ´ 4.6.2 Um gerador de numeros randˆomicos baseado em func¸o˜ es ca´oticas imprevis´ıveis A id´eia de aplicar a teoria do caos para randomizar tem produzidos importantes trabalhos. A id´eia e´ produzir uma seq¨ueˆ ncia com uma distribuic¸a˜ o pr´oxima da Gaussian. Sendo o caso particular de mapas log´ısticos em 4.2:. !85:9<; !85A/!85 I. (4.2).
(48) 37 Este mapa log´ıstica da equac¸a˜ o 4.2 tem uma exata soluc¸a˜ o geral em 4.3. !85r x q APV 5 I Quando. . (4.3). e´ irracional, a seq¨ueˆ ncia 4.3 e´ ca´otica. A equac¸a˜ o 4.3 pode. ser generalizada pela func¸a˜ o 4.4 [GON 99]. !85 x q APV 5 I (4.4) para um n´umero real. Quando e´ inteiro a func¸a˜ o generalizada e´ a soluc¸a˜ o geral para outros mapas de um valor. Mas se z e´ fracional, a func¸a˜ o produz mapas multivalorados. Sobretudo, para z irracional, o mapa produzido retorna uma difus˜ao de pontos sem ordem aparente. Entretanto, o resultado mais importante e´ que para. . fracional, a func¸a˜ o ca´otica e´ , em princ´ıpio, imprevis´ıvel e conduz para melhores geradores de n´umeros randˆomicos.. 4.6.3 Mapas Ca´oticos precisamente solucion´aveis Seja a seguinte classe de mapas precisamente solucion´aveis em 4.5. !85:9<; x q APxSx !85 I. (4.5). Que usando a transformac¸a˜ o obt´em-se. 5r xSxA !85 I . (4.6). O mapa n˜ao linear 4.5 pode ser convertido para um mapa linear em. pedac¸os (do tipo 5:9<; (UA uI , onde (UA uI pode ser definida para diferentes intervalos de u por func¸o˜ es lineares. Ap´os a aplicac¸a˜ o da f´ormula conhecida 4.7 ¢ ¢\£¡ ¤ ¥ § n(UA 5I § (4.7) y 5:¦'p n 5.
Documentos relacionados
No capítulo seguinte será formulado o problema de programação não linear e serão apresentadas as técnicas de penalização para tratar os problemas com restrições gerais
São considerados custos e despesas ambientais, o valor dos insumos, mão- de-obra, amortização de equipamentos e instalações necessários ao processo de preservação, proteção
--- A Câmara deliberou, por unanimidade, certificar de acordo com as minutas propostas que se anexam ao presente termo de aprovação de minuta. --- --- A presente deliberação
Our contributions are: a set of guidelines that provide meaning to the different modelling elements of SysML used during the design of systems; the individual formal semantics for
Assim, o presente trabalho surgiu com o objetivo de analisar e refletir sobre como o uso de novas tecnologias, em especial o data show, no ensino de Geografia nos dias atuais
hospitalizados, ou de lactantes que queiram solicitar tratamento especial deverão enviar a solicitação pelo Fale Conosco, no site da FACINE , até 72 horas antes da realização
3 O presente artigo tem como objetivo expor as melhorias nas praticas e ferramentas de recrutamento e seleção, visando explorar o capital intelectual para
Este trabalho é resultado de uma pesquisa quantitativa sobre a audiência realizada em 1999 envolvendo professores e alunos do Núcleo de Pesquisa de Comunicação da Universidade