김보안의 블로깅
  • 🏠 Home
  • 📚 Project
    • Blockchain
      • 🎦 PickMe
      • 🎦 IoTC
      • 🎦 Blackchain
      • 📃 Gemology
      • 🎦 PickMe
      • 🎦 PickMe
    • AI
      • 👋 A.I. Dream Reader
      • 🎦 A.I. Dream Reader
    • Security
      • 🎦 SNAC
    • Education
      • 🎦 Smart Lecture
  • 🤸‍♂ Hobby
    • Music
      • Violin
      • Guitar
      • Piano
      • Drum
    • Flower
      • Flower Certificate
    • Sport
      • Ski
      • Skateboard
      • Golf
      • Boxing

2026년 2월 23일 월요일

양자컴퓨터와 보안 위협 (쇼어 알고리즘)

 SecureKim     PM 6:06     Quantum Computing, Security     No comments   

양자컴퓨터

기존 컴퓨터는 트랜지스터로 이루어져 있고 

전기가 흐르냐 안흐르냐에 따라 0과 1로 데이터를 다룬다.

그런데 기술의 발전으로 트랜지스터가 점점 작아지고 나노미터단위가 되면서 

양자 영역으로 진입하게 되었고, (원자 한개가 0.1 나노미터) 

트랜지스터의 채널과 절연막의 두께가 전자의 파동이 미치는 범위만큼 얇아지면서

전자가 벽을 뚫고 지나가는 현상이 발생하기 시작했다. 

(양자역학으로 인해 전자가 존재할 확률이 절연체 너머에서도 나타남)

따라서 스위치를 꺼도 전류가 흐르는 '누설 전류'가 발생하면서

스위치로서의 기능을 상실하기 시작하는데...


공상과학 소설에 등장하는 이야기 같지만, 양자 컴퓨터란 이렇게 

미시세계에서의 양자역학적 현상을 이용한 컴퓨터를 설계 및 계산하는 것이고, 

따라서 양자역학적 현상이 있는 원자, 빛, 스핀, 초전도체 등 

다양한 것을 활용해서 만들 수 있다


양자 컴퓨터의 핵심은, 

1. 양자에 자기장을 걸어서 상태를 변경 시키는 방식으로 전통적인 트랜지스터처럼 NOT, CNOT 같은 논리 게이트를 만든다 

2. 원하는 결과가 나올 때까지 이리저리 자기장을 준다.

3. 결과가 나온 뒤에 양자들을 관측하면 중첩이 풀리면서 중간 과정을 알 수 있다.


보통 미로를 예시로 든다. 

기존에는 손오공 한명이 길을 다 가보고 결과를 알았다면

양자컴퓨터는 손오공 한명이 분신술을 써서 동시에 계속 길을 찾고

막다른 길로 간 분신들은 서로 상쇄되어 사라지고, 

출구로 간 분신들만 서로 합쳐져서(간섭) 정답일 확률이 극대화된다.


실제로는 이것을 양자 푸리에 변환으로 풀게 된다.



이 수식에서 가장 중요한 부분은 자연상수 e가 허수 i를 지수로 가지고 있어서 

회전을 나타낸다는 점이다.

(e는 변화율이 자기 자신의 크기에 비례하는 자연계의 현상에서 비롯한 자연상수로, 

미분하면 자기 자신이 나와서 내 크기가 곧 내가 변하는 속도라는 의미를 가진다)

 

데이터를 일정한 각도로 계속 회전 시키다 보면 원래 위치로 돌아오는 '주기'가 생기고,

이 회전의 빈도를 측정하여 숫자의 소인수 분해나 복잡한 패턴을 쉽게 찾아낼 수 있다.


고전적인 이산 푸리에 변환은 

$$O(N^2)$$ 의 계산량이 필요하지만, 

양자 회로에서는 이 '회전 게이트(Rotation Gate)'들을 중첩된 상태에 동시에 적용함으로써 

$$O((\log N)^2)$$ 

이라는 압도적인 속도 향상을 보인다.


컴퓨터가 하나씩 대조해가면서 정답을 찾는다면, 

양자 컴퓨터는 데이터를 파동으로 바꾸어 그 간섭 현상을 이용해 정답을 뽑아내는 것이다.

그리고 정답을 뽑아낸 뒤 관측하면 그 계산이 어떻게 이루어졌는지 알 수 있다.


보안 위협 (쇼어 알고리즘)


양자컴퓨터는 중첩 상태에 있는 큐비트를 제어해서 답이 나올 확률을 높이는 방식을 사용한다. 

즉 간단한 사칙연산을 예로 들면, 

10+20을 계산하면 30이 나올 확률이 95%, 29가 나올 확률이 5% 

이렇게 계산 결과가 확률로 나온다.


그럼 양자컴퓨터를 왜 쓸까? 이제 왜 쓰는지 그 특별한 이유를 알아보자.


비대칭키 암호화 중 RSA는 큰 수의 소인수 분해가 어렵다는 수학적 난제를 이용하는데,

두 소수의 곱으로 이루어진 큰 수 N만 아는 상태라면,

N을 만들 때 곱셈에 사용된 두 소수의 값을 알 수 없다는 점을 이용한다.

 
하지만 쇼어 알고리즘은 양자컴퓨터가 잘 풀 수 있는 형태로 이 문제를 변환한다.


1. 1보다 크고 N보다 작은 작은 정수 a를 임의로 선택

2. gcd (N,A)가 1이 아니면 gcd (N, a)가 N의 소인수이다
1이라면, 함수 

$$f(x) = a^x (mod N)$$

의 주기 r을 찾는다.

3. r이 홀수이면 1번부터 다시 시작하고, r이 짝수이면 다음과 같은 gcd1, gcd2 를 구한다.

$$ gcd_1 = gcd(N, a^{r/2} +1) $$ 
$$ gcd_2 = gcd(N, a^{r/2} -1) $$

4. gcd1, gcd2 이 1과 N이라면 처음부터 다시 시작하고, 아니라면 gcd1, gcd2 가 N의 소인수이다.

어려워 보이지만, 예를 들어 35를 소인수 분해 해보면, 

1. a를 4로 무작위로 잡는다.

2. gcd(35,4) = 1 이므로, 주기 r을 찾는다.
 
$$ 4^1 \equiv 4 (mod35) $$ $$ 4^2 \equiv 16 (mod35) $$
$$ 4^3 \equiv 64 \equiv 29 (mod35) $$
$$ 4^4 \equiv 29*4 = 116 \equiv 11 (mod35) $$
$$ 4^5 \equiv 44 \equiv 9 (mod35) $$
$$ 4^6 \equiv 36 \equiv 1 (mod35) $$
$$ 4^7 \equiv 4 (mod35) $$

3. 6번 만에 주기를 찾았으므로, r=6. 그리고 r이 짝수이므로, 
$$ gcd_1 = gcd(35, 4^{6/2} +1) = 5 $$
$$ gcd_2 = gcd(35, 4^{6/2} -1) = 7 $$

4. 35의 소인수는 5, 7이다.


그래서 원래 소인수 분해 문제는 소수를 하나씩 다 대입해보는 문제이고, 

이 주기를 찾는것도 원래는 하나씩 다 해봐야 한다.

즉, N이 35라면 34는 100010이므로,

일반 컴퓨터라면 6개의 비트를 사용해서 최대 2의 6승에 해당하는 

계산을 수행 해야 한다.

하지만 양자 컴퓨터로는 6개의 큐비트를 중첩해서 

$$a^x \equiv 1 (mod35) $$ 가 되도록 하는 x를 타겟해서 쉽게 찾을 수 있는 것이다.

즉, 문제가 주기를 찾는 깔끔한 문제로 떨어지기 때문에,

양자 컴퓨터는 이 문제를 매우 쉽게 해결 하는 것이 가능하다.

그런데 알다시피 거의 모든 암호학에서 RSA, DH, 타원곡선류 문제를 사용하고 있는데, 

소인수분해 문제 뿐만 아니라 이산대수나 타원곡선 문제도 쇼어알고리즘으로

주기를 찾는 문제로 변환할 수 있어서 

현재 금융을 포함한 모든 보안이 양자 컴퓨터에 위험한 상태이다.


다음 시간에는 이 위험한 보안 문제를 어떻게 해결 할 수 있을지 확인 해 보자.






Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg
최근 게시물 이전 게시물 홈

페이지

  • 홈
  • Hobby

Categories

  • AI
  • AWS
  • Blockchain
  • Hardware
  • Javascript
  • Node.js
  • Plasma
  • Security
  • Study
  • Video
  • android
  • mysql
  • review
  • windows

Popular Posts

  • 회사 프록시와 인증서에 고통받는 그대를 위한 글 (Bash, Gradle, Python, wget, nodejs(npm), apt-get, cURL, git, yarn, androidStudio)
    대기업에 입사하면 장단점이 있는데, 단점 중에 하나가 회사에서 프록시를 사용하여 트래픽 감시를 하므로 프록시 설정을 해주어야 한다는 점 입니다. 특히, 회사에서는 https 트래픽도 감시를 하므로 인증서도 설정해 주어야 합니다. 그런데 문...
  • 다빈치리졸브로 영상의 음성 보정 (잡음 노이즈 없애기)
      잡음 없애는 방법 1. 음악 쪽 들어가서 음악에서 소스 우클릭 - Normalize Audio Levels 2. 우측의 Mixer에서 Dynamics 더블클릭, Effects아래 +누르고 Metering에 Meter 그럼 아래처럼 나오는데  Gat...
  • 블랙보드 강의 녹화 영상 다운로드 가능한 방법 (노설치)
    별도의 설치도 필요 없고 아주 쉽습니다. 구글 크롬브라우저 에서 블랙보드 녹화 영상에  다운로드 가능한 메뉴가 나오게 하는 코드입니다.  먼저 블랙보드 강의자료에 입장하고, 재생 버튼을 클릭 하지 않은 상태로 F12 를 입력합니다. 재생을 클릭하지 마...

Blog Archive

  • ▼  2026 (1)
    • ▼  2월 (1)
      • 양자컴퓨터와 보안 위협 (쇼어 알고리즘)
  • ►  2025 (3)
    • ►  9월 (1)
    • ►  8월 (1)
    • ►  7월 (1)
  • ►  2024 (2)
    • ►  11월 (2)
  • ►  2023 (2)
    • ►  10월 (1)
    • ►  1월 (1)
  • ►  2022 (10)
    • ►  12월 (1)
    • ►  11월 (3)
    • ►  9월 (1)
    • ►  8월 (1)
    • ►  6월 (2)
    • ►  3월 (2)
  • ►  2021 (9)
    • ►  12월 (3)
    • ►  11월 (1)
    • ►  6월 (1)
    • ►  5월 (2)
    • ►  4월 (2)
  • ►  2020 (12)
    • ►  10월 (1)
    • ►  9월 (2)
    • ►  7월 (1)
    • ►  6월 (1)
    • ►  5월 (5)
    • ►  4월 (1)
    • ►  2월 (1)
  • ►  2019 (14)
    • ►  10월 (2)
    • ►  7월 (1)
    • ►  3월 (4)
    • ►  2월 (2)
    • ►  1월 (5)
  • ►  2018 (14)
    • ►  12월 (2)
    • ►  11월 (4)
    • ►  10월 (1)
    • ►  8월 (2)
    • ►  5월 (4)
    • ►  1월 (1)
  • ►  2017 (12)
    • ►  10월 (2)
    • ►  9월 (9)
    • ►  5월 (1)
  • ►  2016 (8)
    • ►  10월 (2)
    • ►  8월 (1)
    • ►  6월 (1)
    • ►  1월 (4)
  • ►  2015 (6)
    • ►  12월 (3)
    • ►  10월 (1)
    • ►  6월 (1)
    • ►  5월 (1)
  • ►  2014 (10)
    • ►  11월 (1)
    • ►  9월 (1)
    • ►  7월 (1)
    • ►  6월 (1)
    • ►  5월 (3)
    • ►  4월 (1)
    • ►  3월 (2)
  • ►  2013 (28)
    • ►  12월 (3)
    • ►  11월 (6)
    • ►  10월 (6)
    • ►  9월 (6)
    • ►  8월 (1)
    • ►  7월 (3)
    • ►  6월 (3)

구독

글
Atom
글
전체 댓글
Atom
전체 댓글

로드 중입니다...

각오

직접 해보지 않은 것은 포스팅 하지 않겠습니다.

Copyright © 김보안의 블로깅 | Powered by Blogger
Design by Hardeep Asrani | Blogger Theme by NewBloggerThemes.com | Distributed By Gooyaabi Templates