conceitos e algoritmos da teoria dos num´ eros parte irdahab/cursos/mo829-mc932/welcome… ·...

35
MO829-MC932 - Algoritmos Criptogr´ aficos Prof. R Dahab Conceitos e algoritmos da Teoria dos N´ umeros Parte I IC-UNICAMP/2006-1s 1

Upload: others

Post on 16-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Conceitos e algoritmos da Teoria dos Num´ eros Parte Irdahab/cursos/MO829-MC932/Welcome… · Conceitos e algoritmos da Teoria dos Num´ eros Parte I IC-UNICAMP/2006-1s 1. MO829-MC932

MO829-MC932 - Algoritmos Criptograficos Prof. R Dahab

Conceitos e algoritmos da Teoria dos Numeros

Parte I

IC-UNICAMP/2006-1s 1

Page 2: Conceitos e algoritmos da Teoria dos Num´ eros Parte Irdahab/cursos/MO829-MC932/Welcome… · Conceitos e algoritmos da Teoria dos Num´ eros Parte I IC-UNICAMP/2006-1s 1. MO829-MC932

MO829-MC932 - Algoritmos Criptograficos Prof. R Dahab

Divisibilidade

• N e Z: conjunto dos numeros naturais e inteiros.

• d ∈ Z e divisor de a: d|a⇒ a = kd para algum k ∈ Z.

– Se d|a, entao a e multiplo de d.

– Todo inteiro divide 0 (zero).

– d|a⇔ (−d)|a (aqui usaremos divisores ≥ 0).

– Todo inteiro a e divisıvel por 1 e por a (divisores triviais osdemais sao os fatores de a).

• Numeros primos: a inteiro maior que 1 e so contendodivisores triviais.

• Numeros compostos: a > 0 inteiro e tem um fator.

IC-UNICAMP/2006-1s 2

Page 3: Conceitos e algoritmos da Teoria dos Num´ eros Parte Irdahab/cursos/MO829-MC932/Welcome… · Conceitos e algoritmos da Teoria dos Num´ eros Parte I IC-UNICAMP/2006-1s 1. MO829-MC932

MO829-MC932 - Algoritmos Criptograficos Prof. R Dahab

Modulos e classes de equivalencia de ZPrincıpio: particao dos inteiros em multiplos e nao-multiplos deum dado inteiro n.

Teorema 1 (da Divisao) : Para todo a inteiro e n inteiropositivo, existe um unico par de inteiros (q, r), onde 0 ≤ r < n, talque a = qn + r.

• q = b anc e o quociente e r = a mod n e o resto da divisao.

• a ≡ b (mod n)⇒ (a mod n) = (b mod n). (equivalenciamodulo n).

−18 ≡ 47 ≡ 2( mod 5).

IC-UNICAMP/2006-1s 3

Page 4: Conceitos e algoritmos da Teoria dos Num´ eros Parte Irdahab/cursos/MO829-MC932/Welcome… · Conceitos e algoritmos da Teoria dos Num´ eros Parte I IC-UNICAMP/2006-1s 1. MO829-MC932

MO829-MC932 - Algoritmos Criptograficos Prof. R Dahab

Modulos e classes de equivalencia de ZDefinicao 1 Classes de Equivalencia modulo n:

[a]n = {a + kn : k ∈ Z}.

Exemplo 1

• [5]7 = {. . . ,−9,−2, 5, 12, 19, 26, . . .} = [−2]7 = [33]7,[−1]n = [n− 1]n, . . .

• Zn = {[a]n : 0 ≤ a ≤ n− 1}, ou simplesmente

Zn = {0, 1, . . . , n− 1}.

IC-UNICAMP/2006-1s 4

Page 5: Conceitos e algoritmos da Teoria dos Num´ eros Parte Irdahab/cursos/MO829-MC932/Welcome… · Conceitos e algoritmos da Teoria dos Num´ eros Parte I IC-UNICAMP/2006-1s 1. MO829-MC932

MO829-MC932 - Algoritmos Criptograficos Prof. R Dahab

Maximo divisor comum

Definicao 2

• Se d|a e d|b, entao d e divisor comum de a e b.

• Se nao existe d′ > d tal que d′ e divisor comum de a e b, entaod e o maximo divisor comum (MDC) de a e b.

Fatos:

• d|a e d|b entao d|(a + b) e d|(a− b);

• (mais geral) d|a e d|b entao d|(ax + by) ∀ x, y ∈ Z;

• se a|b entao |a| ≤ |b| ou b = 0, logo:

a|b, b|a⇒ a = b ou a = −b.

• Convencionaremos que MDC(0, 0) = 0.

IC-UNICAMP/2006-1s 5

Page 6: Conceitos e algoritmos da Teoria dos Num´ eros Parte Irdahab/cursos/MO829-MC932/Welcome… · Conceitos e algoritmos da Teoria dos Num´ eros Parte I IC-UNICAMP/2006-1s 1. MO829-MC932

MO829-MC932 - Algoritmos Criptograficos Prof. R Dahab

Maximo divisor comum

Propriedades:

• MDC(a, b) = MDC(b, a).

• MDC(a, b) = MDC(−a, b).

• MDC(a, b) = MDC(|a|, |b|).

• MDC(a, 0) = |a|.

• MDC(a, ka) = |a| para todo k ∈ Z.

IC-UNICAMP/2006-1s 6

Page 7: Conceitos e algoritmos da Teoria dos Num´ eros Parte Irdahab/cursos/MO829-MC932/Welcome… · Conceitos e algoritmos da Teoria dos Num´ eros Parte I IC-UNICAMP/2006-1s 1. MO829-MC932

MO829-MC932 - Algoritmos Criptograficos Prof. R Dahab

Maximo divisor comum

Teorema 2 Sejam a e b dois inteiros nao ambos nulos. Entao,

d = MDC(a, b) = min{ax + by : ax + by > 0 e x, y ∈ Z}.

Consequencias:

• a e b inteiros, d|a e d|b ⇒ d|MDC(a, b).

• a e b inteiros, n ≥ 0 inteiro ⇒ MDC(an, bn) = n×MDC(a, b).

• n, a e b inteiros positivos ⇒ se n|ab e MDC(a, n) = 1 entaon|b.

IC-UNICAMP/2006-1s 7

Page 8: Conceitos e algoritmos da Teoria dos Num´ eros Parte Irdahab/cursos/MO829-MC932/Welcome… · Conceitos e algoritmos da Teoria dos Num´ eros Parte I IC-UNICAMP/2006-1s 1. MO829-MC932

MO829-MC932 - Algoritmos Criptograficos Prof. R Dahab

Maximo divisor comum

Definicao 3 a e b sao primos relativos, ou coprimos, seMDC(a, b) = 1.

Teorema 3 Sejam a, b e p inteiros. Se MDC(a, p) = 1 eMDC(b, p) = 1 entao MDC(ab, p) = 1.

IC-UNICAMP/2006-1s 8

Page 9: Conceitos e algoritmos da Teoria dos Num´ eros Parte Irdahab/cursos/MO829-MC932/Welcome… · Conceitos e algoritmos da Teoria dos Num´ eros Parte I IC-UNICAMP/2006-1s 1. MO829-MC932

MO829-MC932 - Algoritmos Criptograficos Prof. R Dahab

Fatoracao de inteiros

Teorema 4 Para p primo e inteiros a e b quaisquer, se p|ab entaop|a ou p|b.

Teorema 5 (Unicidade da Fatoracao)) Um inteiro a pode serescrito de maneira unica como um produto da forma

a = pe11 pe2

2 pe33 . . . per

r ,

onde todo pi e primo e satisfaz pi < pi+1.

Exemplo 2

2940 = 22.31.51.72

IC-UNICAMP/2006-1s 9

Page 10: Conceitos e algoritmos da Teoria dos Num´ eros Parte Irdahab/cursos/MO829-MC932/Welcome… · Conceitos e algoritmos da Teoria dos Num´ eros Parte I IC-UNICAMP/2006-1s 1. MO829-MC932

MO829-MC932 - Algoritmos Criptograficos Prof. R Dahab

Calculo do MDC(a, b)

Suponha a, b ≥ 0. Uma primeira tentativa, muito ingenua:

• Determine os conjuntos D(a) e D(b) de divisores de a e b

testando a divisibilidade de 1, 2, . . . min(b√

ac, b√

bc) (por que?).

• Determine d = maxD(a) ∩D(b), o MDC de a e b.

Dificuldade: Se a for muito grande, com centenas de dıgitosdecimais,

√a tambem e e esse processo torna-se inviavel.

IC-UNICAMP/2006-1s 10

Page 11: Conceitos e algoritmos da Teoria dos Num´ eros Parte Irdahab/cursos/MO829-MC932/Welcome… · Conceitos e algoritmos da Teoria dos Num´ eros Parte I IC-UNICAMP/2006-1s 1. MO829-MC932

MO829-MC932 - Algoritmos Criptograficos Prof. R Dahab

Calculo do MDC(a, b)

Segunda tentativa, um disfarce da primeira:

• a = pe11 pe2

2 pe33 . . . per

r ;

• b = pf11 pf2

2 pf33 . . . pfr

r ;

• MDC(a, b) = pmin{e1,f1}1 p

min{e2,f2}2 . . . p

min{er,fr}r .

O numero de fatores distintos e da ordem de log2 a no pior caso(por que?). Mesmo assim, nao se conhecem algoritmos eficientes(polinomiais) para a fatoracao.

IC-UNICAMP/2006-1s 11

Page 12: Conceitos e algoritmos da Teoria dos Num´ eros Parte Irdahab/cursos/MO829-MC932/Welcome… · Conceitos e algoritmos da Teoria dos Num´ eros Parte I IC-UNICAMP/2006-1s 1. MO829-MC932

MO829-MC932 - Algoritmos Criptograficos Prof. R Dahab

Calculo do MDC(a, b)

Terceira alternativa, finalmente um teorema para ajudar-nos:

Teorema 6 Sejam a inteiro nao negativo e b inteiro positivo.Entao

MDC(a, b) = MDC(b, a mod b)

Exemplo 3 MDC(2940, 126) = MDC(126, 42) = MDC(42, 0) = 42.

IC-UNICAMP/2006-1s 12

Page 13: Conceitos e algoritmos da Teoria dos Num´ eros Parte Irdahab/cursos/MO829-MC932/Welcome… · Conceitos e algoritmos da Teoria dos Num´ eros Parte I IC-UNICAMP/2006-1s 1. MO829-MC932

MO829-MC932 - Algoritmos Criptograficos Prof. R Dahab

O Algoritmo de Euclides

EUCLIDES(a, b)

Entrada: inteiros nao negativos a e b.

Saıda: MDC(a, b).

1. Se b = 0 entao retorne a.

2. EUCLIDES(b, a mod b).

IC-UNICAMP/2006-1s 13

Page 14: Conceitos e algoritmos da Teoria dos Num´ eros Parte Irdahab/cursos/MO829-MC932/Welcome… · Conceitos e algoritmos da Teoria dos Num´ eros Parte I IC-UNICAMP/2006-1s 1. MO829-MC932

MO829-MC932 - Algoritmos Criptograficos Prof. R Dahab

O Algoritmo de Euclides

Analise de Complexidade

• A complexidade do pior caso de EUCLIDES(a, b) e, como seespera, calculada em funcao dos tamanhos |a|, |b| de a e b, istoe, o numero de bits de a e b.

k = |a| = dlog2 ae ⇒ a = Θ(2k).

• Vamos supor que a > b ≥ 0. (O que acontece se b > a ≥ 0? Ese b = a ?).

• E claro que o numero de operacoes executadas porEUCLIDES(a, b) e proporcional ao numero de chamadasrecursivas feitas pelo algoritmo.

• Como veremos, esse numero esta intimamente relacionado comos numeros de Fibonacci.

IC-UNICAMP/2006-1s 14

Page 15: Conceitos e algoritmos da Teoria dos Num´ eros Parte Irdahab/cursos/MO829-MC932/Welcome… · Conceitos e algoritmos da Teoria dos Num´ eros Parte I IC-UNICAMP/2006-1s 1. MO829-MC932

MO829-MC932 - Algoritmos Criptograficos Prof. R Dahab

O Algoritmo de Euclides

Analise de Complexidade

• F0 = 0, F1 = 1, Fi = Fi−1 + Fi−2 para i ≥ 2.

0, 1, 1, 2, 3, 5, 8, 13, . . .

• A razao aurea e φ = (1 +√

5)/2 = 1.618 . . . e sua conjugada eφ = (1−

√5)/2 = −0.618 . . .).

• Sabe-se que Fi = (φi − φi)/√

5.

IC-UNICAMP/2006-1s 15

Page 16: Conceitos e algoritmos da Teoria dos Num´ eros Parte Irdahab/cursos/MO829-MC932/Welcome… · Conceitos e algoritmos da Teoria dos Num´ eros Parte I IC-UNICAMP/2006-1s 1. MO829-MC932

MO829-MC932 - Algoritmos Criptograficos Prof. R Dahab

O Algoritmo de Euclides

Analise de Complexidade

Teorema 7 Se a > b ≥ 0 e EUCLIDES(a, b) executa k ≥ 1chamadas recursivas, entao a ≥ Fk+2 e b ≥ Fk+1.

Teorema 8 (Teorema de Lame)) Para todo k ≥ 1, se a > b ≥ 0e b < Fk+1, entao EUCLIDES(a, b) faz menos que k chamadasrecursivas.

IC-UNICAMP/2006-1s 16

Page 17: Conceitos e algoritmos da Teoria dos Num´ eros Parte Irdahab/cursos/MO829-MC932/Welcome… · Conceitos e algoritmos da Teoria dos Num´ eros Parte I IC-UNICAMP/2006-1s 1. MO829-MC932

MO829-MC932 - Algoritmos Criptograficos Prof. R Dahab

O Algoritmo de Euclides

Analise de Complexidade

• O limite superior dado no Teorema de Lame e o melhorpossıvel.

• Pior caso: a e b sao numeros de Fibonacci consecutivos.EUCLIDES(Fk+1, Fk) faz k − 1 recursoes (lembre-se que, peladefinicao de Fk e pelo Teorema da Divisao,Fk+1 mod Fk = Fk−1).

• Assim, o numero de chamadas recursivas do EUCLIDES eO(log b).

• Se a e b sao inteiros de β bits, EUCLIDES faz O(β) operacoesaritmeticas (mod) e O(β3) operacoes em bits.

IC-UNICAMP/2006-1s 17

Page 18: Conceitos e algoritmos da Teoria dos Num´ eros Parte Irdahab/cursos/MO829-MC932/Welcome… · Conceitos e algoritmos da Teoria dos Num´ eros Parte I IC-UNICAMP/2006-1s 1. MO829-MC932

MO829-MC932 - Algoritmos Criptograficos Prof. R Dahab

O Algoritmo Estendido de Euclides

Dado que d = MDC(a, b) = ax + by, perguntamos: quem sao x e y?

X-EUCLIDES(a, b)

Entrada: inteiros nao negativos a e b.

Saıda: MDC(a, b) e (x, y).

1. Se b = 0 entao retorne(a, 1, 0).

2. (d′, x′, y′)← X-EUCLIDES(b, a mod b).

3. (d, x, y)← (d′, y′, x′ − bab cy

′).

4. Retorne(d, x, y).

Corretude pode ser demonstrada por inducao.

IC-UNICAMP/2006-1s 18

Page 19: Conceitos e algoritmos da Teoria dos Num´ eros Parte Irdahab/cursos/MO829-MC932/Welcome… · Conceitos e algoritmos da Teoria dos Num´ eros Parte I IC-UNICAMP/2006-1s 1. MO829-MC932

MO829-MC932 - Algoritmos Criptograficos Prof. R Dahab

Um pouco de Algebra

Vamos formalizar as ideias vistas ate agora.

Definicao 4 Sejam S um conjunto e ⊕ uma operacao binariasobre S. Entao, (S,⊕) e um grupo se valem as propriedades:

1. Fechamento: a e b ∈ S entao a⊕ b ∈ S.

2. Identidade: ∃e ∈ S tal que ∀a ∈ S, a⊕ e = e⊕ a = a.

3. Associatividade: ∀a, b e c ∈ S, (a⊕ b)⊕ c = a⊕ (b⊕ c).

4. Existencia de inversos: ∀a ∈ S, existe um unico elementob ∈ S tal que a⊕ b = b⊕ a = e.

Exemplo 4 (Z,+) tendo 0 como identidade e (−a) como inversode a,∀a ∈ Z.

IC-UNICAMP/2006-1s 19

Page 20: Conceitos e algoritmos da Teoria dos Num´ eros Parte Irdahab/cursos/MO829-MC932/Welcome… · Conceitos e algoritmos da Teoria dos Num´ eros Parte I IC-UNICAMP/2006-1s 1. MO829-MC932

MO829-MC932 - Algoritmos Criptograficos Prof. R Dahab

Mais grupos

Definicao 5

• Um grupo (S,⊕) e abeliano se a operacao ⊕ for comutativa(a⊕ b = b⊕ a para todo a e b em S).

• Um grupo (S,⊕) e finito se |S| <∞.

IC-UNICAMP/2006-1s 20

Page 21: Conceitos e algoritmos da Teoria dos Num´ eros Parte Irdahab/cursos/MO829-MC932/Welcome… · Conceitos e algoritmos da Teoria dos Num´ eros Parte I IC-UNICAMP/2006-1s 1. MO829-MC932

MO829-MC932 - Algoritmos Criptograficos Prof. R Dahab

Grupos com Zn e aritmetica modular

Sejam a ≡ a′(mod n) e b ≡ b′(mod n). Entao

• a + b ≡ a′ + b′(mod n).

• ab ≡ a′b′(mod n).

Definicao 6

• [a]n +n [b]n = [a + b]n.

• [a]n .n [b]n = [ab]n.

Definicao 7 O grupo aditivo modulo n e dado por (Zn, +n ) (0 ea identidade para este grupo).

IC-UNICAMP/2006-1s 21

Page 22: Conceitos e algoritmos da Teoria dos Num´ eros Parte Irdahab/cursos/MO829-MC932/Welcome… · Conceitos e algoritmos da Teoria dos Num´ eros Parte I IC-UNICAMP/2006-1s 1. MO829-MC932

MO829-MC932 - Algoritmos Criptograficos Prof. R Dahab

Grupos com Zn e aritmetica modular

Definicao 8 O grupo multiplicativo modulo n e dado por(Z∗

n, .n ), onde Z∗n e o conjunto de elementos de Zn que sao primos

relativos de n, i.e. ,

Z∗n = {[a]n ∈ Zn : MDC(a, n) = 1}.

Exemplo 5 Z∗22 = {1, 3, 5, 7, 9, 13, 15, 17, 19, 21}.

Observacoes:

1. 1 e a identidade para este grupo.

2. Z∗n esta bem definido (MDC(a, n) = MDC(a + kn, n)).

IC-UNICAMP/2006-1s 22

Page 23: Conceitos e algoritmos da Teoria dos Num´ eros Parte Irdahab/cursos/MO829-MC932/Welcome… · Conceitos e algoritmos da Teoria dos Num´ eros Parte I IC-UNICAMP/2006-1s 1. MO829-MC932

MO829-MC932 - Algoritmos Criptograficos Prof. R Dahab

Grupos com Zn e aritmetica modular

Teorema 9 (Zn, +n ) e um grupo abeliano finito.

Teorema 10 (Z∗n, .n ) e um grupo abeliano finito.

IC-UNICAMP/2006-1s 23

Page 24: Conceitos e algoritmos da Teoria dos Num´ eros Parte Irdahab/cursos/MO829-MC932/Welcome… · Conceitos e algoritmos da Teoria dos Num´ eros Parte I IC-UNICAMP/2006-1s 1. MO829-MC932

MO829-MC932 - Algoritmos Criptograficos Prof. R Dahab

O grupo multiplicativo (Z∗n, .n )

Definicao 9 O elemento inverso (multiplicativo) de umelemento a e denotado por (a−1 mod n). A divisao em Z∗

n edefinida pela equacao:

a/b ≡ ab−1(mod n).

Exemplo 6 Em Z∗15, 7−1 ≡ 13(mod 15) pois

7.13 = 91 ≡ 1(mod 15) e, portanto, 4/7 ≡ 4.13 ≡ 7(mod 15).

IC-UNICAMP/2006-1s 24

Page 25: Conceitos e algoritmos da Teoria dos Num´ eros Parte Irdahab/cursos/MO829-MC932/Welcome… · Conceitos e algoritmos da Teoria dos Num´ eros Parte I IC-UNICAMP/2006-1s 1. MO829-MC932

MO829-MC932 - Algoritmos Criptograficos Prof. R Dahab

O grupo multiplicativo (Z∗n, .n )

Definicao 10 O tamanho de Z∗n e dado pela funcao φ de Euler,

definida por:

φ(n) = n∏p | n

(1− 1p),

onde p e um primo que divide n (incluindo n se for o caso).

Exemplo 7

• φ(22) = 22(1− 1/2)(1− 1/11) = 22(1/2)(10/11) = 10.

• Quando n e primo, φ(n) = n− 1.

IC-UNICAMP/2006-1s 25

Page 26: Conceitos e algoritmos da Teoria dos Num´ eros Parte Irdahab/cursos/MO829-MC932/Welcome… · Conceitos e algoritmos da Teoria dos Num´ eros Parte I IC-UNICAMP/2006-1s 1. MO829-MC932

MO829-MC932 - Algoritmos Criptograficos Prof. R Dahab

Subgrupos

Definicao 11 Se (S,⊕) e um grupo e, para S′ ⊆ S, (S′,⊕)tambem e um grupo, entao (S′,⊕) e um subgrupo de (S,⊕).

Exemplo 8 Os numeros pares formam um subgrupo de (Z,+).

Teorema 11 Um subconjunto fechado de um grupo finito e umsubgrupo.

Exemplo 9 {0, 2, 4, 6} e um subgrupo de (Z8,+8).

IC-UNICAMP/2006-1s 26

Page 27: Conceitos e algoritmos da Teoria dos Num´ eros Parte Irdahab/cursos/MO829-MC932/Welcome… · Conceitos e algoritmos da Teoria dos Num´ eros Parte I IC-UNICAMP/2006-1s 1. MO829-MC932

MO829-MC932 - Algoritmos Criptograficos Prof. R Dahab

Subgrupos

Teorema 12 (Lagrange) Se (S′,⊕) e um subgrupo de um grupofinito (S,⊕), entao |S′| e um divisor de |S|.

Corolario 1 Se S′ e um subgrupo proprio de um grupo finito S,entao |S′| ≤ |S|/2.

IC-UNICAMP/2006-1s 27

Page 28: Conceitos e algoritmos da Teoria dos Num´ eros Parte Irdahab/cursos/MO829-MC932/Welcome… · Conceitos e algoritmos da Teoria dos Num´ eros Parte I IC-UNICAMP/2006-1s 1. MO829-MC932

MO829-MC932 - Algoritmos Criptograficos Prof. R Dahab

Geradores

Escolha um elemento a ∈ S e calcule

a(k) =k⊕

i=1

a = a⊕ a⊕ . . .⊕ a︸ ︷︷ ︸k

,

para k ≥ 1.

Exemplo 10

• Tome Z6 e a = 2, Entao

a(1), a(2), . . . = 2, 4, 0, 2, 4, 0, 2 . . . .

• Para (Zn, +n ), a(k) = ka mod n.

• Para (Z∗n, .n ),a(k) = ak mod n.

IC-UNICAMP/2006-1s 28

Page 29: Conceitos e algoritmos da Teoria dos Num´ eros Parte Irdahab/cursos/MO829-MC932/Welcome… · Conceitos e algoritmos da Teoria dos Num´ eros Parte I IC-UNICAMP/2006-1s 1. MO829-MC932

MO829-MC932 - Algoritmos Criptograficos Prof. R Dahab

Geradores

Definicao 12 O subgrupo gerado por a, denotado por 〈a〉 (ou(〈a〉,⊕)), e definido por

〈a〉 = {a(k) : k ≥ 1}.

Propriedades:

• 〈a〉 e finito.

• 〈a〉 e fechado pois, pela associatividade, a(i) ⊕ a(j) = a(i+j).

• 〈a〉 e um subgrupo de S.

Exemplo 11 Para Z∗7, temos

〈1〉 = {1}, 〈2〉 = {1, 2, 4}, 〈3〉 = {1, 2, 3, 4, 5, 6}.

IC-UNICAMP/2006-1s 29

Page 30: Conceitos e algoritmos da Teoria dos Num´ eros Parte Irdahab/cursos/MO829-MC932/Welcome… · Conceitos e algoritmos da Teoria dos Num´ eros Parte I IC-UNICAMP/2006-1s 1. MO829-MC932

MO829-MC932 - Algoritmos Criptograficos Prof. R Dahab

Geradores

Definicao 13 A ordem de a (em um grupo S), denotada porord(a) e definida como sendo o menor inteiro t > 0 tal que a(t) = e.

Teorema 13 Para todo grupo finito (S,⊕) e todo a ∈ S,ord(a) = |〈a〉|.

Corolario 2 A sequencia a(1), a(2), . . . e periodica com perıodot = ord(a), i.e., a(i) = a(j) ⇔ i ≡ j(mod t). (Nota: a(0) = e)

Corolario 3 Se (S,⊕) e um grupo finito com identidade e, entao,para todo a ∈ S vale

a(|S|) = e.

IC-UNICAMP/2006-1s 30

Page 31: Conceitos e algoritmos da Teoria dos Num´ eros Parte Irdahab/cursos/MO829-MC932/Welcome… · Conceitos e algoritmos da Teoria dos Num´ eros Parte I IC-UNICAMP/2006-1s 1. MO829-MC932

MO829-MC932 - Algoritmos Criptograficos Prof. R Dahab

Equacoes lineares modulares

Problema 1 Dados inteiros a, b e n > 0, encontrarx ∈ {0, 1, ..., n− 1}, tal que

ax ≡ b(mod n).

Lembrando:

• 〈a〉 e o subgrupo de (Zn, +n ) gerado por a.

• A equacao tem solucao se e somente se b ∈ 〈a〉.

• |〈a〉| e divisor de n pelo Teorema de Lagrange.

IC-UNICAMP/2006-1s 31

Page 32: Conceitos e algoritmos da Teoria dos Num´ eros Parte Irdahab/cursos/MO829-MC932/Welcome… · Conceitos e algoritmos da Teoria dos Num´ eros Parte I IC-UNICAMP/2006-1s 1. MO829-MC932

MO829-MC932 - Algoritmos Criptograficos Prof. R Dahab

Equacoes lineares modulares

Teorema 14 Para todo inteiro a e n, se d = MDC(a, n), entao

〈a〉 = 〈d〉 = {0, d, 2d, 3d, . . . , ((n/d)− 1)d},

e, portanto, |〈a〉| = n/d.

Corolario 4 A equacao ax ≡ b(mod n) tem solucao se e somentese MDC(a, n) | b (= d | b).

Corolario 5 A equacao ax ≡ b(mod n) ou nao tem solucao outem d = MDC(a, n) solucoes distintas modulo n.

IC-UNICAMP/2006-1s 32

Page 33: Conceitos e algoritmos da Teoria dos Num´ eros Parte Irdahab/cursos/MO829-MC932/Welcome… · Conceitos e algoritmos da Teoria dos Num´ eros Parte I IC-UNICAMP/2006-1s 1. MO829-MC932

MO829-MC932 - Algoritmos Criptograficos Prof. R Dahab

Equacoes lineares modulares

Teorema 15 Seja d = MDC(a, n) = ax′ + ny′ (x′ e y′ sao inteirosobtidos, p.ex., por X-EUCLIDES(a, n)). Se d | b, entao, a equacaoax ≡ b(mod n) tem uma solucao cujo valor e:

x0 = x′(b/d) mod n.

Teorema 16 Suponha que ax ≡ b(mod n) tem solucao e que x0

seja uma solucao para esta equacao. Entao a equacao temexatamente d = MDC(a, n) solucoes distintas, modulo n, dadas por:

xi = x0 + i(n/d), para i = 1, 2, . . . , d− 1.

IC-UNICAMP/2006-1s 33

Page 34: Conceitos e algoritmos da Teoria dos Num´ eros Parte Irdahab/cursos/MO829-MC932/Welcome… · Conceitos e algoritmos da Teoria dos Num´ eros Parte I IC-UNICAMP/2006-1s 1. MO829-MC932

MO829-MC932 - Algoritmos Criptograficos Prof. R Dahab

Equacoes lineares modulares

Algoritmo para resolver equacoes modulares lineares

ELM-RESOLVE(a, b, n)

Entrada: inteiros nao negativos n > 0 e a, b ∈ Zn.

Saıda: x ∈ Zn tal que ax ≡ b(mod n)

1. (d, x′, y′)← X-EUCLIDES(a, n).

2. Se d | b entao

2.1 x0 ← x′(b/d) mod n.

2.2 Para i = 0 ate d− 1 faca

2.2.1 imprima x0 + i(n/d) mod n.

3. senao imprima “nao ha solucao”.

IC-UNICAMP/2006-1s 34

Page 35: Conceitos e algoritmos da Teoria dos Num´ eros Parte Irdahab/cursos/MO829-MC932/Welcome… · Conceitos e algoritmos da Teoria dos Num´ eros Parte I IC-UNICAMP/2006-1s 1. MO829-MC932

MO829-MC932 - Algoritmos Criptograficos Prof. R Dahab

Equacoes lineares modulares

Corolario 6 Seja n > 1. Se MDC(a, n) = 1 entao ax ≡ b(mod n)tem uma unica solucao modulo n.

Corolario 7 Seja n > 1. Se MDC(a, n) = 1 entao ax ≡ 1(mod n)tem uma unica solucao modulo n. Caso contrario, nao existesolucao. Alem disso, o calculo de a−1 mod n e o valor de x

retornado por X-EUCLIDES(a, n).

IC-UNICAMP/2006-1s 35