64비트, 128비트라는 말은 컴퓨터가 한 번에 다루기 편한 데이터 크기와 메모리 주소 범위를 말한다.

쉽게 말해서 64비트나 128비트라는 말은 컴퓨터가 한 번에 들 수 있는 무게 같은 거다. 근육 크기라고 생각하면 된다. 근육이 크면 한 번에 더 무거운 걸 들 수는 있지만, 그 사람이 갑자기 똑똑해지는 건 아니다. 컴퓨터도 마찬가지다. 64비트 컴퓨터라는 건 한 번에 다루기 편한 숫자 크기와 메모리 주소 범위가 64비트라는 뜻이지 문제를 푸는 능력이 더 똑똑하다는 의미는 아니다.

RSA 같은 암호에서 쓰는 숫자는 2048비트, 4096비트처럼 이미 CPU 비트 수를 훨씬 넘는다. 그래서 64비트 CPU도 이 큰 숫자를 여러 조각으로 나눠 계산하고 128비트 CPU가 나와도 똑같이 나눠서 계산할 뿐이다.

암호를 푸는 데 시간이 오래 걸리는 이유는 연산 단위가 작아서가 아니라, 소수 분해라는 문제 자체가 계산량이 폭발적으로 늘어나는 구조이기 때문이다. 비트 수를 두 배로 늘린다고 해서 수십억 년 걸릴 계산이 갑자기 며칠로 줄어들지 않는다.

만약 정말로 암호를 쉽게 풀고 싶다면 비트 수를 키우는 게 아니라 알고리즘이 바뀌어야 한다. 양자컴퓨터가 주목받는 이유도 CPU 비트 폭이 커서가 아니라 전혀 다른 계산 방식을 쓰기 때문이다.

그래서 128비트 컴퓨터가 나와도 지금 암호는 그대로 안전하다. 64비트 컴퓨터 시대에 머물러 있는 이유와 소수 계산이나 암호 해독이 어려운 이유는 64비트의 의미부터 정리해야 한다.

64비트 컴퓨터라는 말은 CPU가 한 번에 다룰 수 있는 주소 공간과 정수의 기본 크기가 64비트라는 뜻이다. 이건 메모리를 얼마나 많이 쓸 수 있느냐, 한 번에 처리할 수 있는 데이터 덩어리가 얼마나 크냐의 문제다. 일반 PC에서 32비트에서 64비트로 넘어온 이유도 4GB 메모리 한계를 넘기기 위해서였다. 여기까지는 하드웨어 구조의 이야기다.

암호와 소수 문제는 완전히 다른 층위에 있다. RSA 같은 공개키 암호는 64비트, 128비트 같은 CPU 단위 연산으로 계산되지 않는다. 2048비트, 4096비트짜리 정수를 잘게 쪼개 수백, 수천 번의 연산을 반복하는 방식으로 처리된다.

즉 CPU가 64비트든 128비트든, 큰 수 연산은 어차피 여러 번 나눠서 계산해야 한다. 그래서 CPU 비트 수를 키운다고 암호 해독이 갑자기 쉬워지지 않는다.

그렇다면 왜 128비트, 256비트 CPU로 안 가느냐 하면, 실익이 거의 없기 때문이다. 주소 공간은 이미 64비트로 사실상 무한에 가깝고, 성능 향상은 비트 수 확대보다 병렬 처리, 캐시 구조, 전력 효율에서 나온다. 암호 계산 역시 단일 코어 비트 폭보다 알고리즘과 병렬화가 훨씬 중요하다.

그래서 암호를 쉽게 풀려면 컴퓨터의 비트 수를 키우는 게 아니라 계산 방법 자체가 완전히 바뀌어야 한다. 양자컴퓨터가 주목받는 이유도 비트가 커서가 아니라, 전혀 다른 방식으로 계산하기 때문이다. 결국 우리가 아직 64비트 컴퓨터를 쓰는 건 암호를 못 풀어서가 아니라, 그 이상으로 키워도 얻는 이득이 거의 없기 때문이다. 암호가 안전한 이유는 컴퓨터가 64비트라서가 아니라 수학 문제가 원래부터 너무 어려워서라고 이해하면 되겠다.