엔트로피 비트는 비밀 값을 추측할 때의 불확실성을 표현하는 단위입니다. 두 결과의 확률이 같고 공격자가 어느 결과인지 모르면 엔트로피 1비트입니다. 확률이 같은 네 가능성은 2비트, 열여섯 가능성은 4비트입니다. 파일이나 키가 메모리에서 차지하는 비트 수와는 다릅니다.
공정한 동전은 양쪽 면의 확률이 같습니다. 비밀로 한 번 던지면 두 가능성, 독립적으로 두 번 던지면 네 가능성, 네 번 던지면 열여섯 가능성이 있습니다. 독립적인 던지기를 한 번 더할 때마다 가능한 순서가 두 배가 되고 엔트로피가 1비트 늘어납니다. H = log2(N)이 바로 이 관계를 나타냅니다. 같은 확률의 가능성이 N개일 때 비트 수를 구할 수 있습니다. 16개 가능성은 4비트입니다. 확률이 같다는 조건은 중요하며 뒤에서 다시 살펴봅니다. [1] [2]
이제 더 던지는 대신 한 번의 결과를 256번 적어 보세요. 문자열은 256비트지만 가능성은 여전히 모두 0이거나 모두 1인 두 가지뿐입니다. 실제 비밀에는 여전히 엔트로피 1비트만 있습니다. 반복한다고 새로운 독립 선택이 생기지는 않습니다. 측정값끼리 관련이 있을 때도 덜 눈에 띄는 형태로 같은 문제가 생깁니다. 따라서 독립성을 확인하지 않고 표본 하나의 추정 엔트로피에 표본 수를 단순히 곱해서는 안 됩니다. [1]
같은 값을 보통의 숫자나 단어, 또는 십육진법으로 나타낼 수 있습니다. 십육진 표기는 숫자와 A부터 F까지의 문자를 쓰지만, 같은 수를 다르게 적는 방식일 뿐 새로운 비밀을 만들지는 않습니다. 해시는 특정 함수로 데이터에서 계산한 지문 같은 값입니다. 해시 자체가 알려지지 않은 가능성을 더해 주지는 않습니다. 입력 후보가 적다면 공격자는 후보를 하나씩 시험하고 지문을 비교할 수 있습니다. 정확한 입력을 알면 같은 결과를 계산할 수 있습니다. 따라서 중요한 것은 값이 어떻게 만들어졌는지이지, 얼마나 복잡해 보이는지가 아닙니다. [1] [2]
BIP39에서 12개 단어는 입력 128비트와 체크섬 4비트, 총 132비트를 표현합니다. 24개 단어는 256에 8을 더한 264비트입니다. 체크섬 비트는 계산으로 얻는 값이지 추가적인 독립 비밀 선택이 아닙니다. 또한 128비트나 256비트의 엔트로피는 좋은 입력 생성 방법을 전제로 합니다. 좋아하는 이야기에서 직접 단어를 고른다면 단어 수만으로 그 엔트로피가 보장되지 않습니다. [3]
각각 공정한 동전 던지기처럼 만들어진 독립적인 비밀 비트 128개를 생각해 보세요. 특정 32비트를 공개하면 이 모델에서는 96비트가 알려지지 않은 채 남습니다. 모든 유출에 적용되는 일반 규칙은 아닙니다. 어떤 정보가 공개되고 값들이 어떻게 연관되는지에 달려 있습니다. seed는 지갑이 키를 파생시키는 데 쓰는 비밀 시작값입니다. seed 전체를 아는 사람은 추측할 필요가 없습니다. 처음에 완벽하게 생성했더라도 그 사람에게 불확실성은 0입니다. [1] [2]
지금까지는 모든 결과의 확률이 같았습니다. 편향된 원천에서는 공격자가 가장 흔한 결과를 먼저 시험할 것입니다. 최소 엔트로피는 바로 그 첫 추측의 이점을 측정합니다. Hmin = -log2(pmax)에서 pmax는 가장 흔한 결과의 확률입니다. 확률이 3/4라면 약 0.415비트가 나옵니다. 평균 정보량을 표현하는 섀넌 엔트로피도 있습니다. 둘은 다른 척도이며 어느 쪽도 비밀을 알아내는 데 필요한 정확한 평균 시도 횟수는 아닙니다. [1] [2]
공격자는 원래 입력을 추측하는 데 그치지 않고 알고리즘의 수학적 특성을 이용할 수도 있습니다. 그래서 엔트로피 비트, 키 길이, 보안 강도를 구분합니다. 타원곡선 암호(ECC)의 안전성은 특정 수학 문제를 풀기 어렵다는 데 기반합니다. 예를 들어 NIST SP 800-57은 고전적 계산을 전제로 한 비교에서 256~383비트 ECC 키에 128비트 보안 강도를 대응시킵니다. 특정 지갑을 평가한 것도, 모든 256비트 키가 256비트 보안을 제공한다는 뜻도 아닙니다. [4]
어떤 엔트로피 척도를 쓰고 어떤 원천에서 추정했으며 공격자가 무엇을 알 수 있는지 확인하세요. NIST SP 800-90B는 의존 관계와 재시작 후 행동을 포함해 원천과 표본을 평가합니다. 파일 하나를 측정했다고 모든 기기와 앞으로의 모든 조건이 보장되지는 않습니다. 최소 엔트로피만으로 정확한 공격 시간도 알 수 없습니다. 전제를 이해할 때 숫자가 유용합니다. [1]
더 정확히 이해하려면 이 항목과 함께 다음도 읽어 보세요 Cryptographic Entropy, Brute Force Search Space, Seed Phrase, Private Key. 다음 항목에서도 이 글을 참조합니다 Dice Roll Entropy, Cryptographic Entropy, Brute Force Search Space.