terça-feira, 7 de setembro de 2010

Criptografia : Logaritmo discreto.

Criptografia : Logaritmo discreto

Um conceito importante em algoritmos de chave pública e assinatura digital são os logaritmos discretos.Seu entendimento no contexto, passam por conceitos básicos da teoria dos números que descrevemos a seguir.
  • Dois números são relativamente primos se não tiverem fatores primos em comum, isto é, se seu máximo divisor comum for 1.
  • A função de Euler, Φ (n) é definida como o número de inteiros positivos menores que n, que são relativamente primos com n. Por razões técnicas colocamos Φ(1) = 1.
Exemplos

a) Φ(89) = 88, pois 89 é primo e, consequentemente, os inteiros de 1 à 88 são relativamente primos com 89.
b) Φ(45) = 40, já que 1,2,4,6,7,8,10,11,12,13,14,16,17,18,19,...,44 são os inteiros positivos menores que 45 que são relativamente primos com 45.
  • Existe na literatura tabelas para esta função, e se p é primo, então Φ(p) = p-1
  • Se p¹q são números primos, então Φ(pq) = Φ(p)Φ(q)=(p-1)(q-1) .

  • Teorema de Euler : Se t e n são números relativamente primos, então :
tΦ(n) = 1 ( mod n)
  • Considere a equação :
tx = 1 ( mod n)


Se t e n são relativamente primos, já sabemos que, x = Φ(n) é solução da equação. O menor valor positivo de x, solução da equação é chamado de ordem de t (mod n) ou extensão do período gerado por t. Para um melhor entendimento deste conceito, veja o exemplo:
71 = 7 ( mod 19)
72 = 11 ( mod 19)
73 = 1 ( mod 19)
74 = 7 ( mod 19)
75 = 11 ( mod 19)
76 = 1 ( mod 19)
77 = 7 ( mod 19)

Observamos que, a sequência é periódica de período 3, e neste caso x = 3 é o gerador.Considere agora o primo n = 13 e a tabela :

t1t2 t3 t4 t7 t6 t7 t8 t9 t10 t11 t12
11 1 1 1 1 1 1 1 1 1 1
248361211951071
391391391391
431291014312
9101
512815128151281
6108 9 2 12 7 3 5 4 11 1
710 5 9 2 1 7 10 5 9 2 1
812 5 1 8 12 5 1 8 12 5 1
931931931 9 3 1
109 12 3 4 1 10 9 12 3 4 1
11453712 2 9 8 10 6 1
12112 1 12 1 12 1 12 1 12 1



Por inspeção na tabela, nota-se que alguns valores de t, gera por otências o conjunto dos inteiros positivos diferente de zero mod 13. Cada um desses inteiros é chamado de raiz primitiva do mod 13. Para o caso, esses números são 2,4,6,10,11. Temos também que, se t é primitiva de n, então:
 
t,t2,t3,...,tΦ(n)

são relativamente primos com n. Em particular, se n = p, então :
t,t2,t3,...,tp-1

são relativamente primos com p.


A Teoria dos números informa que, os inteiros que tem raízes primitivos são 2,4 e os da forma pk e
2pk onde p é primo maior que 2 e k inteiro positivo.


O Logaritmo discreto para números primos (interesse criptográfico)


Considere p primo e t uma raiz primitiva de p. As potências de t de 1 à p-1 tem como valores 1 até p - 1 exatamente uma vez, tomados módulo p. A aritmética modular nos informa que, dado um inteiro b,

b= s mod p, para 0 ≤ s  ≤  p -1

Assim, segue-se que para o um inteiro b e t uma raiz primitiva de p, existe um expoente i com 

1 ≤  i  ≤  p -1, tal que b = ti mod p



definimos o logaritmo discreto de b na base t mod p, como sendo o número i e denota-se por

d logt,p b = i

Existem outras notações para este conceito, e por inspeção na tabela mencionada neste texto,podemos escrever


d log11,13 25 = 6


d log2,13 14 = 12


Cálculo do logaritmo discreto


Este cálculo consiste em resolver o problema : " Dados os números b, t e p primo, encontrar x tal que ,       b = tx mod p "

A dificuldade em resolver este equação para p primo com muitos digitos, apresentada por um algoritmo considerado rápido, é da ordem de :


exp[(ln p)1/3(ln (ln p)2/3]

o que torna-se inviável o tratamento computacional.

Lembre-se que, todo sistema criptográfico é baseado em um problema matemático que é intratável computacionalmente.

Fonte: STALLINGS, William. Criptografia e Segurança de Redes. São Paulo : Pearson Educations, 2008.

Nenhum comentário:

Postar um comentário