0

Diceware 암호 생성기 - 임의의 단어 암호 문구

Diceware 방법을 사용하여 임의의 실제 단어로 강력하고 기억에 남는 암호를 생성합니다. 즉, 비트 단위의 실제 엔트로피가 정직하게 표시되는 진정한 암호화 임의성입니다.

6
Buy Me a Coffee at ko-fi.com
처리 중... 0%
안전한 무작위 단어 롤링
완료

결과

이 도구는 Diceware 방식으로 암호 문구를 생성합니다. 즉, 입력하기 어렵고 기억하기 더 어려운 무작위 문자로 구성된 조밀한 문자열 대신 무작위로 독립적으로 선택한 몇 가지 일반 단어를 함께 연결합니다. "forest-comet-lantern-guitar-oasis-thistle"과 같은 암호문은 실제 계산 가능한 엔트로피를 전달하면서도 인간이 소리내어 읽을 수 있고, 전화 키보드로 입력하거나 몇 번의 시도 후에 기억할 수 있는 것입니다. 이는 정확히 절충안인 Diceware 스타일 세대가 설계한 것입니다.

무작위성이 전체 요점이므로 여기서는 심각하게 고려됩니다. 각 단어는 브라우저의 crypto.getRandomValues() 암호화 보안 난수 생성기를 사용하여 선택되며 모든 추첨에서 적절한 거부 샘플링이 적용됩니다. 원시 32비트 임의 값은 단어 목록 길이로 균등하게 나눌 수 있는 범위에 속하는 경우에만 허용됩니다. 남은 값, 균등하지 않은 나머지 값은 폐기되고 다시 롤링됩니다. 이 단계를 건너뛰고 % wordlistLength 값만 수행하면 색인이 높은 단어보다 색인이 낮은 단어가 약간 더 선호됩니다. 이는 순진한 구현에서 자동으로 발생하는 미묘한 통계적 편향입니다. 이 생성기는 절대 그런 지름길을 택하지 않습니다.

엔트로피에 대한 정직성은 디자인의 나머지 절반입니다. 번들 단어 목록에는 고유하고 모호하지 않은 일상 영어 단어 1,821개가 포함되어 있습니다. 이는 대표적인 목록이지만 고전적인 Diceware 프로젝트에서 사용하는 특정 7,776개 단어 목록은 아닙니다. 따라서 이 도구는 정확한 목록에만 적용되는 유명한 단어당 12.9비트 수치를 주장하지 않습니다. 대신, 단어당 엔트로피는 실시간으로 log2(목록 길이)로 계산되며, 여기서는 단어당 대략 10.8비트로 표시되며, 화면 결과에는 항상 전체 공식(단어 수 x 단어당 비트 수, 추가 항목의 정직한 기여도)이 표시되므로 마케팅 수치를 신뢰하기보다는 총계가 어떻게 도달했는지 정확하게 확인할 수 있습니다.

선택적 토글은 동일한 정직함으로 처리됩니다. 모든 단어를 대문자로 표기하는 것은 매번 동일한 방식으로 적용되는 고정적이고 결정론적인 규칙이므로 실제 엔트로피를 전혀 추가하지 않습니다. 규칙을 아는 공격자는 어떤 문자가 대문자인지 모르더라도 아무 것도 얻을 수 없으며 도구는 그렇게 간단하게 말합니다. 대조적으로 임의의 두 자리 숫자를 추가하는 것은 100개의 동일한 값에 걸쳐 실제 추가 무작위 추첨으로, 단어 위에 실제 및 명시된 ~6.6비트를 추가합니다. 서버 없이 모든 것이 브라우저에서 로컬로 계산되고 렌더링되므로 생성한 암호는 본인 외에는 누구도 볼 수 없습니다.