Home
Aldeia Numaboa

Um portal diferente em Português
sem propaganda, sem Google ads e sem banners.

Faça a sua parte! NÃO JOGUE SEU VOTO FORA! NÃO dê seu voto a qualquer cidadão condenado ou sob suspeita!

Saiba quem são os parlamentares processados

Procurar por

Na Aldeia

Há 31 visitantes online

2615 registros
0 hoje
7 nesta semana
47 neste mês
Boas vindas: vasco

Estatística

Artigos: 773
Artigos lidos: 3346444
Arquivados: 10
Downloads: 413
Baixados: 155148
Glossário: 1139
Bibliografia: 24

Registro/Login

Para fazer login ou registrar-se

Usuários registrados têm algumas regalias!

Ter

07

Set

2004


22:00

Aldeia Numaboa
Algoritmo Posicional Imprimir Indique esta página
Avaliação: / 10
PiorMelhor 
Criptografia Numaboa - Cifras de Fluxo
Escrito por Neto   


Índice do Artigo
Algoritmo Posicional
Sobre o autor
Todas as páginas

A criação de um algoritmo criptográfico que fosse robusto o suficiente para ser considerado seguro, mas não o bastante para consumir demasiado processamento computacional nem aumentar muito o tamanho da informação a ser criptografada, foi o que levou [CHIARAMONTE e MORENO] a apresentarem e publicarem seu Algoritmo Posicional em 2001. A preocupação básica era a de criar um método seguro, rápido e que não exigisse chaves muito grandes mesmo que para isso fosse necessário aceitar uma menor segurança se comparada à proporcionada pelos algorítmos de chaves assimétricas. A simplicidade do método permitiu um ganho de tempo considerável ao processo de encriptação e desencriptação e, apesar de apresentar uma fraqueza para textos longos, pode ser considerado válido e eficiente para várias aplicações justificando a sua análise.

Analisando o algoritmo

Trata-se de um algoritmo de chave simétrica – portanto com todas as implicações e limitações que isso significa – e considerado pelos autores como uma melhoria da Cifra de César. Para evitar que a Análise de Freqüências fosse utilizada, os autores propuseram que a posição da letra no texto da mensagem influenciasse a sua codificação tornando-a, assim, numa cifra polialfabética.

O método se baseia na implementação de uma função polinomial, de coeficientes conhecidos somente entre o transmissor e os receptores da mensagem criptografada (Chave Privada), e na posição da letra no texto como variável da função, usando para tanto os valores numéricos de referência constantes na Tabela ASCII. O Algoritmo básico assim proposto permitiria que se obtivessem textos cifrados seguros, rápidos e sem o aumento de um byte sequer na informação bastando, para tanto, que todos os que quisessem ler a mensagem obtivessem acesso à chave com a qual ela fora cifrada.

Para exemplificar o uso do Algoritmo vamos apresentar uma versão reduzida, baseada em um polinômio-chave de grau 5:

f(x) = p0 x5 + p1 x4 + p2 x3 + p3 x2 + p4 x + p5

onde:

p0, p1, p2, p3, p4 e p5 são os coeficientes que formam a Chave Privada
X é a variável da posição da letra no texto da mensagem
Cifrando

Para exemplificar o processo vamos adotar a chave 1-5-1-2-7-1 (onde cada um dos números representa um dos coeficientes do polinômio acima: p0, p1, etc...) e codificar o texto VIKTORIA:

Posição (x)	1	2	3	4	5	6	7	8
Mensagem	V	I	K	T	O	R	I	A
ASCII [1]	86	73	75	84	79	82	73	65
f(x) [2]	17	143	715	2429	6461	14587	29303	53945
[3] = [1] + [2]	103	216	790	2513	6540	14669	29376	54010
[3] MOD 256	103	216	22	209	140	77	192	250
Texto cifrado	g	Ø		Ñ	Œ	M	À	Ú

OBS:

f(x) = 1.x5 + 5.x4 + 1.x3 + 2.x2 + 7.x + 1 onde f(1) = 17, f(2) = 143...

Os coeficientes do polinômio-chave podem ser quaisquer não nulos, mas o tamanho deles influencia somente o tamanho da chave, a complexidade do resultado obtido só depende do grau do polinômio.

Notar que a letra I se repete no corpo da mensagem, mas não no texto cifrado.

O processo é o mesmo para cada letra da mensagem, apenas se alterando o valor x do polinômio em função de sua posição no texto.

O tempo necessário para a quebra da chave de um polinômio de grau 5 pelo Método da Força Bruta foi calculado pelos autores com a fórmula: 600 + (256grau-3 x 386) e variou entre um mínimo de 7 horas a 74 dias.

Cabe ressaltar que quanto maior o grau do polinômio mais seguro será o método contra ataques do tipo Força Bruta para tentativa de descoberta da chave. Sabe-se que algoritmos do tipo RSA são considerados seguros no caso de chaves maiores do que 22048 e para o Algoritmo Posicional, que tem sua expressão na forma 256n+1 (onde n é o grau do polinômio-chave), isso se verifica com n = 255.

Decifrando

O processo inverso é obtido por meio da mesma chave (algoritmo simétrico) e das mesmas operações bastante simples de serem implementadas em qualquer microcomputador, informando-se agora o texto cifrado:

Posição (x)	1	2	3	4	5	6	7	8
Texto cifrado	g	Ø		Ñ	Œ	M	À	Ú
ASCII [1]	103	216	22	209	140	77	192	250
f(x) [2]	17	143	715	2429	6461	14587	29303	53945
[3] = [1] - [2]	86	73	-693	-2220	-6321	-14510	-29111	-53695
ASCII [1]	86	73	75	84	79	82	73	65
Mensagem	V	I	K	T	O	R	I	A
Criptoanálise

Como já foi ressaltado antes o Algoritmo da Substituição utiliza a função MOD 256 o que introduz 256 classes de equivalência das chaves a serem obtidas, todavia tal tarefa é dificultada com a adoção de polinômios de grau maior do que 1 de modo a se obterem níveis de segurança bastante eficientes com graus relativamente baixos (n = 255 – equivalente ao RSA com chave de 2048 bits). Percebe-se então que a abordagem pela Força Bruta não é a mais adequada nem a recomendada.

Mas vamos nos ater um pouco na afirmação de que o algoritmo apresentado trata-se de uma cifra polialfabética. [OLIVEIRA] verificou que a utilização da função MOD associada à ordem na qual o caracter aparece no texto cria condições efetivas para se tentar quebrar o código a partir da análise de frequências o que foi sistematizado por [SIMAS JR.] que constatou, na verdade, que tal artifício cria não uma cifra polialfabética, mas uma sucessão de 256 cifras monoalfabéticas distintas usadas rotacionalmente e, portanto, podem ter suas análises verificadas individualmente.

Conclusão

Apesar de ser um algorítmo muito simples e bastante resistente à análise pela Força Bruta, da forma como ele foi originalmente apresentado, a Análise de Freqüências apresenta resultados satisfatórios para quebra de sua segurança quando o texto cifrado apresenta uma grande quantidade de caracteres para ser analisada. Podemos deduzir que algo em torno de duas palavras para cada uma das 256 cadeias cifradas já seja suficiente para uma primeira investida contra o conteúdo encriptado do texto numa tentativa de descobrí-lo. Assim para textos da ordem de 5 x 29 bytes (2,5 Kb) o método ainda apresenta bons resultados.

Em vista disto, os autores propuseram medidas adicionais de segurança como a criação de uma chave secundária o que, todavia, aumentou muito o tempo de processamento, principal vantagem do método. Outras proteções estão sendo estudadas de modo a tornar o Algoritmo mais seguro para textos grandes e permitir que se tenha um ganho significativo de tempo para operações comerciais cotidianas.

Por se tratar de um algoritmo muito simples, facilmente implementável em qualquer microcomputador, e que apresenta resultados excelentes para textos de pequenas dimensões (menores do que 2,5 Kb) podendo ter sua segurança aumentada com o uso de ferramentas criativas dos criptologistas merece ser mais conhecido e estudado.

Fontes

  • Análise Sobre a Segurança do Algoritmo de Criptografia Posicional; SIMAS JR., Thales Evandro; Lavras – MG; 2002.
  • Criptografia POSICIONAL em Hardware (VHDL e FPGAs); CHIARAMONTE, Rodolfo Barros e MORENO, Edward David; Marília – SP; 2002.
  • Uma Análise da Segurança e da Eficiência do Algoritmo de Criptografia Posicional; OLIVEIRA, Mário Luiz Rodrigues; Lavras – MG; 2002.
  • Criptografia Posicional: Uma Solução para Segurança de Dados - CONCEITOS, EXEMPLOS E DESEMPENHO; CHIARAMONTE, Rodolfo Barros e MORENO, Edward David; Marília – SP; 2001.
  • Desempenho de um Algoritmo Posicional em Software e Hardware; CHIARAMONTE, Rodolfo Barros e MORENO, Edward David; Marília – SP; 2001.


Última atualização ( Ter, 01.04.2008 16:08 )
 

Topo