Aritmética modular, Euler e RSAmatematica-discreta.zohosites.com/files/ITN.pdfConjuntos e Funções...

32
1 2

Transcript of Aritmética modular, Euler e RSAmatematica-discreta.zohosites.com/files/ITN.pdfConjuntos e Funções...

Page 1: Aritmética modular, Euler e RSAmatematica-discreta.zohosites.com/files/ITN.pdfConjuntos e Funções ATF Racionais Modulares RSA Aritmética modular, Euler e RSA Carlos Florentino

Conjuntos e Funções TFA Racionais Modulares RSA

Aritmética modular, Euler e RSA

Carlos Florentino1,2

1Departmento de Mathemática, FCUL,2CMAFcIO e GFM Univ. de Lisboa

Notas de Matemática Discreta / Finita - Parte I(não se usa o AO90...)

Page 2: Aritmética modular, Euler e RSAmatematica-discreta.zohosites.com/files/ITN.pdfConjuntos e Funções ATF Racionais Modulares RSA Aritmética modular, Euler e RSA Carlos Florentino

Conjuntos e Funções TFA Racionais Modulares RSA

Outline1 Conjuntos, Funções e Relações de Equivalência

Conjuntos e CardinalidadeFunções e Relações de Equivalência

2 Teorema Fundamental da AritméticaAlgoritmos, Euclides e BézoutO Teorema Fundamental da Aritmética

3 Números racionais e representaçõesNúmeros racionaisRepresentação em diferentes bases

4 Números modularesAritmética modularAnéis e corposA Equação Linear ModularO Teorema Chinês dos Restos

5 Criptogra�a RSAFunção totiente (ϕ) de EulerTeoremas de Fermat, Euler e Daniel da SilvaO algoritmo RSA

Page 3: Aritmética modular, Euler e RSAmatematica-discreta.zohosites.com/files/ITN.pdfConjuntos e Funções ATF Racionais Modulares RSA Aritmética modular, Euler e RSA Carlos Florentino

Conjuntos e Funções TFA Racionais Modulares RSA

Conjuntos - Linguagem/Terminologia

A = {a, b, c, · · · }, conjunto de�nido por extensão, a ∈ AB = {n ∈ Z : n2 > 24}, subconjunto de�nido por propriedade.Temos 4 /∈ B, B ⊂ Z .

Se C é subconjunto de D, escreve-se C ⊂ D (podem ser iguais)

Conjuntos fundamentais:Naturais N = {1, 2, 3, · · · }, N0 = {0, 1, 2, 3, · · · } = N ∪ {0}Inteiros Z = {· · · ,−2,−1, 0, 1, 2, 3, · · · }Racionais Q = {ab : a ∈ Z, b ∈ N}Reais R, Complexos C, etc.

Operações com conjuntos:União A ∪B = {x : x ∈ A ou x ∈ B}Intersecção A ∩B = {x : x ∈ A e x ∈ B}Diferença A \B = {x ∈ A : x /∈ B};Complemento como subconjunto de U (universo), Ac = U \ADiferença simétrica A4B := (A \B) ∪ (B \A)União disjunta A tB := A ∪B, sempre que A ∩B = ∅ (vazio)

Produto (cartesiano) A×B = {(a, b) : a ∈ A, b ∈ B}

Page 4: Aritmética modular, Euler e RSAmatematica-discreta.zohosites.com/files/ITN.pdfConjuntos e Funções ATF Racionais Modulares RSA Aritmética modular, Euler e RSA Carlos Florentino

Conjuntos e Funções TFA Racionais Modulares RSA

Cardinal

O cardinal |X| de um conjunto �nito X é o número de elementos.Exemplo:

[n] := {1, 2, 3, · · · , n} ⊂ N tem n elementos: |[n]| = n.[n]0 := {0, 1, 2, 3, · · · , n} ⊂ N0 tem n+ 1 elementos.

|A ∪B| = |A|+ |B| − |A ∩B||A×B| = |A| · |B|Numa união disjunta:

|A1 tA2 t · · · tAk| =∑j

|Aj |

Conjunto potência de X (ou conjunto das partes de X):

P(X) = {A : A ⊂ X}tem |P(X)| = 2|X|.

Exemplo: se X = {0, 4, α} então:P(X) = {∅, {0}, {4}, {α}, {0, 4}, {0, α}, {4, α}, X}

Page 5: Aritmética modular, Euler e RSAmatematica-discreta.zohosites.com/files/ITN.pdfConjuntos e Funções ATF Racionais Modulares RSA Aritmética modular, Euler e RSA Carlos Florentino

Conjuntos e Funções TFA Racionais Modulares RSA

Funções

Uma função f : X → Y é uma associação: a cada x ∈ X, fassocia um único y = f(x) ∈ Y .X =conjunto de partida (domínio), Y = conjunto de chegadaImagem de f é f(X) = {f(x) ∈ Y : x ∈ X} ⊂ YImagem de A ⊂ X: f(A) = {f(x) ∈ Y : x ∈ A} ⊂ f(X)Imagem inversa de B ⊂ Y :f−1(B) = {x ∈ X : f(x) ∈ B} ⊂ X

De�nição

f é injectiva se f(x) 6= f(y) para x 6= yf é sobrejectiva se f(X) = Yf é bijectiva se é injectiva e sobrejectiva

Teorema

Se |X| > |Y | então f não pode ser injectiva.

Se |X| < |Y | então f não pode ser sobrejectiva.

Page 6: Aritmética modular, Euler e RSAmatematica-discreta.zohosites.com/files/ITN.pdfConjuntos e Funções ATF Racionais Modulares RSA Aritmética modular, Euler e RSA Carlos Florentino

Conjuntos e Funções TFA Racionais Modulares RSA

Relações de equivalência

Relação de equivalência em X - uma partição de X em subconjuntosdisjuntos - cada subconjunto �ca com os objectos equivalentes.

Exemplos: (1) Com X = {x, y, ξ, φ, g, h}, podemos tornar equivalentes

as letras do mesmo alfabeto - obtém-se a relação {{x, y}, {ξ, φ}, {g, h}}.(2) Seja Y um conjunto de bolas. Dizemos que duas bolas sãoequivalentes se se usam no mesmo desporto.

Usualmente, a relação é descrita por um símbolo de operaçãobinária, por ex. ∼. Escrevemos x ∼ y, ξ ∼ φ e g ∼ h, ou b1 ≡ b2.

Proposição: A relação ∼ é uma relação de equivalência em X, see só se, para todos x, y, z ∈ X:

Re�exiva: x ∼ xSimétrica: se x ∼ y, então y ∼ xTransitiva: se x ∼ y e y ∼ z, então x ∼ z.

Page 7: Aritmética modular, Euler e RSAmatematica-discreta.zohosites.com/files/ITN.pdfConjuntos e Funções ATF Racionais Modulares RSA Aritmética modular, Euler e RSA Carlos Florentino

Conjuntos e Funções TFA Racionais Modulares RSA

Algoritmo da Divisão com Resto

Dados 2 naturais a, b ∈ N (a > b > 1), podemos fazer uma divisão comresto:

a = qb+ r

com r ∈ {0, 1, · · · , b− 1}. Nesta igualdade:

a=dividendo, b=divisor, q=quociente∈ N e r=restoAlém disso, q e r são únicos !

Exemplo: Dividir 711 por 132: 711 = 5 · 132 + 51.

Divisibilidade: Para a, b ∈ Z, dizemos que �b divide a� , ou �b é

divisor de a�, e escreve-se b | a (caso contrário b - a) se:a é múltiplo de b, ouab ∈ Zo resto da divisão de a por b é zero (no caso a, b > 0)

Div(a) := {divisores positivos de a} = {n ∈ N : n | a}

p ∈ N é número primo se Div(p) = {1, p}.

Page 8: Aritmética modular, Euler e RSAmatematica-discreta.zohosites.com/files/ITN.pdfConjuntos e Funções ATF Racionais Modulares RSA Aritmética modular, Euler e RSA Carlos Florentino

Conjuntos e Funções TFA Racionais Modulares RSA

MDC e o Algoritmo de Euclides

Propriedades: • 0 - a , 1 | a para todo a ∈ N• Se a|b e b|c então a|c.• Se b|a e a|b então |a| = |b|.• Se a, b ∈ N e a|b, então a ≤ b.Máximo divisor comum entre a, b ∈ N é o maior elemento(a, b) := mdc(a, b), do conjunto:

Div(a) ∩ Div(b).

Diz-se que a, b ∈ N são primos entre si se (a, b) = 1.

Para determinar (a, b) fazemos uma sucessão de divisões inteiras,começando com a = d0, b = d1 (supondo a > b):

d0 = q1d1 + d2d1 = q2d2 + d3...

...

dk−2 = qk−1dk−1 + dkdk−1 = qkdk + 0

No �m obtemos (a, b) = dk.

Page 9: Aritmética modular, Euler e RSAmatematica-discreta.zohosites.com/files/ITN.pdfConjuntos e Funções ATF Racionais Modulares RSA Aritmética modular, Euler e RSA Carlos Florentino

Conjuntos e Funções TFA Racionais Modulares RSA

Equação de Bézout

Sejam a, b naturais (ou inteiros) e seja d = (a, b) o seumáximo divisor comum. A equação de Bézout é:

ax+ by = d,

sendo x, y as incógnitas (em Z). Uma solução particularobtém-se do algoritmo de Euclides estendido.

Mais geralmente, temos a equação (Diofantina):

ax+ by = c, (1)

sendo a, b, c dados (em N ou Z) e x, y as incógnitas (em Z).

A equação (1) tem solução (x0, y0) se e só se (a, b) | c(quando existem, há in�nitas soluções).

A solução geral de (1) é:

x = x0 + kb

d, y = y0 − k

a

d, k ∈ Z,

sendo (x0, y0) solução de ax+ by = c.

Page 10: Aritmética modular, Euler e RSAmatematica-discreta.zohosites.com/files/ITN.pdfConjuntos e Funções ATF Racionais Modulares RSA Aritmética modular, Euler e RSA Carlos Florentino

Conjuntos e Funções TFA Racionais Modulares RSA

Equação de Bézout - Exemplo

Exemplo: determinar todas as soluções (x, y) ∈ Z2 de

711x+ 132y = 6. (2)

i di −qi xi yi

0 711 1 0

1 132 -5 0 1

2 51 -2 1 -5

3 30 -1 -2 11

4 21 -1 3 -16

5 9 -2 -5 27

6 3 13 -70

Relacionamos as linhas i + 1, i e i − 1

da seguinte forma:

di+1 = di−1 − qidixi+1 = xi−1 − qixiyi+1 = yi−1 − qiyi

Logo6 = 711× 26 + 132× (−140),

e, usando 1323 = 44 e 711

3 = 237, a solução geral de (2) é:

x = x0 + 44k, y = y0 − 237k, k ∈ Z.

Page 11: Aritmética modular, Euler e RSAmatematica-discreta.zohosites.com/files/ITN.pdfConjuntos e Funções ATF Racionais Modulares RSA Aritmética modular, Euler e RSA Carlos Florentino

Conjuntos e Funções TFA Racionais Modulares RSA

Lema de Euclides

Recorde que p ∈ N é primo se e só se |Div(p)| = 2 e que:

Se (a, b) = 1 dizemos que a e b são primos entre si.

Sejam a, b, c inteiros não nulos.Se a é primo com b e com c, então é primo com bc.Ou seja:Lema: Se (a, b) = (a, c) = 1, então (a, bc) = 1.

Lema de Euclides

Seja a, b ∈ Z. Se p é primo:

p | ab, ⇔ p | a ou p | b.

Page 12: Aritmética modular, Euler e RSAmatematica-discreta.zohosites.com/files/ITN.pdfConjuntos e Funções ATF Racionais Modulares RSA Aritmética modular, Euler e RSA Carlos Florentino

Conjuntos e Funções TFA Racionais Modulares RSA

Enunciado do T. Fund. Aritmética

Teorema Fundamental da Aritmética

Versão 1: Seja n ∈ N. Existe factorização:n = p1 · · · pm, p1, · · · , pm são primos.

Versão 2: Seja n ∈ N. Existe factorização:

n = pe11 · · · pekk , p1, · · · , pk são primos distintos, ej ∈ N.

Estas factorizações são únicas a menos de reordenação dos factores.

Corolário: Seja n = pe11 · · · pekk ∈ N. O conjunto dos divisores

positivos de n é:

Div(n) = {pc11 · · · pckk : ci ∈ {0, · · · , ei}}

Corolário: Seja Pn o conjunto de primos que aparece nafactorização de n, e seja p primo.Então: (1) p | n sse p ∈ Pn; (2) (a, b) = 1 sse Pa ∩ Pb = ∅

Page 13: Aritmética modular, Euler e RSAmatematica-discreta.zohosites.com/files/ITN.pdfConjuntos e Funções ATF Racionais Modulares RSA Aritmética modular, Euler e RSA Carlos Florentino

Conjuntos e Funções TFA Racionais Modulares RSA

Problemas Famosos com primos

Números primos formam um conjunto in�nito:P = {2, 3, 5, 7, 11, 13, 17, · · · ]

Crivo de Erastotenes - método de eliminação de múltiplos.

Para veri�car se n é primo basta dividir por p <√n (Exercício)

Conjectura de Goldbach

Qualquer número par maior que 2 é a soma de 2 primos.

Exemplo: 24 = 19 + 5 = 11 + 13; 98765432 =?

Primos Gémeos: Se p e p+ 2 são primos (p, p+ 2) é um par deprimos gémeos.

Conjectura: Há in�nitos pares de primos gémeos.

Page 14: Aritmética modular, Euler e RSAmatematica-discreta.zohosites.com/files/ITN.pdfConjuntos e Funções ATF Racionais Modulares RSA Aritmética modular, Euler e RSA Carlos Florentino

Conjuntos e Funções TFA Racionais Modulares RSA

Princípio de Indução

Princípio de Indução

Seja P (n) uma proposição/a�rmação que depende de n ∈ N.Assuma que:(1) P (1) é verdadeira(2) P (n) implica P (n+ 1) para todo n ≥ 1.Então P (n) é uma a�rmação verdadeira para todo n ∈ N.

Princípio de Indução Forte

Seja P (n) uma proposição/a�rmação que depende de n ∈ Z, e sejan0 ∈ Z. Assuma que:(1) P (n0) é verdadeira(2) A validade de P (n0), P (n0 + 1), · · · , P (n) implica a deP (n+ 1) ∀n ≥ n0.Então P (n) é uma a�rmação verdadeira para todo n ≥ n0.

Page 15: Aritmética modular, Euler e RSAmatematica-discreta.zohosites.com/files/ITN.pdfConjuntos e Funções ATF Racionais Modulares RSA Aritmética modular, Euler e RSA Carlos Florentino

Conjuntos e Funções TFA Racionais Modulares RSA

Exemplo

Princípio de Indução

Seja P (n) uma proposição/a�rmação que depende de n ∈ N.Assuma que:(1) P (1) é verdadeira(2) P (n) implica P (n+ 1) para todo n ≥ 1.Então P (n) é uma a�rmação verdadeira para todo n ∈ N.

Exemplo: Mostrar que:n∑

j=1

(2j − 1) = n2, ∀n ∈ N.

P (1):∑1

j=1(2j − 1) = 1 = 12 é verdadeiraAssumir P (n), e veri�car P (n+ 1):∑n+1

j=1 (2j−1) = (2(n+1)−1)+∑n

j=1(2j−1) = 2n+1+n2 = (n+1)2

é verdadeira (usou-se a validade de P (n) na passagem do meio).Logo, o PI aplica-se.

Page 16: Aritmética modular, Euler e RSAmatematica-discreta.zohosites.com/files/ITN.pdfConjuntos e Funções ATF Racionais Modulares RSA Aritmética modular, Euler e RSA Carlos Florentino

Conjuntos e Funções TFA Racionais Modulares RSA

Números racionais

Números racionais são da forma:a

b, a ∈ Z, b ∈ N.

Se (a, b) = 1 diz-se fracção irredutível. Ex: 9056 = 45

28 = 5·3222·7 .

Os números racionais formam um corpo, denotado Q: temos +,×,elementos neutros 0 e 1, distributividade, e podemos dividir doisracionais, desde que o denominador não se anule.

Dado qualquer x ∈ Q, existem n, a, b ∈ Z, com (a, b) = 1, tais que:

x = n+a

b,

além disso esta representação é única, se impomos b > a ≥ 0.

(Seja x > 0) n=parte inteira de x;ab chama-se a parte própria (ou fraccionária) de x.Escrevemos n = bxc e a

b = /x\ ∈ [0, 1[.

Exemplos: 4528 = 1 + 17

28 , −52 = −3 + 1

2 .

Page 17: Aritmética modular, Euler e RSAmatematica-discreta.zohosites.com/files/ITN.pdfConjuntos e Funções ATF Racionais Modulares RSA Aritmética modular, Euler e RSA Carlos Florentino

Conjuntos e Funções TFA Racionais Modulares RSA

Representação na base m

Seja m um natural ≥ 2.

Teorema

Qualquer natural n ∈ N se pode escrever �na base m�:

n = akmk + ak−1m

k−1 + · · ·+ a1m+ a0onde ak ∈ {0, 1, · · · ,m− 1}. Abreviadamente: n = [ak · · · a1a0]m.

25 = [25]10 = 16 + 8 + 1 = 1 · 24 + 1 · 23 + 1 = [11001]2

25 = 2 · 32 + 2 · 3 + 1 = [221]3

25 = 3 · 7 + 4 = [34]7

Os números racionais também se representam em bases:

12, 34 = 12 +3

10+

4

100= 10 + 2 · 100 + 3 · 10−1 + 4 · 10−2, na base 10

1, 76 =44

25= 1 +

3

5+

4

25= 1 · 50 + 3 · 5−1 + 4 · 5−2 = [1, 34]5

mas normalmente, vamos obter dízimas in�nitas (periódicas)...

Page 18: Aritmética modular, Euler e RSAmatematica-discreta.zohosites.com/files/ITN.pdfConjuntos e Funções ATF Racionais Modulares RSA Aritmética modular, Euler e RSA Carlos Florentino

Conjuntos e Funções TFA Racionais Modulares RSA

Congruências

Seja m natural ≥ 2, a, b ∈ Z. Dizemos que �a é congruente com bmódulo m�

a ≡ b mod m

se m | (b− a) (ie, b− a é múltiplo de m).

Exemplos

módulo 2: a par ⇔ a ≡ 0mod 2; a impar ⇔ a ≡ 1mod 2

módulo 4: anos bissextos ≡ 0mod 4; mundial de futebol ≡ 2 mod 4

módulo 7: Segunda-feira é dia 2 ⇔ próximas segundas-feiras são≡ 2 mod 7

módulo 24: 55 ≡ 7 mod 24: �55 horas = 2 dias e 7 horas�

a ≡ r mod m, sempre que a = mq + r é uma divisão inteira de apor m.

Números modulares: ≡ mod m é relação de equivalência em Z

Zm :={Classes de equival. de ≡ mod m} ↔ {0, · · · ,m−1}=: [m−1]0

Page 19: Aritmética modular, Euler e RSAmatematica-discreta.zohosites.com/files/ITN.pdfConjuntos e Funções ATF Racionais Modulares RSA Aritmética modular, Euler e RSA Carlos Florentino

Conjuntos e Funções TFA Racionais Modulares RSA

Regras da Aritmética Modular

Módulo �xo m:

a ≡ bmod m, c ≡ dmod m ⇒a+ c ≡ b+ dmod m

ac ≡ bdmod m

ak ≡ bk mod m, ∀k ∈ N

Módulos múltiplos:n | m a ≡ bmod m ⇒ a ≡ bmod n

(a, b,m) = d a ≡ bmod m ⇒ a

d≡ b

dmod

m

d

5 + 23 ≡ 0mod 7

(−2) · 19 ≡ −8 ≡ 2 mod 10

423 ≡ (−1)23 ≡ −1 ≡ 4 mod 5

Não se veri�ca a lei do corte: ab ≡ acmod m ; b ≡ cmod m

a ∈ Z é invertível módulo m (ie ∃b ∈ Z com ab ≡ 1 mod m)se e só se (a,m) = 1.

No caso (a,m) = 1, já temos ab ≡ acmod m ⇒ b ≡ cmod m.

Page 20: Aritmética modular, Euler e RSAmatematica-discreta.zohosites.com/files/ITN.pdfConjuntos e Funções ATF Racionais Modulares RSA Aritmética modular, Euler e RSA Carlos Florentino

Conjuntos e Funções TFA Racionais Modulares RSA

Invertibilidade em ZmDado um módulo m, recorde-se:

Zm := [0m, 1m, · · · ,m− 1m} ←→ {0, 1, · · · ,m−1} = [m−1]0Temos 5x ≡ 2 mod 7 implica 3 · 5x ≡ 3 · 2 mod 7 ou seja

x ≡ 6 mod 7

Mas 5x ≡ 2 mod 10 é impossível de resolver !INVERTIBILIDADE mod m:DADO a ∈ Z, EXISTE b ∈ Z com ab ≡ 1 mod m?

a ∈ Z é invertível módulo m se e só se (a,m) = 1.Porque temos: ab+ km = 1 (eq. Bézout)

No caso (a,m) = 1, já temos ab ≡ acmod m ⇒ b ≡ cmod m.Para cada módulo m, quantos números são invertíveis mod m?

φ(m) = |{x ∈ [m− 1]0 : (x,m) = 1}| = |{x ∈ [m] : (x,m) = 1}|

Função totiente de Euler.

Page 21: Aritmética modular, Euler e RSAmatematica-discreta.zohosites.com/files/ITN.pdfConjuntos e Funções ATF Racionais Modulares RSA Aritmética modular, Euler e RSA Carlos Florentino

Conjuntos e Funções TFA Racionais Modulares RSA

Anéis

Um anel é um conjunto A com elementos especiais 0, 1 eoperações +,× que satisfazem (para todo a, b, c, · · · ):

(a+ b) + c = a+ (b+ c) (+ é associativa)a+ b = b+ a (+ é comutativa)a+ 0 = a (0 é neutro para +)Dado a existe −a tal que a+ (−a) = 0(a× b)× c = a× (b× c) (× é associativa)[se a× b = b×a, caso em que × é comutativa, A diz-se comutativo]a× 1 = 1× a = a (1 é neutro para ×)a× (b+ c) = (a× b) + (a× c) e (b+ c)× a = (b× a) + (c× a)(distributividade)

Exemplos

Z, Q, R e C são anéis, com as operações usuais.

Polinómios: R[x] é um anel

Matrizes (quadradas): Matn×n é um anel (não comutativo).

Zm é um anel.

Page 22: Aritmética modular, Euler e RSAmatematica-discreta.zohosites.com/files/ITN.pdfConjuntos e Funções ATF Racionais Modulares RSA Aritmética modular, Euler e RSA Carlos Florentino

Conjuntos e Funções TFA Racionais Modulares RSA

Corpos

Um corpo F é um anel comutativo: os elementos especiais 0, 1 eas operações +,× satisfazem (para todo a, b, c, · · · ) todas aspropriedades de anel comutativo, e mais uma propriedade:

Para todo a 6= 0, existe 1/a ∈ F (também escrito a−1) tal que

a× 1

a=

1

a× a = 1

Exemplos

Q, R e C são corpos, com as operações usuais.

Z não é corpo

R[x] não é corpo

Matn×n não é corpo (se n > 1)

Zm é corpo se e só se m é primo!

Um corpo veri�ca a lei do corte: Se ab = ac e a 6= 0, então b = c.

Page 23: Aritmética modular, Euler e RSAmatematica-discreta.zohosites.com/files/ITN.pdfConjuntos e Funções ATF Racionais Modulares RSA Aritmética modular, Euler e RSA Carlos Florentino

Conjuntos e Funções TFA Racionais Modulares RSA

A equação Linear

A Equação Linear modular, de módulo m ≥ 2, é

ax ≡ b mod m

com a, b ∈ Z. Seja d = (a,m).

(1) Não há soluções se d - b !(2) Se d = 1 há solução única: x0 ≡ a−1b mod m.(3) Se d 6= 1 (e d | b), resolve-se a equação reduzida (dividir por d):

a′x ≡ b′ mod m′

(a′ = ad , b

′ = bd , m

′ = md ). A solução geral é:

x = x0 + km′ mod m, com k ∈ [d]0 := {0, · · · , d− 1}.

Resolver: 15x ≡ 21 mod 72. Como d = (a,m) = (15, 72) = 3, aequação reduzida é 5x ≡ 7 mod 24, com solução:x0 = 5−17 ≡ 11 mod 24. Logo, a solução geral é:

x ≡ 11 + 24k mod 72, k = 0, 1, 2, ie

x ≡ 11 mod 72, x ≡ 35 mod 72, ou x ≡ 59 mod 72.

Page 24: Aritmética modular, Euler e RSAmatematica-discreta.zohosites.com/files/ITN.pdfConjuntos e Funções ATF Racionais Modulares RSA Aritmética modular, Euler e RSA Carlos Florentino

Conjuntos e Funções TFA Racionais Modulares RSA

Teorema Chinês dos Restos (I)

O Teorema Chinês dos Restos permite resolver Sistemas LinearesModulares da forma:

x ≡ b1 mod m1

x ≡ b2 mod m2

· · · · · ·x ≡ br mod mr

quando os módulos m1, · · · ,mr são primos dois a dois.Exemplo: Resolver sucessivamente, em Z, cada equação do sistema:

x ≡ 1 mod 3

x ≡ 2 mod 4

x ≡ 3 mod 5

x ≡ 1 mod 3 tem solução x = 1 + 3y, y ∈ Z. Substituindo na 2ª:

1+3y ≡ 2 mod 4 ⇔ 3y ≡ 1 mod 4 ⇔ y ≡ 3−1 ≡ 3 mod 4.

Logo y = 3 + 4z, e x = 1 + 3(3 + 4z) = 10 + 12z; substituindo na3ª:

10+12z ≡ 3 mod 5 ⇔ 12z ≡ 3 mod 5 ⇔ z ≡ 12−1·3 ≡ 4 mod 5,

logo x = 10 + 12 · 4 = 58, e a solução é x ≡ 58 mod 60.

Page 25: Aritmética modular, Euler e RSAmatematica-discreta.zohosites.com/files/ITN.pdfConjuntos e Funções ATF Racionais Modulares RSA Aritmética modular, Euler e RSA Carlos Florentino

Conjuntos e Funções TFA Racionais Modulares RSA

Teorema Chinês dos Restos (II)

Teorema (TCR): Se (mi,mj) = 1, ∀i 6= j, então o sistema acimatem uma única solução, módulo M = m1m2 · · ·mr:

x ≡ b1M

m1y1 + · · ·+ br

M

mryr mod M,

sendo yk := ( Mmk

)−1 mod mk, k = 1, · · · , r.

Exemplo: Para x ≡ 1 mod 3, x ≡ 2 mod 4, x ≡ 3 mod 5,temos M = 60. Fazemos então:y1 = 2 ≡ ( 603 )−1mod 3, y2 = 3 ≡ ( 604 )−1mod 4, y3 = 3 ≡ ( 605 )−1mod 5

e vem: x = 2 · 20 + 2 · 15 · 3 + 3 · 12 · 3 = 238 ≡ 58 mod 60.

mi 3 4 5

bi 1 2 3Mmi

20 15 12

yi ( mod mi) 2−1 ≡3 2 3−1 ≡4 3 2−1 ≡5 3

x ( mod M = 60) 40 90 ≡ 30 108 ≡ 48

Page 26: Aritmética modular, Euler e RSAmatematica-discreta.zohosites.com/files/ITN.pdfConjuntos e Funções ATF Racionais Modulares RSA Aritmética modular, Euler e RSA Carlos Florentino

Conjuntos e Funções TFA Racionais Modulares RSA

Função totiente - ϕ de Euler

A função totiente é de�nida por

ϕ(n) = |{x ∈ [n]0 : (x, n) = 1}| ,

ou seja, ϕ(n) é a cardinalidade do conjunto dos números entre 0 en− 1 que são primos com n.

Se p é primo, então ϕ(p) = p− 1. Mais geralmente:ϕ(pr) = pr − pr−1, r ≥ 1.

ϕ é multiplicativa: quando (n,m) = 1 temos

ϕ(nm) = ϕ(n)ϕ(m).

Corolário: Sendo n = pk11 · · · pkrr , temos:

ϕ(n) = n

(1− 1

p1

)· · ·(1− 1

pr

).

Page 27: Aritmética modular, Euler e RSAmatematica-discreta.zohosites.com/files/ITN.pdfConjuntos e Funções ATF Racionais Modulares RSA Aritmética modular, Euler e RSA Carlos Florentino

Conjuntos e Funções TFA Racionais Modulares RSA

Pequeno Teorema de Fermat

Z×m é o conjunto dos elementos invertíveis em Zm:

a ∈ Z×m sse (a,m) = 1

Facto

Z×m é um grupo: se a e b ∈ Z×m, então ab ∈ Z×m.

Proposição: Multiplicação por a ∈ Z, invertível módulo m, induzuma bijecção:

ma : Z×m → Z×mb 7→ a b

Teorema: (Pequeno Teorema de Fermat) Se p é primo, e a não émúltiplo de p, então:

ap−1 ≡ 1 mod p.

110 ≡ (−1)10 ≡ 1010 ≡ 210 ≡ 910 ≡ 310 ≡ 410 ≡ 510 ≡ 1 mod 11.

Page 28: Aritmética modular, Euler e RSAmatematica-discreta.zohosites.com/files/ITN.pdfConjuntos e Funções ATF Racionais Modulares RSA Aritmética modular, Euler e RSA Carlos Florentino

Conjuntos e Funções TFA Racionais Modulares RSA

Teorema de Euler

Euler generalizou o pequeno teorema de Fermat para qualquermódulo.Teorema: Se (a, n) = 1, então:

aϕ(n) ≡ 1 mod n.

Este teorema permite simpli�car muitos cálculos de potências:

Exemplo: Se n = 52 · 23 = 200, entãoϕ(n) = ϕ(52)ϕ(23) = (52 − 5)(23 − 22) = 20 · 4 = 80, e temos:

a80 ≡ 1, mod 200, ∀a /∈ 2Z ∪ 5Z.

a = 1, 3, 7, 9, 11, 13, 17, 19, 21, · · · .

Page 29: Aritmética modular, Euler e RSAmatematica-discreta.zohosites.com/files/ITN.pdfConjuntos e Funções ATF Racionais Modulares RSA Aritmética modular, Euler e RSA Carlos Florentino

Conjuntos e Funções TFA Racionais Modulares RSA

Teorema de Daniel Augusto da Silva

Daniel Augusto da Silva (1814 - 1876):O mais notável matemático português doséculo XIX. Pioneiro em:

Teoria dos Conjuntos:

Descobriu o famoso �Princípio deInclusão/Exclusão�

Teoria dos Números (congruências

binómias):

Generalizou o Teorema de Euler

Teorema: Se n1, · · · , nr são primos entre si, e n = n1 · · ·nr,então:

r∑i=1

nϕ(n)/ϕ(ni)i ≡ r − 1 mod n

Page 30: Aritmética modular, Euler e RSAmatematica-discreta.zohosites.com/files/ITN.pdfConjuntos e Funções ATF Racionais Modulares RSA Aritmética modular, Euler e RSA Carlos Florentino

Conjuntos e Funções TFA Racionais Modulares RSA

Criptogra�a clássica

Mensagem a enviar um número/lista de números: M .Mensagem codi�cada: outro número/lista de números : C.Cifra de César: usam-se números de 0 a 25 (mod 26) para asletras C :=M + k mod 26

Exemplo: ROMA 7−→ M = (17, 14, 12, 0). Seja k = 20M + k = (37, 34, 32, 20) Logo C := (11, 8, 6, 20) mod 26Descodi�car é muito fácil: C − k = (−9,−12,−14, 0) mod 26 dáM .Emissor e Receptor precisam de combinar a chave deencriptação/decriptação: k.

Page 31: Aritmética modular, Euler e RSAmatematica-discreta.zohosites.com/files/ITN.pdfConjuntos e Funções ATF Racionais Modulares RSA Aritmética modular, Euler e RSA Carlos Florentino

Conjuntos e Funções TFA Racionais Modulares RSA

O algoritmo RSA

Publicado em 1977 por Rivest, Shamir, Aldeman (MIT).Mensagem a enviar: M , Mensagem codi�cada: C.Ambas são números naturais enormes (centenas de algairsmos).Módulo base: N = pq (onde p e q são primos)Módulo expoente: ϕ(N) = (p− 1)(q − 1).Passo 1: O receptor escolhe um número invertível módulo ϕ(N),chama-lhe e.Passo 2: Calcula d = e−1 mod ϕ(N) usando por ex. o algoritmode Euclides estendido.Passo 3: Publica (N, e) (mas d, ϕ(N), p e q são mantidos emsegredo).Passo 4: O emissor calcula C :=M e mod N ,e envia C (a mensagem codi�cada)Passo 5: O receptor calcula Cd = (M e)d

e descobre que Cd ≡M mod N (Teorema de Euler)!!

Page 32: Aritmética modular, Euler e RSAmatematica-discreta.zohosites.com/files/ITN.pdfConjuntos e Funções ATF Racionais Modulares RSA Aritmética modular, Euler e RSA Carlos Florentino

Conjuntos e Funções TFA Racionais Modulares RSA

Teorema e exemplo de criptogra�a RSA

Teorema (RSA)

Sejam p, q primos, N = pq, e e, d inversos um do outro módulo

ϕ(N). Então

xed ≡ x mod N ∀x < min{p, q}

Demonstração: Temos ed = 1 + kϕ(N), logo

xed = x1+kϕ(N) ≡ x · (xϕ(N))k ≡ x · 1k ≡ x mod N,

pelo Teor. de Euler, dado que (x, p) = (x, q) = 1 implica(x,N) = 1.

Exemplo: Sejam p = 61, q = 53. Então N = pq = 3233 eϕ(N) = 60 · 52 = 3120. Vamos escolher e = 661, e determinamosd = e−1 ≡ 1501 mod 3120. Vamos dar ao João a chave de encriptação(N, e) = (3233, 661). O João quer enviar a mensagem M = x = 2762,que codi�cada dá C = y = 2762661 ≡ 78 mod 3233. Então calculamos781501 ≡ 2762 mod 3233: recuperámos a mensagem M !!