Em criptografia, o espaço de chave de um algoritmo é o conjunto de todas as permutações possíveis de uma chave.[1][2]
Descrição
Para evitar que um adversário use um ataque de força bruta para identificar a chave usada para criptografar uma mensagem, o espaço de chave é, normalmente, definido de maneira que seja grande o suficiente para tornar tal ataque inviável. Na média, metade do espaço de chave precisa ser percorrido para encontrar a chave desejada.[3]
Outra característica desejável é que a chave seja definida de uma maneira realmente aleatória dentro de todas as possíveis permutações de chaves. Do contrário, se o adversário usar algum fator que possa ter influenciado a forma como a chave foi escolhida, ele poderá reduzir drasticamente a quantidade de permutações a serem percorridas (e portanto o tempo necessário para fazê-lo). Seres humanos não costumam escolher senhas de uma forma aleatória o que faz com que adversários normalmente tentem ataques de dicionário antes de um ataque de força bruta dado que a primeira opção costuma produzir uma resposta correta em muito menos tempo do que um ataque de força bruta que sistematicamente percorra todo o espaço de chave.[4]
Exemplos
Se uma chave tem 8 bits (um byte), o espaço de chave contém 28 or 256 possibilidades. Advanced Encryption Standard (AES) pode usar uma chave simétrica de 256 bits, o que resulta em um espaço de chave contendo 2256 (ou 1,1579 x 1077) possibilidades.
A cifra DES utiliza uma chave de 56 bits, o que resulta em um espaço de chave relativamente pequeno de 256 (ou 7,2058 x 1016) opções, o que, conforme demonstrado em 1998, pode ser completamente percorrido em 56 horas por um computador de mesa comum.[5]
Referências