Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
si:blockci [2024/09/24 15:51] – thejuanvisu | si:blockci [2024/10/01 15:28] (actual) – thejuanvisu | ||
---|---|---|---|
Línea 30: | Línea 30: | ||
### | ### | ||
===== Data Encryption Standard (DES) & Advanced Encryption Standard (AES) ===== | ===== Data Encryption Standard (DES) & Advanced Encryption Standard (AES) ===== | ||
+ | ### | ||
DES es un block cipher que usa claves y bloques con un input de 64 bits y una salida de 64 bits y una clave de cifrado de 56 bits. Lo malo es que en la actualidad ya no es lo suficientemente seguro, siendo retirado en 2021. Existe una variante de DES llamada 3DES que utiliza una clave de 168 Bits. AES utiliza claves de 128 o 256 bits, mucho más grandes que las de DES. Si bien no hay pruebas científicas de que las encriptaciones anidadas sean más seguras, pero en el sector informático parecer ser que si es más seguro, aunque no hay pruebas contundentes de esto. | DES es un block cipher que usa claves y bloques con un input de 64 bits y una salida de 64 bits y una clave de cifrado de 56 bits. Lo malo es que en la actualidad ya no es lo suficientemente seguro, siendo retirado en 2021. Existe una variante de DES llamada 3DES que utiliza una clave de 168 Bits. AES utiliza claves de 128 o 256 bits, mucho más grandes que las de DES. Si bien no hay pruebas científicas de que las encriptaciones anidadas sean más seguras, pero en el sector informático parecer ser que si es más seguro, aunque no hay pruebas contundentes de esto. | ||
+ | ### | ||
- | AES tiene un bloque de input y 10 rondas diferentes que realizan cada una una clave y transforma cada una la entrada que reciben. Este es un cifrado iterado y destaca por su velocidad en hardware. Generalmente el AES se aplica en hardware y no en software. El input se organiza como un array en una matriz. | + | |
+ | ### | ||
+ | AES tiene un bloque de input y 10 rondas diferentes que realizan cada una una clave y transforma cada una la entrada que reciben. Este es un cifrado iterado y destaca por su velocidad en hardware. Generalmente el AES se aplica en hardware y no en software. El input se organiza como un array en una matriz. | ||
+ | ### | ||
+ | |||
==== Rondas ==== | ==== Rondas ==== | ||
Línea 40: | Línea 46: | ||
- La tercera operación divide la clave en múltiples piezas y aplica la clave para cifrarlas. | - La tercera operación divide la clave en múltiples piezas y aplica la clave para cifrarlas. | ||
- | Seguridad de DES y AES | + | ==== Seguridad de DES y AES ==== |
* DES es vulnerable a ataques de búsqueda de clave. Se pudo romper en menos de 13 días en 2007. En cambio, en AES esto llevaría 10^20 años si el ataque fuera de fuerza bruta. | * DES es vulnerable a ataques de búsqueda de clave. Se pudo romper en menos de 13 días en 2007. En cambio, en AES esto llevaría 10^20 años si el ataque fuera de fuerza bruta. | ||
+ | * 3DES probablemente será decomisionado próximamente | ||
* Con los medios actuales la seguridad mínima recomendable es de 128 bits, aunque se recomienda que la clave sea de 256 bits. | * Con los medios actuales la seguridad mínima recomendable es de 128 bits, aunque se recomienda que la clave sea de 256 bits. | ||
+ | |||
+ | |||
+ | ===== Ataques a block ciphers ===== | ||
+ | |||
+ | * Los ataques algorítmicos confían en el análisis matemático de las operaciones internas de un block cipher. No suelen ser muy exitosos a menos que el algoritmo del block cipher contenga algún error o defecto. | ||
+ | * Side Channel attack: Se aprovecha de que el proceso se realiza por hardware ya que en función a los valores con los que se trabaje, el consumo energético y la temperatura varían, lo que permite estimar cuando se está cifrando o no. | ||
+ | * Fault-Injection: | ||
+ | * Quantum computation attacks: Se usa un ordenador cuántico para realizar el ataque, aunque en la actualidad los ordenadores cuánticos aún presentan muchos problemas. | ||
+ | |||
+ | ===== Funciones pseudo-aleatorias (PRFs) ===== | ||
+ | Similar a un block cipher, también funciona de forma determinística, | ||
+ | $F: K x X -> Y$ | ||
+ | |||
+ | Todos los block cipher son funciones pseudoaleatorias, | ||
+ | |||
+ | Los block cipher son seguros cuando no pueden ser distinguidas de una función cualquiera. | ||
+ | |||
+ | ==== Block Ciphers y PRFs ==== | ||
+ | * Un block cifer es seguro solo si el bloque de salida es lo suficientemente largo, debe ser superpolinomial. | ||
+ | * Un atacante puede usar un Birthday Attack contra los block cipher. | ||
+ | * La diferencia computacional entre un block cipher y una buena función pseudoaleatoria no se puede diferenciar. | ||
+ | * Si tenemos un block cipher seguro, lo podemos usar como una función pseudoaleatoria segura (PRF Switching Lemma) | ||
+ | |||