• Nenhum resultado encontrado

Fatora¸c˜ao de Shor

N/A
N/A
Protected

Academic year: 2022

Share "Fatora¸c˜ao de Shor"

Copied!
92
0
0

Texto

(1)

Fatora¸c˜ao de Shor

e Problema do Subgrupo Oculto

Cleber Okida Denise Goya Mateus Santos

DCC - IME - USP

Aplica¸c˜oes da Engenharia Quˆantica `a Seguran¸ca da Informa¸c˜ao PCS-5714 - Prof. Paulo Barreto

maio/2008

(2)

Sum´ario

1 Introdu¸c˜ao

2 Fatora¸c˜ao de Shor

Redu¸c˜ao da Fatora¸c˜ao ao C´alculo de Ordem Algoritmo Quˆantico para C´alculo de Ordem

3 Problema do Subgrupo Oculto

Algoritmo Quˆantico para o Problema de Simon Algoritmo Quˆantico para C´alculo do Per´ıodo Algoritmo Quˆantico para Logaritmo Discreto Resultados Gerais

(3)

Motiva¸c˜oes

Seguran¸ca na Criptografia Cl´assica

Seguran¸ca vinculada `a cren¸ca na dificuldade de solu¸c˜ao de certos problemas (computacionalmente intrat´aveis).

Exemplos:

Sistema RSA baseia-se na dificuldade deFatora¸c˜ao de Inteiros Sistema ElGamal ´e protegido pela dificuldade do problema do Logaritmo Discreto

A seguran¸ca desses sistemas ´e quebrada se existirem

algoritmos eficientes (de complexidade de tempo polinomial) para resolver esses problemas.

(4)

Motiva¸c˜oes

Sistemas Quˆanticos

Sistemas computacionais quˆanticos podem ser mais eficientes que os cl´assicos?

Mostraremos que sim.

Existem algoritmos quˆanticos, de complexidade de tempo polinomial, que resolvem:

O problema daFatora¸c˜ao de Inteiros O problema doLogaritmo Discreto

Outros problemas do mesmo tipo(Problema do Subgrupo Oculto)

(5)

Circuitos Quˆanticos Primordiais

Transformada Quˆantica de Fourier Estimativa de Fase

Usa a transformada quˆantica inversa de Fourier

(6)

Fatora¸c˜ao de Shor

Peter Shor, em 1994:

Anunciou algoritmo quˆantico parac´alculo de ordem;

Observou que os problemas de fatora¸c˜ao de inteiros e logaritmo discreto podem ser reduzidos ao c´alculo de ordem.

Resultados finais foram publicados em [Shor97]

(7)

Fatora¸c˜ao de Shor

Descreveremos o algoritmo de Shor que:

Recebe um n´umero compostoN;

Usa como subrotina um algoritmo quˆantico para calcular a ordem de um n´umero;

Exibe como resposta um fator primo deN, com alta probabilidade de sucesso.

(8)

Ordem de um N´umero Inteiro M´odulo N

A ordem de um n´umero inteirox m´oduloN ´e o menor inteiro positivo r tal que

xr ≡1 mod N Exemplos:

42 ≡1 mod 15 26 ≡1 mod 21

(9)

Passos para encontrar fator primo de N

A partir do c´alculo de ordem dex m´odulo N, ´e poss´ıvel encontrar fator primo deN da seguinte forma:

(10)

Passos para encontrar fator primo de N

A partir do c´alculo de ordem dex m´odulo N, ´e poss´ıvel encontrar fator primo deN da seguinte forma:

Se x eN possuem fatores comuns, ent˜ao MDC(x,N) fornece um fator de N

(11)

Passos para encontrar fator primo de N

A partir do c´alculo de ordem dex m´odulo N, ´e poss´ıvel encontrar fator primo deN da seguinte forma:

Se x eN possuem fatores comuns, ent˜ao MDC(x,N) fornece um fator de N

Caso contr´ario,x ´e relativamente primo a N Ser for par, podemos definiry como

xr/2y mod N

(12)

Passos para encontrar fator primo de N

Observe que y satisfaz:

y2 ≡1 modN

(13)

Passos para encontrar fator primo de N

Observe que y satisfaz:

y2 ≡1 modN

Logo:

(y−1)(y+ 1)≡0 modN

(14)

Passos para encontrar fator primo de N

Observe que y satisfaz:

y2 ≡1 modN

Logo:

(y−1)(y+ 1)≡0 modN Ou seja, N divide (y−1)(y+ 1)

(15)

Passos para encontrar fator primo de N

Se 1<y <N−1, ent˜aoN n˜ao pode dividir separadamente nem (y−1) e nem (y+ 1)

(16)

Passos para encontrar fator primo de N

Se 1<y <N−1, ent˜aoN n˜ao pode dividir separadamente nem (y−1) e nem (y+ 1)

Ou seja, y−16≡0 mod N e y+ 16≡0 mod N

(17)

Passos para encontrar fator primo de N

Se 1<y <N−1, ent˜aoN n˜ao pode dividir separadamente nem (y−1) e nem (y+ 1)

Ou seja, y−16≡0 mod N e y+ 16≡0 mod N Conseq¨uentemente, MDC(y−1,N) e MDC(y+ 1,N) produzem fatores n˜ao triviais de N

(18)

Passos para encontrar fator primo de N

Se 1<y <N−1, ent˜aoN n˜ao pode dividir separadamente nem (y−1) e nem (y+ 1)

Ou seja, y−16≡0 mod N e y+ 16≡0 mod N Conseq¨uentemente, MDC(y−1,N) e MDC(y+ 1,N) produzem fatores n˜ao triviais de N

Se N tiver mais fatores, eles podem ser calculados aplicando-se recursivamente os passos anteriores.

(19)

Teorema da Teoria dos N´umeros

Os passos para encontrar fator primo deN, a partir do c´alculo de ordem dex m´oduloN, mostrados at´e o momento, satisfazem as condi¸c˜oes do seguinte Teorema, demonstrado em

[NielsenChuang00] e [Cardonha04]

Theorem

Seja N um n´umero inteiro composto, de L bits, e x uma solu¸c˜ao n˜ao trivial para a equa¸c˜ao x2 ≡1 mod N, com 1≤x≤N (isto ´e, x6≡1 mod N e x 6≡ −1 modN).

Ent˜ao, MDC(x−1,N) e MDC(x+ 1,N) s˜ao fatores n˜ao triviais de N, que podem ser calculados com O(L3) opera¸c˜oes.

(20)

Exemplo Num´erico

Considere N= 21 e x= 2

Como r= 6 ´e o menor inteiro que satisfaz 2r ≡1 mod 21, ent˜aor = 6 ´e a ordem de 2 m´odulo 21.

Como r ´e par, y≡23≡8 mod 21. Comoy <N−1:

MDC(y−1,N) = MDC(7,21) = 7 MDC(y+ 1,N) = MDC(9,21) = 3 3 e 7 s˜ao fatores de 21.

(21)

E Quando o Teorema N˜ao Puder Ser Aplicado?

Se r for ´ımpar ou n˜ao for verdade que 1<y <N−1, a estrat´egia falha.

Mostraremos adiante que essas situa¸c˜oes ocorrem com probabilidade muito pequena.

O algoritmo poderia escolher novo x e recome¸car.

(22)

Quando N ´e potˆencia de primo

Se N for um n´umero composto, por´em potˆencia de um ´unico primo, os passos dados falham.

Nesse caso, aplica-se um algoritmo cl´assico conhecido, de complexidadeO(L3), paraN com L bits.

(23)

C´alculo da Probabilidade de Sucesso

O Teorema abaixo limita a probabilidade de ocorrerem condi¸c˜oes em que a estrat´egia anterior n˜ao pode ser aplicada. Sua

demonstra¸c˜ao pode ser consultada em [NielsenChuang00] e [Cardonha04]

Theorem

Seja N um n´umero inteiro ´ımpar composto, fatorado na forma N=pα11· · ·pαmm. Seja x um inteiro escolhido uniformemente ao acaso, sujeito `as condi¸c˜oes1≤x ≤N−1 e x ´e relativamente primo a N. Seja r a ordem de x m´odulo N. Ent˜ao

P(r ser par e xr/26≡ −1 mod N)≥1−21m

(24)

C´alculo da Probabilidade de Sucesso

Exemplo

Considere N= 21 = 3x7

21 ´e produto de dois primos: m= 2.

Suponha um x relativamente primo aN escolhido uniformemente ao acaso, de ordem r.

P(r ser par exr/2 6≡ −1 modN)≥1−212 = 34

A probabilidade de sucesso aumenta `a medida que cresce o valor de m.

(25)

Algoritmo para Fatora¸c˜ao, Usando C´alculo de Ordem

Entrada: Um n´umero composto N, de comprimento L=⌈log2N⌉.

Sa´ıda: Um fator n˜ao trivial de N.

Tempo de Execu¸c˜ao: O(L3) opera¸c˜oes.

(26)

Algoritmo para Fatora¸c˜ao, Usando C´alculo de Ordem

Passos

1 Se N for par, devolva o fator 2;

2 Determine se N =ab para inteiros a≥1 eb ≥2; caso sim, devolva o fator a;

3 Escolha aleatoriamente x positivo, no intervalo de 1 aN−1.

Se MDC(x,N)>1, ent˜ao devolva o fator MDC(x,N).

4 Use a rotina dec´alculo de ordemde x m´odulo N e obtenha r;

5 Se ordem de r for par exr/2 6≡1 modN, ent˜ao calcule e devolva MDC(xr/2+ 1,N). Caso contr´ario, o algoritmo falha.

(27)

An´alise de Complexidade da Fatora¸c˜ao de Shor

Os maiores custos do algoritmo de fatora¸c˜ao de Shor s˜ao:

O(L3) para verifica¸c˜ao se N´e potˆencia de um ´unico primo O(L3) para execu¸c˜ao do algoritmo quˆantico de c´alculo de ordem, como veremos adiante

O que totaliza complexidade de O(L3) opera¸c˜oes.

(28)

Algoritmo Quˆantico para C´alculo de Ordem

Na computa¸c˜ao cl´assica, o c´alculo de ordem ´e considerado intrat´avel:

N˜ao se conhece algoritmo de complexidade polinomial emL para calcular a ordem de um n´umero m´oduloNcomL bits.

Veremos um algoritmoquˆanticoque o faz em tempo polinomial.

(29)

Algoritmo Quˆantico para C´alculo de Ordem

Dados inteirosN ex de comprimentoL

O objetivo ´e calcular o menor inteiro r tal quexr ≡1 modN O cora¸c˜ao do algoritmo ´e o uso do procedimento de

estimativa de fase

(30)

Algoritmo Quˆantico para C´alculo de Ordem

Dados inteirosN ex de comprimentoL

O objetivo ´e calcular o menor inteiro r tal quexr ≡1 modN O cora¸c˜ao do algoritmo ´e o uso do procedimento de

estimativa de fase

Com o operador unit´ario U |yi →|xy(modN)i Em que y ∈ {0,1}L e 0≤y ≤N−1.

(31)

Auto-estados de U

Os estados definidos por

|usi= 1

√r

r−1

X

k=0

exp

·−2πisk r

¸

|xk(modN)i para 0≤s ≤r−1, s˜ao auto-estados de U, pois

U |usi= 1

√r

r1

X

k=0

exp

·−2πisk r

¸

|xk+1(modN)i=exp

·2πis r

¸

|usi

(32)

Auto-valores de U

Basta, ent˜ao, usarmos o procedimento de estimativa de fase para obtermos uma aproxima¸c˜ao dos auto-valores

exp

·2πis r

¸ a partir dos quais, extrairemos r

(33)

Viabilidade do Uso da Estimativa de Fase

Para usarmos o procedimento de estimativa de fase, s˜ao necess´arios:

Procedimentos eficientes para implementar a opera¸c˜ao U2j-controlada para qualquer inteiroj

Obtido comexponencia¸c˜ao modular

(34)

Viabilidade do Uso da Estimativa de Fase

Para usarmos o procedimento de estimativa de fase, s˜ao necess´arios:

Procedimentos eficientes para implementar a opera¸c˜ao U2j-controlada para qualquer inteiroj

Obtido comexponencia¸c˜ao modular

Devemos preparar eficientemente um auto-estado|usicom um auto-valor n˜ao trivial, ou ao menos uma superposi¸c˜ao de tais auto-estados

(35)

Viabilidade do Uso da Estimativa de Fase

Exponencia¸c˜ao Modular

A seq¨uˆencia de opera¸c˜oesU2j-controlada usada na estimativa de fase ´e equivalente a multiplicar o conte´udo do segundo registrador pela exponencial modularxz(mod N), ondez ´e o conte´udo do primeiro registrador (comt qubits).

(36)

Viabilidade do Uso da Estimativa de Fase

Exponencia¸c˜ao Modular

Realizada em duas fases:

1 Calcular x2(mod N),x4(mod N),· · ·x2j(mod N), para todo j at´e t−1

2 Efetuar a multiplica¸c˜ao:

xz(modN) = µ

xzt2t−1(modN)

¶ µ

xzt−12t−2(modN)

· · · µ

xz120(modN)

A exponencia¸c˜ao modular requerO(L3) portas.

(37)

Viabilidade do Uso da Estimativa de Fase

Preparo do Auto-Estado

O segundo registrador pode ser iniciado com |1i, pois

√1 r

r1

X

s=0

|usi=|1i

A inicializa¸c˜ao tamb´em pode ser feita com |0i, caso o operadorUj seja substitu´ıdo por

V |ji |ki=|ji |k+xj(modN)i

(38)

Expans˜ao da Fra¸c˜ao Cont´ınua

Ao aplicarmos a estimativa de fase, obtemos uma aproxima¸c˜ao paraϕ≈s/r

Sabe-se queϕ´e um n´umero racional (raz˜ao de dois inteiros) Para extrairmos o valor r, aplicamos o algoritmo de fra¸c˜ao cont´ınua, que ´e uma variante do algoritmo de Euclides.

(39)

Expans˜ao da Fra¸c˜ao Cont´ınua

Vamos encontrar o m´aximo divisor comum de 79 e 28 pelo processo das divis˜oes sucessivas (algoritmo de Euclides):

79 = 2×28 + 23 28 = 1×23 + 5 23 = 4×5 + 3

5 = 1×3 + 2 3 = 1×2 + 1 2 = 2×1 + 0

Logo, MDC(79,28) = 1, uma vez que 1 ´e o ´ultimo resto n˜ao-nulo

(40)

Expans˜ao da Fra¸c˜ao Cont´ınua

Como conseq¨uˆencia imediata destas igualdades, podemos expressar o n´umero racional 7928 da seguinte forma:

79

28 = 2 + 23

28 = 2 + 1

28 23

= 2 + 1

1 +235 = 2 + 1 1 + 231

5

= 2 + 1

1 + 1

4+35

= 2 + 1

1 + 1

4+15

3

= 2 + 1

1 + 1

4+ 1

1+ 23

= 2 + 1

1 + 1

4+ 1

1+ 13 2

=2+ 1

1+ 1

4+ 1

1+ 1 1+1

2

(41)

Algoritmo de Fra¸c˜ao Cont´ınua

Dado um racionalϕ

Repete-se sucessivamente: subtrair a parte inteira e inverter a parte fracion´aria

Obtˆem-ses er, sem fatores comuns, tais que s/r =s/r Se xr ≡1 mod N, ent˜ao r ´e a ordem dex m´oduloN Esse c´alculo sempre converge e tem complexidade O(L3)

(42)

Algoritmo: C´alculo de Ordem

Entrada: Um n´umero composto N deL bits, um n´umero x relativamente primo a N,

uma caixa preta Ux,N que realiza a transforma¸c˜ao

|ji |ki →|ji |xjk modNi,

t = 2L+ 1 +⌈log(2 +1)⌉ qubits iniciados em|0i, e Lqubits iniciados em |1i.

Sa´ıda: O menor inteiro r >0 tal quexr ≡1 modN . Tempo de Execu¸c˜ao: O(L3) opera¸c˜oes.

(43)

Algoritmo: C´alculo de Ordem

1. Estado inicial

|0i |1i 2. Criar superposi¸c˜ao

(44)

Algoritmo: C´alculo de Ordem

1. Estado inicial

|0i |1i 2. Criar superposi¸c˜ao

→ 1

√2t

2Xt1 j=0

|ji |1i 3. Aplicar Ux,N

(45)

Algoritmo: C´alculo de Ordem

1. Estado inicial

|0i |1i 2. Criar superposi¸c˜ao

→ 1

√2t

2Xt1 j=0

|ji |1i 3. Aplicar Ux,N

→ 1

√2t

2Xt−1 j=0

|ji |xjimodN

1 Xr12Xt1

(46)

Algoritmo: C´alculo de Ordem

4. Aplicar a inversa da Transformada Quˆantica de Fourier no primeiro registrador

(47)

Algoritmo: C´alculo de Ordem

4. Aplicar a inversa da Transformada Quˆantica de Fourier no primeiro registrador

→ 1

√r

r1

X

s=0

|s/rfi |usi 5. Medir o primeiro registrador

(48)

Algoritmo: C´alculo de Ordem

4. Aplicar a inversa da Transformada Quˆantica de Fourier no primeiro registrador

→ 1

√r

r1

X

s=0

|s/rfi |usi

5. Medir o primeiro registrador

→sf/r 6. Aplicar algoritmo de fra¸c˜ao cont´ınua

(49)

An´alise de Complexidade do C´alculo de Ordem

Opera¸c˜ao Tempo consumido Transformada de Hadamard O(L) Transformada Inversa de Fourier O¡

L2¢ Exponencia¸c˜ao Modular O¡

L3¢ Algoritmo de Fra¸c˜oes Cont´ınuas O¡

L3¢

Obterr der

L3¢

Custo Total O¡

L3¢

(50)

Problema do Subgrupo Oculto

Todos algoritmos quˆanticos r´apidos conhecidos podem ser descritos como solu¸c˜ao de um problema geral:

Definition

Sejaf uma fun¸c˜ao de um grupoG finitamente gerado para um conjunto finitoX, tal que f ´e constante nas classes laterais do subgrupoK, e que toma valor distinto em cada classe lateral.

Dada uma caixa preta quˆantica que realiza a transforma¸c˜ao unit´ariaU |gi |hi=|gi |h⊕f (g)i, parag ∈G,h∈X, e ⊕ uma opera¸c˜ao bin´aria adequadamente escolhida emX, encontrar um conjunto de geradores paraK.

(51)

Problema do Subgrupo Oculto

Em outras palavras, o Problema do Subgrupo Oculto (PSO) consiste em encontrar os geradores de um subgrupo K de um grupo finito G, com uma fun¸c˜ao or´aculof definida em G tal que

f (a) =f (b) se, e somente se,aK =bK para todoa,b ∈G

(52)

Problema do Subgrupo Oculto

Exemplos

C´alculo de Ordem (visto) Problema de Simon C´alculo do Per´ıodo

Problema do Logaritmo Discreto

(53)

Problema de Simon

Simon [Simon94] apresentou um algoritmo quˆantico de tempo polinomial para o seguinte problema:

Dada, uma fun¸c˜ao f :Zn2 →Zn2 dois para um, ou seja, a cada par de valores distintos no dom´ınio corresponde a uma ´unica imagem no contradom´ınio e com periodicidade ǫ∈Zn2. f (x) =f (y)⇔y =x⊕ǫ,∀x,y ∈Zn2

Determine ǫeficientemente (isto ´e, com probabilidade maior que 12 e com poucas chamadas ao or´aculo).

A fun¸c˜aof definida no grupo Zn2 e constante nas classes laterais de um subgrupoK ={0, ǫ}n˜ao conhecido. O

objetivo ´e reconstruir este subgrupo. O algoritmo requer o uso Zn

(54)

Algoritmo de Simon

Inicialize o computador quˆantico no estado|0ni |0mi, e aplique Kn no a primeiro registrador para obter o estado

√1 2n

X

x∈Zn 2

|xi |0mi

ApliqueUf no estado final do passo 1 para obter

√1 2n

X

x∈Zn 2

|xi |f (x)i

(55)

Algoritmo de Simon (Continua¸c˜ao)

Me¸ca o segundo registrador e continue com o estado do primeiro registrador inalterado. Assim depois da medida o estado do primeiro registrador ter´a a forma:

1

2(|x0i⊕ |x0+ǫi)|yi onde x0 ∈Zn2 foi escolhido equiprobabilisticamente (observe que depois da medida, a constante ´e renormalizada para 1

2 j´a que sobraram apenas dois termos na soma, termos cuja imagem ´e um elemento aleat´orioy do conjunto Im(f). Podemos ainda escrever o estado do primeiro registrador na forma mais geral:

p1

|K| X

kK |x0+ki

(56)

Algoritmo de Simon (Continua¸c˜ao)

Aplique a transforma¸c˜ao de Hadamard na superposi¸c˜ao envolvendo o primeiro registrador do estado final do passo anterior para obter:

Kn 1

√2(|x0i⊕ |x0+ǫi)|yi= 1

√2n1 X

y:y.ǫ=0

(−1)(x0.y)|yi, com y, ǫ∈Zn2

Me¸ca o primeiro registrador para achar um valor yi tal que ǫ.yi = 0 (a probabilidade de se obter um yi espec´ıfico ´e 2n−11 . Repetir o processo acima para obter suficientes yi’s tal queǫ possa ser determinado resolvendo um sistema de equa¸c˜oes lineares y.ǫ, . . . ,y .ǫ= 0.

(57)

Problema do C´alculo do Per´ıodo

Seja f uma fun¸c˜ao peri´odica tal que f(x + r) = f(x).

Queremos calcular 0<r <2L com o uso de uma caixa preta U que realiza a transforma¸c˜ao unit´aria

U|xi |yi →|xi |y⊕f(x)i . Seja ainda t =O(L+log(1/ǫ))

(58)

Algoritmo: C´alculo do Per´ıodo

1. Estado inicial

|0i |0i 2. Criar superposi¸c˜ao

(59)

Algoritmo: C´alculo do Per´ıodo

1. Estado inicial

|0i |0i 2. Criar superposi¸c˜ao

√1 2t

2Xt−1 x=0

|xi |0i 3. Aplicar U

(60)

Algoritmo: C´alculo do Per´ıodo

1. Estado inicial

|0i |0i 2. Criar superposi¸c˜ao

√1 2t

2Xt−1 x=0

|xi |0i 3. Aplicar U

√1 2t

2Xt1 x=0

|xi |f(x)i 1 Xr−12Xt−1

(61)

Algoritmo: C´alculo do Per´ıodo

O passo 3 do algoritmo utiliza a seguinte defini¸c˜ao ˆf(l) = 1

r

r−1

X

x=0

e2πilx/r |f(x)i

O passo seguinte estima l/r com a aplica¸c˜ao da transformada inversa de Fourier. Esta estimativa que ser´a apresentada utiliza a seguinte transforma¸c˜ao

√1 2t

2Xt1 j=0

e2πiϕj |ji |ui →|ϕei |ui

(62)

Algoritmo: C´alculo do Per´ıodo

4. Aplicar a inversa da Transformada Quˆantica de Fourier no primeiro registrador

(63)

Algoritmo: C´alculo do Per´ıodo

4. Aplicar a inversa da Transformada Quˆantica de Fourier no primeiro registrador

√1 r

r1

X

l=0

|lf/ri |fˆ(l)i 5. Medir o primeiro registrador

(64)

Algoritmo: C´alculo do Per´ıodo

4. Aplicar a inversa da Transformada Quˆantica de Fourier no primeiro registrador

√1 r

r1

X

l=0

|lf/ri |fˆ(l)i 5. Medir o primeiro registrador

l/rf 6. Aplicar algoritmo de fra¸c˜ao cont´ınua

(65)

Problema do Logaritmo Discreto

Dadosa,b eN calculars tal que b=asmod N Para resolver este problema considere

(66)

Problema do Logaritmo Discreto

Dadosa,b eN calculars tal que b=asmod N Para resolver este problema considere

f(x1,x2) =asx1+x2mod N

(67)

Problema do Logaritmo Discreto

Dadosa,b eN calculars tal que b=asmod N Para resolver este problema considere

f(x1,x2) =asx1+x2mod N f(x1+l,x2ls) =f(x1,x2)

(68)

Problema do Logaritmo Discreto

Dadosa,b eN calculars tal que b=asmod N Para resolver este problema considere

f(x1,x2) =asx1+x2mod N f(x1+l,x2ls) =f(x1,x2) (l,ls), para um inteiro l

(69)

Problema do Logaritmo Discreto

Dadosa,b eN calculars tal que b=asmod N Para resolver este problema considere

f(x1,x2) =asx1+x2mod N f(x1+l,x2ls) =f(x1,x2) (l,ls), para um inteiro l

U|x1i |x2i |yi →|x1i |x2i |yf(x1,x2)i

(70)

Problema do Logaritmo Discreto

Dadosa,b eN calculars tal que b=asmod N Para resolver este problema considere

f(x1,x2) =asx1+x2mod N f(x1+l,x2ls) =f(x1,x2) (l,ls), para um inteiro l

U|x1i |x2i |yi →|x1i |x2i |yf(x1,x2)i armod N = 1, com r f´acil de se calcular Vamos mostrar um algoritmo que calcula s

(71)

Algoritmo: C´alculo do Logaritmo Discreto

1. Estado inicial

|0i |0i |0i

(72)

Algoritmo: C´alculo do Logaritmo Discreto

1. Estado inicial

|0i |0i |0i 2. Criar superposi¸c˜ao

1 2t

2Xt−1 x1=0

2Xt−1 x2=0

|x1i |x2i |0i

(73)

Algoritmo: C´alculo do Logaritmo Discreto

1. Estado inicial

|0i |0i |0i 2. Criar superposi¸c˜ao

1 2t

2Xt−1 x1=0

2Xt−1 x2=0

|x1i |x2i |0i 3. Aplicar U

1 2t

2Xt−1 x1=0

2Xt−1 x2=0

|x1i |x2i |f(x1,x2)i

1 Xr12Xt12Xt1 ˆ

(74)

= 2t1r

Pr1 l2=0

hP2t1

x1=0e2πi(sl2x1)/r |x1ii hP2t1

x2=0e2πi(l2x2)/r |x2ii

|ˆf(sl2,l2)i

(75)

= 2t1r

Pr1 l2=0

hP2t1

x1=0e2πi(sl2x1)/r |x1ii hP2t1

x2=0e2πi(l2x2)/r |x2ii

|ˆf(sl2,l2)i

4. Aplicar a inversa da Transformada Quˆantica de Fourier nos dois primeiros registradores

(76)

= 2t1r

Pr1 l2=0

hP2t1

x1=0e2πi(sl2x1)/r |x1ii hP2t1

x2=0e2πi(l2x2)/r |x2ii

|ˆf(sl2,l2)i

4. Aplicar a inversa da Transformada Quˆantica de Fourier nos dois primeiros registradores

√1 r

r1

X

l2=0

|sl]2/ri |lg2/ri |ˆf(sl2,l2)i

(77)

= 2t1r

Pr1 l2=0

hP2t1

x1=0e2πi(sl2x1)/r |x1ii hP2t1

x2=0e2πi(l2x2)/r |x2ii

|ˆf(sl2,l2)i

4. Aplicar a inversa da Transformada Quˆantica de Fourier nos dois primeiros registradores

√1 r

r1

X

l2=0

|sl]2/ri |lg2/ri |ˆf(sl2,l2)i

5. Medir os dois primeiros registradores (slg2/r,lg2/r)

(78)

= 2t1r

Pr1 l2=0

hP2t1

x1=0e2πi(sl2x1)/r |x1ii hP2t1

x2=0e2πi(l2x2)/r |x2ii

|ˆf(sl2,l2)i

4. Aplicar a inversa da Transformada Quˆantica de Fourier nos dois primeiros registradores

√1 r

r1

X

l2=0

|sl]2/ri |lg2/ri |ˆf(sl2,l2)i

5. Medir os dois primeiros registradores (slg2/r,lg2/r) 6. Aplicar o algoritmo de fra¸c˜oes cont´ınuas

(79)

Considera¸c˜oes sobre o Problema do Logaritmo Discreto

O passo 3 do algoritmo utiliza a seguinte defini¸c˜ao ˆf(l1,l2) = 1

√r

r1

X

j=0

e2πil2j/r |f(0,j)i Os valores de l1 e l2 devem satisfazer

r1

X

k=0

e2πik(l1/sl2)/r =r

O algoritmo utiliza U apenas uma vez e consomeO(log2r) unidades de tempo, consumo aproximado do algoritmo do

(80)

Subgrupos Abelianos

A id´eia central por tr´as da solu¸c˜ao do Problema do Subgrupo Abeliano Oculto ´e an´alise de Fourier em grupos abelianos.

SejaG um grupo abeliano finito e sejaHo espa¸co de Hilbert com base ortonormal {|gi:g ∈G}indexada pelos elementos deG.

A Transformada de Fourier se apresenta da seguinte forma:

FG |gi= 1 p|G|

X

hG

xg(h)|hi

O Problema do Subgrupo Oculto (PSO) em grupos abelianos

(81)

Subgrupo Ortogonal

Para qualquer subgrupoH de um grupo finito G, podemos definir o subgrupo ortogonalH, como

H={g ∈G |χg (h) = 1∀h∈H}

Como G ´e finito, para mostrar que H´e um subgrupo deG, basta mostrarmos que a opera¸c˜ao do grupo ´e fechada em H.De fato, sea,b ∈H ent˜ao para qualquer h∈H n´os temosχh(ab)h(b)χh(b)= 1×1 = 1, isto ´e,ab∈H, logo H≤G.

(82)

Transformada de Fourier em Grupos Abelianos

Como no algoritmo de Simon, consideraremos que temos dois registradores: um registrador com n= lg|G|q-bits e o segundo registrador com mq-bits, onde m´e um inteiro positivo maior ou igual que n. O algoritmo usa a seguinte sub-rotina:

Inicialize o computador quˆantico no estado|0Gi |0mi, onde|0Gi´e o estado base correspondente ao elemento neutro deG. Depois aplique FG no primeiro registrador para obter

p1

|G| X

gG

|gi |0mi

Aplique Uf no estado final do passo anterior e obtenha

1 X

(83)

Transformada de Fourier em Grupos Abelianos

Me¸ca o segundo registrador do estado final do passo anterior.

A medida, segundo um postulado da mecˆanica quˆantica, provoca um dist´urbio no estado original. Este estado por sua vez ´e levado no estado 1

p|H| X

g0Hi

|g0i |f (g0)i

Aplique FG no primeiro registrador e obtenha ent˜ao uma superposi¸c˜ao sobre H, e teremos 1

p|H| X

hH

χh(gi)|hi

(84)

Transformada de Fourier em Grupos Abelianos

Me¸ca agora o primeiro registrador. A medida produz um elemento aleat´orio em H.

Segue que se repetirmos esta sub-rotina quˆantica um n´umero de vezes logaritmico em |G|(e portanto polinomial em n) obtemos um conjunto de geradores paraH, a partir do qual s˜ao obtidos os geradores de H.

(85)

Subgrupos N˜ao Abelianos

Uma quest˜ao natural ´e perguntar se computadores quˆanticos podem resolver o PSO em grupos N˜AO abelianos. Esta quest˜ao tem sido discutida regularmente pela comunidade cient´ıfica devido a importantes aplica¸c˜oes, como por exemplo,

No problema de isomorfismo de dois grafos, quando o grupo em quest˜ao ´e ogrupo Sim´etrico

Regev [Regev06] mostrou que uma solu¸c˜ao eficiente para o PSO nogrupo Di´edricoimplica um algoritmo eficiente para o problema de determinar o menor vetor em um reticulado, ou pelo menos para uma classe de reticulados para o qual nenhum algoritmo cl´assico ´e conhecido.

(86)

Subgrupos N˜ao Abelianos

O grupo Sim´etrico pode ser definido como se segue.

Considere um conjunto n˜ao vazioS e seja

G ={f :S →S |f bijetora}. Se a opera¸c˜ao ◦composi¸c˜ao de fun¸c˜oes, ent˜ao {G,◦}´e claramente um grupo tendo

Is :S →S definido por Is(x) =x,∀x ∈Scomo identidade. Se S ={1,2, . . . ,N}denotaremos esse grupo por SN, e temos que o n´umero de elementos deSN ´eN!.

(87)

Subgrupos N˜ao Abelianos

Agora veremos um grupo n˜ao abeliano, contendo exatamente 2N elementos. Este subgrupo ´e formado pelas rota¸c˜oes e reflex˜oes do plano que preservam um pol´ıgono regular comN v´ertices. Chamaremos este grupo de Di´edrico ou grupo de simetrias do pol´ıgono regular deN v´ertices e o denotaremos por DN. O conjunto formado pelas rota¸c˜oes formam um subgrupo abeliano deDN que denotaremos por CN.

(88)

Estudos de Grupos

S˜ao quest˜oes ainda em estudo:

Para quais grupos existem algoritmos quˆanticos eficientes que resolvem o PSO?

Existem grupos para os quais o PSO n˜ao pode ser resolvido eficientemente?

(89)

Resumo

Os Algoritmos quˆanticos conhecidos, que s˜ao

exponencialmente mais r´apidos que algoritmos cl´assicos, resolvem o Problema do Subgrupo Abeliano Oculto Acredita-se que algumas fam´ılias de grupos n˜ao abelianos podem n˜ao ter solu¸c˜ao eficiente para o PSO (em pesquisa).

(90)

Perguntas?

(91)

Referˆencias (1/2)

Shor, P.

Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer.

SIAM Journal on Computing, 1997.

Lomont, C.

The Hidden Subgroup Problem - Review and Open Problems.

arXiv:quant-ph/0411037, 2004.

Ettinger, M.; Hoyer, P.

On Quantum Algorithms for Noncommutative Hidden Subgroups.

arXiv:quant-ph/9807029v1, 1998.

(92)

Referˆencias (2/2)

Cardonha, C.; Silva, M.; Fernandes, C.

Computa¸c˜ao Quˆantica: Complexidade e Algoritmos.

http://www.ime.usp.br/∼magal/quantum/, 2004.

Portugal, R.; Lavor, C.; Carvalho, L.; Maculan, N.

Uma Introdu¸c˜ao `a Computa¸c˜ao Quˆantica.

SBMAC, 2004.

Regev, O.;

Lattice-Based Cryptography

CRYPTO 2006, LNCS 4117, pp. 131-141, 2006 Simon, D. R.;

On the power of quantum computation

Referências

Documentos relacionados

20 Apesar dos problemas de representação contidos em alguns mapas impressos, principalmente no que tange a ausência ou erro dos principais elementos do mapa

Profª Drª Angeli Rose do Nascimento – Universidade Federal do Estado do Rio de Janeiro Profª Drª Carolina Fernandes da Silva Mandaji – Universidade Tecnológica Federal do Paraná

TITULARES DE CRÉDITOS ENQUADRADOS COMO MICRO EMPRESA OU EMPRESA DE PEQUENO PORTE. (Inciso IV

– Confronto direto. – Três ou mais equipes:.. – Saldo de partidas nos jogos realizados entre si, na etapa ou fase em que ocorreu o empate. – Saldo de pontos nas partidas

O Modelo GI (2000) sofreu alterações com relação aos arcabouços anteriores desenvolvidos por Macedo-Soares e membros de sua equipe de pesquisa inspiradas na

No entanto, a cultura predominante na gestão das unidades produtivas sucroalcooleiras, influenciada pelas altas taxas de rentabilidade dos mercados de etanol e de açúcar,

No prazo de 10 dias contada da deliberação, para os condóminos presentes, ou contada da sua comunicação, para os condómino ausentes, pode ser exigida ao administrador a convocação

O PROGRAMA AGENTES LOCAIS DE INOVAÇÃO, por este Edital, torna público a Retificação do Edital 03/2011, a Lista de Convocados para Realização das Dinâmicas de Grupo e