# Diceware: 주사위가 당신보다 비밀번호를 잘 만드는 이유

> Arnold Reinhold는 1995년에 인간의 무작위 문제를 주사위 다섯 개와 7,776개짜리 단어 목록으로 풀었습니다. 한 번 굴릴 때마다 12.9비트, 그것도 진짜 12.9비트입니다.

2026-02-12 · David Carrero · password.es
Original: https://password.es/ko/blog/diceware-jusawi-bimilbeonho/

---

아무 단어나 하나 떠올려보세요. 지금 당장, 제일 먼저 떠오르는 걸로.

무엇이 떠올랐든 **그건 무작위가 아니었습니다**. 그건 당신의 단어입니다. 이번 주에
읽은 것, 지금 눈앞에 있는 물건, 당신 이름의 첫 글자. 사람에게 무작위를 요구하면
나오는 건 자서전입니다. 그리고 자서전은 맞힐 수 있습니다.

비밀번호 문제 전부가 여기 요약돼 있습니다. 사람들이 게을러서가 아니라 — 게으른
것도 맞지만 — 우리가 **무작위를 만들어낼 능력이 없어서**입니다. 우리는 특정 글자를
좋아하고, “무작위처럼 안 보인다”는 이유로 반복을 피하고, 자기도 모르게 자음과
모음을 번갈아 쓰고, 숫자를 대라고 하면 손에 잡히는 것을 씁니다. 날짜, 나이, 의미가
있는 숫자들. 공격자는 그걸 써먹기 위해 당신이 누구인지 알 필요가 없습니다.
당신이 인간이라는 것만 알면 충분합니다.

## 엔지니어 한 명, 주사위 다섯 개, 목록 하나

1995년, **Arnold G. Reinhold**는 자기 홈페이지에 *Diceware*라는 이름의 방법을
공개했습니다. 아이디어가 너무 단순해서, 이걸 설명해야 한다는 사실이 조금 억울할
정도입니다. 인간이 무작위로 못 고르는 게 문제라면, 인간에게서 선택권을 빼앗으면
됩니다.

전체 절차는 세 줄이면 끝납니다.

1. **주사위 다섯 개**를 굴리고 나온 순서대로 적습니다. 이를테면 `4-2-6-1-3`.
2. 목록에서 `42613`을 찾습니다.
3. 그게 당신의 단어입니다. 다음 단어를 위해 반복합니다.

목록에는 **7,776개 항목**이 있고, 이 숫자는 아무렇게나 정한 게 아닙니다. 6⁵,
주사위 다섯 개로 나올 수 있는 모든 결과입니다. `11111`부터 `66666`까지 모든
조합이 서로 다른 항목 하나를 가리키고, 빠지는 것도 겹치는 것도 없습니다. 원래
목록은 짧은 영어 단어에 음절 몇 개, 숫자, 낱개 기호를 섞어놓았는데, 쓸 만한 단어를
7,776개나 모으는 일이 생각보다 어렵기 때문입니다.

중요한 건 목록이 아닙니다. 주사위입니다.

## 12.9비트가 왜 진짜 12.9비트인가

여기가 거의 아무도 이해하지 못하는 부분이고, 유일하게 중요한 부분입니다.

Diceware 단어 하나의 엔트로피는 log₂(7,776) = **12.9비트**입니다. 이건 보안이
아니라 산수입니다. 결과가 7,776가지이고 전부 정확히 같은 확률입니다.

당신이 직접 고를 때와 비교해보세요. 7,776개짜리 사전에서 단어 하나만 골라달라고
하면 계산은 *같아 보입니다*. 선택지도 똑같이 7,776개니까요. 하지만 아닙니다.
당신은 그것들을 같은 확률로 고르지 않으니까요. 흔한 단어, 마음에 드는 단어, 오늘
본 단어를 고르게 됩니다. 그 사전은 종이 위에서는 12.9비트지만 당신 머릿속에서는
훨씬 적고, 공격자는 목록을 빈도순으로 정렬해서 사람들이 고르는 것부터 넣어봅니다.
**엔트로피는 선택지가 몇 개인지가 아닙니다. 공격자가 당신의 취향에 대해 아는 것을
빼고 나서 선택지가 몇 개 남는지입니다.**

주사위에게는 취향이 없습니다. 기억도 없습니다. 주사위는 직전에 `숲`이 나왔다는 걸
모르므로 반복을 피하지도, 다양성을 챙기지도, 같은 글자로 시작하는 단어가 둘 나왔다고
민망해하지도 않습니다. 그래서 Diceware의 12.9비트는 **진짜 12.9비트**이지, 광고
전단에 적힌 낙관적인 숫자가 아닙니다.

그래서 계산이 위로 쌓입니다. 단어마다 더해집니다.

- 다섯 단어: 약 **64비트**.
- 여섯 단어: 약 **77비트**.
- 일곱 단어: 약 **90비트**.

마법 같은 곱셈이 아니라 깨끗한 덧셈입니다. 굴림 하나하나가 나머지와 독립이기
때문입니다. Reinhold는 다섯 단어 밑으로는 내려가지 말라고, 정말 중요한 것에는 여섯
단어 이상을 쓰라고 권합니다. [생성기](/ko/)에서 직접 확인해보세요. 단어를 하나 더
넣으면 언제나 같은 양이 더해지고, 그 “언제나”가 이 발명의 전부입니다.

## 비밀은 목록이 아니다

반론은 저절로 나옵니다. *목록이 공개돼 있으면 깨기 더 쉬운 거 아닌가?*

아닙니다. 이건 천천히 말할 필요가 있습니다. **12.9비트는 공격자가 목록을 갖고 있다는
전제를 이미 깔고 있습니다.** 당신이 Diceware를 쓴다는 것도, 문구가 몇 단어인지도,
어떤 순서로 적는지도 안다고 전제합니다. 그건 전부 이미 빼고 계산한 값입니다.
공격자가 모르는 건 당신 주사위에 뭐가 나왔는가 하나뿐이고, “77비트”라고 말할 때
당신이 세고 있는 게 바로 그것입니다.

`P@ssw0rd`에서 우리가 하는 짓은 정확히 그 반대입니다. 거기서 모든 희망은 `a`를
`@`로 바꿀 생각을 아무도 못 하기를 바라는 데 걸려 있습니다. 다들 합니다. 사전 공격
도구라면 어느 것이든 제일 먼저 적용하는 규칙에 속합니다. 해보고 싶다면
[검사기](/ko/checker/)에 넣고 얼마나 버티는지 보세요.

## EFF와 다른 목록들

2016년, **Electronic Frontier Foundation**은 주사위로 문구를 만드는 자체 단어
목록을 공개했습니다. 긴 목록은 7,776개 항목을 그대로 유지합니다. 같은 주사위 다섯
개, 같은 12.9비트. 대신 내용을 바꿨습니다. 이상한 음절과 기호는 빼고, 흔하고 치기
쉽고 서로 구분되는 단어를 넣었습니다. 1,296개짜리 짧은 목록도 함께 냈습니다(6⁴,
주사위 네 개, 단어당 10.3비트). 하나는 더 짧고 외우기 쉬운 단어로, 다른 하나는 각
단어가 앞 글자만으로 서로 구분돼 자동완성이 되도록 설계했습니다. 그 대가로 굴림
하나의 값이 줄고 더 여러 번 굴려야 합니다.

이 대목의 우아한 점은 **산수가 누구의 취향에도 흔들리지 않는다**는 것입니다.
항목 수가 결정합니다. 제주어로든, 경상도 사투리로든, 클링온어로든 자기 목록을 만들
수 있습니다. 서로 다른 항목이 7,776개이고 주사위로 고르기만 하면 단어 하나는
12.9비트입니다. 목록을 바꾸면서 당신이 정하고 있는 건 결과가 얼마나 마음에 드느냐일
뿐, 얼마나 안전하냐가 아닙니다.

## 망치는 세 가지 방법

Diceware는 세 가지로 실패하고, 셋 다 같은 실수입니다. 인간이 다시 손을 대는 것.

- **“이건 마음에 안 드는데” 하고 다시 굴리기.** 결과를 버리는 순간 당신은 주사위를
  쓰는 게 아닙니다. 소품용 주사위를 놓고 당신의 판단을 쓰는 겁니다. 나온 건 나온
  겁니다.
- **말이 되게 단어 순서 바꾸기.** 순서도 굴림의 일부입니다.
- **끝에 `!`, 앞에 대문자를 붙여 “개선”하기.** 사람들이 끝에 `!`를 붙이고 앞을
  대문자로 쓴다는 걸 아는 공격자 앞에서 그건 아무것도 더하지 않습니다. 멍청한 정책을
  맞춰야 한다면 하세요. 하지만 그걸로 보안을 얻었다고 믿지는 마세요. 보안은 한 번 더
  굴릴 때 얻은 겁니다.

그리고 Reinhold가 이미 해둔 당부 하나. 흔한 주사위로 충분합니다. 카지노용이 더
정밀하긴 해도 필요하진 않습니다. 평평한 바닥에 굴리는 게 좋고, 결과는 나온 그대로
적습니다.

## 요약

주사위로 뽑은 여섯 단어짜리 문구는 `P@ssw0rd`보다 치는 데 오래 걸리고,
`Tr0ub4dor&3`보다 외우기 쉬우며, 둘 다보다 깨는 비용이 몇 자릿수는 비쌉니다. 더
기교를 부려서가 아니라 — 기교는 없습니다, 평범한 단어 여섯 개입니다 — **당신의
비밀번호에서 유일하게 당신이 정하지 않은 부분이기 때문**입니다.

Diceware의 농담은 이겁니다. 당신이 가질 수 있는 최고의 비밀번호는 당신 의견이 끼지
않은 비밀번호입니다.

---

*출처: Arnold G. Reinhold, 「The Diceware Passphrase Home Page」 및 7,776개 단어
목록(1995) · Electronic Frontier Foundation, 주사위로 만드는 비밀번호 문구용 단어
목록(2016) · 산수는 직접 확인 가능합니다. 6⁵ = 7,776이고 log₂(7,776) ≈ 단어당
12.92비트.*
