쇼어 알고리즘

Shor's algorithm

쇼어의 알고리즘은 정수의 소인수를 구하는 양자 알고리즘입니다. 1994년 미국 수학자 피터 쇼어에 의해 개발되었습니다.[1][2] 그것은 가장 잘 알려진 고전적(즉, 비양자적) 알고리즘에 비해 강력한 잠재적 응용과 다항 속도 향상의 강력한 증거를 가진 몇 안 되는 알려진 양자 알고리듬 중 하나입니다.[3] 반면에 실질적인 중요성의 수를 인수분해하려면 가까운 미래에 사용할 수 있는 큐비트보다 훨씬 더 많은 큐비트가 필요합니다.[4] 또 다른 우려는 양자 회로의 노이즈가 결과를 손상시킬 [5]수 있어 양자 오류 수정을 위해 추가 큐비트가 필요하다는 것입니다.

Shor는 인수분해 문제, 이산 로그 문제, 주기 찾기 문제를 해결하는 유사한 알고리즘을 여러 개 제안했습니다. "쇼어의 알고리즘"은 보통 그의 알고리즘이 인수분해를 해결하는 것을 언급하지만, 세 가지를 각각 언급할 수도 있습니다. 이산 로그 알고리즘과 인수분해 알고리즘은 기간 찾기 알고리즘의 예이며, 세 가지 모두 숨겨진 부분군 문제의 예입니다.

양자 컴퓨터에서 정수 N을 인수분해하기위해 Shor의 알고리즘은 다항식 시간으로 실행되며, 이는 입력으로 주어진 정수의 크기인 ⁡ N \log N}에서 소요되는 시간이 다항식임을 의미합니다. 구체적으로, (로그 ⁡ N (⁡ N)의 양자 (로그 ⁡ N)를 취합니다. {\display O\!빠른 곱셈을 사용하여 N N 또는 심지어 )2( N)) {\display O\!하비와 반 더 호벤으로 인해 현재 알려진 가장 빠른 곱셈 알고리즘을 활용하여[8] 따라서 정수 인수분해 문제가 양자 컴퓨터에서 효율적으로 해결될 수 있으며 결과적으로 복잡도 클래스 BQP에 있음을 보여줍니다. 이는 하위 지수 시간에서 작동하는 가장 효율적인 알려진 고전적 인수분해 알고리즘인 일반 숫자 체보다 훨씬 빠릅니다:O (e ) 1 / 3 (로그 ⁡ ⁡ N ) 2 / 3 ) {\display O\!.[9]

실현가능성 및 영향

충분한 수의 큐비트를 가진 양자 컴퓨터가 양자 잡음 및 기타 양자 결맞음 현상에 굴복하지 않고 작동할 수 있다면 쇼어의 알고리즘을 사용하여 다음과 같은 공개암호 체계를 깰 수 있습니다.

RSA는 큰 정수를 인수분해하는 것이 계산상 다루기 어렵다는 가정을 기반으로 합니다. 알려진 바로는, 이 가정은 고전적인 (양자가 아닌) 컴퓨터에 유효합니다. 다항 시간에 정수를 인수분해할 수 있는 고전적인 알고리즘은 알려져 있지 않습니다. 그러나 Shor의 알고리즘은 이상적인 양자 컴퓨터에서 정수를 인수분해하는 것이 효율적이므로 큰 양자 컴퓨터를 구축하여 RSA를 물리치는 것이 가능할 수 있음을 보여줍니다. 또한 양자 컴퓨터의 설계와 구축, 새로운 양자 컴퓨터 알고리즘 연구에 강력한 동기부여가 되었습니다. 또한 양자 컴퓨터로부터 안전한 새로운 암호 시스템에 대한 연구를 촉진했으며, 이를 총칭하여 포스트 양자 암호학이라고 합니다.

물리적 구현

현대 양자 컴퓨터의 높은 오류율과 양자 오류 수정을 사용하기에 너무 적은 큐비트를 감안할 때, 실험실 시연은 극히 일부의 시도에서만 정확한 결과를 얻습니다.

2001년 IBM의 그룹은 7 큐비트의 양자 컴퓨터의 NMR 구현사용하여 를 3× 5 {\ 분리하여 쇼어의 알고리즘을 입증했습니다.[11] IBM의 구현 이후 두 개의 독립적인 그룹이 포토닉 큐비트를 이용한 쇼어 알고리즘을 구현하면서 쇼어 알고리즘 회로를 구동할 때 다중 큐비트 얽힘이 관찰되었음을 강조했습니다.[12][13] 2012년에는 솔리드 스테이트 큐비트를 하여 15 {\ 15의 인수분해가 수행되었습니다[14] 이후 2012년에는 의 인수분해를 달성했습니다.[15] 2019년 IBM Q System One에서 Shor의 알고리즘을 사용하여 숫자 를 인수분해하려고 시도했지만 오류가 누적되어 알고리즘에 실패했습니다.[16] 양자 컴퓨터가 다른 알고리즘을 사용하여 더 큰 수를 인수분해했지만,[17] 이러한 알고리즘은 요인의 고전적인 단순한 검사와 유사하므로 쇼어의 알고리즘과 달리 고전적 인수분해 알고리즘보다 더 나은 성능을 발휘하지 못할 것으로 예상됩니다.[18]

쇼어 알고리즘의 이론적 분석은 잡음과 오류가 없는 양자 컴퓨터를 가정합니다. 그러나 단기적인 실제 구현은 그러한 원치 않는 현상을 처리해야 합니다(더 많은 큐비트를 사용할 수 있을 때 양자 오류 수정이 도움이 될 수 있습니다). 2023년 진이 카이(Jin-Yi Cai)는 노이즈의 영향을 연구하고 특수한 종류의 숫자(반 소수에 밀도가 높은 A073024의 두 소수의 곱)가 있다고 결론지었습니다. 쇼어의 알고리즘은 노이즈가 있는 경우 이러한 숫자를 인수분해할 수 없습니다.[5] 따라서 모든 숫자를 Shor의 알고리즘으로 인수분해할 수 있으려면 오류 수정이 필요합니다.

알고리즘.

우리가 풀려고 하는 문제는 홀수 합성수 N이 주어졌을 때정수 인자 찾는 것입니다.

이를 달성하기 위해 쇼어의 알고리즘은 두 부분으로 구성됩니다.

  1. 인수분해 문제를 순서 찾기 문제로 고전적으로 축소한 것입니다. 감소는 2차 체와 같은 다른 인수분해 알고리즘에 사용되는 것과 유사합니다.
  2. 순서 찾기 문제를 해결하기 위한 양자 알고리즘입니다.

고전적 축소

임의의 1보다 큰 두 정수 p 효율적으로 인수분해할 수 있다면 완전 인수분해 알고리즘이 가능합니다. 또는 중 하나가 소수가 아닌 경우 소수만 남을 때까지 인수분해 알고리즘을 차례로 실행할 수 있습니다.

기본적인 관찰은 유클리드의 알고리즘을 사용하면 항상 두 정수 사이의 GCD를 효율적으로 계산할 수 있다는 것입니다. 특히 N(가) 짝수인지 여부를 효율적으로 확인할 수 있으며, 이 경우 2는 사소한 요인입니다. 이 논의의 나머지 부분에서 N N 홀수라고 가정합니다. 그런 다음 효율적인 고전 알고리즘을 사용하여 소수인지 확인할 수 있습니다.[19] 소수의 경우 효율적인 고전적 인수분해 알고리즘이 [20]존재하므로 나머지 양자 알고리즘은 이 소수가 아니라고 가정할 수 있습니다.

이러한 쉬운 케이스가 의 사소한 인자를 생성하지 않는 경우 알고리즘은 나머지 케이스를 처리하기 위해 진행합니다 저희는 무작위 2 < {\을 선택합니다 N{\N}의 가능한 비자분수는 유클리드 알고리즘을 사용하여 고전적이고 효율적으로 수행할 수 있는 N를 계산하여 수 있습니다. 이것이 사소하지 않은 인자( 를 생성하는 경우 ≠ 1 {\(a, N)\n 알고리즘이 완료되었으며, 다른 비소용 인자는 N N입니다 비소용 인자가 식별되지 않은 경우, 는 N{\N}과{\ a의 선택이 코프라임임을 의미합니다. 여기서 알고리즘은 양자 서브루틴을 실행하여 을(를) 반환합니다 이는 다음을 의미합니다.

양자 서브루틴은 a 및 N (가) 코프림이어야 하며,[2] 이는 알고리즘의 이 시점에서 N{\가 N{\N}의 인자를 생성하지 않았기 때문에 사실입니다 가) - 1 {\1하고N ∣ r - 1mid a^{r}-1}로 쓴 것을 동등성에서 확인할 수 있습니다. 이는 제곱의 차이를 사용하여 인수분해할 수 있습니다.

이러한 방식으로 식을 인수분해했기 때문에 알고리즘이 홀수 {\r}( {\가 정수여야 하므로)에 대해 작동하지 않습니다 즉, 알고리즘이 {\a}로 다시 시작해야 합니다. 따라서 에는 r 짝수라고 가정할 수 있습니다. It cannot be the case that , since this would imply , which would contradictorily imply that would be the order of , 이미 이었습니다 이때 / 2 + r2}+1}일 수도 있고 아닐 수도 있습니다. / 2 + r2}+1}이 참이 아니면 N N}의 사소를 찾을 수 있습니다.
If , then that means was true, and a nontrivial factor of cannot be achieved from , and the algorithm must restart with a new . Otherwise, 의 사소한 인자를 찾았고 다른 인자는 이며 알고리즘은 완료되었습니다. 이 단계에서는 / + 를 계산하는 것과 동일하며 2 -){\가 사소한 경우 사소한 인자를 생성하지 않습니다(여기서 /2 + 1r/2}+1}).

알고리즘은 곧 다음과 같이 재작성되었습니다. N(는) 소수가 아니라 홀수입니다. 의 두 개의 사소한 인자를 출력하고자 합니다

  1. 난수 < a< style < < N> 를 선택합니다
  2. {\ a} 및 N {\displaystyle N}의 최대 공약수인 = a)}를 계산합니다.
  3. K≠ 1 {\ K\n K{\ K는 N{\N}의 사소한 인자이며 다른 {\{\이고, 우리는 끝입니다.
  4. 그렇지 않으면 양자 서브루틴을 사용하여 a r을 찾습니다
  5. (가) 홀수인 경우 1단계로 돌아갑니다.
  6. = (N, ar / 2 + 1) {\displaystyle g =\gcd(N,a^{r/2}+1)}을 계산합니다. (가) 사소하지 않은 경우, 다른 {\g}}이고 완료되었습니다. 그렇지 않으면 1단계로 돌아갑니다.

이것은 몇 번의 주행 후에 성공할 가능성이 있는 것으로 나타났습니다.[2] 실제로 양자 순서 찾기 서브루틴에 대한 한 번의 호출만으로도 N 매우 높은 성공 확률로 완전히 인수분해하기에 충분합니다.[21]

양자 순서 찾기 서브루틴

The goal of the quantum subroutine of Shor's algorithm is, given coprime integers and , to find the order of modulo , ≡ 1(N) a^{pmod{N}}만큼 가장 작은 양의 정수입니다. 이를 위해 쇼어의 알고리즘은 두 개의 레지스터를 포함하는 양자 회로를 사용합니다. 두 번째 레지스터는 큐비트를 사용하며, 여기서 n 2이 되도록 가장 작은 정수입니다 첫 번째 레지스터의 크기는 회로가 얼마나 정확한 근사치를 산출하는지를 결정합니다. + 큐비트를 사용하면 r을(를) 찾을 수 있습니다 정확한 양자 회로는 문제를 정의하는 매개 변수 N에 따라 달라집니다 알고리즘에 대한 다음 설명은 표기법을 사용하여 양자 상태를 나타내고 ⊗ {\\otimes}는 논리적 OR 또는 논리적 XOR이 아닌 텐서 곱을 나타냅니다.

알고리즘은 크게 두 단계로 구성됩니다.

  1. 양자 위상 추정은 {\곱하는 동작을 나타내는 U 와 함께 사용합니다( N N 상태 ⟩ ⊗ n +1 ⟩ {\displaystyle 0\rangle ^{\otimes2n+1}\otimes 1\rangle }(여기서 두 번째 레지스터는 n {\displaystyle n} 큐비트로 만든 ⟩ {\displaystyle 1\rangle })입니다. U의 고유값은 기간에 대한 정보를 인코딩하며, 1\rangle }은 고유 벡터의 합으로 쓰기 가능한 것으로 볼 수 있습니다. 이러한 특성 덕분에 양자 위상 추정 단계는 = 1 r - 1 {\ 정수를 출력으로 제공합니다.
  2. 연속 분수 알고리즘을 사용하여 이전 단계에서 얻은 측정 결과에서 r r을 추출합니다. 이것은 출력 양자 상태를 측정하여 얻은 측정 데이터를 (클래식 컴퓨터로) 후처리하고 기간을 검색하는 절차입니다.

양자 위상 추정과의 연관성은 쇼어 알고리즘의 원래 공식에서는 논의되지 않았지만,[2] 후에 Kitaev에 의해 제안되었습니다.[22]

양자위상추정

쇼어 알고리즘의 양자 서브루틴

일반적으로 양자 위상 추정 알고리즘은 Uψ ⟩ = e 2 π i θ ψ ⟩ {\ 및 고유 상태 ψ ⟩ {\\rangle}에 대해 U psi = e^{2\pi i\theta} \psi \rangle }, sends inputs states into output states close to , where is an integer close to . In other words, U{\displaystyle U}의 각 고유 상태ψ j ⟩ \psi _}을(를) 연관된 고유 값에 가까운 상태로 보냅니다. 양자 순서 찾기를 위해, 우리는 행동에 의해 정의된 유니터리를 사용하여 이 전략을 사용합니다.

< 2 k<2^{n}인 k\}에서 U의 동작은 알고리즘의 기능에 중요하지 않지만 전체 변환이 잘 정의된 양자 게이트임을 보장하기 위해 포함되어야 합니다. 로 양자 위상 추정을 위한 회로를 구현하려면 게이트 U U를 효율적으로 구현할 수 있어야 합니다 이는 알고리즘의 가장 느린 부분인 모듈식 지수화를 통해 달성할 수 있습니다. 이렇게 정의된 게이트는 = I displaystyle U}= I}를 만족하며, 이는 고유값이 r {\displaystyle r}번째 일치 ω r k = e 2 π ik / r {\displaystyle \omega_{r}^{k}= e^{2\piik/r}}임을 즉시 의미합니다. 또한, 각 고유값ω r r}^{k}}는ψ j⟩ =r- / 2 ∑ k = 0 r - 1 ω r - k j k ⟩ {\textstyle \ psi _{j}\rangle = r^{-1/2}\sum _{k=0}^{r-1}\omega _{r}^{-kj} a^{k}\rangle } 의 고유 벡터를 가지며, 이러한 고유 벡터는 다음과 같습니다.


여기서 항등식은 = r - ω r j k = 0 {\textstyle \sum _{j=0}^{r-1}\omega _{r}^{jk}=0}을 의미합니다.

상태 0⟩ ⊗ n+1 ψ j ⟩ {\ 0\rangle ^{\otimes 2n+1} \psi _{j}\rangle }에서 양자 위상 추정을 사용하면 각 ϕ j {\displaystyle \phi _{j}\rangle ⟩ ψ {\displaystyle \phi _{j}\rangle }가 중첩을 나타내는 출력 ϕ j ⟩가 발생합니다. + / 2 정수중 가장 정확한 측정은 ≥ 4 π 2 ≈ 0.\geq {\pi ^{2}}\approx 0.4053}의 측정값입니다(추가 큐비트를 사용하여 임의로 1에 가깝게 만들 수 있습니다). 입력 ⟩ ⊗ n+ ⟩ {\ 2n1} 1\rangle } 대신 사용하면 출력은 =, r - 1 {\displaystyle j = 0,...,r-1}과 상태의 중첩입니다. 즉, 이 입력을 사용하면 의 고유 벡터의 중첩에 대해 양자 위상 추정을 실행하는 것과 같습니다 보다 구체적으로, 양자 위상 추정 회로는 변환을 구현합니다.

첫 번째 레지스터를 측정하면 각ϕ j ⟩\phi_{j}\rangle }을 찾을 수 있는 균형 확률 이 있으며, 각 레지스터는22n + /r2^{2n+1}j/r의 정수를 제공합니다. + 1 {\ 2로 나누어 / 에 대한 십진 근사치를 얻을 수 있습니다

기간 검색을 위한 계속 분수 알고리즘

그런 다음 연속 분수 알고리즘을 적용하여 b c c를 찾습니다 여기서 는 회로에서 측정된 근사치에 대해 최상의 분수 근사치를 제공합니다. < N b coprime {\ 및 c c입니다 근사의 정확도를 결정하는 + 1 2n 첫 번째 의 큐비트 수는 다음을 보장합니다.

ϕj ⟩ {\textstyle \phi_{j}\rangle}의 중첩으로부터 가장 좋은 근사치가 주어졌을 때 (추가 비트를 사용하고 출력을 잘라냄으로써 임의로 가능하게 만들 수 있음) 측정되었습니다. b c coprime이지만 r 은 coprime이 아닐 수 있습니다. 이 때문에 c에서 j j 에 있던 일부 요소가 손실되었을 수 있습니다 이는 임의의 횟수로 양자 서브루틴을 다시 실행하여 분수 근사치 목록을 생성함으로써 해결할 수 있습니다.
(는) 알고리즘이 실행된 횟수입니다. 회로가 개의 한 j {\ c_{k를 측정했기 때문에 각 ck{\ j에서 다른 를 제거할수 있습니다. r {\r} 값을 하려면 각ck {\c_{의 최소 공배수를 취할 수 있습니다
최소 공배수는 원래 a 의 차수 r 확률이 높습니다.

첫번째 레지스터의 크기 선택

위상 추정은 알고리즘의 정확도를 결정하기 위해 첫 번째 레지스터의 크기를 선택해야 하며, 쇼어 알고리즘의 양자 서브루틴의 경우, + 큐비트는 위상 추정에서 측정된 최적의 비트( k})을 보장하기에 충분합니다 서 k /n + textstyle k/2^{2n+1}는 위상 추정에서 위상의 가장 정확한 근사치입니다.)은 실제 값을 허용합니다. r을(를) 복구해야 합니다.

Shor의 알고리즘에서 측정하기 전의각 ϕ j ⟩ {\\phi_{j}\rangle}은22n + / r2^{2n+1}j/r}에 하는 정수의 중첩을 나타냅니다. Let represent the most optimal integer in . The following theorem guarantees that the continued fractions algorithm will recover from :

정리 j n n 비트 정수이면,

그런 다음ϕ \phi}에서 실행되는 연속 분수 알고리즘은j r) jr)}}와j r) jr)}}를모두 합니다.

[3] k 위상 추정의 최적 비트열이므로 / n+ 1 는 j/ 2 + 비트만큼 정확합니다. 따라서,

이는 연속 분수 알고리즘이 j j r 또는 최대 공약수를 제거한 상태에서)를 복구한다는 것을 의미합니다.

병목현상

쇼어 알고리즘의 런타임 병목 현상은 양자 모듈 지수화양자 푸리에 변환 및 고전적인 사전/사후 처리보다 훨씬 느립니다. 모듈식 지수화를 위한 회로를 구성하고 최적화하는 방법에는 여러 가지가 있습니다. 가장 간단하고 (현재) 가장 실용적인 접근 방식은 리플 캐리 가산기로 시작하여 가역적인 게이트를 가진 기존의 산술 회로를 모방하는 것입니다. 기저와 지수 계수를 알면 추가 최적화가 용이합니다.[23][24] 가역 회로는 일반적으로 게이트의 n 큐비트에 사용됩니다. 대체 기술은 양자 푸리에 변환을 사용하여 게이트 수를 점근적으로 개선하지만 높은 상수로 인해 600 큐비트 미만으로 경쟁력이 없습니다.

기간 찾기 및 이산 로그

불연속 로그에 대한 Shor의 알고리즘과 순서 찾기 문제는 알고리즘이 주기 찾기 문제를 해결하는 예입니다.[citation needed] 세 가지 모두 숨겨진 부분군 문제의 예입니다.

이산 로그에 대한 Shor의 알고리즘

Given a group with order and generator , suppose we know that , for some , and we wish to compute , 이산 로그인 = g ( x ) {\ = {\log _{g}(x)}입니다. 각 인자가 모듈식 값의 덧셈에 해당하는 아벨 군 Z p × Z p {\displaystyle \mathbb {Z}_{p}\times \mathbb {Z}_{p}를 생각해 보십시오. 이제, 함수를 생각해 보세요.

이는 아벨리안 은닉 부분군 문제를 제공하며, 여기서 f는 군 동형에 해당합니다. 커널( 의 배수에 해당합니다 따라서 커널을 찾을 수 있다면 r 을 찾을 수 있습니다 이 문제를 해결하기 위한 양자 알고리즘이 존재합니다. 이 알고리즘은 인자 찾기 알고리즘과 마찬가지로 Hadamard 게이트를 사용하여 중첩을 생성한 후 {\ f를 양자 변환으로 구현하고 마지막으로 양자 푸리에 변환으로 구현하기 때문입니다.[3] 이 때문에 이산 로그를 계산하는 양자 알고리즘을 '쇼어의 알고리즘'이라고 부르기도 합니다.

순서 찾기 문제는 숨겨진 부분군 문제로도 볼 수 있습니다.[3] 이를 보려면 아래 정수의 군과 a {Z}에 과 같은 r = 1 a^{r}=1}, 함수를 생각해 보십시오.

임의의 유한 아벨 군 에 대하여 에 대한 숨겨진 부분군을 다항 시간에 풀기 위한 양자 알고리즘이 존재합니다.[3]

참고 항목

참고문헌

  1. ^ Shor, P.W. (1994). "Algorithms for quantum computation: Discrete logarithms and factoring". Proceedings 35th Annual Symposium on Foundations of Computer Science. IEEE Comput. Soc. Press. pp. 124–134. doi:10.1109/sfcs.1994.365700. ISBN 0818665807. S2CID 15291489.
  2. ^ a b c d Shor, Peter W. (October 1997). "Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer". SIAM Journal on Computing. 26 (5): 1484–1509. arXiv:quant-ph/9508027. doi:10.1137/S0097539795293172. ISSN 0097-5397. S2CID 2337707.
  3. ^ a b c d e Nielsen, Michael A.; Chuang, Isaac L. (9 December 2010). Quantum Computation and Quantum Information (PDF) (7th ed.). Cambridge University Press. ISBN 978-1-107-00217-3. Archived (PDF) from the original on 2019-07-11. Retrieved 24 April 2022.
  4. ^ Gidney, Craig; Ekerå, Martin (2021). "How to factor 2048 bit RSA integers in 8 hours using 20 million noisy qubits". Quantum. 5: 433. arXiv:1905.09749. Bibcode:2021Quant...5..433G. doi:10.22331/q-2021-04-15-433. S2CID 162183806.
  5. ^ a b cai, Jin-Yi (June 15, 2023). "Shor's Algorithm Does Not Factor Large Integers in the Presence of Noise". arXiv:2306.10072 [quant-ph].
  6. ^ 의사 다항식 시간도 참조하십시오.
  7. ^ Beckman, David; Chari, Amalavoyal N.; Devabhaktuni, Srikrishna; Preskill, John (1996). "Efficient Networks for Quantum Factoring" (PDF). Physical Review A. 54 (2): 1034–1063. arXiv:quant-ph/9602016. Bibcode:1996PhRvA..54.1034B. doi:10.1103/PhysRevA.54.1034. PMID 9913575. S2CID 2231795.
  8. ^ Harvey, David; van Der Hoeven, Joris (2020). "Integer multiplication in time O(n log n)". Annals of Mathematics. doi:10.4007/annals.2021.193.2.4. S2CID 109934776.
  9. ^ "Number Field Sieve". wolfram.com. Retrieved 23 October 2015.
  10. ^ Roetteler, Martin; Naehrig, Michael; Svore, Krysta M.; Lauter, Kristin E. (2017). "Quantum resource estimates for computing elliptic curve discrete logarithms". In Takagi, Tsuyoshi; Peyrin, Thomas (eds.). Advances in Cryptology – ASIACRYPT 2017 – 23rd International Conference on the Theory and Applications of Cryptology and Information Security, Hong Kong, China, December 3–7, 2017, Proceedings, Part II. Lecture Notes in Computer Science. Vol. 10625. Springer. pp. 241–270. arXiv:1706.06752. doi:10.1007/978-3-319-70697-9_9.
  11. ^ Vandersypen, Lieven M. K.; Steffen, Matthias; Breyta, Gregory; Yannoni, Costantino S.; Sherwood, Mark H. & Chuang, Isaac L. (2001), "Experimental realization of Shor's quantum factoring algorithm using nuclear magnetic resonance" (PDF), Nature, 414 (6866): 883–887, arXiv:quant-ph/0112176, Bibcode:2001Natur.414..883V, CiteSeerX 10.1.1.251.8799, doi:10.1038/414883a, PMID 11780055, S2CID 4400832
  12. ^ Lu, Chao-Yang; Browne, Daniel E.; Yang, Tao & Pan, Jian-Wei (2007), "Demonstration of a Compiled Version of Shor's Quantum Factoring Algorithm Using Photonic Qubits" (PDF), Physical Review Letters, 99 (25): 250504, arXiv:0705.1684, Bibcode:2007PhRvL..99y0504L, doi:10.1103/PhysRevLett.99.250504, PMID 18233508, S2CID 5158195
  13. ^ Lanyon, B. P.; Weinhold, T. J.; Langford, N. K.; Barbieri, M.; James, D. F. V.; Gilchrist, A. & White, A. G. (2007), "Experimental Demonstration of a Compiled Version of Shor's Algorithm with Quantum Entanglement" (PDF), Physical Review Letters, 99 (25): 250505, arXiv:0705.1398, Bibcode:2007PhRvL..99y0505L, doi:10.1103/PhysRevLett.99.250505, hdl:10072/21608, PMID 18233509, S2CID 10010619
  14. ^ Lucero, Erik; Barends, Rami; Chen, Yu; Kelly, Julian; Mariantoni, Matteo; Megrant, Anthony; O'Malley, Peter; Sank, Daniel; Vainsencher, Amit; Wenner, James; White, Ted; Yin, Yi; Cleland, Andrew N.; Martinis, John M. (2012). "Computing prime factors with a Josephson phase qubit quantum processor". Nature Physics. 8 (10): 719. arXiv:1202.5707. Bibcode:2012NatPh...8..719L. doi:10.1038/nphys2385. S2CID 44055700.
  15. ^ Martín-López, Enrique; Martín-López, Enrique; Laing, Anthony; Lawson, Thomas; Alvarez, Roberto; Zhou, Xiao-Qi; O'Brien, Jeremy L. (12 October 2012). "Experimental realization of Shor's quantum factoring algorithm using qubit recycling". Nature Photonics. 6 (11): 773–776. arXiv:1111.4147. Bibcode:2012NaPho...6..773M. doi:10.1038/nphoton.2012.259. S2CID 46546101.
  16. ^ Amico, Mirko; Saleem, Zain H.; Kumph, Muir (2019-07-08). "An Experimental Study of Shor's Factoring Algorithm on IBM Q". Physical Review A. 100 (1): 012305. arXiv:1903.00768. doi:10.1103/PhysRevA.100.012305. ISSN 2469-9926. S2CID 92987546.
  17. ^ Karamlou, Amir H.; Simon, William A.; Katabarwa, Amara; Scholten, Travis L.; Peropadre, Borja; Cao, Yudong (2021-10-28). "Analyzing the performance of variational quantum factoring on a superconducting quantum processor". npj Quantum Information. 7 (1): 156. arXiv:2012.07825. Bibcode:2021npjQI...7..156K. doi:10.1038/s41534-021-00478-z. ISSN 2056-6387. S2CID 229156747.
  18. ^ "Quantum computing motte-and-baileys". Shtetl-Optimized. 2019-12-28. Retrieved 2021-11-15.
  19. ^ Bernstein, Daniel (1998). "Detecting perfect powers in essentially linear time". Mathematics of Computation. 67 (223): 1253–1283. doi:10.1090/S0025-5718-98-00952-1. ISSN 0025-5718.
  20. ^ 예를 들어, N N}의 첫 번째 ⁡(N) 2}(N)}를 계산하고, 각 정수 결과원시성을 확인합니다(AKS primality test).
  21. ^ Ekerå, Martin (2021). "On completely factoring any integer efficiently in a single run of an order-finding algorithm". Quantum Information Processing. 20 (6) 205: 1–14. arXiv:2007.10044. Bibcode:2021QuIP...20..205E. doi:10.1007/s11128-021-03069-1. ISSN 1570-0755.
  22. ^ Kitaev, A. Yu (1995-11-20). "Quantum measurements and the Abelian Stabilizer Problem". arXiv:quant-ph/9511026.
  23. ^ Markov, Igor L.; Saeedi, Mehdi (2012). "Constant-Optimized Quantum Circuits for Modular Multiplication and Exponentiation". Quantum Information and Computation. 12 (5–6): 361–394. arXiv:1202.6614. Bibcode:2012arXiv1202.6614M. doi:10.26421/QIC12.5-6-1. S2CID 16595181.
  24. ^ Markov, Igor L.; Saeedi, Mehdi (2013). "Faster Quantum Number Factoring via Circuit Synthesis". Phys. Rev. A. 87 (1): 012310. arXiv:1301.3210. Bibcode:2013PhRvA..87a2310M. doi:10.1103/PhysRevA.87.012310. S2CID 2246117.
  25. ^ Bernstein, Daniel J.; Heninger, Nadia; Lou, Paul; Valenta, Luke (2017). "Post-quantum RSA" (PDF). Post-Quantum Cryptography. Lecture Notes in Computer Science. Vol. 10346. pp. 311–329. doi:10.1007/978-3-319-59879-6_18. ISBN 978-3-319-59878-9. Archived (PDF) from the original on 2017-04-20.

더보기

외부 링크