You are on page 1of 12

FUNDAMENTOS MATEMTICOS APLICADOS CRIPTOGRAFIA Srgio S.

Oliveira

Resumo: Este trabalho apresenta os principais fundamentos matemticos aplicados criptografia moderna. Relata breve histrico da evoluo da criptografia moderna e indica as principais referncias bibliogrficas. Introduz e exemplifica os seguintes tpicos da Teoria dos Nmeros, da Aritmtica e da lgebra Modular: Divisibilidade; Nmeros Primos; Maior Divisor Comum (mdc); Algoritmo de Euclides; Algoritmo Euclidiano Estendido; Congruncias; Operaes Aritmticas da Congruncia; Diviso na Congruncia; Inverso multiplicativo; Soluo para ax 3 c (mod n) - quando mdc (a,n) =1; Soluo para ax 3 c (mod n) - quando mdc (a,n) >1 e c no divisvel por d; d = mdc (a,n). Soluo para ax 3 c (mod n), quando mdc (a,n) >1 e c|d, d = mdc (a,n); Congruncia Quadrtica; Fraes na Congruncia; Restries a Fraes na Congruncia; Expanso de Congruncias em Sistemas; Teorema Chins do Resto; Busca de solues para o Teorema do Resto Chins; Uso do Teorema do Resto Chins; Forma Geral do Teorema do Resto Chins; Exponenciao Modular; O problema do Logaritmo Discreto; Pequeno Teorema de Fermat; Gerao de nmeros primos pelo Pequeno Teorema de Fermat; Funo de Euler; Teorema de Euler; Princpio Bsico aplicado ao Teorema de Euler; Razes

Primitivas; Razes Primitivas em campos de nmeros primos; Concluses sobre razes primitivas; Inverso de matrizes mod n; Condio necessria para inverso de matriz mod n; Comparao entre inverso de matrizes inteira e mod n; Exemplos de inverso de matrizes mod n; Raiz quadrada mod n; Exemplo de determinao de raiz quadrada mod n; Raiz quadrada de mdulo nmero composto; Equivalncia entre determinao de raiz quadrada na congruncia e a fatorao de n; Corpos Finitos (Finite Fields). Corpo de Galois (Galois Field GF); Polinmios mod 2; Diviso de polinmios mod 2; Gerao de corpos finitos por Z2 [X] mod polinmio. Procedimento para gerao de corpos finitos por Z2 [X] mod polinmio. Palavras-chave: Criptografia, lgebra Modular, Aritmtica Modular, Teoria dos Nmeros.

Abstract: MATHEMATICAL BASIS APPLIED TO CRYPTOGRAPHY. This work presents the main foundations applied to modern cryptography. It makes a historical abstract about evolutions modern cryptography. And point to principal bibliography references. The work introduces and give examples about the follwing topics in Basic Number Theory, Modular Aritmetic and lgebra. Divisibility; Prime Number Theorem; Greatest Common Divisor (gdc); Euclidian Theorem; Extended Euclidian Theorem, Congruences; Aritimetic Operations in Congruence; Division in Conguence; Multiplicative Inverse; Solving ax 3 c (mod n) - when gdc (a,n) =1; Solving ax 3 c (mod n) - when gdc (a,n) >1 e c is not divisible by d; d = gdc (a,n);. Solving ax 3 c (mod n), when gdc (a,n) >1 e c|d, d = gdc (a,n); Quadratic Conguence; Working with Fractions in Congruence; Restrictions at Fractions in Congruences Expansion at Systems; Chins Remainder Teorhem. Searching Solutions at Chinese Remainder Theorem; Aplications to Chinese Remainder Theorem; General Form to Chinese Remainder Theorem; Modular Exponentiation; The Problem of Discrete Logaritm; Fermats Little

Professor do Curso de Sistemas de Informao do Centro Universitrio Euro-Americano (UNIEURO).

2
Theorem; Prime Generation with Fermats Little Theorem; Eulers Function ; Euler Theorem; Basic Principle Applied to Euler Theorem; Primitive Roots; Primitive Roots at Prime Number Field; Conclusions about Primitive Roots; Inverting Matrices Mod n; Condition to Inverting Matrices Mod n; Comparision between Inverting Integer Matrices and InvertingMatrices Mod n; Examples about Inverting Matrices Mod n; Square Roots Mod n. Searching Square Root Mod n; Equivalence between Searchig Square Root Mod n at Congruence and Fatoring Prime Numbers; Finite Fields; Galois Field GF; Polynomial mod 2; Polynomial Divisibility Mod 2; Finite Field Generation by Z2 [X] mod polinomial. Procedure to Finite Field Generation by Z2 [X] mod polinomial. Keywords: Cryptography, Number Theory, Modular Artimetic; Modular Algebra

1. INTRODUO

A criptografia contempornea utiliza amplamente a capacidade dos sistemas computacionais, especialmente funes matemticas. Estas so fundamentais para os sistemas, pois, antes mesmo das mensagens serem cifradas ou transmitidas, elas tm um valor numrico; os algoritmos criptogrficos so operaes algbricas, a construo e anlise de sistemas criptogrficos requerem teoria dos nmeros, e muito mais. Da, para a correta compreenso dos requisitos de sistemas criptogrficos, h necessidade do estudo dos fundamentos matemticos aplicados criptografia.

2. HISTRICO

Inicialmente a criptografia desenvolveu-se nos campos militar e diplomtico. De incio, assemelhava-se a uma arte que utilizava pequenos fundamentos de lgica, para ocultar o contedo de textos a inimigos potenciais. Sua aplicao cresceu em importncia, e, para salvaguardar uma gama de informaes cada vez maior e mais sofisticada, foram surgindo ao longo do tempo algoritmos cada vez mais bem elaborados. Porm, ainda at o incio do sculo XX, apesar de muitos algoritmos serem mantidos em segredo, praticamente todos eles sucumbiam a uma boa criptoanlise. Isto , a um processo lgico e intensivo de tentativa de descobrimento dos algoritmos e senhas utilizadas para apropriar-se das informaes cifradas. A maioria sucumbia a estudos de grupos especficos que utilizavam tanto lgica, matemtica, como arte para a decifragem.

3 Mas a evoluo tecnolgica alou a eletrnica e posteriormente a computao para a execuo de tarefas repetitivas de uma forma muitssimo mais rpida do que se fazia anteriormente. Surgiram os dispositivos eletromecnicos, amplamente utilizados durante a Segunda Grande Guerra Mundial, que automatizaram as inmeras e repetitivas tarefas de cifragem dos textos. Para a criptoanlise de textos cifrados por essas mquinas, como o Enigma poderoso segredo do III Reich-, deixou de ser suficiente o trabalho artesanal ou individual, como executado at anto. Exigiu a participao de muitos matemticos e especialistas em criptografia para a montagem de circuitos eletrnicos capazes de executar muitas operaes lgicas em pouco tempo, forando a ampliao de conhecimento na rea de computao, e dando origem aos primeiros computadores, todos de grande porte, como o ENIAC e o UNIVAC> Desde ento, medida que so ampliados os potenciais e o uso das capacidades computacionais, os algoritmos utilizados na criptografia esto tornando-se cada vez mais sofisticados. O desafio da criptografia moderna construir algoritmos capazes de fazer suas operaes computacionais de forma simples e ao mesmo tempo dificultar a criptoanlise de forma a contrapor-se a todo poder computacional que um potencial inimigo possa ter. Alm do mais, a criptografia de chave simtrica modelo nico at a dcada de 1970 apresentava a dificuldade do problema da distribuio de chaves (Burnett & Paine, 2002), alm do problema do gerenciamento de chaves. Os novos requisitos da criptografia moderna apontaram para o surgimento de algoritmos que solucionam os problemas acima e dificultam a criptoanlise, mesmo considerando-se um alto poder computacional do opositor. Surgiram publicamente, a partir da dcada de 80, os algoritmos de chave pblica. Estes so procedimentos que fundamentam sua segurana na dificuldade da inversibilidade de algumas funes matemticas. Buscam funes cuja inversibilidade no pode ser resolvida por todo poder computacional existente hoje, nem pelo previsto para os prximos decnios. Apontam para a classe dos problemas NP-Hard e utilizam princpios matemticos como a impossibilidade da fatorao de nmeros grandes e o problema do logaritmo discreto. Para introduzir o leitor ao mundo dessas funes matemticas aplicadas criptografia moderna, este trabalho props-se a pesquisar os principais fundamentos matemticos aplicados nos algoritmos em uso. Como estes princpios no so de domnio pblico e exigem

4 certo esforo em seu estudo, este trabalho buscou exemplificar a aplicao dos princpios apresentados em livros que so referncias no assunto: Schneier (1995) e Washington & Trappe (2001). Os princpios apresentados foram divididos em duas sees: Teoria dos Nmeros e lgebra e Aritmtica Modular

3. TEORIA DOS NMEROS

Divisibilidade. Sejam a e b inteiros com a

0. Diz-se que a divide b, se h um inteiro

k tal que b = ak. A notao de divisibilidade : a|b.Exemplos: 4|16; 5|105;1|b; 27 (dois no divisor de 7). Para todo a Z 0, a| 0, a|a, para todo b, 1|b. Se A propriedade transitiva: se a|b e b|c, ento a|c. Combinao Linear: se a|b e b|c, ento a|(sb + tc), para quaisquer inteiros s e t. Nmeros Primos. Primo um numero inteiro p maior que 1, cujos nicos divisores so p e 1. Um nmero n que no primo chamado nmero composto e pode ser fatorado, isto , escrito na forma de fatores multiplicativos a,b, tais que 1<a,b<n. Todo nmero inteiro positivo pode ser escrito como um produto de primos e esta fatorao nica a menos da comutatividade dos fatores. Se p | ab, ento p|a ou p|b. Generalizando, se p|abc....z, ento ou p|a, ou p|b, ou p|c, ....ou p|c. A funo exemplo (x) retorna o nmero de primos menores que x. Por

(20)= 8 pois somente oito nmeros - 2, 3, 5,7,11,13,17e 19 - so nmeros primos (x) tende ao infinito, tem-se que (x) _ x / ln x. Este

menores que 20. Quando a funo

clculo importante para determinar, por exemplo, a quantidade de nmeros primos de 100 dgitos. Calculando (10100) (1099) _ 3,9 * 1097.

Maior Divisor Comum (mdc). O maior divisor comum de a e b notao mdc(a,b) o maior inteiro positivo que divide a e b. Quando mdc (c,d) = 1, diz-se que c e d so relativamente primos. Exemplo mdc (36,24) = 12. Para extrair o de dois nmeros a e b quaisquer, fatore-os em primos, extraia o mdc(a,b) separando os fatores primos comuns, considerando os menores expoentes. Exemplo gdc(18, 24) = gdc (21.32,23.3) = 21.31=6. A fatorao de grandes nmeros no de fcil execuo, uma vez que no to fcil determinar grandes fatores primos. Se a,b so inteiros, sendo pelo menos um dos dois diferentes de zero, e d=mdc(a,b), ento existem inteiros x e y tais que ax + by = d. Em particular, se a e b so relativamente primos, ento ax + by = 1. Algoritmo de Euclides. um processamento que permite calcular o mdc de grandes nmeros c e d, de modo fcil e rpido, pois no requer fatorao dos nmeros. Siga os passos: (1) Suponha c>d, seno inverta. (2) Faa c/b = q1, chame o resto de r1. (3) Escreva a na

5 forma: a = b*q1 +r1 .(4) Se r1 = 0, ento mdc(c,d) = d, se no continue. (5) Divida b por r1 e o escreva da forma b = r1 q +r2 . (6) Repita a operao at encontrar ri = 0, da ri-1 o mdc(c,d). Exemplo mdc(1440, 645). 1140 = 2*645+150; 645 = 4*150+45; 150 = 4*45+10; 45 = 4*10+5; 10 = 2*5+0. Ento mdc(1140,645) = 5. Algoritmo Euclidiano Estendido. a aplicao dos quocientes qi resultados do algoritmo de Euclides para a soluo de problemas de combinao linear do tipo: ax + by = d e de certas congruncias. H inteiros tais que ax + by = mdc(a,b). As seguintes seqncias permitem determinar x e y: x0 = 0; x1 = 1, x1 = qn-1 .xn-1 + xn-2 e y0 =1; y1 =0, yn=qn-1 .yn-1 + yn-2 . Onde qi so os quocientes do algoritmo de Euclides e qn o quociente final. Da, an xn + bn yn = mdc(a,b). Congruncias. Sejam a,b,n inteiros com nZ0, diz-se que: a 3 b (mod n), se a-b mltiplo (positivo ou negativo) de n. Do mesmo modo, se a = b +kn, para algum k inteiro. Como corolrio, tem-se que: a30 (mod n) d a|n; a3 a (mod n); a 3 b (mod n) d b 3 a (mod n); se a 3 b e b 3 c (mod n), ento a 3 c (mod n). Operaes Aritmticas da Congruncia. Sejam a,b,c,d,n inteiros, com n Z 0. Dado que a 3 b (mod) n e c 3 d (mod n), ento: a + c 3 b + d , a - c 3 b - d , a.c 3 b.d (mod n). Isto ocorre devido ao fato de: a = b + nk e c = d + nk. Somando, subtraindo ou multiplicando ambos lados dessas equaes, obtm se os resultados enunciados. Diviso na Congruncia. J a diviso uma operao aritmtica da congruncia que requer cuidados algbricos maiores. Sejam a,b,c,d,n inteiros, com n Z 0 e mdc (a,n) = 1. Se ab 3 ac (mod n), ento b 3 c (mod n). Isto , se a e n so relativamente primos, pode-se dividir ambos lados da conguncia por a. Inverso multiplicativo. Suponha mdc (a,n) = 1. Sejam s e t inteiros tais que as + nt = 1 s e t podem ser achados usando o algoritmo de Euclides estendido. Ento as 3 1 (mod n) e diz-se que s inverso multiplicativo de a (mod n). Outra notao : a-1 (mod n), onde a-1 3 s (mod n). Soluo para ax 3 c (mod n), quando mdc (a,n) =1. Usa-se o algoritmo de Euclides estendido para achar os inteiros s e t tais que as + nt =1. A soluo x 3 cs (mod n). Por exemplo: 12x = 20 (mod 29). Como mdc (12,29) = 1, pelo algoritmo de Euclides obtm-se os quocientes q1=2; q2=2; q3=2; q4=2. Pela extenso do algoritmo x4 = -12 e y4 = 5; x4 e y4 so respectivamente s e t. Da, como x 3 cs (mod n), ento x 3 20. (-12) 3 -240 3 -8 3 21 (mod 29). Da 21 a soluo da equao: 12x = 20 (mod 29).

6 Soluo para ax 3 c (mod n), quando mdc (a,n) >1 e c no divisvel por d; d = mdc (a,n). No h soluo para a equao. Por exemplo: para 12x = 21 (mod 28), c = 21 no divisvel por 2 = mdc (12,28) = mdc (a, n) >1. Da, no h soluo para a equao. Soluo para ax 3 c (mod n), quando mdc (a,n) >1 e c|d; d = mdc (a,n). Como d|c, considere a nova congruncia: (a/d)x 3 (c/d) (mod n/d). Os quocientes a/d, b/d e n/d so inteiros, pois mdc (a,n) = d. Como mdc (a/d, n/d) =1, pois d = mdc (a,n), esta nova congruncia pode ser resolvida pelo procedimento para soluo para ax 3 c (mod n), quando mdc (a,n) =1, j visto. Dele obtm-se x0 pela aplicao do algoritmo de Euclides estendido. As solues da congruncia original ax 3 c (mod n) so: x0, x0 + n/d; x0 + 2(n/d); ..........., x0 + (d-1)(n/d) (mod n). Por exemplo: para 15x = 20 (mod 25); mdc (a,n) = mdc (15,25) = 5, c = 20, ento d|c. pois 20|5. Da a nova congruncia, dividida por d = 5 3x = 4 (mod 5). Usando o procedimento para soluo para ax 3 c (mod n), quando mdc (a,n) =1, obtm-se x0 = 3. ento as solues da equao original (15x = 20 (mod 25)) so: x0= 3, x0 + 25/5 = 8; x0 + 2(25/5) = 13; x0 + 3(25/5) =18 e x0 + 4(25/5) =23. Congruncia Quadrtica: uma equao do tipo x2 3 a (mod n). Considerando a congruncia x2 = 1 (mod 7), por inspeo obtm-se as solues x1 =1 e x2 = 6. Em geral, se n um primo mpar p, h exatamente duas solues para a equao; x2 = 1 (mod p). Considerando a congruncia x2 = 1 (mod 15), por inspeo, observa-se que h 4 solues: x = 1, 4, 11, 14. Portanto, uma congruncia quadrtica para mdulo de nmero composto pode ter mais que duas solues em contraste com uma equao quadrtica com nmeros reais, que tm no mximo duas solues. Fraes na Congruncia. A fim de simplificar notao, convm trabalhar com fraes na congruncia cujo significado difere do sentido normal de fraes da equivalncia. Assim, (mod 8243) mais fcil escrever que 4122 mod (8243). A regra geral que uma frao b/a pode ser usada mod n, se mdc (a,n) =1. A expresso b/a (mod n) na aritmtica modular significa realmente a-1 b (mod n), onde a denota um inteiro para o qual a-1 a 3 1 (mod n). Assim, se multiplicarmos b/a por a, obtm-se b. Em todo clculo envolvendo smbolo b/a, esta a nica propriedade usada. Portanto 4122 x 2 3 1 (mod 8243), portanto 4122 e podem ser intercambiveis. Restries a Fraes na Congruncia. Smbolos de fraes no podem ser usados arbitrariamente na aritmtica modular. Por exemplo, 1/10 (mod 10) teria o mesmo significado que diviso por 0. Mas mesmo com mod 10 haver problemas. Multiplicar ambos lados de 2 3 12 (mod 10) por daria as seguintes solues, que no so congruentes: 1 e 6 (mod 10).

7 Esta incorreo por ambigidade na notao ocorre quando mdc (a,n) >1, como no caso do exemplo dado, 2 3 12 (mod 10), quando no conveniente us-la. Expanso de Congruncias em Sistemas. Em muitas situaes usual dividir congruncia mod n em um sistema de congruncias com mod fatores de n. Por exemplo, x 3 16 (mod 21). Isto significa que x = 16 + 21 k, para um k inteiro. Mas tal expresso pode ser reescrita por: x = 16 + 7.(3k) = 16 + 3 (7k). Tais expresses desenvolvem em x 3 16 (mod 3) 3 1 (mod 3) e x 3 16 (mod 7) 3 2 (mod 7). Portanto, x 3 16 (mod 21) pode ser dividido no sistema x 3 1 (mod 3) e x 3 2 (mod 7). Teorema do Resto Chins (Chinese Remainder Theorem). Suponha mdc (m,n) =1 . Dados a e b, existe exatamente uma nica soluo x mod (mn) para o sistema de congruncias simultneas x 3 a (mod m) e x 3 b (mod n). Este teorema mostra que o processo de expanso de congruncias em sistemas pode ser revertido. Sob certas circunstncias, um sistema de congruncias pode ser substitudo por uma congruncia nica. Por exemplo, seja o sistema x 3 3 (mod 7) e x 3 5 (mod 15). Como 80 3 3 (mod 7) 3 5 (mod 15), x 3 80 (mod 105) a soluo. O teorema garante que se tal soluo existe, ela nica. Busca de solues para o Teorema do Resto Chins. No exemplo dado, a busca da soluo x 3 80 (mod 105) para o sistema x 3 3 (mod 7) e x 3 5 (mod 15) pde ser feita p[or inspeo, buscando a coincidncia nas sries cngruas x = 3 + 7k (3,10, 17, 24, 31 ...) e x = 5 + 15 k (20, 35, 50, 65, 80, ..) que d-se em x = 80. No entanto, para nmeros maiores tal busca pela listagem das sries cngruas - ineficiente. A soluo passa pela idia que x 3 a (mod m) 3 b (mod n), ento b + nk 3 a (mod m) e nk 3 a - b (mod m), como por hiptese mdc (m,n) = 1, existe um inverso multiplicativo i para n (mod m), ento: k 3 (a-b) i (mod m). substituindo de volta para x = b + nk e reduzindo mdulo mn, obtm-se a resposta. Para grandes nmeros, a prova do teorema d um mtodo eficiente para achar x. Exemplo: seja o sistema: x 3 7 (mod 12345) 3 3 (mod 11111). O inverso multiplicativo, j visto, de 11111 (mod 12345) i = 2471. Uso do Teorema do Resto Chins. A idia principal que se h uma congruncia mod um nmero composto, pode-se quebr-la em congruncias simultneas mod cada fator de potncia primo de n. A vantagem que mais fcil analisar congruncias mod primos ou potncias primas que trabalhar com nmeros compostos. Por exemplo, para resolver x2 3 1 (mod 35), tem-se o sistema: x2 3 1 (mod 7) e x2 3 1 (mod 5), Como x2 3 1 (mod 5) tem duas solues x 3 ) 1 (mod 5) e x2 3 1 (mod 7), tambm tem duas: x 3 )1 (mod 5), h quatro caminhos: x1 3 1 (mod 5) e x1 3 1 (mod 7), ento x1 3 1 (mod 35); x1 3 1 (mod 5) e x2 3 -1 (mod 7),ento x2 3 6 (mod 35); x2 3 -1 (mod 5) e x1 3 1 (mod 7), ento x3 3 29 (mod 35); x2 3

8 -1 (mod 5) e x2 3 -1 (mod 7),ento x4 3 34 (mod 35). Da as solues para x2 3 1 (mod 35) so: x 3 1, 6, 29, 34 (mod 35). Em geral, se n um produto de r primos distintos, ento x2 3 1 (mod n) tem 2r solues. Forma Geral do Teorema do Resto Chins. Sejam m1, ....., mk inteiros com mdc (mi, mj) = 1, para qualquer i Z j. Dados os inteiros a1, ....., ak, existe exatamente uma soluo x (mod m1, ....., mk) para o sistema de congruncias simultneas: x 3 a1 (mod m1), x 3 a2 (mod m2), ........., x 3 ak (mod mk). Por exemplo, o teorema garante uma soluo nica para as congruncias simultneas x 3 1 (mod 11) 3 -1 (mod 13) 3 1 (mod 17). Neste caso, x 3 1871 (mod 11.13.17).

4. LGEBRA E ARITMTICA MODULAR

Exponenciao Modular. Resolver congruncias onde apaream expresses da forma xa (mod n), requer, em geral, com o trabalho de grandes nmeros. Por exemplo, computar 21024 (mod 789) requer multiplicar 1024 vezes dois e calcular o resto, o que pode requerer enorme e indesejado espao de memria. Pode-se calcular tambm as potncias e calcular uma a uma o resto. Porm, este mtodo lento e no prtico, especialmente para nmeros muito grandes. H um caminho mais eficiente: Calcular, seqencialmente, as potncias de potncias de 2. Assim, 24 3 16, 28 3 256, 216 3 256.256 3 49, 232 3 49.49 3 34;264 3 34.34 3 367, 2128 3 367.367 3 559, 2256 3 559.559 3 37, 2512 3 580, 21024 3 580.580 3 286 (mod 789). Como 1234 em binrio representado por 10011010010 ento a equao pode ser transformada em: 21234 3 21024 . 2128 . 264 . 216 . 22 3 286 . 559 . 49 . 4 (mod 789).Os clculos nunca excederam 7882. O mtodo pode ser generalizado para ab (mod n). Haver no mximo 2 log2b multiplicaes mod n. Pequeno Teorema de Fermat. (Fermats Little Theorem). Se p primo e a no divisvel por p, ento ap-1 3 1 (mod p) Por exemplo, 210 3 1 (mod 11). Da, pode-se desenvolver 253 (mod 11). Como 253 = (210)5 23, 253 3 15 . 23 3 8 (mod 11). Gerao de nmeros primos pelo Pequeno Teorema de Fermat. Em geral, quando 2n-1 3 1 (mod n) n primo, porm h excees. Por exemplo, para n = 561. 560 3 0 (mod 10) 3 0 (mod 16) 3 0 (mod 2), da: 2560 3 1 (mod 11) 3 1 (mod 17) 3 1 (mod 3). Pelo Teorema do Resto Chins 2560 3 1 (mod 3. 11 17) 3 1 (mod 561), estas excees so muito raras e quase sempre pode-se dizer que, se 2n-1 3 1 (mod n), n primo. Ainda, se 2n-1 no for cngruo a 1 (mod n), n no primo. Este resultado uma maneira eficiente de achar nmeros primos. Primeiramente, parte-se de um nmero inicial n0, testa-se sucessivamente todo mpar n > n0

9 buscando a verificao da congruncia 2n-1 3 1 (mod n). Quando o resultado do teste for verdadeiro, h uma grande chance de o nmero ser primo e utilizam-se tcnicas mais refinadas para garantir se n primo. Tal procedimento bem mais rpido que a tentativa de fatorao de n, j que ele elimina muitos n. H caminhos para otimizao da busca, como um teste inicial para eliminao dos nmeros divisveis por fatores primos. Funo de Euler. (n) o nmero de inteiros a no intervalo 1i a i n, tais que mdc
(10) = 4, pois a = 1, 3, 7, 9. Pela definio de nmeros primos p

(a,n) = 1. Por exemplo. temos que:

(p) = p 1. De forma semelhante

(pr) = pr pr-1, pois h pr/p = pr-1 mltiplo de (pr) = (p 1/p).pr. jkp 1/p), para todo p|n. Assim,

p no intervalo 1i a i pr. Desenvolvendo a expresso, obtm-se: Generalizando, pelo Teorema Chins do Resto, (n) = n
(n)

(75) = 75 . (1- 1/3) . (1 1/5) = 40. Para p e q primos,

(p q) = (p 1).(q - 1).

Teorema de Euler. Se mdc (a,n) =1, ento a trs dgitos de 7803. Como

3 1 (mod n). Para um nmero primo, o

Teorema de Euler redunda no Pequeno Teorema de Fermat. Aplicao: determinar os ltimos (1000) = 400 e 7803.= 7800. 73 = (7400) 2. 7400.3 1 (mod 1000), (1000)) ento 7803.3 12 73 (mod 1000).3 343 (mod 1000). Neste caso, 803 3 3 (mod 243210 3 (2432)100210 3 1 210 3 1024 3 14 (mod 101). Princpio Bsico aplicado ao Teorema de Euler. Sejam a, n, x, y inteiros com n l 1e mdc (a,n) =1, se x 3 y (mod (n)), ento ax 3 ay (mod n). Pois x = y + (n) .k da ax = a y +
(n)

Determinar 243210 (mod 101). Pelo Pequeno Teorema de Fermat 2100 3 1 (mod 101), da

. k = (a y )(a

(n)

).k 3 ay 1k 3 ay (mod n). Em outras palavras, para trabalhar

mod n, deve-se trabalhar mod ( (n)) no expoente. Este resultado tem larga aplicao nos clculos de criptografia atuais. Razes Primitivas. Um nmero a raiz primitiva mod n, quando se obtm das potncias de a todas as classes no-nulas mod n. Por exemplo: 51 3 5, 52 3 4, 53 3 6, 54 3 2, 55 3 3, 56 3 1 (mod 7), ento diz-se que 5 raiz primitiva mod 7. J as potncias de 4 geram 41 3 4, 42 3 2, 43 3 1, 44 3 4, 45 3 2, 46 3 1 (mod 7) e no geram as classes de congruncia 3, 5 e 6, da 4 no raiz primitiva mod 7. Razes Primitivas em campos de nmeros primos. Em geral, quando p primo, uma raiz primitiva mod p um nmero cujas potncias produzem todas as classes no-nulas mod p. Existem (p 1) razes primitivas mod p. Em particular, h sempre pelo menos uma. Na

prtica, no difcil encontr-la, pelo menos se a fatorao de p-1 conhecida. Concluses sobre razes primitivas. Seja g uma raiz primitiva para um nmero primo p. Se n um inteiro, ento gn 3 1 (mod p) se, e somente se, n 3 0 (mod p 1). Se j e k so inteiros, ento gj 3 gk (mod p) se, e somente se, j 3 k (mod p 1).

10 Inverso de matrizes mod n. A determinao da matriz inversa mod efetuada pelos mtodos comuns de inverso de matriz desde que sejam observadas as regras para operao de fraes na congruncia. Condio necessria para inverso de matriz mod n. Sejam M e N matrizes inteiras mod n e I a matriz identidade. Suponha MN 3 I (mod n). Ento det(M).det(N) 3 det (MN) 3 det(I) 3 1 (mod n), Portanto, det (M) tem um inverso mod n, o que significa que det(M) e n devem ser relativamente primos. Da, uma matriz quadrada inversvel se, e somente se, seu determinante e n so relativamente primos. Comparao entre inverso de matrizes inteira e mod n. O inverso de uma matriz inteira pode ser sempre escrito como uma matriz inteira dividida pelo determinante da matriz original. Para achar o inverso de uma matriz, usam-se nmeros racionais e depois retorna-se para o campo mod n. Assim, Seja A = ((a,b), (c,d)). Ento A-1 = det A ((d, -b),(-c,a)). Como para os racionais det A = 1/(ad bc), basta ento buscar em mod o inverso multiplicativo para (ad bc). . Exemplos de inverso de matrizes mod n. Seja B = ((1,5), (2,3)) (mod 13). Como det B = -7, calcula-se op inverso multiplicativo -7 mod 13. Como 11 x (-7) 3 1 (mod 13), ento 1/7 pode ser substitudo por 11. da: B-1 3 ((1,5), (2,3)) 3 -1/7 ((3,-5),(-2,1)) 3 11 ((3,-5),(2,1)) 3 ((7,10),(4,11)) mod 13. Como de se esperar: = ((1,5), (2,3)) X ((7,10),(4,11)) = ((27,65),(26, 43)) 3 ((1,0),(0,1)) mod 13, pois B.B-1 3 I mod n. O mesmo vale para a matriz C = ((1,1,1,),(1,2,3),(1,4,9)) (mod 11). Det C pela regra de Sarrus 2, ento, em nmeros racionais, a matriz inversa de C - .((6, -5, 1), (-6, 8, -2), (2, -3 , 1)). Como o inverso multiplicativo de 2 mod 11 6, substituindo por 6 obtm-se M-1 3 ((3, 3, 6), (8, 4, 10), (1, 4, 6)) (mod 11). . Raiz quadrada mod n. Determinar a(s) soluo(es) do problema x2 3 b (mod n), onde n um produto de dois primos p e q fcil se se conhecer a fatorao de n. Da mesma forma, se as solues so conhecidas fcil fatorar n. Seja p 3 3 (mod 4) um primo e seja y um inteiro. Faa x 3 y (p+1) /4 (mod p), ento se y tem razes quadrada mod p, ento as razes de y mod p so ) x. Se y no tem raiz mod p, ento y tem razes mod p e estas razes so ) x. Exemplo de determinao de raiz quadrada mod n. Achar a raiz quadrada de 5 mod 11. Como (p +1)/4 = 3, ento: x 3 53 3 4 (mod 11). Como 42 3 5 (mod 11), as razes quadradas de 5 mod 11 so ) 4. J, ao considerar o problema da determinao da raiz quadrada mod de 2 mod 11, tem-se: (p+1)/4 =3, ento 23 3 8 (mod 11), mas 82 3 9 3 -2 (mod 11). Da foi determinada a raiz quadrada de 2, ao invs de 2, porque 2 no tem raiz quadrada mod 11.

11 Raiz quadrada de mdulo nmero composto. Seja x2 3 71 9mod 77). Como x2 3 71 3 1 (mod 7) e x2 3 71 3 5 (mod 11), ento x 3 )1 (mod 7) e x 3 )4 (mod 11). O teorema do resto chins diz que as congruncias mod 7 e mod 11 podem ser recombinadas numa congruncia mod 77. Por exemplo para x 3 1 mod 7 e x 3 4 mod 11, ento x 3 15 mod 77. Recombinando todas solues, tem-se: x 3 ) 15, ) 29 (mod 77). Equivalncia entre determinao de raiz quadrada na congruncia e a fatorao de n. Suponha n = pq seja um produto de dois primos congruentes a 3 (mod 4) e suponha que y seja um nmero relativamente primo a n, o qual tem raiz quadrada mod n. Ento achar as quatro solues x 3 ) a, ) b (mod n) computacionalmente equivalente fatorao de n. Corpos Finitos (Finite Fields). Genericamente um corpo finito um conjunto de elementos e operaes que guardam para adio ao e multiplicao as propriedades de existncia de elemento neutro, comutatividade, associatividade e distributividade para todos elementos pertencentes ao conjunto e ainda todo elemento tem um inverso da adio e um inverso multiplicativo. Generalizando um corpo finito possui as operaes de adio, multiplicao, subtrao e diviso por elementos no-nulos, alm das propriedades associativa, distributiva e comutativa. Os nmeros reais, complexos, racionais e inteiros mod p (p primo) so exemplos bsicos de corpos finitos. J todos os inteiros no so corpos, pois no permitem diviso e obter resposta no prprio conjunto. Os conjuntos de matrizes quadradas com nmeros reais no so corpos pois no h comutatividade na multiplicao e existem elementos no nulos que no possuem inverso multiplicativo (em conseqncia no possvel dividir por eles). Corpo de Galois (Galois Field GF). Para toda potncia pn de um primo, existe exatamente um nico corpo finito com pn elementos. Tal corpo finito chamado GF(pn) em homenagem ao matemtico francs Evariste Galois. Polinmios mod 2. Seja Z2[X] o conjunto dos polinmios cujos coeficientes so inteiros mod 2. Por exemplo 1 + X4 + X5 pertence ao conjunto. possvel somar, subtrair e multiplicar neste conjunto, tanto quanto se trabalha com os coeficientes mod 2. Assim: (X3 + X2 + 1)(X + 1) = X4 + X3 + X2 + 1. O termo 2X desaparece, pois trabalhamos mod 2. Diviso de polinmios mod 2. J a operao de diviso mod 2 requer cuidado especial. possvel efetuar a diviso com resto, tal como com inteiros. Dessa forma obtm-se X4 + X3 + 1 = (X2 + 1) ( X2 + X + 1) + X. Pode ser escrito: X4 + X3 + 1 3 X (mod X2 + X + 1). Gerao de corpos finitos por Z2 [X] mod polinmio. Trabalho com Z2[X] mod um polinmio pode ser usado para gerar corpos finitos. Porm, no possvel trabalhar com

12 qualquer polinmio. O polinmio deve ser irredutvel, o que significa que ele no pode ser fatorado em polinmios de grau menor que 2. Por exemplo, X2 = 1, quando trabalhado com nmeros reais um polinmio irredutvel, porm em GF(2) no irredutivel pois X2 + 1 = (X + 1) (X + 1) mod 2. Procedimento para gerao de corpos finitos por Z2 [X] mod polinmio. Generalizando: Zp[X] um conjunto de polinmios com coeficientes mod p. Escolha P[X] como sendo um polinmio irredutvel mod p de grau n. Faa Gf(pn) ser Zp[X]. Ento Zp[X] um corpo com pn elementos. 5. CONCLUSO Este trabalho no procurou esgotar o assunto, nem debat-lo exaustivamente, apenas props-se a introduzir o leitor no mundo das funes matemticas utilizadas na criptografia moderna. Tendo em vista que o assunto criptografia de chave pblica ainda est em sua fase de desenvolvimento e consolidao, a literatura em portugus sobre o assunto ainda limitada, por isso a pretenso do autor somente apresentao de conceitos. A aplicao das operaes matemticas apresentadas pode ser estudada com proficuidade em Schneier (1995).

REFERNCIAS BIBLIOGRFICAS

BURNETT Steve. & PAINE Stephen. Criptografia e Segurana O Guia Oficial RSA. Rio de Janeiro: Editora Campus, 2002, p. 45-65. SCHNEIER, Bruce. Applied Cryptography, 2nd Ed. New York: John Wiley & Sons, Inc., 1995. TRAPPE, Wade & WASHINGTON, Lawrence C. Cryptography with Coding Theory. New Jersey: Prentice Hall Ed., 2001.

You might also like