testes de primalidade - unicamp...motivação • teste de primalidade: algoritmo que verifica se um...
TRANSCRIPT
Testes de Primalidad
eApresentação Prelim
inar A17
José Afonso B. P
into
IA0121S/2013
FEEC
UNICAMP
Age
nda
•Motivação de Testes dePrimalidad
e
•Quan
tidad
ee Distribuição
dos Números Primos
•Algoritm
o de MillerRab
in
•Biblio
grafia
•Exercícios
Motiva
ção
•Teste de Primalidad
e: a
lgoritm
o que ve
rifica se
um número in
teiro dad
o é primo (ou composto)
•Números primos são usadospor várias primitivas
criptográficas
–Po
r exem
plo, n
a ge
ração de ch
aves RSA
•Primos úteis em criptografia:
–No m
ínim
o com cen
tenas ou m
ilhares de bits
•Geração
de Primos para Criptografia:
–Gerase um número aleatório de Nbits até que o
número gerad
o seja co
nsiderad
o primo
Números Primos & Criptografia
Aplicações de criptografia precisam de muitos
números primos
•Ex
istem primos suficien
tes?
•Dev
o m
e preocu
par com a possibilidad
e de
estar usando o m
esmo número primo que o
meu
vizinho?
Schneier
(1996)
Quan
tidad
ee Distribuição
deNúmeros
Primos
•Ex
istem in
finitos números primos
•Teorema dos Números Primos:
–Pa
ra um in
teiro n grande o suficien
te, o número de
primos ≤ ntende a ser n / ln
n
•Na proximidad
e de um
número in
teiro n, e
xiste,
em m
édia, u
m primo para cada ln
n in
teiros
Exem
plo daQuan
tidad
ede Números
Primos
•Número de primosco
m até 512 bits: 2
512 / ln
2512≈
10151
•Existem no universo ≈1080 átomos
•A idade do universo é de ≈1010an
os
•Se
fossem
necessários para cada átomo1 bilh
ão de
primos a cada μs, então desde o BigBan
gaté ag
ora
precisarseiam
de ≈10113primos Adap
tado de Schneier
(1996)
Exem
plo daQuan
tidad
ede Números
Primos
•Como 10151 >> 10113, ainda restariam ≈10151
primos não
usados
•Po
rtan
to a probab
ilidad
e de vo
cê e seu
vizinho estarem
usando o m
esmo primo é
muito peq
uen
a
Adap
tado de Schneier
(1996)
Algoritm
o de MillerRab
in
•Teste dePrimalidad
emuito eficien
te, p
opular
–Complexidad
e polin
omial
–Muito m
ais eficiente do que fatoração
•Verifica se um dad
o número in
teiro satisfaz 2
propried
ades nec
essárias, m
as não
suficien
tes,
para que um número seja primo
•Algoritm
o Probab
ilístico
–Probab
ilidad
ede tomar um número composto por
primo < 25%
Algoritm
o de MillerRab
inPropried
ade #1
•Se
pé primo, e
,
aé um in
teiro positivo
, a< p
•En
tão a
2modp= 1 se e somen
te se:
amodp= 1, o
u,
amodp= 1 m
odp= p–1
Algoritm
o de MillerRab
inDem
onstração da Propried
ade #1
1)Se
a2modp= 1
2)E co
mo a
2modp= (a
modp)(a
modp)
3)(1), (2)
(amodp) (a
modp) = 1
Sendo que (3) é ve
rdad
eira se e somen
te se:
amodp= 1, p
ois 1 x 1 = 1, o
u,
amodp= 1, p
ois 1 x 1 = 1
Algoritm
o de MillerRab
inPropried
ade #2
•Se
pprimo ≥ 3, p
–1 = 2
k q, k
> 0, q
ímpar
•E ainteiro, 1
< a
< p–1, e
ntão uma das
condições abaixo
é verdad
eira:
a)aqmodp= 1, o
u,
b)jinteiro, 1
≤j≤ k|a
j1= 1 m
odp= p–1
Algoritm
o de MillerRab
inDem
onstração da Propried
ade #2
1)pprimo ≥ 3, p
–1 = 2
k q, k
> 0, q
ímpar
2)Teorema de Fe
rmat: p
primo, a
inteiro > 0, p
não
divide a
ap1modp= 1
3)ainteiro, 1
< a
< p–1,satifaz
(2) pois p
não
divide a
4)Dad
o (3) e subst. (1) em
(2):
a2k qmodp= 1
Algoritm
o de MillerRab
inDem
onstração Propried
ade#2
(co
nt.)
•Dad
a a sequên
cia:
aqmodp, a
2qmodp , a
4qmodp, ..., a
2k1qmodp , a
2k qmodp
•Cad
a elem
ento da sequên
cia acim
a é o
quad
rado do elemen
to anterior
•(4)
o últim
o elemen
to da sequên
cia é 1
Algoritm
o de MillerRab
inDem
onstração da Propried
ade #2
(co
nt.)
Então uma das possibilidad
esab
aixo
tem
que ser
verdad
eira:
a)Não
só o últim
o m
as todos os elem
entos da
sequên
cia são 1
aqmodp= 1, o
u,
b)Algum dos elem
entos1, e
xceto o últim
o, m
as
seu quad
rado m
odp é
1, e
,pela propried
ade
#1, e
sse elem
ento só pode ser1 m
odp=p–1
Pseudocó
digo do
Algoritm
o de MillerRab
in
•MillerRab
in(n):
–En
trad
a: ninteiro, ímpar ≥ 3
–Sa
ída: composto ou in
conclusivo
(provave
lmen
te
primo)
1. A
che os inteiros k> 0, q
ímpar |
n–1 = 2
k q
2. S
elec
ione um in
teiro aleatório a, 1
< a
< n–1
3. S
e aqmodn= 1 então retorne(inco
nclusivo
)
4. R
epita o passo 5 abaixo
para j=
0, ..., k–1
5. Se
a2j qmodn = n–1 então retorne(inco
nclusivo
)
6. R
etorne(co
mposto)
Algoritm
o de MillerRab
inExem
plo #1
MillerRab
in(n
= 29):
•n–1 = 28 = 2(14) = 22(7) = 2k q
k= 2, q
= 7
•a= 10, a
qmodn= 107mod29 = 17
•17
1, e
17
n –
1 = 28
•j=
1, a
2j qmodp = 102(7)mod29 = 28
•28 = n–1
•En
tão 29 é provave
lmen
te (> 75%) primo
Algoritm
o de MillerRab
inExem
plo #2
MillerRab
in(n
= 221):
•n–1 = 220= 2(110) = 22(55) = 2k q
k= 2, q
= 55
•a= 5, a
qmodn= 555mod221= 112
•112
1, e
112
n –
1 = 220
•j=
1, a
2j qmodp = 5
2(55)mod221= 168
•168
n–1 = 220
•En
tão 221 é composto
Seleção de Número Aleatório Primo
usandoo Algoritm
o de MillerRab
in
•MillerRab
in é um algoritm
o probab
ilístico
–Probab
ilidad
e de tomar um número composto por primo <
25% = 4
1
•Pa
ra aumentar a certeza de que um número é primo
exec
utase o algoritm
o várias ve
zes para valores
diferen
tes do in
teiro aleatório a
•Se
para um dad
o in
teiro n
o algoritm
o retornar
inco
nclusivo
para um número tde valores alea
tórios
dea, e
ntão n
é primo com uma probab
ilidad
e> 1 –
4t
Seleção de Número Aleatório Primo
usandoo Algoritm
o de MillerRab
in
Miller
Rab
in(n,a)
= co
mposto
?
Selecionen≥ 3
alea
tório, com dad
o
número de bits
trepetições
já
exec
utadas
para n?
Defina número de
repetições
t ≥ 1
Selecioneaalea
tório,
1 < a
< n1
P(n
é primo) > 1 4t
VF
V
F
Seleção de Número Aleatório Primo
•Teorema dos Números Primos: para ninteiro,
grande o suficiente, o número de primos ≤ n
tende a ser n/ ln
n
•em
méd
ia um primo a cad
a ln
ninteiros na
proximidad
e de n
•Se
testarm
os somen
te números ím
pares, e
ntão o
número m
édio de testes para se enco
ntrar um
primo próximo de né de (lnn) / 2
Biblio
grafia
•Fe
rguson, N
.,Schneier, B
., e Kohno, T.
Cry
pto
gra
phy
Enginee
ring: D
esign Principlesand
Pra
cticalA
pplic
ations. In
dianap
olis, E
.U.A.: W
iley
Publishing, In
c., 2
010
•Men
ezes, A
. , van
Oorsch
ot, P. , Van
stonc, S.
HandbookofApplie
dCry
pto
gra
phy
. E.U.A: C
RC
Press, 1
996
•Schneier, B
. Applie
dCry
pto
gra
phy
: Pro
toco
ls,
Algorith
msandSo
urce Codein C. N
ewYo
rk,
E.U.A.: John W
iley& Sons Publishing, In
c., 1
996
•Stallin
gs, W
. Cry
pto
gra
phy
andNet
work
Secu
rity
: PrinciplesandPra
ctice. E.U.A: P
rentice
Hall, 2011