본문 바로가기
자동차 사이버보안/사이버보안의 다양한 개념

양자 컴퓨팅의 비밀: 쇼어 알고리즘을 알아봅시다

by HYS Blog 2023. 5. 14.
쇼어 알고리즘 아키텍처

양자 컴퓨팅의 비밀, 쇼어 알고리즘을 알아봅시다!

🌐 양자 컴퓨팅에 대한 관심이 급속도로 증가하고 있습니다.
 
그 중심에는 '쇼어 알고리즘(Shor's Algorithm)'이라는 흥미로운 개념이 있습니다.
 
이 포스트에서는 양자 컴퓨팅과 쇼어 알고리즘에 대해 알아보고,
 
이것이 우리의 세상에 어떤 영향을 미치는지 함께 살펴보겠습니다.🌟
 
제가 참조한 글 링크는 아래와 같습니다!
 

Quantum Cryptography - Shor's Algorithm Explained

"Applications" post in a series of articles about quantum computing software and hardware, quantum computing industry news, qc hardware/software integration and more

www.classiq.io

 

쇼어 알고리즘이란 무엇인가요? 

🔬 쇼어 알고리즘이란, 양자 컴퓨팅에서 중요한 역할을 하는 알고리즘이며,
 
이 알고리즘은 '수를 소인수 분해하는 데' 매우 효과적입니다.
 
특히, 양자 컴퓨터가 고전 컴퓨터보다 소인수 분해를 더 빠르게 할 수 있는 알고리즘이 바로 쇼어 알고리즘입니다.😉
 

 쇼어 알고리즘은 어떻게 작동하나요?

 
💡 쇼어 알고리즘은 특정 수를 소인수 분해하기 위해 무작위로 선택된 정수를 사용합니다.
 
양자 컴퓨터의 역할은 이 숫자의 '주기'를 찾는 것입니다.
 
이 계산 결과는 새로운 무작위 정수를 테스트할 필요가 있는지,
 
또는 찾고 있던 요소가 발견되었는지를 결정합니다.
 
즉, 목표 정수가 소인수 분해되면 쇼어 알고리즘의 역할이 끝나게 됩니다.
 

쇼어 알고즘의 간단한 예시(EX: 15의 소인수 분해)

 
5를 소인수 분해하려고 합니다. 
 
이것은 훨씬 복잡한 숫자를 분해하는 것보다 간단하지만, 쇼
 
어 알고리즘의 원리를 이해하는 데 도움이 됩니다.
 

1단계: 임의의 숫자 선택

먼저, 15보다 작은 임의의 숫자를 선택합니다.
 
 이 숫자는 15와 서로소여야 합니다. 서로소라는 것은 두 수의 최대 공약수가 1이라는 것을 의미합니다. 
 
예를 들어, 4를 선택하겠습니다.
 

2단계: 주기 찾기 

다음으로, 선택한 숫자의 거듭제곱을 15로 나눈 나머지가 주기적으로 반복되는지 확인합니다.
 

4^1 mod 15 = 4
 
4^2 mod 15 = 1
 
4^3 mod 15 = 4
 
4^4 mod 15 = 1

 
그리고 이런 식으로 계속하면, 여기서 주기는 2임을 알 수 있습니다.
 

3단계: 나머지 정리를 이용한 소인수 찾기

이제 나머지 정리를 이용하여 소인수를 찾을 수 있습니다. 
 
주기의 절반을 x라 하고, 
 
이를 이용하여 다음과 같이 계산합니다:
 

gcd(4^1 - 1, 15) = gcd(3, 15) = 3
 
gcd(4^1 + 1, 15) = gcd(5, 15) = 5

 
이렇게 해서 15의 소인수인 3과 5를 찾을 수 있습니다.
 
 

쇼어 알고리즘이 어떻게 구현되나요? 🛠

 
쇼어 알고리즘의 구현은 꽤 복잡한 과정입니다.
 
이 알고리즘은 고전적 컴퓨팅, 양자 컴퓨팅, 그리고 다시 고전적 컴퓨팅을 사용하는 세 가지 주요 구성 요소를 가지고 있습니다.
 
가장 중요한 양자 부분은 양자 상태 추정(QPE)과
 
역 양자 푸리에 변환(iQFT) 두 가지 하위 요소를 포함합니다.
 
QPE는 분해하려는 숫자의 주기를 찾기 위해 필요한 모듈러 산술을 수행합니다.
 
이는 쇼어 알고리즘의 분해 능력이 어디에서 나오는지를 보여줍니다.
 
iQFT는 이전에 진행된 모듈러 산술의 양자 결과를 측정을 통해 고전적 정보로 변환합니다.
 

 쇼어 알고리즘에 필요한 큐비트 수는? 💻 

 
쇼어 알고리즘에 필요한 큐비트 수는 분해하려는 숫자의 크기에 의존합니다.
 
큐비트의 수는 분해하려는 수의 비트 길이의 두 배 이상이어야 합니다.
 
예를 들어, 15를 분해하려면 최소한 8개의 큐비트가 필요하며, 이는 15의 이진 표현이 4비트를 사용하기 때문입니다.
 
하지만 이것은 단순히 분해를 수행하는데 필요한 큐비트 수를 나타낼 뿐입니다.
 
실제로는 에러 정정과 다른 고급 기능을 위해 더 많은 큐비트가 필요할 수 있습니다.
 
더불어, 현재의 상업적으로 사용 가능한 양자 컴퓨터는 아직 이러한 복잡한 작업을 수행하는 데에 충분한 큐비트를 가지고 있지 않습니다.
 

쇼어 알고리즘이 암호학에 미치는 영향은? 🔓 

 
현대의 인터넷 보안은 대부분 RSA 암호화에 의존하고 있습니다.
 
RSA 암호화의 보안성은 큰 소수의 곱을 분해하는 것이 어렵다는 사실에 기반합니다.
 
하지만 쇼어 알고리즘은 이 과정을 훨씬 빠르게 수행할 수 있으므로,
 
기존의 RSA 기반 보안 시스템에 큰 위협을 가하게 됩니다.
 
이로 인해 양자 컴퓨터가 상용화되면서, 양자 암호학에 대한 연구가 증가하고 있습니다.
 
양자 암호학은 양자 컴퓨터에 의해 해독될 수 없는 새로운 암호 시스템을 만드는 것을 목표로 하고 있습니다.
 
이러한 새로운 암호 시스템은 "양자 내성"이라는 용어로 알려져 있습니다.
 

마무리 📝

 

양자 컴퓨팅은 여전히 초기 단계에 있지만, 쇼어 알고리즘은 그 잠재력을 보여주는 중요한 예시입니다.
 
이 알고리즘을 통해 양자 컴퓨터가 현재의 컴퓨터보다 훨씬 빠르게 문제를 해결할 수 있는 가능성을 엿볼 수 있습니다.
 
이것은 컴퓨터 과학, 암호학, 그리고 더 넓은 의미에서의 기술과 사회에 큰 영향을 미칠 것입니다.
 
양자 컴퓨팅의 세계는 복잡하고 도전적일 수 있지만,
 
그것은 또한 굉장히 흥미롭고, 그 잠재력은 엄청납니다.
 
이 글을 통해 양자 컴퓨팅은 머지않아 실현될 것 이며, 양자 컴퓨팅에 대비하는 자세를 가져야합니다.