• Nenhum resultado encontrado

O Emprego de Operadores Diferenciais Para Implementação de Um Esquema de Criptografia RESUMO

N/A
N/A
Protected

Academic year: 2021

Share "O Emprego de Operadores Diferenciais Para Implementação de Um Esquema de Criptografia RESUMO"

Copied!
14
0
0

Texto

(1)

O Emprego de Operadores Diferenciais Para Implementação de Um Esquema de Criptografia

Vinicius Gadis Ribeiro1 Jorge Rodolfo Zabadal2 Cristiane Andrade Poffal3 Renato Leticia Garcia4 Flávio Tadeu Van der Laan5

RESUMO

O presente trabalho apresenta um esquema de criptografia de chave secreta, o qual emprega operadores diferenciais. O emprego desses operadores fora anteriormente empregado esquema Rafaella, proposto por Weber e Ribeiro. Por não se enquadrar nos problemas de Teoria dos Números, a criptanálise não é convencional: as alternativas de quebra se concentram na resolução de uma equação diferencial no qual não se dispõe de qualquer informação, ou na varredura do plano complexo. Para tanto, apresenta um estudo comparativo dos problemas empregados para esquemas de criptografia. Uma breve descrição dos problemas matemáticos - ou computacionais - nos quais se baseiam os esquemas de criptografia é relacionada, incluindo o problema empregado por esse esquema. Os experimentos realizados empregaram o processador algébrico Maple V.

Palavras-chaves: Segurança computacional, Criptografia, Criptografia de Chave Secreta, Equações Diferenciais, Operadores Diferenciais.

1

Doutorado em Ciência da Computação pela Universidade Federal do Rio Grande do Sul. Professor Adjunto da Faculdade de Informática, Centro Universitário Ritter dos Reis, UniRitter, Rua Orfanotrófio, 555, Alto Teresópolis, 90-840-440, Porto Alegre, RS, Brasil. End.: PROPEx – Pró-Reitoria de Pesquisa R. Orfanotrófio, 555 – Alto Teresópolis, CEP 90.840-440 - Porto Alegre-RS. Pode ser contatato pelo email:vinicius@uniritter.edu.br

2

Doutorado em Engenharia Mecânica pela Universidade Federal do Rio Grande do Sul. Professor Adjunto do Departamento de Engenharia Nuclear, Universidade Federal do Rio Grande do Sul, UFRGS, Av. Oswaldo Aranha, 99, 4º andar, Centro, 90046-900 Porto Alegre, RS, Brasil. Pode ser contatato pelo email: jorge.zabadal@ufrgs.br

3

Doutorado em Engenharia Mecânica pela Universidade Federal do Rio Grande do Sul. Professora Adjunta do Instituto de Matemática Estatística e Física, Universidade Federal do Rio Grande, FURG, Av. Itália, km 8, pav. J, sala 8, Campus Carreiros, 96202-900 - Rio Grande, RS, Brasil. Pode ser contatada no email: poffal@furg.br

4

Doutorado em Engenharia Mecânica pela Universidade Federal do Rio Grande do Sul. Professor Adjunto dos cursos de Curso de Engenharia de Energia e Curso de Engenharia de Bioprocessos e Biotecnologia, UERGS - Universidade Estadual do Rio Grande do Sul, Rua Inconfidentes, 395 - 93340-140 - Primavera - Novo Hamburgo. RS, Brasil. Pode ser contatado pelo email: renato-garcia@uergs.edu.br

5Doutorado em Engenharia de Instrumentação pela Universidade Federal do Rio Grande do Sul. Professor Associado do Departamento de Engenharia Nuclear, Universidade Federal do Rio Grande do Sul, UFRGS, Av. Oswaldo Aranha, 99, 4º andar, Centro, 90046-900 Porto Alegre, RS, Brasil. Pode ser contatado pelo email: ftvdl@ufrgs.br

(2)

The Get of Distinguishing Operators for Implementation of a Criptography Project

ABSTRACT

This work presents a new secret key cryptographic scheme using differential operators. These operators have already been employed by Rafaella scheme, proposed by Weber and Ribeiro. Cryptanalysis is not conventional, because the problem is not related to number theory, but in differential equations. Another way to break it would be a complete scan in complex plain. It is present a comparative study of inverse problems of cryptography schemes. A brief description of mathematical/computational problems of encryption schemes is related, including the problem employed by this scheme. Experiments have been conducted using Maple V algebraic system.

Key-words: Computer Security, Cryptography, Secret Key Cryptography, Differential Equations, Differential Operators.

1. Introdução

As operações para realizar criptografia podem ser relacionadas com um problema de difícil solução - podendo o mesmo ser oneroso do ponto de vista computacional ou matemático. Esse problema, via de regra, deve ter duas características básicas: ser de rápida execução, para usuários autorizados, e o problema inverso deve ser de difícil resolução - o que inviabilizaria a exposição da informação sensível a adversários.

Entende-se como problema inverso ao trabalho ao qual um adversário é exposto, para tentar obter a informação sensível ou texto legível. Normalmente, está relacionado com os esquemas de criptografia de chave pública e envolve a descoberta da chave privada. Tais esquemas tipicamente implementam operações que são rápidas para um usuário autorizado efetuar, mas resolver o problema inverso é extremamente oneroso.

O presente trabalho apresenta um esquema de criptografia de chave secreta, o qual emprega operadores diferenciais. Para melhor entendimento do desafio a que o adversário é submetido, são apresentados alguns esquemas de chave pública, pela ótica de seus problemas computacionais - considerados por alguns autores como problemas matemáticos. Assim, a seção dois apresenta brevemente os esquemas atualmente empregados, em termos de seus problemas inversos. Já na seção 3 é brevemente descrito o esquema Rafaella, e explanado o problema inverso do mesmo. A seção seguinte apresenta a adaptação proposta para o esquema de criptografia de chave secreta. Na seção 5, são apresentadas as considerações finais e os trabalhos futuros.

(3)

2. Criptografia De Chave Pública: Problema Inverso

Com o intuito de apresentar a dificuldade da criptanálise do esquema proposto, é mister que se esclareça o problema inverso do esquema que o originou – Rafaella, proposto por Ribeiro e Weber (RIBEIRO, 2005; RIBEIRO;WEBER, 2004; RIBEIRO;WEBER, 2004c), e inicialmente implementado por Kunst e Ribeiro (KUNST; RIBEIRO, 2004). A seguir, são relacionados os principais trabalhos.

Basicamente, os esquemas de criptografia de chave pública baseiam-se em problemas matemáticos de difícil solução. Dentre aqueles que são atualmente implementados, observa-se que a maioria dos esquemas determinísticos baseados em problemas matemáticos é calcada no problema da fatoração de números compostos, mochilas ou logaritmos discretos.

Os esquemas baseados em problemas de fatoração de números inteiros podem ser resumidos na seguinte situação: tendo-se dois números primos, é fácil calcular o produto desses. Contudo, dado o produto resultante, não é um problema fácil determinar os seus números primos compostos. Assim, diz-se que o problema inverso é a fatoração de dado número público. A mais conhecida implementação de esquemas baseados nesse problema é o RSA, proposto por Rivest, Shamir e Adleman, em 1978 - embora se destaquem ainda os esquemas Rabin, e Williams, entre outros (SCHNEIER, 1996). Stallings (STALLINGS, 1999) lista os principais ataques efetuados contra esse esquema, destacando ataques matemáticos e relacionados com tempo.

Já esquemas baseados em problemas de mochilas podem ser descritos da seguinte forma: determinar os valores que, somados, resultou em um determinado valor. A soma desses pesos é de fácil realização; contudo, o problema inverso não é de fácil resolução. Destacam-se aqui os esquemas Merkle-Hellman e Chor-Rivest (MENEZES; OORSCHOT; SCHNEIER, 1996 VANSTONE,1996;).

Os esquemas baseados em problemas de logaritmos discretos podem ser classificados em dois grupos: os problemas de logaritmos discretos em campos finitos, e alguns dos problemas de logaritmos discretos em curvas elípticas. Os primeiros podem ser apresentados do seguinte modo: dados um número primo p, um número g e o número y, resultante do cálculo y = ga mod p, não é um problema fácil determinar o expoente a. O esquema mais conhecido é o ElGamal - embora tenha sido projetado para assinaturas digitais, pode ser também empregado para criptografia de dados (MENEZES; OORSCHOT; VANSTONE,1996; SCHNEIER, 1996). O esquema Diffie-Hellman também pode ser aqui enquadrado, com algumas reservas - visto constituir problema próprio. Ainda nesse âmbito, há um esquema proposto por William Raike, que não é baseado explicitamente em um problema matemático, mas é baseado em

(4)

características específicas de uma máquina de estados que são equivalentes ao problema do logaritmo discreto (NICHOLS, 1999). Os esquemas de chave pública baseados em problemas de logaritmos discretos em curvas elípticas também podem aqui ser enquadrados.

Assim, pode-se observar que a maioria dos problemas inversos na qual são baseados os esquemas supra mencionados têm ao menos um aspecto em comum: baseiam-se em problemas da Teoria dos Números - habitualmente, esforços computacionais com o intuito de efetuar a determinação de um número, que pode ser a chave privada, por exemplo. Contudo, esquemas baseados na Teoria dos Números não constituem exclusividade: Jacques Patarin sugeriu, em 1993, um esquema cujo problema matemático de dificuldade é a resolução de um sistema de equações polinomiais multivariáveis. Sabe-se que sistemas de equações podem gerar zero, uma ou um indeterminado número de soluções. Baseado nisso, esquema similar já havia sido proposto anteriormente, por Matsumoto e Imai, em 1983.

Há esquemas que empregam características da Álgebra Linear. Um exemplo é o esquema McEliece, o qual emprega um caso especial de problema NP, para fins de decifragem da mensagem cifrada. O problema em questão é a decodificação de um código de detecção de erros linear. A chave pública é um código linear; a chave privada é um código Goppa (RIBEIRO;WEBER, 2004b). O objeto que se trabalha, tipicamente, são matrizes unidimensionais - vetores -, para os quais a mensagem deve ser codificada. O algoritmo que realiza essas operações é citado na literatura como sendo de duas a três vezes mais rápido do que o RSA (BLAKE, 1999; STINSON, 1995). Um dos problemas tipicamente relatados nesse esquema é a considerável expansão de dados na transformação para o texto codificado.

Na próxima sessão, é apresentado o esquema Rafaella - o qual é baseado em problemas de área diferente das aqui apresentadas, pois trata de problemas da área das Equações Diferenciais.

2.1. Equações Diferenciais e o Esquema Rafaella

O esquema Rafaella foi proposto em 2004 por Ribeiro (RIBEIRO, 2005; RIBEIRO;WEBER, 2004c), constituindo-se na alternativa mais simples para realizar mapeamentos sobre equações diferenciais. É baseado na teoria dos grupos de Lie - os quais empregam os operadores diferenciais propostos pelo matemático Marius Sophus Lie, para resolução de equações diferenciais.

Esquemas propostos por Lie para trabalhar equações diferenciais baseiam-se fortemente em simetrias. Simetrias, no contexto de equações diferenciais, são

(5)

transformações que preservam a forma da equação diferencial, modificando apenas as variáveis - o que permite transformar uma solução de uma equação diferencial em outra solução da mesma equação diferencial. Dada uma função transladada, identificar a equação diferencial por ela satisfeita é um problema cuja solução tem elevada dificuldade (OLVER, 2000).

Basicamente, o esquema Rafaella trata de efetuar operações sobre funções - ou seja, translações gerando as simetrias supracitadas -, gerando outras funções. Contudo, foi observado que trabalhar diretamente com o gerador do grupo de simetria (BLUMAN; KUMEI, 1989) não é tarefa de simples realização. Assim, ao se propor o esquema Rafaella, objetivou-se torná-lo o mais simples possível. E, como a aplicação de um operador diferencial tem a mesma conseqüência de efetuar mudanças de variável nos argumentos da função, foi escolhida uma transformação específica que realiza uma translação no plano complexo. Essa transformação é conseqüência da aplicação da exponencial de um operador de primeira ordem com coeficientes constantes e complexos. Dentre as funcionalidades projetadas para o esquema proposto, encontram-se a cifragem e a decifragem da mensagem.

2.2. Considerações sobre o processo de cifragem

É importante salientar que o emprego de simetrias de Lie corresponde à aplicação de operadores diferenciais sobre funções, o qual constitui o processo de cifragem a ser proposto no presente trabalho. No caso específico do esquema aqui proposto, esses operadores diferenciais possuem coeficientes constantes. O processo inverso, ou seja, a inversão do operador diferencial, e sua posterior aplicação sobre a função operada constituem o processo de quebra da mensagem cifrada, por parte do adversário.

A operação de criptografar a mensagem equivale a aplicar o operador que transforme a função f - que representa a mensagem original -, tal que Af = g, sendo g, uma função correspondente a mensagem criptografada - ao passo que a operação de decifrá-la será denotada pela determinação de f, tal que f = A-1g.

O modo tradicional de se descobrir a função f consiste, portanto, em se obter a solução da equação Af = g, através da inversão do operador A. Ocorre que o processo de inversão do operador A requer um número elevado de operações simbólicas (ZWILLINGER, 1992), o que demanda alto tempo de processamento; assim, o procedimento clássico deve ser evitado.

O procedimento alternativo consiste em empregar operadores diferenciais particulares, para proceder à codificação e à decodificação da mensagem.

(6)

Considere-se A, o operador diferencial que efetua a translação sobre o plano complexo, correspondente a partir da chave privada de Alice, e B, o operador diferencial que efetua a translação sobre o plano complexo, correspondente à partir da chave privada de Bob, do mesmo modo que Alice. A mensagem a codificar deve ser expressa na forma de uma função, f. Alice procede do modo se segue:

g = Af g1 = Bg g2 = A-1g1 g3 = B-1g2 = f .

Pode-se demonstrar da seguinte maneira:

g = Af g1 = Bg = BAf g2 = A-1g1 = A-1BAf g3 = B-1g2 = B-1A-1BAf

Assumindo-se que A e B comutam, tem-se que g3 = B-1B A-1A f, e A-1A = B-1B = I. Portanto, g3 = I If = If = f. É necessário, assim, que os operadores A e B comutem ou anticomutem entre si - ou seja, AB=+/-BA.

2.3. Características gerais do esquema Rafaella

As principais dificuldades encontradas nos diversos processos de resolução de equações diferenciais estão relacionadas à elevada quantidade de memória requerida, e o elevado tempo de processamento necessário para a obtenção de soluções numéricas (ORTEGA; POOLE, 2000, TIKHONOV, 1990). Quanto aos métodos analíticos, a manipulação algébrica de expressões envolve duas dificuldades básicas:

1 - o crescimento exponencial do string função(ou tamanho da expressão); e

2 - a aplicação de determinados operadores sobre expressões analíticas (como exemplo, integrais iteradas).

(7)

expressões. Em qualquer dos programas aplicativos de computação simbólica (por exemplo, MAPLE, Mathematica, SimbMath, Derive e outros), os comandos de simplificação limitam-se a expandir expressões, freqüentemente gerando funções com maior número de elementos do que a expressão original a ser simplificada.

Do ponto de vista matemático, a grande dificuldade encontrada na resolução de equações diferenciais consiste na aplicação de operadores inversos. Ocorre que, na grande maioria dos métodos analíticos convencionais, operações dessa natureza são efetuadas recursivamente, produzindo expressões excessivamente extensas. A fim de ilustrar o argumento, os métodos espectrais baseados em operações simbólicas requerem, em média, cerca de 1.000 aplicações de operadores diferenciais análogos ao acima apresentado, produzindo expressões finais contendo entre 5.000 e 150.000 vezes mais elementos do que havia na expressão original.

Por outro lado, as regras de manipulação de operadores diferenciais obtidos através dos grupos de Lie para a resolução de equações diferenciais parciais reduzem significativamente o número de operações simbólicas necessárias para a obtenção da expressão final, uma vez que dispensa inversão desses operadores diferenciais (RIBEIRO;WEBER, 2004c). O recurso que evita a aplicação recursiva de operadores diferenciais sobre expressões analíticas é baseado no emprego das chamadas simetrias de Lie (OLVER, 2000) das soluções particulares das equações diferenciais.

2.4. Dificuldades para o problema inverso no esquema Rafaella

Existem, basicamente, dois argumentos que justificam a viabilidade do método como base para um esquema de chave pública: o primeiro reside no elevado número de operações simbólicas necessárias para que um adversário possa restaurar a mensagem original a partir da mensagem cifrada. O segundo argumento se refere às dificuldades encontradas na execução desse processo. Na ausência das chaves privadas, o adversário deve proceder da seguinte maneira, para decodificar a mensagem:

I) inferir a forma do operador diferencial presente na equação diferencial satisfeita por f0(x);

II) encontrar o sistema de equações determinantes, empregadas na obtenção dos coeficientes variáveis presentes nos geradores infinitesimais dos grupos de simetria;

III) resolver o sistema obtido, empregando bibliotecas de mapeamento e resolução de equações diferenciais parciais;

(8)

IV) encontrar uma solução particular da equação diferencial, para dar início ao processo de mapeamento;

V) mapear a solução particular, utilizando a exponencial de uma combinação linear dos geradores infinitesimais obtidos;

VI) inferir e aplicar as condições iniciais e de contorno - ou de passagem por pontos -, que estabelecem a unicidade da solução;

VII) recuperação da mensagem original, conforme a codificação empregada.

A construção das equações determinantes requer, em média, cerca de 250 operações simbólicas, para equações bidimensionais de segunda ordem com coeficientes variáveis. Isso ocorre porque se faz necessário calcular os prolongamentos de segunda ordem dos geradores infinitesimais do grupo de simetria (IBRAGIMOV, 1995) e, em seguida, aplicar o critério de invariância infinitesimal (OLVER, 2000). É importante salientar que o número de operações simbólicas requeridas para a obtenção das equações determinantes cresce exponencialmente com o aumento da ordem do prolongamento utilizado - que é da mesma ordem da equação diferencial a solucionar.

O número de operações simbólicas exigidas para a resolução do sistema de equações determinantes varia, essencialmente, com o grau de acoplamento do sistema obtido. Em geral, o número de operações simbólicas necessárias para resolver um sistema de equações determinantes produzidas por equações bidimensionais parciais de segunda ordem com coeficientes variáveis é de ordem elevada. Ocorre que o número de operações simbólicas cresce com o quadrado do número de equações que, por sua vez, cresce linearmente com a ordem da equação diferencial a solucionar.

A obtenção de uma solução particular para a equação diferencial pode ser obtida de duas maneiras: utilizando comandos que efetuam a resolução direta da equação em formas especiais, ou encontrando as equações determinantes para a forma especial estabelecida. No primeiro caso, a solução pode ser obtida imediatamente, em uma única linha de comando. Caso a resolução direta não seja possível, deve-se retornar ao passo I), e efetuar todas as etapas do roteiro estabelecido para a forma especial da equação diferencial.

O mapeamento da solução também pode ser obtido de três formas: através do emprego de regras de manipulação para exponenciais de operadores, através do uso de expansões desses operadores em séries de Taylor, ou da resolução de equações diferenciais auxiliares. Caso haja regras disponíveis para a manipulação das exponenciais dos geradores infinitesimais obtidos, o número de operações resultantes é bastante reduzido - sendo freqüentemente da ordem do número de

(9)

geradores infinitesimais (ou seja, da dimensão do grupo de Lie correspondente). O número de operações exigidas para obtenção das expansões da série de Taylor depende unicamente do raio de convergência da série, sendo proporcional ao número de termos utilizados. Já a resolução de equações auxiliares também requer a execução do algoritmo por completo.

A aplicação das condições iniciais e de contorno ou de passagem por pontos -, consistem basicamente na determinação de constantes arbitrárias contidas na solução mapeada, através da resolução de equações algébricas.

Embora o crescimento exponencial do número de operações simbólicas requeridas com aumento da ordem da equação diferencial seja suficiente para justificar a viabilidade do método, existem dificuldades adicionais na execução do próprio processo supra apresentado - de tentativa de quebra da cifragem por um adversário. Em primeiro lugar, a própria equação diferencial a solucionar não é fornecida como chave pública - de modo que se torna necessário inferir sua estrutura a partir de um processo de tentativa e erro. Além disso, as condições iniciais, de contorno, e passagem por pontos também não são fornecidas. Na hipótese extremamente improvável do adversário encontrar a solução geral da equação, torna-se necessário, ainda, escolher dentre as diversas famílias de superfícies que a representam, uma superfície que obedeça às condições de contorno implicitamente aplicadas. Isso implica a execução de um novo processo de tentativa e erro semelhante ao aplicado na determinação da forma da equação diferencial - portanto, extremamente oneroso. Ademais, não existe nenhum procedimento sistemático para orientar o processo de tentativa e erro em ambos os casos apresentados. Igualmente, a solução de problemas auxiliares que surgem durante a execução dos passos do algoritmo exige, com freqüência, a reaplicação recursiva dos cinco primeiros passos do algoritmo proposto. Esse procedimento efetuado em laço aumenta significativamente o número de operações simbólicas requeridas, uma vez que a cada aplicação recursiva desdobra exponencialmente esse número de operações.

A seção seguinte apresenta a otimização do esquema Rafaella para fins de cifragem de chave secreta.

2.5. Otimização Do Esquema Rafaella Para Criptografia De Chave Secreta

Uma limitação do esquema Rafaella se refere ao elevado número de interações necessárias ao envio de cada mensagem. Esse fato justifica o estudo em questão: empregar os operadores diferenciais para criptografia, de modo otimizado. Assim, é

(10)

proposta aqui a melhoria que, de forma simples, atende a esses requisitos.

Para tanto – como em qualquer esquema de criptografia de chave secreta -, Alice e Bob previamente acordam a chave secreta. O processo de cifração é simples: Alice efetua uma translação, aplicando a chave secreta e Bob a retira. O processo de cifração consiste na aplicação de um deslocamento no argumento da função que representa a mensagem, de modo que se f(x) descreve a mensagem original – então, f(x+z) representa a respectiva mensagem cifrada. O deslocamento z representa um número complexo que, no esquema proposto, representa a forma das chaves privadas dos participantes. A dificuldade da resolução do problema inverso concentra-se na obtenção das partes real e imaginária do deslocamento z, que pode ser efetuada através de método de força bruta, ou da resolução de um problema de contorno. A segunda alternativa envolve a resolução de equações diferenciais. Dentre os métodos disponíveis para a resolução de equações diferenciais, o emprego dos chamados grupos de Lie constitui, via de regra, a estratégia mais apropriada para a obtenção de soluções analíticas, que demandam menor tempo de processamento do que as formulações numéricas. Mesmo assim, a solução obtida através da utilização dos grupos de Lie requer elevado número de operações simbólicas. Assim, o objeto a ser transformado é uma função - a mensagem poderia ser, por exemplo, os coeficientes dos termos que compõe a função.

O processo – aqui empregado de forma simplificada, ilustrado pelo o código comentado empregando processador algébrico Maple V, com o emprego de expoentes de pequeno valor e a função base a apenas uma variável - é ilustrado na seqüência do quadro a seguir:

m0 é a função correspondente à mensagem original. Os coeficientes de seus termos correspondem aos códigos ASCII dos caracteres originais da mensagem - BRASIL. > m0:= 66*exp(8.7564*x)+82*exp(3.456*x)+65*exp(2.45*x)+83*exp(0.456*x)+73*exp(9.04*x)+76*exp (2.709*x); m0 := 66 e(8.7564 x) + 82 e(3.456 x) + 65 e(2.45 x) + 83 e(0.456 x) + 73 e(9.04 x) + 76 e(2.709 x) > ca:=27-9*I; ca := 27 - 9 I > cpa:=expand((x-ca)^7); cpa := -1309470624 x + 14880348 x2 + 6429780 x3 - 459270 x4 + 13608 x5 - 189 x6 + x7 + 63 I x6 - 10206 I x5 + 663390 I x4 - 22044960 I x3 - 3482001432 I x + 391849164 I x2 + 9527674248 + 11746971864 I( )

(11)

ca é a Chave secreta empregada por Alice e Bob. Deve ser da forma ca = A + Bi, onde "i" é a unidade imaginária. A e B têm que ser números inteiros, diferentes de ZERO (não serão empregados números com ponto flutuante, em razão do erro de arredondamento envolvido nas operações de cifragem e decifragem). O valor do expoente – 7 – foi definido para evitar a descoberta por determinação do valor dos coeficientes do polinômio gerado.

No MAPLE, sempre o "i" é grafado em letra maiúscula. O efeito de aplicar-se um número complexo como deslocamento no argumento de uma função é similar a aplicar-se um determinado operador diferencial.

> f0:=m0+cpa;

f0 := 66 e(8.7564 x) + 82 e(3.456 x) + 65 e(2.45 x) + 83 e(0.456 x) + 73 e(9.04 x) + 76 e(2.709 x) - 1309470624 x + 14880348 x2 + 6429780 x3 - 459270 x4 + 13608 x5 - 189 x6 + x7 + 663390 I x4 - 3482001432 I x - 22044960 I x3 + 391849164 I x2 - 10206 I x5 + 63 I x6 + 9527674248 + 11746971864 I( )

f0 é uma função construída por Alice, a partir da função correspondente à mensagem original, e da chave secreta expandida.

f0 deve ficar mantida com Alice.

> f1:=expand(convert(subs(x=x+ca,f0),sincos));

f1 := -3.026219484 10104 e(8.7564 x) + 2.613489379 1042 e(3.456 x) - 3.473288135 1030 e(2.45 x) - 1.054783024 107 e(0.456 x) + 6.967719769 10107 e(9.04 x) + 3.236201988 1033 e(2.709 x) + x7 + 8.303144144 10103 I e(8.7564 x) + 8.427275866 1041 I e(3.456 x) + 2.046442714 1029 I e(2.45 x) + 1.514353661 107 I e(0.456 x) + 2.319929222 10107 I e(9.04 x) + 3.025376826 1033 I e(2.709 x)

A partir de f0, Alice produz a FUNÇÃO cifrada f1, deslocando f0 da chave secreta . Bob recebe f1, e aplica um deslocamento de sua própria chave PRIVADA, gerando a f2. > f2:=evalc(Re(expand(subs(x=x-ca,f1)-cpa)));

f2 := 66.00000000 e(8.7564 x) + 82.00000001 e(3.456 x) + 65.00000004 e(2.45 x) + 82.99999999 e(0.456 x) + 73.00000000 e(9.04 x) + 75.99999998 e(2.709 x)

Finalmente, Bob desloca f2 da chave secreta, e subtrai a chave expandida, restaurando a função (mensagem) original.

Na próxima seção, são apresentadas as considerações finais e trabalhos futuros no que tange ao esquema aqui apresentado.

3. Considerações Finais

Pode-se observar que todos os esquemas apresentados possuem abordagem algorítmica - excetuando-se o esquema baseado nas translações de Lie.

No que tange esquema aqui proposto, pode ocorrer que um adversário, conhecendo os passos, busque quebrar o esquema de forma análoga à de esquemas de chave pública. É o que se chama de problema inverso, comum aos esquemas de chave pública. Assim, o adversário tentaria determinar a chave escolhida por uma das partes.

(12)

Para tanto, o oponente deveria empregar a varredura de todo o plano complexo - o que constitui um processo de tentativa e erro, também chamado de método de força bruta. A opção aqui empregada - ou seja, a partir de números complexos - é a de maior facilidade de entendimento e de implementação dentre as outras possíveis mudanças de variável, sendo equivalentes ao emprego de operadores diferenciais - o que pode ser demonstrado utilizando séries de Taylor. Contudo, outras formas podem ser empregadas, como a aplicação direta dos grupos de Lie (ZWILLINGER, 1992) - sendo os operadores conhecidos como operadores infinitesimais do grupo de simetria

O fato de os esquemas Rafaella e o aqui proposto necessitarem de um processador simbólico, ao invés de um simples algoritmo, constitui certa limitação no que tange ao imediato emprego comercial. Outra limitação é a expansão de dados que ocorre nas transformações. É necessário tratamento especial, ao se considerar problemas de ponto flutuante, entre outros.

Existem diversas formas de construir chaves públicas, empregando equações diferenciais. Todas elas, contudo, resultam na obtenção de funções ou de operadores diferenciais. Entretanto, a escolha de uma chave na forma de um operador diferencial fornece uma contra-informação ao adversário, induzindo-o a concluir que se trata de um operador presente na própria equação diferencial satisfeita por g - o que, não necessariamente, é verdade. Versões anteriores do método proposto vinham utilizando, como chaves públicas, as próprias equações diferenciais satisfeitas pela função g. Nesse caso, a implementação de simetrias de Lie-Bäcklund - são aquelas cujos coeficientes dos geradores infinitesimais dependem não apenas das variáveis independentes, mas também da função incógnita e de suas derivadas (BLUMAN; KUMEI, 1989) -, constituiria um fator de segurança extra a ser empregado, uma vez que tornariam inviáveis as tentativas de determinação dos geradores infinitesimais do grupo de simetria associado àquela equação diferencial.

Assim, o esquema aqui proposto constitui-se em uma nova alternativa. Considerando-se que o esquema Rafaella foi proposto como um esquema de chave pública, a otimização aqui proposta, na forma de um esquema de chave secreta representa inovação. Maiores detalhes sobre a dificuldade de resolução do problema inverso – forma de atacar o esquema aqui apresentado - pode ser encontrado em Olver (OLVER, 2000).

Como trabalhos futuros, uma possibilidade é o desenvolvimento de protótipo em linguagem imperativa como prova de conceito, buscando comparar o desempenho computacional com implementações de outros esquemas de chave secreta – como Advanced Encryption Standard (AES), por exemplo.

(13)

4- Referências

BLAKE, I.; SEROUSSI, G. SMART, N. Elliptic curves in cryptography. London: Cambridge Press, 2000.

BLUMAN, G. W. & KUMMEI, S. Symmetries and differential equations. New York: Springer-Verlag, 1989.

IBRAGIMOV, N. Lie groups analysis of differential equations. Boca Raton: CRC, 1995.

KUNST, R.; RIBEIRO, V. G.. Implementação do Esquema de Criptografia de Chave Pública Rafaella. RESI. Revista Eletrônica de Sistemas de Informação, Campo Largo, v. 3, p. 1-8, 2004.

MENEZES, A.; OORSCHOT, P. van.; VANSTONE, S. Handbook of applied cryptography. Boca Raton, CRC Press, 1996.

NICHOLS, R. K.. ICSA Guide to cryptography. New York, McGraw Hill, 1999.

OLVER, P. Applications of lie groups to differential equations. New York: Springer, 2000.

ORTEGA, J.; POOLE Jr, W. G. Numerical methods for differential equations. Massachusetts: Pitman, 1981.

RIBEIRO, V. G. Considerações matemáticas para um novo esquema de criptografia de chave pública. In: SEPEsq - Semana de Extensão, Pesquisa e Pós-Graduação, 2005, Porto Alegre. Anais da Semana de Extensão, Pesquisa e Pós-Graduação do Centro Universitário Ritter dos Reis. Porto Alegre: Editora UniRitter, 2005.

RIBEIRO, V. G.; WEBER, Raul Fernando. Esquemas de criptografía de clave pública: elementos comuns y diferenciales. In: Congreso Argentino de Ciencias de la Computacion, 2004, Buenos Ayres. Anais do X Congreso Argentino de Ciencias de la Computacion. San Justo - Buenos Ayres: Universidad Nacional de La Matanza, 2004.

RIBEIRO, V. G.; WEBER, Raul Fernando. Problemas Computacionais para Esquemas de Criptografia de Chave Pública. In: 22o Simpósio Brasileiro de Redes de Computadores, 2004, Gramado. Anais do IV Workshop de Segurança em Sistemas Computacionais. Porto Alegre: II/UFRGS, 2004. p. 101-112.

RIBEIRO, V. G.; WEBER, Raul Fernando; CAMPELLO, R. Mecanismos de conhecimento zero empregados por esquemas de chave pública. In: XXX Conferencia Latinoamericana de Informática (CLEI2004), 2004, Arequipa. Anais da 30ma Conferencia Latinoamericana de Informática (CLEI2004. Arequipa: Sociedad Peruana de Computación, 2004. p. 644-650.

RIBEIRO, V. G.; WEBER, R. F. A cryptography method employing a new mathematical paradigm for public key schemes. Journal of computer science and technology (La Plata), La Plata, Argentina, v. 4, n. 3, p. 157-162, 2004.

(14)

STALLINGS, W. Cryptography and network security: Principles and Practice. Upper Saddle River, N. Jersey: Prentice Hall, 1999.

STINSON, D.R. Cryptography: Theory and Practice. New York: CRC, 1995.

TIKHONOV, A. et al. Numerical methods for ill-posed problems. Moscou: Nauka, 1990.

ZWILLINGER, D. Handbook of differential equations. San Diego: Academic Press, 1992.

Referências

Documentos relacionados

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

Código Descrição Atributo Saldo Anterior D/C Débito Crédito Saldo Final D/C. Este demonstrativo apresenta os dados consolidados da(s)

Para assegurar que a solução de cali‐ bração não alterou a condutibilidade devido a evaporação ou propagação, recomendamos vivamente que a conduti‐ bilidade da solução

A abordagem mais usual de fadiga, que utiliza a tensão nominal e a classificação de detalhes geométricos para previsão da vida em fadiga, não abrange conexões mais complexas e

Ninguém quer essa vida assim não Zambi.. Eu não quero as crianças

Para disciplinar o processo de desenvolvimento, a Engenharia de Usabilidade, também conceituada e descrita neste capítulo, descreve os métodos estruturados, a

A participação foi observada durante todas as fases do roadmap (Alinhamento, Prova de Conceito, Piloto e Expansão), promovendo a utilização do sistema implementado e a

ITIL, biblioteca de infraestrutura de tecnologia da informação, é um framework que surgiu na década de mil novecentos e oitenta pela necessidade do governo