• Nenhum resultado encontrado

UM MODELO CRIPTOGRÁFICO BASEADO EM AUTÔMATOS CELULARES COM TEXTO CIFRADO DE TAMANHO VARIÁVEL

N/A
N/A
Protected

Academic year: 2021

Share "UM MODELO CRIPTOGRÁFICO BASEADO EM AUTÔMATOS CELULARES COM TEXTO CIFRADO DE TAMANHO VARIÁVEL"

Copied!
10
0
0

Texto

(1)

PIBIC-UFU, CNPq & FAPEMIG Universidade Federal de Uberlândia Pró-Reitoria de Pesquisa e Pós-Graduação DIRETORIA DE PESQUISA

UM MODELO CRIPTOGRÁFICO BASEADO EM AUTÔMATOS

CELULARES COM TEXTO CIFRADO DE TAMANHO VARIÁVEL

Leonardo S. Alt1

Laboratório de Inteligência Artificial, Faculdade de Computação, Universidade Federal de Uberlândia Av. João Naves de Ávila, 2121- Campus Santa Mônica, Bloco 5K - CEP: 38400-902 Uberlândia, MG leonardoalt@comp.ufu.br Giordano B. Ferreira1 giordanobsf@gmail.com Marcos V. Martins1 marcosvgmartins@hotmail.com Luiz G. A. Martins2 gustavo@facom.ufu.br Gina M. B. Oliveira2 gina@facom.ufu.br

Resumo: Este artigo avalia um novo método criptográfico baseado em autômatos celulares (ACs).

Wuensche e Lesser propuseram um algoritmo reverso que faz a evolução para trás de um AC, também conhecida por cálculo da pré-imagem. Em um trabalho anterior, esse algoritmo foi avaliado como um possível método de cifragem e observou-se que a adoção simples desse algoritmo não garante a eficiência do processo, dado que as únicas regras de ACs que asseguram a existência de 100% de pré-imagem não são apropriadas para a cifragem. Assim, uma nova abordagem foi proposta, a qual alterna dois algoritmos diferentes no processo de cifragem: o algoritmo reverso original e uma variação deste algoritmo que usa bits extras, utilizando o segundo método somente quando o cálculo da pré-imagem não é possível. Embora essa abordagem precise adicionar alguns bits ao texto cifrado quando uma falha de pré-imagem ocorre, espera-se que na prática poucas falhas aconteçam e o tamanho do texto cifrado seja próximo ao do texto original. No método resultante, a cifragem sempre tem êxito e o tamanho final do texto cifrado não é fixo. Nós implementamos o método de cifragem proposto e o submetemos a alguns testes para medir o tamanho final médio do texto cifrado. Os resultados mostram que com regras de AC adequadas, o tamanho final do texto cifrado é igual ou muito próximo ao tamanho do bloco original. Os parâmetros Z e simetria (S) são empregados para identificar quais regras são adequadas para serem usadas como chaves secretas.

Palavras-chave: Autômatos Celulares, criptografia, cálculo de pré-imagem.

1. INTRODUÇÃO

Autômatos Celulares (AC) são sistemas dinâmicos totalmente discretos (estado, tempo e espaço). Considerando a iteração reversa de um autômato celular, dado um reticulado no tempo t, um possível reticulado antecessor é determinado para o tempo t-1. Este processo é também conhecido como cálculo de pré-imagem. Em um artigo recente [10], foi investigada a aplicação do algoritmo 1 Acadêmicos do Curso de Ciência da Computação

(2)

reverso proposto por Wuensche e Lesser [11] como algoritmo de cifragem. Além disso, os parâmetros Z [14] e simetria (S) [10] foram empregados para especificar regras de AC como chaves secretas apropriadas. O objetivo do uso de tais parâmetros é encontrar regras que garantam a existência de pré-imagem para qualquer reticulado. A principal conclusão em [10] é que a adoção simples do algoritmo reverso não é suficiente, porque as únicas regras com 100% de garantia de existência de pré-imagem não são apropriadas para cifragem. Tais regras não exibem uma dinâmica caótica, pelo contrário, elas possuem comportamento de ponto fixo e apenas deslocam o reticulado original. Duas propostas alternativas surgiram desse estudo prévio. A primeira é a aplicação de uma variação do algoritmo reverso, na qual bits extras são adicionados ao reticulado em cada passo de cifragem (um cálculo de pré-imagem), similar ao processo adotado no modelo criptográfico de Gutowitz [8]. Esta proposta foi avaliada em [10] e 100% de garantia de existência de pré-imagem foi obtida com um bom nível de entropia inserido durante o processo de cifragem. Entretanto, esta proposta tem como desvantagem, um aumento fixo considerável do texto cifrado em relação ao texto original. A segunda proposta aplica ambos os métodos: ela alterna o algoritmo reverso original e a variação que utiliza bits extras no processo de cifragem, sendo que o segundo somente é empregado quando o primeiro não consegue calcular a pré-imagem. Apesar de essa proposta adicionar alguns bits extras ao texto cifrado, espera-se que, na prática, poucas falhas ocorram e o tamanho do texto cifrado seja igual ou próximo ao do texto original. Esta expectativa é válida se as regras de AC são corretamente especificadas. Para isso, são usados os parâmetros Z e simetria. Este artigo apresenta experimentos realizados para avaliar o método de cifragem baseado na abordagem mista e avaliar se a especificação das chaves secretas proposta em [10] realmente proporciona um tamanho do texto cifrado próximo do tamanho do texto original. A importância das componentes do parâmetro Z, Zleft e Zright, e da simetria S para especificação de boas regras foi

apresentada em [10]. A próxima seção apresenta alguns conceitos básicos sobre ACs e descreve os parâmetros Z e simetria. A seção 3 revisa modelos prévios baseados em autômatos celulares irreversíveis que serviram de base para o modelo discutido. A seção 4 detalha o modelo proposto, incluindo uma melhoria baseada no uso de um procedimento não-recorrente. A seção 5 apresenta os resultados dos experimentos realizados, no qual o tamanho médio do texto cifrado e a entropia associada são avaliados. A seção 6 apresenta as principais conclusões deste trabalho.

2. PARÂMETROS Z E SIMETRIA

Autômatos Celulares pertencem a classe dos sistemas dinâmicos onde estado, tempo e espaço são variáveis discretas. Um autômato celular consiste de um reticulado de células. Cada célula apresenta um dos k estados distintos em cada instante de tempo t. Uma célula é atualizada em passos de tempo discretos e seu novo estado depende dos estados das 2R+1 células da vizinhança, sendo R o raio do AC. No caso de um AC unidimensional determinístico, o estado t+1

i

a da célula i no tempo t+1 é determinado pela regra de transiçãoτ :

( 1)t

[

( )t

,...,

( )t

,...,

( )t

]

i i R i i R

a

a

a

a

(1)

A dinâmica de um autômato celular está associada com sua regra de transiçãoτ . Vários parâmetros foram propostos na literatura [12-14] para auxiliar na previsão do comportamento dinâmico de AC. Entre estes está o parâmetro Z, derivado do algoritmo de cálculo de pré-imagem [14] e que é composto por Zleft e Zright. Nesse cálculo, assume-se que uma pequena parte da

pré-imagem de uma configuração arbitrária de reticulado é conhecida e busca-se inferir sucessivamente, da esquerda para a direita, os estados das células restantes. Zleft é definido como a probabilidade de

que a próxima célula à direita na pré-imagem parcial tenha um único valor, e é diretamente calculado a partir das regras de transição, contando as vizinhanças determinísticas. Zright é o

contrário, da direta para a esquerda. O parâmetro Z é o maior entre Zleft e Zright. Os componentes Zleft

e Zright se mostraram muito importantes na especificação das regras de transição usadas como chaves

(3)

Durante a avaliação do algoritmo reverso descrito em [10], outra característica que se mostrou importante para especificação de chaves foi a simetria da saída binária que representa uma regra de transição. Seja m o número de células consideradas na vizinhança de um autômato celular binário e a regra de transição definida por k bits de saída (k=2m): b

0, b1, ..., bk-1. O nível de simetria

(S) é o número de pares de bits bi e bk-i-1 (i = 0, ..., k/2-1) que possuem o mesmo valor. Ela pode ser

normalizada pelo número total de pares (k/2). Por exemplo, considerando regras de AC de raio 1, os níveis de simetria das regras 10111101, 10110010 e 10001111 são 1, 0 e 0,25, respectivamente. A importância desse parâmetro na especificação de regras de AC apropriadas a cifragem foi primeiramente notada devido ao baixo número de reticulados com pelo menos uma pré-imagem quando regras com S igual a 1 são usadas. Isto é, a chave secreta não pode ser uma palíndrome.

3. MODELOS ANTERIORES BASEADOS EM AC

Wolfram (1986) foi o primeiro a sugerir o uso de ACs em criptografia [1]. Seu modelo é baseado na habilidade do AC de gerar seqüências pseudo-aleatórias [2]. Desde sua idéia, vários estudos neste tópico foram feitos [3-10]. Gutowitz propôs e patenteou o primeiro modelo criptográfico baseado na evolução para trás de ACs irreversíveis [8]. Um tipo especial de regra de AC é usada como chave secreta nesse modelo: elas são regras de transição sensíveis. Uma tabela de transição de AC é dita uma regra sensível se ela é sensível em relação a uma célula específica da vizinhança, isto é, se alguma modificação do estado desta célula necessariamente provoca uma modificação no novo estado da célula central, considerando todas as vizinhanças possíveis da regra. Considerando AC de raio-1, a vizinhança é formada por três células e elas podem ser sensíveis em relação à célula da esquerda, à da direita, e à central. Por exemplo, as regras elementares 00101101 e 10011010 são regras sensíveis à esquerda e à direita, respectivamente.

Gutowitz (1995) usou ACs irreversíveis com regras sensíveis para cifragem [8]. Regras sensíveis tornam possível calcular uma imagem de qualquer reticulado começando de uma pré-imagem parcial aleatória. Usando este método, uma pré-pré-imagem de qualquer reticulado é calculada adicionando r bits extras em cada lado do reticulado, onde r é o raio da regra. Considerando um reticulado inicial de N células e uma regra de transição sensível à esquerda com raio 1: a pré-imagem terá N+2 células. Suponha que dois bits iniciais X e Y são escolhidos aleatoriamente para começar o cálculo da pré-imagem e eles são posicionados na borda direta do reticulado. O estado da próxima célula da esquerda (a terceira) é deterministicamente obtida porque as duas únicas transições possíveis são XY0 → T e XY1 → T'. O valor da primeira célula no reticulado inicial é verificado para ver se é T ou T' e determinar se a terceira célula da pré-imagem é 0 ou 1. Já com o estado da terceira célula determinado, o próximo passo é determinar o estado da quarta célula e das outras células sucessivamente até completar a pré-imagem inteira. A propriedade da regra de transição ser sensível à esquerda garante que as N+2 células da pré-imagem podem ser obtidas, passo-a-passo, de um modo determinístico. O mesmo processo pode ser feito para regras sensíveis à direita e neste caso as células iniciais devem ser posicionadas do lado esquerdo. Uma característica fundamental no modelo de Gutowitz para garantir pré-imagem para qualquer reticulado é o uso de uma fronteira não periódica. Quando a pré-imagem é obtida os bits extras não são descartados e eles são incorporados ao reticulado. Por isso, é sempre possível obter uma pré-imagem para qualquer escolha inicial de bits. Como o tamanho inicial de bits é 2 x r, é possível obter 22 x r pré-imagens

diferentes para cada reticulado. Portanto, o AC é irreversível. Este cálculo de pré-imagem é específico para o método de cifragem de Gutowitz e pode ser utilizado somente quando aplicadas regras sensíveis a um dos extremos (esquerda ou direita).

(4)

aplicar para frente a regra de transição τ por P passos e o reticulado final será o texto original. Seja P o número de passos de pré-imagem, N o tamanho do reticulado original e r o raio do AC. O método adiciona 2 x r bits para cada pré-imagem calculada e o tamanho do reticulado final é dado por N + (2 x r x P). Por exemplo, se 50 pré-imagens foram calculadas utilizando uma regra de raio 1 começando de um texto original de 128 bits, o tamanho do texto cifrado seria 228. Claramente, não é um incremento insignificante e é apontado com a grande falha no modelo de Gutowitz.

Um algoritmo para o cálculo genérico de pré-imagem foi proposto em [11]. Este algoritmo é conhecido como algoritmo reverso e é baseado em vizinhanças parciais. A descrição completa deste método pode ser encontrada em [11]. Antes de começar o cálculo, r células são adicionadas em cada lado do reticulado correspondente a imagem, o algoritmo começa o cálculo da pré-imagem, iniciando aleatoriamente as 2r células mais à esquerda. Este procedimento é similar ao começo do cálculo de pré-imagem utilizado no modelo de Gutowitz. Entretanto, em um AC com fronteira periódica, as últimas células precisam ser validadas. O cálculo da pré-imagem é concluído verificando se os bits iniciais podem ser iguais aos 2r finais mais à direita. Se forem, os bits extras adicionados a cada lado da vizinhança são descartados retornando a pré-imagem ao mesmo tamanho do reticulado original. Se não, o processo retorna de novo e utiliza a última opção armazenada em uma pilha, a qual contém os possíveis valores ainda não avaliados até este ponto do cálculo. O algoritmo reverso encontra todas as possíveis pré-imagens para qualquer reticulado arbitrário e qualquer regra de transição arbitrária.

O algoritmo reverso foi avaliado como método de cifragem em [10]. Uma vantagem deste método é que ele pode ser aplicado a qualquer tipo de regra de AC. Então, ele não é um método especializado como o utilizado no modelo de Gutowitz que funciona somente com regras sensíveis. Contudo, sua aplicação como processo de cifragem possui a desvantagem de que não há garantia da existência da pré-imagem para qualquer reticulado e qualquer regra de transição dada. Por outro lado, é sabido que para um reticulado fixo a grande maioria do espaço de regras de ACs possui muitas configurações de reticulados sem pré-imagens; elas são conhecidas como estados Jardim-do-Éden [11]. Portanto, o maior desafio para aplicar o algoritmo reverso como um método de cifragem viável foi encontrar uma maneira de garantir a existência de pelo menos uma pré-imagem para qualquer reticulado inicial possível representando um possível texto original a ser cifrado.

A primeira tentativa para resolver este problema foi utilizar o parâmetro Z [14] na especificação de regras. Inicialmente, o conjunto de regras de AC com Z igual a 1 (que é o mais provável de exibir um comportamento caótico) foi escolhido como regras em potencial para usar como chaves secretas em um modelo criptográfico baseado no algoritmo reverso. Entretanto, a primeira análise mostrou que esta especificação não seria suficiente para garantir a existência de pré-imagem. Visando descobrir a especificação ideal para regras que tivessem 100% de garantia de existência de pré-imagem, um algoritmo genético (AG) padrão foi implementado em [10] para encontrar regras de AC com uma característica desejável (por exemplo, um valor específico do parâmetro Z). O AG implementado auxilia o processo de geração de conjuntos de regras a serem avaliadas como chaves secretas mas não é propriamente parte do método de cifragem. Utilizando o AG foi possível avaliar exemplos de regras com diferentes especificações e vários parâmetros relacionados à regra do AC foram avaliados. Os parâmetros que apresentaram maior relação com a probabilidade de existência de pré-imagem foram as componentes de Z conhecidas como Zright e Zleft

e o parâmetro nível de simetria S explicado na seção 2. Devido a definição do Z [15], considerando uma regra com Z igual a 1, Zright (ou Zleft) necessariamente deve ser igual a 1. Entretanto, a outra

(5)

conjunto de regras que possuem Z = 1 com um nível intermediário tanto para a simetria quanto para o balanceamento Zleft/Zright: 0.25 < S < 0.5 e 0.25 < Zleft < 0.5 e Zright = 1. Uma amostra de 100 regras

de AC de raio 2 foi avaliada calculando-se 128 pré-imagens consecutivas começando de 1000 reticulados aleatórios de 512 bits. Todas as regras foram capazes de calcular as 128 pré-imagens consecutivas para todos os reticulados de 512 bits. Além disso, a média da entropia obtida para todas as regras foi alta (0.8857) indicando que elas exibem um comportamento caótico. Uma conclusão importante é que apesar de ter sido possível especificar regras com alta probabilidade de encontrar pelo menos uma pré-imagem para qualquer reticulado e que também exibem uma boa propagação de perturbação, mesmo as melhores regras avaliadas podem falhar quando o cálculo de pré-imagem é aplicado a algum reticulado.

A maior conclusão da análise em [10] é que a simples adoção do algoritmo reverso não é recomendada porque as únicas regras possíveis com 100% de garantia de existência de pré-imagem não são apropriadas para cifragem. Duas propostas alternativas surgiram. A primeira é a aplicação de uma variação do algoritmo reverso no qual bits extras são adicionados ao reticulado em cada passo de cifragem, similar ao processo adotado por Gutowitz em seu modelo criptográfico. Usando esta abordagem a garantia de 100% de existência de pré-imagem foi obtida com um bom nível de entropia. Entretanto, esta abordagem é afetada pela mesma desvantagem do modelo de Gutowitz: um aumento considerável e fixo no texto cifrado em relação ao original. A segunda abordagem proposta em [10] é um método baseado no algoritmo reverso original adotando um procedimento de contorno para ser aplicado quando o cálculo da pré-imagem falha. Como a especificação da chave em [10] retorna uma baixa probabilidade de ocorrência desta falha, é esperado raramente utilizar este procedimento de contorno, embora ele garanta a possibilidade de cifrar qualquer texto original.

Aqui nós discutimos um novo método, o qual é o ponto chave do presente artigo que utiliza a segunda abordagem proposta em [10]. Ele alterna o algoritmo reverso original e a variação que utiliza bits extras no processo de cifragem, utilizando o segundo apenas quando o cálculo da pré-imagem falha. Embora esta abordagem necessite adicionar alguns bits ao texto cifrado quando uma falha ocorre, é esperado que na prática poucas falhas aconteçam e o tamanho do texto cifrado seja igual ou próximo ao do texto original. As seções 4 e 5 detalham o método e apresentam experimentos realizados para avaliar e melhorar o método e a especificação de chaves secretas para ter um tamanho final razoável.

4. MÉTODO PROPOSTO

Uma vez que a principal conclusão da análise em [10] é que a simples adoção do algoritmo reverso sozinho não é possível, um método alternativo é investigado aqui. Este método é baseado no algoritmo reverso original adotando um procedimento alternativo para aplicar quando o cálculo da pré-imagem falha [10]. Como a especificação da chave secreta anteriormente discutida retorna uma baixa probabilidade de ocorrência desta falha, é esperado o raro uso desta alternativa mas ela garante a possibilidade de cifrar qualquer texto original. O procedimento alternativo é adicionar bits extras apenas quando a pré-imagem não é possível de ser calculada, similar ao que é feito no modelo de Gutowitz. Entretanto, este processo sucederá para qualquer regra com Z=1, não apenas para regras sensíveis. Por outro lado, por razões práticas relacionadas a velocidade do processo de cifragem, pode ser melhor limitar o método para operar apenas com regras sensíveis. Neste caso, o método funciona como etapas alternadas de cálculo de pré-imagens realizados pelo algoritmo reverso (ou uma variação do modelo de Gutowitz para condições periódicas) com poucos ou nenhum passo de cálculo de pré-imagem efetuados pelo modelo de Gutowitz (ou uma variação do algoritmo reverso para condições não-periódicas).

O processo de cifragem é definido pelo cálculo consecutivo de P pré-imagens começando de um reticulado de tamanho N correspondente ao texto original. A chave secreta é uma regra de AC de raio R gerada com uma especificação baseada em Zright, Zleft e S. A próxima seção apresenta

(6)

começou a calcular as pré-imagens utilizando o algoritmo reverso e a chave secretaτ e ele falha na k-ésima pré-imagem tal que K P. Nesta situação o processo de cifragem utiliza o algoritmo reverso modificado com bits extras para calcular a k-ésima imagem. Assim, a k-ésima pré-imagem possuirá N+2R células. O processo de cifragem volta a usar novamente o algoritmo reverso original (sem bits extras) para calcular o restante das pré-imagens. Note que com o aumento do tamanho do reticulado a probabilidade de existência de pré-imagem no próximo passo também aumenta. Se todos os cálculos de pré-imagens subseqüentes sucedem, o texto cifrado final possuirá um tamanho de N+2R. Se o cálculo da pré-imagem falha de novo, o processo de cifragem alterna para o algoritmo reverso modificado de novo, adicionando mais 2R bits ao reticulado. Se o processo falha em F pré-imagens (F P) o reticulado final possuirá N+2FR bits. Começando de um reticulado de N células, o tamanho do texto cifrado depois do cálculo de P pré-imagens é dado por:

N ≤ tamanho do texto cifrado ≤ N+2PR (2)

Portanto, é um modelo criptográfico de tamanho variável. Por exemplo, se N = 512, P = 64 e R = 5 o tamanho do texto cifrado estará situado entre 512 e 1152 bits. Entretanto, nós esperamos que na prática o tamanho do texto cifrado será próximo de 512 devido às características da regra utilizada como chave secreta. É importante notar que utilizando os mesmos parâmetros o texto cifrado obtido pelo modelo de Gutowitz possui exatamente 1152 bits – a pior e improvável situação no novo método proposto. A partir do texto cifrado o receptor precisa aplicar a regra de transiçãoτ para frente por P passos e o reticulado final será o texto original. Ele também precisa saber em quais pré-imagens falhas aconteceram para recuperar o texto original.

Quando nós começamos a implementar o método proposto, uma primeira dúvida veio a nós. Os testes realizados em [10] utilizaram a seguinte estratégia retrocedente: no cálculo de uma seqüência de 10 pré-imagens consecutivas para cifrar um texto original, suponha que uma falha ocorra na 8ª pré-imagem, por exemplo. Neste caso, o algoritmo rerocede para o último reticulado no qual há uma possibilidade de obter outra pré-imagem (isto é, a pilha relacionada a esta pré-imagem não está vazia). Suponha que neste exemplo a pilha associada a 5ª pré-imagem não está vazia. Então, o cálculo retrocede para tentar calcular outra 5ª pré-imagem. Se for possível, o cálculo tenta outra 6ª pré-imagem e assim por diante. Se outra 5ª pré-imagem não é possível, o cálculo retrocede mais se há alguma outra pré-imagem com uma pilha não-vazia. Então, quando nós tentamos calcular 10 pré-imagens consecutivas começando de um dado reticulado e este processo falha totalmente, podemos afirmar que todas as possíveis trajetórias para trás foram avaliadas e é realmente impossível encontrar 10 pré-imagens consecutivas começando deste reticulado. Utilizando este procedimento retrocedente o número de reticulados possíveis de serem cifrados pelo algoritmo reverso original é aumentado. Entretanto, durante os experimentos, nós percebemos que este procedimento consome muito tempo (como esperado) e possui baixo retorno real para o desempenho final das regras. Na maioria dos casos, as outras opções armazenadas na pilha não retornam a uma nova pré-imagem, mas para ter esta confirmação nós realizamos cálculos extras. Além disso, com o aumento do tamanho do bloco, este comportamento ineficiente é mais provável. Então, para decidir se, em um caso de falha de pré-imagem, é melhor mudar imediatamente para o método com bits extras ou retroceder para recalcular a última pré-imagem com pilha não-vazia, duas séries de experimentos foram realizadas aplicando apenas o algoritmo reverso original. O primeiro tipo de experimento utiliza a estratégia retrocedente enquanto o segundo apenas interrompe o processo de cifragem quando uma falha ocorre em qualquer pré-imagem. A Tabela 1 mostra os resultados destes experimentos quando os métodos foram aplicados a 100 textos originais de cada um destes tamanhos: 128, 256 e 512 bits. Foram usadas amostras de regras com raios 2 e 3 geradas (150 de cada raio) com a especificação Zleft = 1 e tanto S e quanto Zright entre 0,25 e 0,5; os

(7)

Considerando regras de raio 2, o procedimento retrocedente não retorna um aumento de desempenho considerável e para regras de raio 3, esta observação pode ser feita começando de reticulados de 256 bits. Como o processo de cifragem consome muito tempo e pela simplicidade do método, nós decidimos implementar o método de texto cifrado de tamanho variável utilizando o método do não-retrocedente. Isto é, quando uma falha ocorre em um cálculo de pré-imagem utilizando o algoritmo reverso, o método muda para o cálculo da variação utilizando bits extras sem tentar retroceder para encontrar outra pré-imagem de ordem menor. O ambiente computacional utilizado para realizar os experimentos reportados na Seção 5 foi implementado desta maneira. Tabela 1. Desempenho percentual no cálculo de pré-imagens utilizando os métodos retrocende e não-retrocedente: regras com Zleft = 1, 0,25 < Zright ≤ 0,5 e 0,25 < S ≤ 0,5

Raio Método 128 bits 256 bits 512 bits 2 não-retrocedente 94,88 99,53 99,99

retrocedente 95,20 99,53 99,99 3 não-retrocedente 31,26 73,30 96,98 retrocedente 44,95 76,24 96,97

5. EXPERIMENTOS

Um ambiente computacional foi implementado para analisar o desempenho do método proposto e para executar uma avaliação mais profunda na especificação de regras, começando da informação apresentada em [10] que utiliza Zleft, Zright e S. Regras com valores extremos dos

parâmetros ( Zright ≤ 0.05, Zright ≥ 0.95, S ≤ 0.05 e S ≥ 0.95) foram excluídos devido a apresentarem

baixa performance em relação a existência de pré-imagem ou entropia. Uma amostra de regras com Zleft = 1 foi gerada contendo 150 regras para cada raio analisado (raios 2 e 3). Essas regras foram

geradas com Zright especificado no seguinte intervalo 0.25 < Zright ≤ 0.5 como sugerido em [10]. Esta

amostra regras foi utilizada no processo de cifragem utilizando amostras de textos originais com três diferentes tamanhos: 128, 256 e 512 bits. Para cada tamanho, a amostra é composta de 100 reticulados iniciais gerados aleatoriamente (distribuição Gaussiana). Nós definimos o número de passos (P) de pré-imagem como uma função do tamanho do bloco (N) e do raio da regra (R):

P = N/R (3)

Os resultados são apresentados na Tabela 2. O objetivo desta investigação é determinar qual é o tamanho médio dos reticulados finais (textos cifrados), relacionado com o número médio de falhas ocorridas durante a cifragem. Aplicando o método descrito na Seção 4, qualquer regra com Zleft = 1 é capaz de completar o processo de cifragem começando de qualquer reticulado inicial,

independentemente do número de passos de pré-imagem previamente estabelecido. Entretanto, o tamanho final do texto cifrado pode estar entre N (melhor caso) e N+2PR (pior caso) como dado pela Equação (2). Nós queremos avaliar se o tamanho final esperado é realmente próximo ao melhor caso. A Tabela 2 apresenta o desempenho médio da amostra: o tamanho médio do reticulado final ou texto cifrado (Lmean) e o número médio de falhas ocorridas durante o processo de cifragem

(Fmean). A Tabela 2 mostra Lmean e Fmean para cada tamanho de raio e para cada tamanho de texto

(8)

Tabela 2. Desempenho dos grupos para análise de regras dos tipos R2 e R3 R N P Lmean Fmean 2 128 64 129.58 0.395 256 128 256.19 0.047 512 256 512.01 0.002 3 128 43 149.78 3.630 256 85 267.07 1.845 512 171 513.74 0.290

Portanto, a análise sobre as regras de raio 2 (vizinhança 5) indica que utilizando regras com Zright entre 0.25 e 0.5 o número de falhas esperadas é muito baixo (abaixo de 0.5), fazendo com que

o tamanho dos textos cifrados começando de textos originais com 256 ou 512 bits seja muito próximo ao tamanho original. Analisando os resultados das regras de raio 3 (vizinhança 7), pode-se observar que o tamanho final dos textos cifrados tendem a crescer quando comparados com as regras de raio 2, mesmo que o número de pré-imagens usado seja menor com as regras de raio 3. Somente usando textos originais de 512 bits é que o número esperado de falhas é abaixo de 0,5 e o tamanho final esperado do texto cifrado é próximo ao original: 513.74.

6. OBSERVAÇÕES FINAIS

Nós investigamos um novo modelo criptográfico baseado na aplicação do algoritmo reverso [12] no processo de cifragem e o uso de regras caóticas de autômatos celulares como chaves secretas. A idéia geral deste método foi proposta em um trabalho anterior [10], mas ele ainda não havia sido implementado e testado. Além disso, nós refinamos o método anterior, especialmente nas investigações sobre o método não-retrocedente e sobre a correta especificação das chaves secretas. Basicamente, este método alterna durante o processo de cifragem o emprego do algoritmo reverso original [11] com a variação do mesmo – inspirado no cálculo utilizado no modelo de Gutowitz [8] – o qual adiciona bits extras quando uma pré-imagem é calculada. O texto original é cifrado utilizando-se este método para calcular P pré-imagens consecutivas utilizando a regraτ . A regra de transiçãoτ deve possuir Z = 1 para garantir que o método de cifragem sucederá para qualquer texto original. Como o número de falhas na tentativa de calcular pré-imagens consecutivas utilizando o reverso original é variável, o tamanho do texto cifrado final também pode variar. Começando do texto cifrado, o receptor precisa aplicar a regra de transiçãoτ para frente por P passos e o reticulado final será o texto original. O método de cifragem resultante possui vantagens em relação ao algoritmo reverso original [11] e ao cálculo de pré-imagem de Gutowitz [8]:

 Possui 100% de garantia de sucesso na cifragem de qualquer reticulado inicial para qualquer

número de passos de pré-imagem, enquanto o algoritmo reverso original pode falhar neste processo se um estado Jardim-do-Eden é encontrado durante o processo de cifragem.

 Retorna um tamanho de texto cifrado igual ou próximo ao do texto original, enquanto o

cálculo de pré-imagem no modelo de Gutowitz retorna um aumento significante no tamanho do reticulado durante o processo de cifragem – equivalente a pior e improvável situação utilizando o método proposto.

(9)

de regras/chaves foi melhor investigada aqui, utilizando uma amostra de regras formada utilizando a especificação sugerida em [10]: 0,25 < Zright ≤ 0,5 e Zleft = 1. Utilizando as regras da amostra foi

possível obter um tamanho de texto cifrado final muito próximo do tamanho do texto original. Estas conclusões foram obtidas através de experimentos envolvendo textos originais de 128, 256 e 512 bits e aplicando-se regras de AC com raios 2 e 3. Nós sugerimos o uso de blocos de 256 ou 512 bits.

Um aspecto que deve ser melhor investigado em trabalhos futuros é relacionado ao número de pré-imagens P. Nós estabelecemos este valor de um modo intuitivo: (i) quanto maior for o tamanho do reticulado N maior é o número de pré-imagens P necessárias para propagar qualquer perturbação; (ii) quanto maior for o raio R menor é o número de pré-imagens P necessárias para propagar qualquer perturbação. Assim nós estabelecemos P pela Equação (2). Por outro lado, o valor de P é determinante para o tempo gasto final e para o número final de falhas. Nós pretendemos realizar uma investigação específica para redução de P.

7. AGRADECIMENTOS

G.M.B.O agradece ao CNPq e a FAPEMIG pelo suporte financeiro.

8. REFERÊNCIAS

[1] Wolfram, S. (1986) Cryptography with cellular automata, In: Proceedings of International

Cryptology Conference (Crypto'85). LNCS (Springer-Verlag), 218:429-432.

[2] Wolfram, S. (1986) Random Sequence Generation by Cellular Automata. In: Advances in

Applied Mathematics, 7: 123-169.

[3] Tomassini, M. and Perrenoud, M. (2000) Stream Ciphers with One and Two-Dimensional

Cellular Automata. In: Proceedings of Parallel Problem Solving from Nature (PPSN VI). LNCS (Springer-Verlag), 1917:722-731.

[4] Seredynski, F., Bouvry, P. and Zomaya, A.Y. (2003) Secret key cryptography with cellular

automata. In: Proceedings of Workshop on Nature Inspired Distributed Computing (IPDPS2003: International Parallel & Distributed Processing Symposium), 149-155.

[5] Benkiniouar, M. and Benmohamed, M. (2004) Cellular Automata for Cryptosystem. In:

Proceedings of IEEE Conference Information and Communication Technologies: From Theory to Applications, 423-424.

[6] Kari, J. (1992) Cryptosystem based on reversible cellular automata. Personal communication.

Apud in (Seredynski, Bouvry and Zomaya, 2003).

[7] Nandi, S., Kar, B. and Chaudhuri, P. (1994) Theory and Applications of CA Automata in

Cryptography, IEEE Transactions on Computers, 43:1346-1357.

[8] Gutowitz, H. (1995) Cryptography with Dynamical Systems. In: Cellular Automata and

Cooperative Phenomena, E. Eds: Goles and N. Boccara, 1:237-274, Dordrecht: Kluwer Academic Press.

[9] Oliveira, G.M.B., Coelho, A.R. e Monteiro, L.H.A. (2004) Cellular Automata Cryptographic

Model Based on Bi-Directional Toggle Rules, International Journal of Modern Physics C, 15:1061-1068.

[10]Oliveira, G.M.B., Macêdo, H.B., Branquinho, A.A.B. and Lima, M.J.L. (2008) A cryptographic

model based on the pre-image calculus of cellular automata. In: Automata-2008: Theory and Applications of Cellular Automata, ed: A. Adamatzky, R. Alonso-Sanz, A. Lawniczak, G. Juarez Martinez, K. Morita, T. Worsch, Luniver Press, 139-155.

[11]Wuensche, A., Lesser, M. (1992) Global Dynamics of Cellular Automata. ISBN:

(10)

[12]Langton, C.G. (1990). Computation at the Edge of Chaos: Phase Transitions and Emergent

Computation. Physica D, 42:12-37.

[13]Oliveira, G.M.B., de Oliveira, P. e Omar, N. (2001) Definition and applications of a

five-parameter characterization of 1D cellular automata rule space. Artificial Life, 7(3):277-301,

[14]Wuensche, A. (1999) Classifying Cellular Automata Automatically: Finding gliders, filtering,

and relating space-time patterns, attractor basins and the Z parameter. Complexity, 4 (3):47-66.

[15]Sen, S., Shaw, C., Chowdhuri, D., Ganguly, N. and Chaudhuri, P. (2002) Cellular Automata

based Cryptosystem (CAC). LNCS, 2513: 303-314.

[16]Biham, E. and Shamir, A. (1991) Differential Cryptanalysis of DES-like Cryptosystems. In:

Proceedings of Advances in Cryptology (Crypto'90). 2-21, Springer-Verlag.

[17]Stallings, W. (2003) Cryptography and Network Security: Principles and Practice.

ISBN:0-13-091429-0, New Jersey: Prentice Hall

A CELLULAR AUTOMATA-BASED CRYPTOGRAPHIC MODEL WITH

A VARIABLE-LENGTH CIPHERTEXT

Leonardo S. Alt

Laboratório de Inteligência Artificial, Faculdade de Computação, Universidade Federal de Uberlândia Av. João Naves de Ávila, 2121- Campus Santa Mônica, Bloco 5K - CEP: 38400-902 Uberlândia, MG leonardoalt@comp.ufu.br Giordano B. Ferreira giordanobsf@gmail.com Marcos Martins marcosvgmartins@hotmail.com Luiz G. A. Martins gustavo@facom.ufu.br Gina M. B. Oliveira gina@facom.ufu.br

Abstract: This paper is about the application of cellular automata (CA) rules in cryptography. In a

recent paper the application of the reverse algorithm proposed by Wuensche and Lesser was investigated as a cipher algorithm. The main conclusion of this previous analysis is that the simple adoption of the reverse algorithm is not able, since the only possible rules with 100% of guarantee of pre-image existence are not appropriate for ciphering. A new approach was proposed which alternates two different algorithms in the cipher process: the original reverse algorithm and a variation of this algorithm that uses extra bits, using the second method only when the pre-image calculus is not possible. Although this approach needs to add some bits to the ciphertext when a pre-image failure occurs, it is expected that in practice few failures happens and the ciphertext size will be close to the plaintext. In the resultant method, the ciphering always succeeds and the final length of the ciphertext is not fixed. Z and symmetry (S) parameters are employed to properly specify CA rules as secret keys. We have implemented and pruned the proposed cipher method and we submitted it to some tests to measure the final ciphertext length. The results show that this method has a good protection against differential cryptanalysis. Besides, using adequate rules the final length of the ciphertext is equal or very close to the original block size.

Referências

Documentos relacionados

Também ocorreram diferenças significativa nos intervalos de variação de temperatura entre os estratos da vegetação (Permanova F= 34,0; p&lt;0,001) e entre os sítios de

O TBC surge como uma das muitas alternativas pensadas para as populações locais, se constituindo como uma atividade econômica solidária que concatena a comunidade com os

O segundo Beneficiário será designado pelo Segurado na Proposta de Adesão, podendo ser substituído a qualquer tempo, mediante solicitação formal assinada pelo próprio Segurado, para

Entende-se que os objetivos desta pesquisa foram alcançados, uma vez que a medida de polaridade conseguiu captar espaços com maiores potenciais de copresença (espaços

O padre veio para eles e abraçou-se também, subitamente perturbado por uma analogia, assim dissera o italiano, Deus ele próprio, Baltasar seu filho, Blimunda

Os elementos caracterizadores da obra são: a presença constante de componentes da tragédia clássica e o fatalismo, onde o destino acompanha todos os momentos das vidas das

Telmo reage com espanto/admiração e de seguida interroga o Romeiro sobre o porquê de Deus não o poder ouvir, visto que Telmo naquele momento temia pela vida de

Em média, a Vivo forneceu a melhor velocidade de download para os seus clientes em 2020... A Vivo progrediu em especial a partir de abril