Pregunta

¿Cuál es el número mínimo de bits necesarios para representar un solo carácter de texto cifrado.

Por ejemplo, si quería cifrar la letra 'a', la cantidad de bits iba a requerir. (Supongamos que hay muchos caracteres individualmente cifrados utilizando la misma clave.)

Estoy en lo cierto al pensar que sería el tamaño de la clave. por ejemplo, 256 bits?

¿Fue útil?

Solución

Me temo que todas las respuestas que hemos tenido hasta ahora son bastante mal! Parece que no puedo responder a ellos, pero no preguntar si necesita más información acerca de por qué están equivocados. Aquí está la respuesta correcta:

Cerca de 80 bits.

Se necesitan unos pocos bits para el "nonce" (a veces llamado el IV). Al cifrar, se combinan clave, texto plano y el valor de uso único para producir el texto cifrado, y nunca se debe utilizar el mismo nonce dos veces. Entonces, ¿cómo grande es el valor de uso único tiene que ser depende de la frecuencia con la que va a utilizar la misma clave; si no va a utilizar la tecla más de 256 veces, se puede utilizar un valor de uso único de 8 bits. Tenga en cuenta que es sólo el lado de cifrado que debe garantizar que no utiliza un nonce dos veces; el lado desencriptar sólo tiene que preocuparse si se preocupa por la prevención de los ataques de repetición.

Es necesario 8 bits de la carga útil, ya que es la cantidad de bits de texto plano que tiene.

Por último, se necesitan alrededor de 64 bits para la etiqueta de autenticación. En esta longitud, un atacante tiene que tratar en promedio 2 ^ 63 mensajes falsos mínimo antes de que consigan uno aceptado por el extremo remoto. No piense que usted puede hacer sin la etiqueta de autenticación; esto es esencial para la seguridad de todo el modo.

Ponga estos juntos usando un algoritmo AES en un modo de encadenamiento como EAX o GCM, y se obtiene 80 bits de texto cifrado.

El tamaño de la clave no es una consideración.

Otros consejos

A pesar de que la pregunta es un tanto difusa, en primer lugar, que dependerá de si se utiliza un cifrado de flujo o un cifrado de bloques.

Para el cifrado de flujo, que obtendría el mismo número de bits que se pone en - por lo que el logaritmo binario del tamaño de su alfabeto de entrada tendría sentido. El cifrado de bloques requiere bloques de entrada de un tamaño fijo, por lo que podría rellenar su 'a' con ceros y cifrar que, teniendo efectivamente el tamaño del bloque, como mínimo, al igual que ya propuestos.

Puede tener el mismo número de bits como el texto en claro si se utiliza un cojín de una sola vez.

Esto es difícil de responder. Definitivamente, usted debe primero leer sobre algunos aspectos fundamentales. Se puede 'encriptar' una 'a' con un solo bit (codificación Huffman de estilo), y por supuesto se puede usar más bits también. Un número como 256 bits sin ningún contexto carece de sentido.

A continuación de algo para empezar: Teoría de la Información - esp. echa un vistazo a trabajo seminal de Shannon Uno Time Pad - esquema infame seguro, pero poco práctico, cifrado codificación Huffman - no cifrado, pero demuestra el punto anterior

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top