Pergunta

Qual é o número mínimo de bits necessários para representar um único caractere de texto criptografado.

Por exemplo, se eu quisesse criptografar a letra 'A', quantos bits eu exigiria. (Suponha que haja muitos personagens criptografados individualmente usando a mesma chave.)

Estou certo ao pensar que seria o tamanho da chave. Por exemplo, 256 bits?

Foi útil?

Solução

Receio que todas as respostas que você teve até agora estejam erradas! Parece que não posso responder a eles, mas pergunte se você precisa de mais informações sobre por que eles estão errados. Aqui está a resposta correta:

Cerca de 80 bits.

Você precisa de alguns bits para o "nonce" (às vezes chamado de IV). Quando você criptografa, combina chave, texto simples e nonce para produzir o texto cifrado, e você nunca deve usar o mesmo nonce duas vezes. Então, o tamanho do Nonce precisa ser depende da frequência com que você planeja usar a mesma chave; Se você não usar a chave mais de 256 vezes, poderá usar um nonce de 8 bits. Observe que é apenas o lado criptografado que precisa garantir que não use um nonce duas vezes; O lado descriptografando só precisa se importar se se preocupar em evitar ataques de reprodução.

Você precisa de 8 bits para a carga útil, pois é quantos bits de texto simples você tem.

Finalmente, você precisa de cerca de 64 bits para a tag de autenticação. Nesse comprimento, um invasor deve tentar em média 2^63 mensagens falsas mínimas antes de serem aceitas pela extremidade remota. Não pense que você pode fazer sem a tag de autenticação; Isso é essencial para a segurança de todo o modo.

Junte -os usando o AES em um modo de encadeamento, como EAX ou GCM, e você recebe 80 bits de texto cifra.

O tamanho da chave não é uma consideração.

Outras dicas

Embora a pergunta seja um tanto confusa, antes de tudo depender de usar uma cifra de fluxo ou uma cifra de bloco.

Para a cifra do fluxo, você obteria o mesmo número de bits que você coloca - para que o logaritmo binário do tamanho do alfabeto de entrada faria sentido. A cifra do bloco requer blocos de entrada de um tamanho fixo, para que você possa atingir seu 'a' com zeros e criptografar isso, efetivamente tendo o tamanho do bloco no mínimo, como você já propôs.

Você pode ter o mesmo número de bits que o texto simples se usar um bloco único.

Isso é difícil de responder. Você definitivamente deve ler primeiro alguns fundamentos. Você pode 'criptografar' e 'a' com um único bit (estilo de codificação de Huffman) e, é claro, você também pode usar mais bits. Um número como 256 bits sem qualquer contexto não tem sentido.

Aqui está algo para você começar:Teoria da informação - esp. Confira o papel seminal de ShannonUma vez bloco - Esquema infame seguro, mas impraticável, de criptografiaHuffman codificando - não criptografia, mas demonstra o ponto acima

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top