Tamanho e espaço de chaves: compare 56, 128 e 256 bits
O tamanho de uma chave é escrito de forma compacta, mas sua escala de segurança costuma ser subestimada: cada bit adicional dobra o número de chaves possíveis.
Executar grátis
Esta calculadora converte qualquer tamanho aceito no espaço exato de chaves e na média de tentativas exigida por uma busca exaustiva ideal. Ela também posiciona o resultado ao lado das referências de 56, 128 e 256 bits, mostrando as diferenças como potências exatas de dois, e não como rótulos vagos. O cálculo é determinístico e pressupõe chaves distribuídas uniformemente, sem nenhum atalho contra o sistema criptográfico subjacente.
Do tamanho em bits ao número de chaves possíveis
Uma chave com n bits pode representar dois elevado a n padrões de bits distintos. Essa regra simples gera números que crescem muito mais rápido do que a intuição comum sugere. Acrescentar um bit dobra o espaço de chaves; acrescentar dez bits o multiplica por 1,024. A calculadora faz essa exponenciação com aritmética inteira exata e retorna o valor decimal completo, sem aproximação de ponto flutuante. Ela também fornece uma forma compacta em notação científica para leitura rápida. Por exemplo, uma chave de 56 bits possui 72,057,594,037,927,936 valores possíveis, enquanto uma de 128 bits possui 340,282,366,920,938,463,463,374,607,431,768,211,456. Esses totais descrevem apenas o tamanho do espaço de busca. Eles não provam que um algoritmo é seguro, pois falhas de implementação, geração fraca de chaves, vazamento de estado, ataques criptoanalíticos ou erros de protocolo podem reduzir drasticamente o trabalho real. Use o resultado para entender a magnitude do espaço e avalie separadamente a cifra, o modo, o protocolo e o processo de geração das chaves.
Como entender o esforço médio de força bruta
Uma busca exaustiva testa chaves candidatas até encontrar a correta. Se a chave certa estiver distribuída uniformemente e as candidatas forem verificadas sem informação útil sobre sua posição, ela poderá aparecer em qualquer ponto da ordem de busca. A posição esperada fica na metade do espaço de chaves; por isso, a calculadora informa dois elevado a n menos um como média de tentativas. Trata-se de uma expectativa, não de uma garantia: uma busca específica pode ter sucesso na primeira tentativa ou exigir quase todas as chaves possíveis. A saída apresenta tentativas de propósito, em vez de um tempo de quebra. Converter tentativas em segundos requer uma taxa de teste defensável para o algoritmo, o hardware, a estratégia de paralelização e a carga de verificação exatos. Uma taxa emprestada de outra cifra ou de outro hash de senha pode errar por muitas ordens de grandeza. A média de tentativas é, portanto, a medida matemática estável para comparar resistências sem presumir que todo alvo criptográfico possa ser testado na mesma velocidade.
Comparação entre resistências de 56, 128 e 256 bits
Os registros de comparação posicionam o tamanho escolhido diante de três referências conhecidas. Cinquenta e seis bits representam um espaço de busca historicamente importante, mas hoje pequeno. Cento e vinte e oito bits são muito maiores: seu espaço de chaves equivale a duas elevado a 72 vezes o espaço de 56 bits. Duzentos e cinquenta e seis bits ampliam o espaço novamente por um fator de dois elevado a 128 em relação a 128 bits. Quando o tamanho selecionado supera uma referência, o resultado o classifica como mais forte e apresenta o fator exato de multiplicação. Quando fica abaixo, classifica-o como mais fraco e informa o divisor recíproco, sem usar frações imprecisas. Tamanhos iguais são indicados diretamente. Essas comparações tratam apenas do espaço de chaves contra força bruta; elas não afirmam segurança equivalente entre primitivas diferentes. Uma chave de 256 bits não oferece automaticamente 256 bits de segurança efetiva se a construção tiver um limite menor, se a busca quântica estiver no modelo de ameaça ou se as chaves vierem de uma fonte enviesada ou com baixa entropia.
Casos de uso
Revisar um projeto criptográfico
Converta um tamanho proposto em números exatos de espaço de chaves e busca esperada antes de compará-lo com a meta de segurança do projeto.
Explicar o crescimento exponencial
Mostre a estudantes ou responsáveis por decisões por que um aumento modesto em bits multiplica enormemente o esforço de busca exaustiva.
Verificar resistências antigas e atuais
Posicione um tamanho personalizado ou legado ao lado das referências fixas de 56, 128 e 256 bits usando potências exatas de dois.
Perguntas frequentes
Como é calculado o número de chaves possíveis?
Para uma chave de n bits, o número de padrões de bits possíveis é exatamente 2^n.
Por que o esforço médio de força bruta é metade do espaço?
Com uma chave correta distribuída uniformemente e sem atalhos de busca, sua posição esperada em uma ordem exaustiva fica na metade das chaves possíveis.
Uma chave maior sempre torna um sistema seguro?
Não. O tamanho mede apenas um limite contra força bruta. Fraquezas do algoritmo, falhas de implementação, aleatoriedade ruim, erros de protocolo e exposição da chave podem dominar a segurança real.
Por que a calculadora não estima os anos para quebrar a chave?
O tempo depende do algoritmo exato, do custo de verificação, do hardware, do paralelismo e do modelo de atacante. As tentativas permitem comparar sem pressupor uma taxa arbitrária.
O que significam mais forte e mais fraco na comparação?
Esses termos descrevem apenas a proporção entre espaços de busca exaustiva. Uma diferença de d bits corresponde a um fator de 2^d.
Quanto custa uma solicitação de API?
Cada solicitação de API custa US$ 0,002. O mesmo cálculo determinístico pode ser executado no navegador como uma capacidade de nível A.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/dev/key-space-bits \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"key_bits":128}'const res = await fetch("https://api.kit.forhosting.com/dev/key-space-bits", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"key_bits": 128
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/key-space-bits",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"key_bits": 128
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/key-space-bits", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"key_bits":128}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"key_bits":128}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/key-space-bits", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"key_bits": 128
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.key_space_bits",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_bits | 4096 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |