본문으로 건너뛰기

타원 곡선 암호

강한 자물쇠를 만들수록 열쇠가 길어지는 것이 보통입니다. 열쇠를 짧게 줄이면 약해질 것 같지만, 타원 곡선 암호는 상대적으로 짧은 열쇠로도 강한 보안을 만들어 내는 수학 기술입니다. 비트코인의 열쇠 체계도 이 원리 위에 서 있습니다.

비트코인에 필요한 열쇠​

은행에서는 창구 직원이나 카드사의 서버가 신분을 확인해 줍니다. 비트코인에는 그런 중앙의 확인 기관이 없습니다. 비트코인 거래를 승인할 권한이 있다는 사실은 열쇠를 통해 스스로 검증해야 합니다.

이 열쇠에는 두 가지 조건이 필요합니다.

  • 다른 사람이 흉내 낼 수 없을 만큼 강해야 합니다.
  • 네트워크에서 다루기 쉽도록 가벼워야 합니다.

열쇠가 책 한 권 분량이라면 여러 컴퓨터가 거래를 전달하고 확인할 때 네트워크가 부담을 받습니다. 강하면서도 짧은 열쇠가 필요한 이유입니다.

특별한 당구대의 비유​

특별한 당구대를 상상해 보겠습니다. 공을 정해진 출발점에 놓고, 모두가 아는 규칙에 따라 쿠션에 튕깁니다. 공을 한 번, 두 번, 세 번 움직이면 매번 새로운 자리로 옮겨 갑니다.

이제 공을 몰래 아주 많이 튕긴 뒤 마지막에 멈춘 자리만 보여 준다고 해 보겠습니다. 규칙과 최종 위치를 알아도 공을 몇 번 튕겼는지 거꾸로 알아내기는 어렵습니다. 다만 ‘수십만 번’처럼 작은 범위라면 순서대로 대조할 수 있으므로, 이 비유의 횟수 자체가 암호학적 안전성을 뜻하는 것은 아닙니다.

여기서 비밀로 간직한 튕김 횟수가 개인키이고, 공이 멈춘 최종 위치가 공개키입니다. 앞으로 계산하는 것은 쉽지만, 결과만 보고 과정을 되짚는 것은 매우 어려운 한 방향 성질이 핵심입니다.

비유와 실제 수학​

실제 타원 곡선 암호에서도 비슷한 구조가 나타납니다.

  • 당구대는 수학의 곡선에 해당합니다.
  • 당구공은 곡선 위에 놓인 점에 해당합니다.
  • 쿠션에 튕기는 규칙은 점을 옮기는 정해진 계산에 해당합니다.
  • 튕긴 횟수는 그 계산을 반복한 횟수이며 개인키에 해당합니다.
  • 계산을 반복한 뒤 도착한 점은 공개키에 해당합니다.

개인키는 상상하기 어려울 만큼 큰 숫자입니다. 비트코인의 개인키 후보 수는 대략 2²⁵⁶ 규모입니다. 남의 개인키를 무작위로 맞히는 일은 현실적으로 기대하기 어렵다는 뜻입니다.

개인키에 해당하는 횟수만큼 계산한다는 설명은 수학적 의미를 나타내는 비유입니다. 실제 공개키 계산은 점 덧셈을 처음부터 하나씩 반복하는 대신, 두 배 연산 등을 활용하는 효율적인 스칼라 곱 알고리즘으로 단축해 수행합니다. 그래서 개인키에서 공개키를 만드는 계산은 현실적인 시간 안에 끝낼 수 있습니다.

반대로 공개키만 보고 개인키를 알아내는 계산은 지금까지 알려진 방법으로 현실적인 시간 안에 끝나지 않는 것으로 설명됩니다.

거래 승인을 검증하는 데 쓰이는 방식​

비트코인에서 돈을 사용할 때는 개인키를 공개하지 않고도 그 키에 의한 거래 승인을 검증해야 합니다. 타원 곡선의 한 방향 성질은 이러한 서명을 만드는 수학적 바탕이 됩니다.

개인키는 감춰 둔 채 서명을 만들고, 공개키를 이용해 다른 사람들이 그 서명이 유효한지 확인합니다. 따라서 개인키 자체를 네트워크에 보여 주지 않고도 해당 개인키에 의한 거래 승인을 검증할 수 있습니다. 다만 개인키를 탈취한 사람도 유효한 서명을 만들 수 있으므로, 서명 검증만으로 실제 소유자를 구별하거나 보증할 수는 없습니다. 공개키 암호화와 개인키도 함께 참고할 수 있습니다.

짧은 열쇠가 주는 효율​

암호 방식에 따라 같은 수준의 강도를 얻는 데 필요한 열쇠 길이는 다릅니다. NIST SP 800-57 Part 1 Rev. 5(2020년)의 표 2는 RSA 3072비트와 타원 곡선 암호(ECC) 256~383비트를 같은 128비트 보안 강도 범주로 분류합니다. ECC 256비트와 RSA 3072비트를 비교하면 열쇠 길이는 12배 차이 나지만, 처리 속도나 안전성이 12배라는 뜻은 아닙니다. 이 비교는 양자 컴퓨터의 공격에 대한 내성을 뜻하지도 않습니다.

열쇠와 서명이 작으면 여러 컴퓨터가 거래를 확인하는 네트워크에서 전달하고 저장해야 하는 데이터도 줄어듭니다. 짧고 가벼운 열쇠는 처리 속도와 데이터 부담 측면에서 이점이 있습니다. 타원 곡선 암호가 강도와 효율을 함께 고려하는 방식으로 선택되는 이유입니다.

양자 컴퓨터와 타원 곡선 서명​

영상은 마이크로소프트의 양자 칩 발표 소식이 알려진 뒤 비트코인이 털릴 수 있다는 걱정이 퍼졌다고 소개하며 시작합니다. 이 영상은 안토노풀로스의 강연을 정리해 양자 기술과 타원 곡선 서명의 관계를 설명합니다.

안토노풀로스는 양자 컴퓨팅의 문제를 있다 없다가 아니라 얼마나 많은 큐비트를 가졌느냐의 문제로 봅니다. 비트코인 등에 쓰이는 암호 알고리즘을 깨는 데 필요한 큐비트 수는 정보 기관이 보유했을 것으로 추정되는 수준을 훨씬 넘는다는 것이 그의 견해입니다. 강연에서 질문자는 미국 NSA를 예로 들었고, 그는 그런 능력을 가진 기관이 굳이 비트코인을 해킹할 이유는 크지 않다고 답합니다. 강력한 공격 수단은 정말 중요한 이유가 생기기 전에는 쓰지 않는다는 보안 원칙을 든 것입니다. 비트코인은 그런 기관에는 하찮은 대상이라는 것이 그의 설명입니다.

실제 위험이 커지는 시점은 양자 컴퓨팅이 상업적으로 널리 퍼지기 전 모두가 아직 쓸 수 없을 때의 과도기라고 그는 짚습니다. 이 시기에 비트코인은 서명 알고리즘을 업그레이드해야 합니다. 개인키로 거래에 서명하는 서명 장치는 키를 쓸 수 있으면 새로운 알고리즘의 주소로 자금을 옮길 수 있지만, 키를 잃어 자금을 옮길 수 없는 주소는 스스로 대응하지 못합니다. 그래서 사토시의 초기 채굴 코인이 움직이기 시작하는 순간이 양자 컴퓨터가 임계점에 이르렀는지 알려 주는 신호가 될 수 있다고 그는 설명합니다. 물론 그것이 코인이 움직이는 유일한 이유는 아닙니다. 사토시가 정확히 100만 비트코인을 가졌는지도 누구도 확신할 수 없는 추정치라고 그는 덧붙입니다.

안토노풀로스는 비트코인이 디지털 서명 알고리즘과 해싱 알고리즘 두 가지를 함께 쓴다고 설명합니다. 이어지는 그의 설명에 따르면, 양자 컴퓨팅의 공격은 먼저 디지털 서명 알고리즘을 타격할 가능성이 크고, 해싱은 서명과 다른 방식으로 작동해 전혀 다른 접근이 필요할 수 있습니다.

주소 형태도 그가 구분합니다. 공개키를 그대로 내보내는 pay-to-public-key 방식은 서명 알고리즘이 해독되는 순간 공개키가 전체장부에 드러나 그대로 노출되고, 공개키를 해시로 감싸는 pay-to-public-key-hash 방식은 해싱이 깨지지 않는 한 비교적 안전하다고 그는 설명합니다. 사토시가 초기에 채굴한 코인은 공개키를 그대로 드러내는 방식을 썼고, 현재까지 알려진 바로는 한 번도 사용하지 않았다는 것이 그의 설명입니다. 같은 주소를 여러 번 쓰는 것도 위험하므로 주소를 한 번만 쓰고 사용한 뒤 자금을 옮기는 것이 그가 말하는 최선의 보안 관행입니다. 따라서 양자 컴퓨터의 위협은 비트코인 전체가 아니라 이런 습관을 지키지 않은 일부 보유에 국한된다고 그는 봅니다.

마지막으로 안토노풀로스는 해싱 알고리즘까지 깨지면 주소를 공개키로 되돌리는 것이 가능해질 수 있고, 그 단계에서는 기존 보안 방식을 완전히 바꿔야 한다고 설명합니다. 그래서 위협이 본격화하기 전에 비트코인은 양자 내성 디지털 서명 알고리즘으로 전환해야 한다고 그는 말합니다. 다만 강연 당시 그의 판단으로는 가까운 미래에 당장 닥치는 문제는 아니었습니다.

이름과 안전성에 관한 오해​

타원 곡선이라는 이름 때문에 달걀처럼 생긴 도형 위에서 계산한다고 생각할 수 있습니다. 실제 곡선은 타원과 전혀 다르게 생겼습니다. 이름은 옛 수학자들이 타원의 둘레를 재는 문제를 풀다가 이 곡선을 만나면서 굳어진 것으로 설명됩니다.

또 열쇠가 짧으면 약할 것이라고 생각하기 쉽지만, 자물쇠의 강도는 열쇠 길이만으로 결정되지 않습니다. 공개된 결과에서 비밀을 거꾸로 계산하기가 얼마나 어려운지가 중요한 기준입니다.

타원 곡선 암호에서 말하는 보안은 내용을 숨기는 암호화와 같은 의미도 아닙니다. 비트코인에서는 이 수학을 열쇠를 만들고 개인키에 의한 거래 승인을 검증하는 데 사용하며, 장부와 거래 내역 자체는 공개된 상태로 남습니다.

타원 곡선 암호를 한 문장으로 정리하면, 개인키에 해당하는 비밀 정보를 이용해 공개키를 효율적으로 만들 수 있지만 공개키만으로 그 비밀을 되짚기는 매우 어렵게 하여, 개인키를 공개하지 않고도 해당 키에 의한 거래 승인을 검증하게 하는 기술입니다. 다만 개인키가 탈취되면 탈취한 사람도 유효한 승인을 만들 수 있습니다.

영상​

원본 영상: 양자기술이 발달하면 비트코인은 모두 털릴까? (feat. 안드레아스) (공개일: 2025-02-27)

링크 복사하기X에 공유페이스북에 공유쓰레드에 공유