Si un sistema de encriptación permite el craqueo de caracteres por carácter, es muy débil y no debe utilizarse.
Matemáticamente, los cifrados de bloque se definen como permutaciones de pseudorandom . Un cifrado de bloque funciona en el espacio de bloques de longitud n bits; dicho espacio tiene un tamaño 2 n . Hay 2 n ! permutaciones sobre ese espacio (eso es un factorial, lo que significa que el número de posibles permutaciones es enorme ). Un cifrado de bloque seguro es tal que es indistinguible de una permutación seleccionada al azar, uniformemente, en el espacio de posibles permutaciones: se supone que cada clave corresponde a una elección aleatoria de permutación y, de manera crucial, todas las elecciones para todas las claves posibles los valores son independientes entre sí.
Lo que esto significa, en palabras mundanas, es que para un cifrado de bloque seguro, o tienes la clave completa, exactamente hasta el último bit, o no tienes nada. Contrariamente a las representaciones de Hollywood, una clave "casi buena" no da como resultado un "texto plano borroso": si incluso un bit de clave es incorrecto, debería recibir basura aleatoria (es decir, una salida lo suficientemente indistinguible de la basura aleatoria que no puede saber si estás cerca de la clave correcta o no).
Por supuesto, si el sistema de cifrado es débil, todo vale. @Mark cita un caso de "división" (en WPS) que es una debilidad atroz que puede, de hecho, ser explotada para ataques más rápidos. Los ataques de oráculo de relleno también funcionan en una fuga de byte por byte que permite la reconstrucción de byte por byte del texto plano ( no la clave, pero aún así).
Otro ejemplo más técnico es antiguo PKZip cifrado de flujo : un cifrado de flujo "casero" que resultó, con toda la inevitabilidad de la muerte en una tragedia griega, ser débil; El cifrado de flujo se basa en varias "claves" internas que se pueden desentrañar una por una. Aliento a las personas interesadas en la criptografía a que estudien ese ejemplo, ya que demuestra bastante bien la forma en que un criptoanalista piensa y por qué la simple acumulación de operaciones no garantiza la seguridad; y el ataque es lo suficientemente liviano como para implementarlo en la práctica (el costo total es aproximadamente 2 38 , que está dentro del rango de unas pocas horas de cómputo en una PC con una programación decente, no necesariamente un ensamblaje optimizado). / p>
Muchos sistemas criptográficos de antes de la era de la computadora podían romperse por carácter, ya que tenían que ser ejecutados por el cerebro humano de los operadores, y tales herramientas no son buenas para usar valores grandes o hacer mucho operaciones Los cifrados clásicos de transposición y sustitución (una familia muy grande) tienden a caer en el análisis de frecuencia de caracteres, que es, de hecho, una ruptura por carácter.