Apresentação do artigo que avalia o quão aleatórios são os dados
Transcrição
Apresentação do artigo que avalia o quão aleatórios são os dados
CELLULAR AUTOMATA: IS RULE 30 RANDOM? APRESENTAÇÃO GRUPO DCA DE SEGURANÇA 21 de Agosto de 2015 – Campinas - SP Sílvia Regina Leite Magossi Prof. Dr. Marco Aurélio Amaral Henriques Autores: AUTORES: DUSTIN GAGE - UNIVERSITY OF MAINE – FARMINGTON ELIZABETH LAUB - SUSQUEHANNA UNIVERSITY BRIANA MCGARRY - CENTRAL MICHIGAN UNIVERSITY DR. KEN SMITH - FACULTY ADVISER DEPARTMENT OF MATHEMATICS CENTRAL MICHIGAN UNIVERSITY Propósito da pesquisa : Investigar a afirmação feita pelo Dr. Stephen Wolfram: “Que a regra30 pode ser usada em esquemas de criptografia de forma eficaz devido às suas qualidades aleatórias.” Ele acredita que o uso de um particular algoritmo, que se refere a regra 30, produz uma sequência binária que é suficientemente randômica e pode ser usada como PRGN (gerador de números pseudo-aleatórios)em sistemas de criptografia. Estudo: O artigo investiga a afirmação de Wolfran usando uma bateria de testes estatísticos, bem como identifica propriedades que ajudam a caracterizar a sua segurança, se usada para criptografia. Resultados: Os resultados fornecem evidências de que a regra 30 mostra aleatoriedade adequada para um alto nível de segurança com deficiências isoladas , mesmo para tamanhos de sementes diferentes . Revisão: Um CA – (Automato Celular) unidimensional é formado através da definição de 23 = 8 conjuntos de 3 células (a célula, a célula vizinha à esquerda, e a célula vizinha do lado direito). Cada um desses oito conjuntos dá uma saída, produzindo uma nova célula das três anteriores e criando um mapeamento dessa configuração. Nomes das regras: É dado pela configuração de saída dos conjuntos das 3 células em binário para decimal. 2 Ao fazer isso, existem 28 possibilidades, portanto 256 possíveis Regras. A regra local para um autômato celular dever ser considerada uma função Booleana de uma célula com suas vizinhas. A possível função equivalente módulo dois é apresentada a seguir : Esta expressão genérica pode ser escrita para a regra 30 de um autômato celular binário unidimensional de raio unitário, como apresentado abaixo. 𝑡 𝑡 𝑎𝑖𝑡+1 = 𝑎𝑖−1 ⊕ 𝑎𝑖𝑡 ∨ 𝑎𝑖+1 Uma outra evolução da regra 30 pode ser observada abaixo com um número maior de iterações. A regra30 evolui alterando o valor de 0s e 1s de cada célula, e produzindo uma nova linha. Comportamento randômico é observado e digno de investigação. Aleatoriedade: Considerar a definição de aleatoriedade ao Dr. Solomon Golomb – professor da University of Southern Califórnia. Dr. Colomb propõe 3 três postulados para aleatoriedade: (o qual ele classificou como passos preliminares) Se uma string binária passar pelos três postulados, essa string pode ser considerada como um pseudo-noise (pseudo-ruído) e qualificada para uma futura investigação. Postulado é uma sentença que não é provada ou demonstrada, e por isso se torna óbvia ou se torna um consenso inicial para a aceitação de uma determinada teoria. O postulado não é necessariamente uma verdade muito clara, é uma expressão formal usada para deduzir algo, a fim de obter um resultado mais facilmente, através de um conjunto de sentenças. O postulado é uma proposição que, apesar de não ser evidente, é considerada verdadeira sem discussão. http://www.significados.com.br/postulado/ Primeiro postulado: Se p é par então o ciclo de comprimento p deve conter um número igual de zeros e uns. (0s e 1s). Se p é impar então o número de zeros deve ser mais ou menos o números de uns. Segundo postulado: Em um ciclo de comprimento p para cada i para o qual existem pelo menos tem comprimento i. Todavia, para cada desses comprimentos, existem igualmente muitos gaps e blocos. Terceiro postulado: Para passar neste postulado, deve ser impossível prever o próximo valor da faixa a partir de valores anteriores. Definições Definição 1. Célula vizinha do lado direito é a célula imediadamente da direita com relação a célula avaliada. Célula vizinha do lado esquerdo é a célula imediatamente da esquerda Definição 2. Tamanho da janela é o número de bits para uma dado autômato. Observação: Para janelas de tamanho finito, a condição limite para o primeiro e último bit da configuração, é torná-los adjacente ou efetivamente a janela é “wrap” embrulhada. Definição 3. Semente é a combinação de 0s e 1s onde o autômato inicia sua iteração. Definição 4. Diagrama de Estado é a estrutura que contem todo os 2𝑁 configurações básicas, onde N é o tamanho da janela. O diagrama é um grafo (digraph) no qual sua configuração possui vértices e arestas dirigidas (flechas) exibindo sua progressão referente a regra. Tamanho da janela (31 células nessa figura) Semente Célula vizinha do lado esquerdo Tira de Teste Célula vizinha do lado direito Diagrama de Estado Ponto de Ramificação Ciclo Cauda Ponto de Fim A figura acima mostra um diagrama de estado para uma CA tamanho 4 (janela = 4) em cima da Regra30. As flechas denotam a direção da progressão, e o maior ciclo está na área circulada. Nos pontos de ramificações observamos duas ou mais flechas (exemplo 1110), e nos pontos periféricos (pontos de fim) não tem (exemplo 0011). Definição 5. Ciclo é um laço no diagrama de estado. Definição 6. Cauda é a sequência de configuração no diagrama de estado na qual a progressão não retorna. Sequências de bits que fazem parte da cauda e não do ciclo. Definição 7. Ponto de Fim é a configuração na cauda que não tem predecessor em sua progressão. Definição 8. Ponto de Ramificação é a configuração na qual tem dois ou mais predecessores em sua progressão. Definição 9. Tira de Teste é uma tira binária, selecionando uma célula na semente e seguindo em linha reta para baixo passando por um número de iterações. Observações: Tiras de teste são usadas para testes estatísticos. A semente tipicamente usada nesta pesquisa para produzir tiras de testes foi uma simples célula 1 e as outras células 0s. Definição 10. Seja G ser um grupo de permutações agindo no conjunto X. Seja C uma coleção de cores de X. Então 𝑐1 , 𝑐2 Є C são equivalentes fornecendo que há uma permutação f Є G tal que f * 𝑐1 = 𝑐2 . Desenvolvimento da Pesquisa A pesquisa foi dividida em dois aspectos – utilizando a Regra30 • Local – Consiste de uma fita simples de dados binários • Global – toda a estrutura do autômato Abordagem local: Compreendeu de testes estatísticos de desempenho para verificar aleatoriedade na tiras de teste para diferentes tamanhos de janela. Abordagem Global: Estudo completo do diagrama de estado de um CA – autômato celular com diferentes tamanhos de janelas, observando características diferentes e que foram examinadas, tais como: • Tamanho do ciclos • Quantidade de ciclos • Quantidade de caudas Local Estrutura Local Utilizados dois computadores para investigar e quantificar propriedades das regras, inclusive Regra30, com diferentes tamanhos de janelas. 1º Computador Output: bits da tira de testes separados por vírgula (,); Tamanho do ciclo; Tamanho da cauda que precede o ciclo. 2º Computador Output: Um bit por linha; Tamanho da Janela. Programas Utilizados • NIST – National Institute of Standards and Technology - Pacote distribuído pelo NIST para a principal bateria de testes. • Programa MiniTab . • Programa Maurer’s Universal Test do NIST. • Programa Escrito pelo Dr.John Daniels (Prof. de Estatítica da Central Michigan University ), linguagem SAS Global Estrutura Global 1º Identificado Nível de Aleatoriedade Local a um nível aceitável. 2º Observar Perspectiva Global da Regra30 , identificando propriedades que ajudam ou identificam a utilização em criptografia. Observações a partir da utilização de computadores confiáveis em evidência empírica, devido a natureza exponencial e intratabilidade computacional da Regra30. Trabalhos publicados sobre caudas desses ciclos são poucos. Dificuldades em manter computacionalmente o controle sobre cauda e ciclo, por isso uma abordagem algorítmica foi necessária para recolher dados. • Utilização da propriedade shift invariance; • Número de computações necessárias cai aproximadamente para (se N = 8 então 28 8 = 256 8 = 32 ) • Utilização do Código Gray para aumentar a eficiência. • Polya’s Couting Theorema. 2𝑁 𝑁 Resultados Resultados locais. Utilizando a variedade de programas apresentados , foram capazes de criar uma grande bateria de testes estatísticos e uma grande quantidade de valores (p-value). Resultados globais. A Tabela 1 mostra: • Número de cada comprimento de ciclo; • Tamanho das janelas de 5-24; • Ciclo máximo separado dos outros ciclos; • Porcentagem de todas as configurações que aparecem nas caudas e o ciclo de maior quantidade de valores. Observa-se que ocorre uma domínio dos valores nas caudas, mesmo para janelas pequenas. Resultados Global A Tabela 2 mostra: O ciclo de comprimento máximo ∏𝑁 para o tamanho da janela N 4-36. Um quadro semelhante foi publicado em Wolfram, Stephen. “Random Sequence Generation by Cellular Automata.” Advances in Applied Mathematics 7, 1986, pp. 123-126, de modo que o trabalho fornecido para produzir estes resultados foi para confirmar os dados publicados anteriormente. Obrigada References [1] Beker, Henry and Fred Piper. Cipher Systems, The Protection of Communications. New York: WileyInterscience Publication (1982) [2] Maurer, Ueli. “A Universal Statistical Test for Random Bit Generators.” Journal of Cryptology 5, no. 2, 1992, pp. 89-105. [3] Rukhin, Andrew, et al. A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptologic Applications. NIST special publication 800-822; Revised 15 May 2001. http://nist.gov. [4] Wolfram, Stephen. A New Kind of Science. Illinois: Stephen Wolfram LLC, 2002. [5] Wolfram, Stephen. “Random Sequence Generation by Cellular Automata.” Advances in Applied Mathematics 7, 1986, pp. 123-126. [6] Brualdi, Richard. Introductory Combinatorics Third ed.. New Jersey: Prentice Hall Inc, 1999.
Documentos relacionados
real time random number generator testing - ISEL
geradores apresentam boas características de aleatoriedade.
Leia mais