%3C/text%3E%3C/svg%3E">
💻
💻 IT·개발

해시 충돌 확률 계산기 (생일 문제 한계)

입력하면 바로 계산됩니다.

입력값

해시 충돌 확률 계산기 쉽게 이해하기 — 개념과 원리

많은 항목에 해시값이나 무작위 ID, 짧은 체크섬을 붙이다 보면 언젠가 두 항목이 같은 값을 갖게 될 수 있습니다. 이 계산기는 생일 문제의 근사식으로, 주어진 비트 수의 해시에서 항목 n개 중 한 번이라도 충돌이 일어날 확률과 확률이 50%가 되는 항목 수를 계산합니다. ID 길이, 해시 테이블, 중복 제거 키를 정하거나 잘라 쓴 해시를 평가할 때 쓰입니다.

64비트 해시의 생일 한계항목 10억 개는 약 5 × 10¹⁷쌍이고 각 쌍이 1/2⁶⁴ 확률로 겹치므로 p ≈ 1 − e^−0.0271 = 2.67%이며, 50%는 2⁶⁴보다 훨씬 적은 약 50.6억 개에서 도달합니다.충돌은 개수가 아니라 쌍에서 생깁니다23명, 생일 365가지253쌍 → 50.7% 확률로 겹침생일 문제64비트 해시, 항목 10억 개10⁹항목5×10¹⁷쌍÷ 2⁶⁴= 0.02712.67%충돌 확률항목 수 (로그 눈금)110⁹2⁶⁴50%전체 값약 50.6억 개에서 50% 확률1.1774 × √2⁶⁴ = 1.1774 × 2³²
생일이 겹치는 것처럼, 충돌은 가능한 값 수의 제곱근 근처에서 나타납니다.

계산 방법

원리

생일 문제와 같은 원리입니다. 23명만 모여도 생일이 같은 두 사람이 있을 확률이 50%를 넘는데, 중요한 것은 사람 수가 아니라 짝의 수 n(n − 1)/2이기 때문입니다. 짝 하나가 충돌할 확률은 1/N이므로 충돌하는 짝의 기대 개수는 약 n²/2N이고, 짝들을 거의 독립으로 보면 지수 함수 꼴의 식이 나옵니다. 결국 충돌은 가능한 값 개수의 제곱근 근처에서 흔해지며, b비트 해시의 충돌 저항성은 약 b/2비트에 그칩니다.

예제 풀이

  1. 입력값: 64비트 해시, 항목 n = 10^9개
  2. N = 2^64 = 1.8447 × 10^19
  3. 지수: n² / 2N = 10^18 ÷ (3.6893 × 10^19) = 0.027105
  4. 확률: 1 − e^(−0.027105) = 0.02674, 약 2.67%
  5. 50% 지점: 1.1774 × 2^32 = 5,056,894,494개
항목 수 값에 따른 충돌 확률 변화항목 수 값에 따른 충돌 확률 변화02.557.51012.52.5e+085e+087.5e+081e+091.25e+091.5e+092e+09예제 값: 2.67%항목 수
다른 값은 그대로 두고 “항목 수”만 바꿔 계산기를 다시 돌린 결과입니다. 금색 점이 예제 값이며, 위에 값을 입력하면 내 값으로 다시 그려집니다.
항목 수충돌 확률
2.5e+080.17%
5e+080.68%
7.5e+081.51%
1e+092.67%
1.25e+094.15%
1.5e+095.92%
2e+0910.27%

결과 해석

10억 건에서 2.67%라면 고유해야 하는 기본 키로는 너무 높지만, 캐시 용도라면 괜찮을 수 있습니다. 참고로 50%에 이르는 항목 수는 32비트 해시가 약 7만 7천 개, 64비트가 약 50억 개, 무작위 비트가 122개인 UUID는 약 2.7 × 10^18개입니다.

흔한 실수

주의: 이 근사식은 해시값이 고르게, 서로 독립적으로 분포하고 n이 N보다 훨씬 작을 때 가장 정확합니다. 취약한 해시 함수를 노린 의도적 공격에 대한 안전성은 나타내지 않습니다.

자주 묻는 질문

고유한 무작위 ID에는 몇 비트가 필요한가요?

식을 거꾸로 쓰면 됩니다. 10억 개에서 충돌 확률을 100만분의 1 이하로 하려면 대략 80비트 이상이 필요합니다.

왜 '생일 한계'라고 부르나요?

생일 역설과 같은 수학이며, 365일 대신 2^비트 개의 해시값을 넣은 것이기 때문입니다.

SHA-256을 잘라 ID로 써도 되나요?

충돌 특성은 잘라 낸 길이를 따르므로, 64비트로 자르면 좋은 64비트 해시와 같습니다.

출처: D. E. Knuth, The Art of Computer Programming, Vol. 3: Sorting and Searching · A. J. Menezes, P. C. van Oorschot, S. A. Vanstone, Handbook of Applied Cryptography, CRC Press

2026년 11월 8일 확인. 표준 공식과 RFC/IEEE 정의를 사용해 브라우저 안에서만 계산합니다. 입력한 내용은 어디에도 전송되지 않습니다.

💻 IT·개발 계산기 전체 →🏠 홍라이프 계산기 홈 →