Concepto de bit y la relevancia que tiene un bit en la longitud de una clave para entender mejor su relevancia en la criptografía simétrica,asimétrica y las funciones unidireccionales en general.

¿Qué es un bit?
Bit es el acrónimo de Binary digit (‘dígito binario’). Un bit es un dígito del sistema de numeración binario. Las unidades de almacenamiento tienen por símbolo bit. Mientras que en el sistema de numeración decimal se usan diez dígitos, en el binario se usan solo dos dígitos, el 0 y el 1. Un bit o dígito binario puede representar uno de esos dos valores: 0 o 1. Ocho bits equivalen a un byte.
En criptografía, una clave se compone de una larga secuencia de bits utilizado un algoritmo para cifrar o descifrar. Por ejemplo esto podría ser una clave hipotética de 40 bits (una secuencia de 40 dígitos de 0 y 1): 00001010 01101001 10011110 00011100 01010101
Esa secuencia de bits representa estos símbolos ižU utilizando una herramienta de conversión binaria como esta.
En criptografía solo es posible romper un algoritmo criptográfico de dos formas. Una es atacando el algoritmo y la otra es probando con un ataque de fuerza bruta, utilizando un ordenador, para probar todas las claves posibles.
El cifrado con 2 bits tiene cuatro posibles resultados: 00, 01, 10 y 11.
3 bits tienen ocho posibles combinaciones, 4 bits tienen 16 posibles combinaciones, 5 bits tienen 32 posibles combinaciones, 6 bits tienen 64 posibles combinaciones, 7 bits tienen 128 posibles combinaciones…. 10 bits tienen 1024 posibles combinaciones, 20 bits tienen 1.000.000 de posibles combinaciones y 30 bits tienen 1.000.000.000 de posibles combinaciones. Por lo tanto el crecimiento por cada bit que se añade a una clave es exponencial. Matemáticamente existen 2^n posibles valores para una clave de n bits. Cada vez que añadimos un bit se dobla el número de posibles claves.
Una clave de 128 bits tiene 340.282.366.920.938.463.463.374.607.431.768.211.456 posibles combinaciones. Son más de 340 millones de mil millones de mil millones de mil millones de combinaciones.
Una clave de 128 bits equivale a 16 bytes. 16 bytes pueden representar 16 caracteres de nuestro abecedario u otros símbolos según la codificación (UTF, Base64, etc) que se use.
Para entender si una clave de 128 bits simétrica es más segura que una clave de 2.048 bits asimétrica se debe saber qué tipo de algoritmo criptográfico se está utilizando (simétrico o asimétrico) y la longitud de la clave para valorar la robustez de la clave.
¿Por qué se utilizan claves con más bits?
Si una clave tiene 128 bits existen 2^128 diferentes claves posibles. En promedio se deberán probar la mitad de las claves posibles (2^127) antes de que se encuentre la clave correcta.
Una posible pregunta sería: ¿por qué no utilizar siempre claves de 256, 350 o 1024 bits? La respuesta es que tanto por razones de velocidad porque cuanto más larga sea la clave más se tarda en decodificar y sobre todo porque el objetivo de la criptografía es proteger información con claves lo más sencillas posibles, pero que sigan siendo seguras.
Cuando se utilizan claves más largas sobre todo es para tener un margen de seguridad suficientemente grande. Si por cualquier razón nuestro algoritmo criptográfico se viera comprometido podremos siempre encontrar un poco más de seguridad en claves un poco más largas. El balance está entre crear claves cortas para ser más manejables y proporcionar la seguridad que busquemos para nuestros datos.
Si quiere jugar a valorar la seguridad de los diferentes tamaños de clave que se utilizan en algunos algoritmos criptográficos, esta página hace una interesante comparación interactiva: Key Length

10 Clave Pública