이 계산기는 무엇을 하나요
비밀번호 해독 시간 계산기는 공격자가 가능한 모든 조합을 하나씩 시도하는 무차별 대입(brute force) 방식으로 비밀번호를 뚫는 데 걸리는 시간을 예측합니다. 계산은 전적으로 키 공간(keyspace)의 크기와 공격자의 시도 속도에만 기반하므로, 비밀번호를 더 길고 복잡하게 만들었을 때 실제로 얼마나 더 안전해지는지 한눈에 파악할 수 있습니다.
사용 방법
비밀번호 길이(문자 수)를 입력하고, 비밀번호에 사용한 문자 종류를 선택한 다음, 공격자의 초당 시도 횟수를 설정하세요. 최신 GPU 장비는 빠른 해시 기준으로 초당 약 10억(1,000,000,000)회 정도를 시도할 수 있으므로, 이 값을 기본값으로 두면 적당합니다. 결과에는 전체 키 공간을 모두 시도하는 최악의 경우 소요 시간이 초·시간·일·년 단위로 표시됩니다.
공식 풀이
가능한 비밀번호의 총 개수는 문자 종류의 크기를 길이만큼 거듭제곱한 값입니다: \(C = N^{L}\). 이를 공격자의 초당 시도 횟수로 나누면 모든 조합을 시도하는 데 걸리는 시간이 나옵니다:
$$t = \frac{N^{L}}{G}$$문자 종류 크기 \(N\)은 더해서 계산합니다 — 소문자(26), 대문자(26), 숫자(10), 기호(32)를 모두 섞으면 \(N = 94\)가 됩니다.
예제로 살펴보기
소문자로만 이루어진 8자리 비밀번호(\(N = 26\), \(L = 8\))를 초당 10억 회를 시도하는 공격자에게 맡긴다고 해 봅시다. 조합 수 \(= 26^{8} = 208{,}827{,}064{,}576\). 해독 시간:
$$t = \frac{208{,}827{,}064{,}576}{1{,}000{,}000{,}000} \approx 208.83\ \text{초}$$즉 4분도 채 걸리지 않습니다. 여기에 대문자·숫자·기호를 추가하면(\(N = 94\)) 같은 길이라도 조합 수가 \(94^{8} \approx 6.1 \times 10^{15}\)로 늘어나, 약 70일이 필요해집니다.
자주 묻는 질문
이 결과가 정확한가요? 아닙니다. 순수한 무차별 대입의 이론적 최댓값일 뿐입니다. 실제 공격자는 사전(dictionary), 유출된 비밀번호 목록, 흔한 패턴 등을 활용하기 때문에, 짐작하기 쉬운 비밀번호는 이 예측치보다 훨씬 빨리 뚫립니다.
어떤 시도 속도를 입력해야 하나요? 사용된 해시에 따라 다릅니다. 빠른 해시(MD5, 솔트 미적용)는 초당 수십억 회까지 가능하지만, 느린 해시(bcrypt, Argon2)는 초당 수천 회 수준에 그칩니다. \(G\) 값이 작을수록 해독 시간은 훨씬 길어집니다.
강력한 비밀번호는 어떻게 만드나요? 복잡함보다 길이가 더 중요합니다. 문자를 하나 추가할 때마다 키 공간이 \(N\)배씩 늘어나므로, 긴 패스프레이즈가 짧고 복잡한 비밀번호보다 비교할 수 없을 만큼 뚫기 어렵습니다.