Buscar

algebra-teoNum

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

´
Algebra e Teoria dos Números
Diego F. Aranha
Institute of Computing
UNICAMP
dfaranha (IC)
´
Algebra e Teoria dos Números 1/22
Primos e divisibilidade
Divisibilidade
Para a, b 2 Z, dizemos que a divide b (denotado por a | b) ou que a é
divisor de b se existe c 2 Z tal que ac = b. Se a 62 {1, b}, dizemos que a
é fator ou divisor não-trivial de b.
Primalidade
Um número inteiro p > 1 é primo se não possui fatores, ou seja, só
possui divisores triviais. Um número que não é primo é dito composto.
Teorema Fundamental da Aritmética
Qualquer número inteiro N > 1 pode ser expressado unicamente (a
menos de permutação) como um produto de fatores primos N =
Q
i p
ei
i ,
com pi distintos e ei � 1 para todo i .
dfaranha (IC)
´
Algebra e Teoria dos Números 2/22
Divisibilidade
Divisão
Seja a 2 Z e b inteiro positivo. Existem inteiros únicos q, r tais que
a = bq + r , com 0  r < b.
Máximo Divisor Comum
Sejam a, b inteiros positivos. Existem inteiros x , y tais que
ax + by = mdc(a, b) e mdc(a, b) é o menor inteiro que pode ser escrito
dessa forma.
Propriedades
- Se c | ab e mdc(a, c) = 1, então c | b. Em particular, se p é primo e
p | ab, então p | a ou p | b.
- Se p | N, q | N e mdc(p, q) = 1, então pq | N.
dfaranha (IC)
´
Algebra e Teoria dos Números 3/22
Algoritmo de Euclides
Algorithm 1 Cálculo de mdc(a, b).
1: r
0
 a, r
1
 b,m 1
2: while rm 6= 0 do
3: qm b rm�1rm c
4: rm+1 rm�1 � qmrm
5: m m + 1
6: end while
7: m m � 1
8: return (q
1
, . . . , qm; rm = mdc(a, b))
Invariantes
- Para 0  i  rm�2 : ri = qi+1ri+1 + ri+2, com 0 < ri+2 < ri+1;
- Temos que rm�1 = qmrm;
- mdc(r
0
, r
1
) = mdc(r
1
, r
2
) = · · · = mdc(rm�1, rm) = rm
dfaranha (IC)
´
Algebra e Teoria dos Números 4/22
Algoritmo de Euclides
Sejam as duas seqüências:
tj =
8
><
>:
0 se j = 0
1 se j = 1
tj�2 � qj�1tj�1 se j � 2
sj =
8
><
>:
1 se j = 0
0 se j = 1
sj�2 � qj�1sj�1 se j � 2
Teorema
Para 0  j  m, temos que rj = sj r0 + tj r1.
Prova: Por indução forte!
dfaranha (IC)
´
Algebra e Teoria dos Números 5/22
Algoritmo Estendido de Euclides
Algorithm 2 Cálculo de r = mdc(a, b) = sa+ tb, com r , s, t 2 Z.
1: a
0
 a, b
0
 b
2: t
0
 0, t 1, s
0
 1, s 0
3: q b a0b
0
c, r a
0
� qb
0
4: while r > 0 do
5: T t
0
� qt, t
0
 t, t T
6: T s
0
� qs, s
0
 s, s T
7: a
0
 b
0
, b
0
 r , q b a0b
0
c, r a
0
� qb
0
8: end while
9: r b
0
10: return (r , s, t)
dfaranha (IC)
´
Algebra e Teoria dos Números 6/22
Aritmética Modular
Definições
Sejam a, b,N 2 Z, com N > 1. A redução modular de a módulo N
(a mod N) denota o resto da divisão inteira de a por N. Dizemos que
a, b são congruentes módulo N (a ⌘ b (mod N)) se
a mod N = b mod N ou ainda se N | (a� b). A relação de congruência é
reflexiva, simétrica e transitiva.
Lembrete: ad ⌘ cd (mod N) nem sempre implica a ⌘ c (mod N).
Inverso
Sejam a,N 2 Z , com N > 1. Então a é inverśıvel módulo N sse
mdc(a,N) = 1. O inverso único de a é denotado por a�1 e pode ser
calculado pelo Algoritmo Estendido de Euclides.
Exemplo: 14 é o inverso de 11 módulo 17.
dfaranha (IC)
´
Algebra e Teoria dos Números 7/22
Grupos
Definição
Um grupo G é um conjunto equipado com uma operação binária � que
possui as seguintes propriedades:
- Fechamento: Se g , h 2 G, então g � h 2 G;
- Elemento Neutro: 9e 2 G tal que 8g 2 G, g � e = e � g = g .
- Inverso: 8g 2 G, 9h 2 G tal que g � h = e = g � e.
- Associatividade: 8g
1
, g
2
, g
3
2 G, g
1
� (g
2
� g
3
) = (g
1
� g
2
) � g
3
.
Quando G é um grupo finito, denotamos o número de elementos (ordem)
de G por |G|. Um grupo é dito abeliano se � é uma relação comutativa,
ou seja, 8g
1
, g
2
2 G, g
1
� g
2
= g
2
� g
1
.
Exemplos: (Z,+), (R,+), (R⇤,⇥), (ZN = {0, 1, . . . ,N � 1},+).
Subgrupo
Se G é um grupo, um conjunto H ✓ G é subgrupo se H for um grupo
sob a mesma operação de G.
dfaranha (IC)
´
Algebra e Teoria dos Números 8/22
Grupos
Notação
A operação de grupo pode utilizar notação aditiva ou multiplicativa.
Quando a operação de grupo é aplicada (m � 1) vezes a um elemento g ,
utilizamos a notação aditiva m · g ou multiplicativa gm. Inversos e
elementros neutros são denotados por (�g , 0) e (g�1, 1),
respectivamente.
Importante: Não confundir com adição ou multiplicação inteira.
Teorema
Seja G um grupo finito de ordem m. Para todo g 2 G e i 2 Z , temos
que gm = 1 e se m > 1, g i = g i mod m.
Corolário
Seja d , e 2 Z e G um grupo finito de ordem m > 1. A função
fe : G! G tal que fe(g) = g e é uma permutação quando
mdc(e,m) = 1 e fd é função inversa de fe se d = e�1 mod m.
dfaranha (IC)
´
Algebra e Teoria dos Números 9/22
O grupo Z⇤N
Teorema
Sejam um inteiro N > 1 com fatoração N =
Q
i p
ei
i e
Z⇤N = {a 2 {1, . . . ,N � 1} | mdc(a,N) = 1}. Então Z⇤N é um grupo
abeliano sob a multiplicação módulo N. A ordem do grupo é dada pela
função totiente de Euler �(N) =
Q
i p
ei�1
i (pi � 1).
Corolário
Seja N > 1 inteiro e a 2 Z⇤N . Então a�(N) = 1 mod N. Se N é primo e
a 2 Zp, temos que ap�1 = 1 mod p.
dfaranha (IC)
´
Algebra e Teoria dos Números 10/22
Teorema Chinês do Resto
Isomorfismo
Sejam G,H grupos com operações �G, �H, respectivamente. A função
f : G! H é um isomorfismo se f é uma bijeção e
8g
1
, g
2
2 G, f (g
1
�G g2) = f (g1) �H f (g2).
Teorema
Seja N = pq, com p, q relativamente primos. A função
f (x) = (x mod p, x mod q) é um isomorfismo de ZN para Zp ⇥ Zq e de
Z⇤N para Z⇤p ⇥ Z⇤q.
Importante: A mudança de representação afeta o custo computacional de
operações em grupo.
dfaranha (IC)
´
Algebra e Teoria dos Números 11/22
Teorema Chinês do Resto
Sejam m
1
, . . . ,mr inteiros co-primos entre si dois a dois e suponha
a
1
, . . . , ar inteiros.
Considere o sistema de equações:
x ⌘ a
1
(mod m
1
)
x ⌘ a
2
(mod m
2
)
· · ·
x ⌘ ar (mod mr )
O Teorema Chinês do Resto fornece uma solução única para esse sistema
módulo M =
Qr
i=1mi :
Teorema
A solução para o sistema de equações é x =
rX
i=1
aiMiyi mod M, onde
Mi = M/mi e yi = M
�1
i mod mi , para 1  i  r .
dfaranha (IC)
´
Algebra e Teoria dos Números 12/22
Geração de números primos
Precisamos da geração de números primos grandes, ou ainda, a geração
de números grandes e teste de sua primalidade.
Alternativas:
- Teste determińıstico polinomial: [AKS 2002], O(n6);
- Teste probabiĺıstico: mais rápido, chance de erro.
Teorema dos números primos
Seja ⇡(N) a quantidade de números primos menores ou iguais a N.
Podemos aproximar ⇡(N) ⇡ N/ ln (N).
Exemplo: Para n com 1024 bits, precisamos gerar p, q com 512 bits. Um
número aleatório com 512 bits tem probabilidade 2/355 de ser primo
ı́mpar.
dfaranha (IC)
´
Algebra e Teoria dos Números 13/22
Algoritmo probabiĺıstico
Definição
Um algoritmo probabiĺıstico é qualquer algoritmo que utiliza números
aleatórios. Quando há chance de erro, o algoritmo é dito de Monte
Carlo. Quando a resposta é sempre correta, mas com chance de falha, o
algoritmo é dito Las Vegas. Classificação para solução de problemas de
decisão:
1 Monte Carlo com viés positivo: uma resposta SIM é sempre
correta, mas uma resposta NÃO pode estar incorreta;
2 Monte Carlo com viés negativo: uma resposta NÃO é sempre
correta, mas uma resposta SIM pode estar incorreta.
A probabilidade de erro é limitada superiormente por ✏.
Importante: como transformar Monte Carlo em Las Vegas?
dfaranha (IC)
´
Algebra e Teoria dos Números 14/22
Problema de decisão
Composto(n), n � 2
O conjunto D(n) de divisores distintos de n possui mais do que dois
elementos?
Alternativas para resolver o problema:
1 Solovay-Strassen: Monte Carlo com viés positivo, ✏ = 1/2;
2 Miller-Rabin: Monte Carlo com viés positivo, ✏ = 1/4.
dfaranha (IC)
´
Algebra e Teoria dos Números 15/22
Problema de decisão
Definição
Seja p um primo ı́mpar e a inteiro. Dizemos que a é reśıduoquadrático
módulo p se a 6= 0 (mod p) e y2 ⌘ a (mod p) possui duas soluções
(y ,�y) módulo p. Caso contrário, a é reśıduo não-quadrático.
Exemplo: Em Z
11
, os reśıduos quadráticos são 1, 3, 4, 5 e 9. Os reśıduos
não-quadráticos são 2, 6, 7, 8 e 10.
Lema
Se p é um primo ı́mpar, então as únicas ráızes quadradas de 1 módulo p
são 1 e �1 mod p.
dfaranha (IC)
´
Algebra e Teoria dos Números 16/22
Śımbolos de Jacobi e Legendre
Teorema (Critério de Euler)
Seja p primo ı́mpar. Então a é reśıduo quadrático módulo p sse
a(p�1)/2 ⌘ 1 (mod p).
Prova: Suponha que a ⌘ y2 (mod p). Se p é primo, então ap�1 ⌘ 1
(mod p), 8a 6⌘ 0 (mod p). Logo:
a(p�1)/2 ⌘ (y2)(p�1)/2 ⌘ 1 (mod p).
Agora, suponha que a(p�1)/2 ⌘ 1 (mod p). Seja b um elemento
primitivo módulo p. Então a ⌘ bi (mod p) para i 2 Z. Logo:
a(p�1)/2 ⌘ (bi )(p�1)/2 (mod p).
Como b tem ordem p � 1, então (p � 1)|i(p � 1)/2. Então i é par e as
ráızes quadradas de a são ±bi/2 mod p.
dfaranha (IC)
´
Algebra e Teoria dos Números 17/22
Śımbolos de Jacobi e Legendre
Teorema (Critério de Euler)
Seja p primo ı́mpar. Então a é reśıduo quadrático módulo p sse
a(p�1)/2 ⌘ 1 (mod p).
Prova: Suponha que a ⌘ y2 (mod p). Se p é primo, então ap�1 ⌘ 1
(mod p), 8a 6⌘ 0 (mod p). Logo:
a(p�1)/2 ⌘ (y2)(p�1)/2 ⌘ 1 (mod p).
Agora, suponha que a(p�1)/2 ⌘ 1 (mod p). Seja b um elemento
primitivo módulo p. Então a ⌘ bi (mod p) para i 2 Z. Logo:
a(p�1)/2 ⌘ (bi )(p�1)/2 (mod p).
Como b tem ordem p � 1, então (p � 1)|i(p � 1)/2. Então i é par e as
ráızes quadradas de a são ±bi/2 mod p.
dfaranha (IC)
´
Algebra e Teoria dos Números 17/22
Śımbolos de Jacobi e Legendre
Definição
Para a 2 Z, p primo ı́mpar, o śımbolo de Legendre
⇣
a
p
⌘
é:
✓
a
p
◆
=
8
><
>:
0 se a ⌘ 0 (mod p)
1 se a é reśıduo quadrático módulo p
�1 se a é reśıduo não-quadrático módulo p.
Temos que
⇣
a
p
⌘
⌘ a(p�1)/2 (mod p).
Definição
Suponha n 2 Z ı́mpar positivo com fatoração n =
Qk
i=1 pi
ei .
Seja a 2 Z. O śımbolo de Jacobi
�
a
n
�
é definido como:
⇣a
n
⌘
=
kY
i=1
✓
a
pi
◆ei
dfaranha (IC)
´
Algebra e Teoria dos Números 18/22
Śımbolos de Jacobi e Legendre
Definição
Para a 2 Z, p primo ı́mpar, o śımbolo de Legendre
⇣
a
p
⌘
é:
✓
a
p
◆
=
8
><
>:
0 se a ⌘ 0 (mod p)
1 se a é reśıduo quadrático módulo p
�1 se a é reśıduo não-quadrático módulo p.
Temos que
⇣
a
p
⌘
⌘ a(p�1)/2 (mod p).
Definição
Suponha n 2 Z ı́mpar positivo com fatoração n =
Qk
i=1 pi
ei .
Seja a 2 Z. O śımbolo de Jacobi
�
a
n
�
é definido como:
⇣a
n
⌘
=
kY
i=1
✓
a
pi
◆ei
dfaranha (IC)
´
Algebra e Teoria dos Números 18/22
Algoritmo Solovay-Strassen
Para o śımbolo de Jacobi, temos que
�
a
n
�
= 0 sse mdc(a, n) 6= 1.
Temos ainda que para n composto, a igualdade
�
a
n
�
= a(n�1)/2 (mod n)
é verdadeira para metade dos inteiros a 2 Z⇤n.
Algoritmo
1 Escolher inteiro aleatório a tal que 1  a  n � 1
2 x 
�
a
n
�
3 Se x = 0, retorne COMPOSTO
4 y a(n�1)/2 (mod n)
5 Se x ⌘ y (mod n), retorne PRIMO. Caso contrário, retorne
COMPOSTO.
Importante: Por que o algoritmo tem viés positivo com ✏ = 1/2?
dfaranha (IC)
´
Algebra e Teoria dos Números 19/22
Algoritmo Solovay-Strassen
Para o śımbolo de Jacobi, temos que
�
a
n
�
= 0 sse mdc(a, n) 6= 1.
Temos ainda que para n composto, a igualdade
�
a
n
�
= a(n�1)/2 (mod n)
é verdadeira para metade dos inteiros a 2 Z⇤n.
Algoritmo
1 Escolher inteiro aleatório a tal que 1  a  n � 1
2 x 
�
a
n
�
3 Se x = 0, retorne COMPOSTO
4 y a(n�1)/2 (mod n)
5 Se x ⌘ y (mod n), retorne PRIMO. Caso contrário, retorne
COMPOSTO.
Importante: Por que o algoritmo tem viés positivo com ✏ = 1/2?
dfaranha (IC)
´
Algebra e Teoria dos Números 19/22
Algoritmo Solovay-Strassen
Propriedades do śımbolo de Jacobi:
- Se n > 0 ı́mpar e m
1
⌘ m
2
(mod n), então:
⇣m
1
n
⌘
=
⇣m
2
n
⌘
.
- Se n > 0 ı́mpar, então:
✓
2
n
◆
=
(
1 se n ⌘ ±1 (mod 8)
�1 se n ⌘ ±3 (mod 8).
- Se n > 0 ı́mpar, então:
⇣m
1
m
2
n
⌘
=
⇣m
1
n
⌘⇣m
2
n
⌘
, ou
✓
m = 2kt
n
◆
=
✓
2
n
◆k ⇣ t
n
⌘
- Se m, n > 0 ı́mpares, então:
⇣m
n
⌘
=
(
�
�
n
m
�
se m ⌘ n ⌘ 3 (mod 4)�
n
m
�
caso contrário.
dfaranha (IC)
´
Algebra e Teoria dos Números 20/22
Algoritmo Miller-Rabin
Intuição: Não há ráızes não-triviais de 1 módulo p primo. Extrair ráızes
quadradas de an�1 mod n e verificar se todas são ±1 mod n.
Algoritmo
1 Escrever n � 1 = 2km, com m ı́mpar
2 Escolher inteiro aleatório a tal que 1  a  n � 1
3 b am mod n
4 Se b ⌘ 1 (mod n), retorne PRIMO
5 Para i 0 até k � 1, faça:
- Se b ⌘ �1 (mod n), retorne PRIMO
- b b2 mod n
6 Retorne COMPOSTO
Importante: Por que o algoritmo tem viés positivo com ✏ = 1/4?
dfaranha (IC)
´
Algebra e Teoria dos Números 21/22
RSA (Rivest, Shamir, Adleman, 1977)
Geração de chaves:
1 Gerar primos p e q com k/2 bits;
2 Calcular N = pq e �(N) = (p � 1)(q � 1);
3 Selecionar e tal que mdc(e,�(N)) = 1; (primo pequeno?)
4 Calcular d tal que d = e�1 mod �(N);
5 M = C = ZN ;
6 K = (N, p, q, d , e).
7 Chave pública é (e,N), chave privada é (d ,N, p, q).
Cifração: Calcular EncK (x) = x
e mod N;
Decifração: Calcular DecK (y) = y
d mod N.
dfaranha (IC)
´
Algebra e Teoria dos Números 22/22

Continue navegando