비밀번호 엔트로피란?
비밀번호 엔트로피는 비밀번호가 얼마나 예측하기 어려운지를 나타내는 척도로, 비트(bit) 단위로 표현합니다. 비트가 1씩 늘어날 때마다 공격자가 시도해야 하는 추측 횟수는 두 배로 늘어납니다. 엔트로피가 40비트인 비밀번호를 무차별 대입(brute-force)으로 뚫으려면 최대 \(2^{40}\)회(약 1조 번)의 시도가 필요하고, 80비트라면 그 강도는 천문학적으로 높아집니다. 엔트로피는 비밀번호 강도를 객관적으로 비교할 수 있는 가장 유용한 단일 지표입니다.
계산기 사용 방법
비밀번호 길이를 입력하고, 비밀번호에 사용된 문자 종류를 모두 체크하세요. 계산기는 각 문자 풀의 크기 — 소문자(26), 대문자(26), 숫자(10), 기호(32) — 를 더해 전체 문자 집합 크기 \(N\)을 구한 뒤 엔트로피를 계산합니다. 길이가 길수록, 그리고 문자 종류가 다양할수록 엔트로피가 높아지지만, 대개는 길이를 늘리는 쪽이 가장 큰 효과를 냅니다.
공식 풀이
표준 공식은 다음과 같습니다.
$$E = \text{Length} \times \log_{2}(N)$$여기서 \(L\)은 문자 개수, \(N\)은 문자 풀의 크기입니다. 각 자리마다 \(N\)개의 기호 중 무엇이든 독립적으로 들어갈 수 있으므로, 가능한 비밀번호의 총 개수는 \(N^{L}\)이 되고, 여기에 \(\log_{2}\)를 취하면 엔트로피 비트값이 나옵니다. 단, 이 계산은 완전히 무작위로 생성된 비밀번호를 전제로 합니다. 사전에 있는 단어나 예측 가능한 패턴을 쓰면 실제 유효 엔트로피는 공식이 보여주는 값보다 훨씬 낮아집니다.
계산 예시
소문자, 대문자, 숫자를 사용한 12자리 비밀번호를 예로 들어 보겠습니다. 문자 풀은 \(26 + 26 + 10 = 62\) 입니다. 엔트로피는 다음과 같습니다.
$$E = 12 \times \log_{2}(62) = 12 \times 5.954 \approx 71.45 \text{ 비트}$$이는 약 \(2^{71.45} \approx 3.2 \times 10^{21}\)가지 조합에 해당하며, 무차별 대입 공격에 대단히 강한 수준입니다.
자주 묻는 질문
몇 비트면 "강한" 비밀번호인가요? 대부분의 계정에는 60비트 이상이면 무난하고, 중요 계정이나 마스터 비밀번호에는 80비트 이상을 권장합니다.
사전 공격(dictionary attack)도 반영되나요? 아닙니다. 이 공식은 무작위 문자를 가정합니다. 실제 단어, 이름, 흔한 문자 치환 등은 진짜 엔트로피를 크게 떨어뜨리므로, 무작위 생성기나 패스프레이즈(여러 단어 조합)를 사용하세요.
왜 초당 100억 회 추측을 기준으로 하나요? 빠른 해시로 저장된 비밀번호를 자금력 있는 공격자가 오프라인에서 공략할 때의 합리적인 추정치입니다. 해시 연산이 느릴수록 공격 속도는 더 떨어집니다.