Um bit de entropia é uma unidade que descreve a incerteza ao tentar adivinhar um valor secreto. Se dois resultados forem igualmente prováveis e o atacante não souber qual ocorreu, existe um bit de entropia. Quatro possibilidades equiprováveis correspondem a dois bits; dezasseis, a quatro bits. Não é o mesmo que a quantidade de bits que um ficheiro ou uma chave ocupa na memória.
Uma moeda equilibrada dá a mesma probabilidade às duas faces. Um lançamento secreto tem duas possibilidades; dois lançamentos independentes têm quatro; quatro lançamentos têm dezasseis. Cada novo lançamento independente duplica o número de sequências possíveis e acrescenta um bit de entropia. É essa a relação H = log2(N): para N possibilidades equiprováveis, obtemos o número de bits. Com 16 possibilidades, são 4 bits. A igualdade das probabilidades é importante, como veremos mais à frente. [1] [2]
Agora, em vez de voltar a lançar, pegue num único resultado e escreva-o 256 vezes. A sequência terá 256 bits, mas continuará a haver apenas duas possibilidades: só zeros ou só uns. O segredo real continua a ter apenas 1 bit de entropia. A repetição não criou novas escolhas independentes. O mesmo problema pode surgir de forma menos evidente quando as medições estão relacionadas. Por isso, não se pode simplesmente multiplicar a entropia estimada de uma amostra pelo número de amostras sem verificar a independência. [1]
O mesmo valor pode ser escrito com algarismos habituais, palavras ou em notação hexadecimal. Esta usa algarismos e as letras de A a F: é apenas outra forma de representar um número, não um novo segredo. Um hash, ou seja, uma impressão dos dados calculada por uma determinada função, também não acrescenta possibilidades desconhecidas por si só. Se resultar de um pequeno conjunto de entradas possíveis, o atacante pode experimentá-las e comparar as respetivas impressões. Se conhecer a entrada exata, consegue calcular o mesmo resultado. O que mais importa é como o valor secreto foi criado, não a complexidade da sua aparência. [1] [2]
No BIP39, 12 palavras representam 128 bits de entrada e 4 bits de soma de verificação, num total de 132 bits. Com 24 palavras, são 256 mais 8, ou 264 bits. Os bits de verificação são calculados; não são escolhas secretas independentes adicionais. Os 128 ou 256 bits também pressupõem uma boa forma de criar a entrada. Se escolher palavras a partir de uma história favorita, o seu número não garante essa entropia. [3]
Imagine 128 bits secretos independentes, cada um produzido como um lançamento de moeda equilibrada. Se revelar 32 bits concretos, neste modelo ficam 96 desconhecidos. Não é uma regra geral para qualquer fuga: depende da informação revelada e da relação entre os valores. A seed é o valor secreto inicial a partir do qual a carteira deriva as suas chaves. Quem conhece toda a seed não precisa de a adivinhar. A sua incerteza é zero, mesmo que a seed tenha sido originalmente gerada de forma perfeita. [1] [2]
Até aqui, todos os resultados eram igualmente prováveis. Numa fonte enviesada, o atacante provavelmente experimentará primeiro o resultado mais frequente. A min-entropia mede a vantagem dessa primeira tentativa: Hmin = -log2(pmax), onde pmax é a probabilidade do resultado mais comum. Se for 3/4, obtemos cerca de 0,415 bits. Existe também a entropia de Shannon, que descreve o conteúdo médio de informação. São medidas diferentes e nenhuma é o número médio exato de tentativas necessário para descobrir o segredo. [1] [2]
O atacante não tem de se limitar a adivinhar a entrada original; pode tentar explorar propriedades matemáticas do algoritmo. Por isso, distinguem-se bits de entropia, comprimento da chave e força de segurança. Na criptografia de curvas elípticas (ECC), a segurança depende da dificuldade de um problema matemático específico. Por exemplo, o NIST SP 800-57 atribui às chaves ECC de 256 a 383 bits uma força de 128 bits na sua comparação clássica. Não é uma avaliação de uma carteira concreta nem uma afirmação de que todas as chaves de 256 bits oferecem 256 bits de segurança. [4]
Pergunte qual a medida de entropia usada, de que fonte vem a estimativa e o que o atacante pode saber. O NIST SP 800-90B avalia a fonte e as suas amostras, incluindo dependências e comportamento após reinícios. A medição de um ficheiro não garante o mesmo resultado em todos os dispositivos e condições futuras. A min-entropia também não determina, por si só, um tempo exato de ataque. Um número é útil quando conhecemos os seus pressupostos. [1]
Para ter uma visão mais completa, leia este verbete junto com Cryptographic Entropy, Brute Force Search Space, Seed Phrase, Private Key. Também há referências a este verbete em Dice Roll Entropy, Cryptographic Entropy, Brute Force Search Space.