¿Qué es el algoritmo Twofish?

Algoritmo de dos peces:

Twofish es un cifrado de bloque simétrico; Se utiliza una sola clave para el cifrado y descifrado. Twofish tiene un tamaño de bloque de 128 bits y acepta una clave de cualquier longitud de hasta 256 bits. (NIST requirió el algoritmo para aceptar claves de 128, 192 y 256 bits). Twofish es rápido tanto en CPU de 32 bits como de 8 bits (tarjetas inteligentes, chips integrados y similares) y en hardware. Y es flexible; se puede usar en aplicaciones de red donde las claves se cambian con frecuencia y en aplicaciones donde hay poca o ninguna RAM y ROM disponibles.

Twofish grita en las CPU de gama alta, y es lo suficientemente flexible para pequeñas CPU de tarjetas inteligentes. También funciona bien en hardware. Y hay varias compensaciones de rendimiento entre el tiempo de configuración de la clave y la velocidad de cifrado que lo hacen único entre los candidatos AES.

Ningún otro algoritmo tiene la misma flexibilidad en la implementación: la capacidad de cambiar el tiempo de configuración de la clave por la velocidad de cifrado, y ROM y RAM por la velocidad de cifrado. Estas opciones existen en CPU de 32 bits, CPU de 8 bits y hardware.

Y Twofish hace esto con un diseño conservador. Elegimos no modificar la red básica de Feistel. No utilizamos rotaciones dependientes de datos, multiplicaciones de 32 bits ni ninguna otra primitiva mal entendida. El programa clave está diseñado para resistir incluso los ataques más desagradables. Y le dimos al cifrado 16 rondas cuando solo pudimos romper cinco.

Un cifrado de bloque de clave simétrica con un tamaño de bloque de 128 bits y tamaños de clave de hasta 256 bits. En lugar de copiar un sitio web completo, lea Twofish – Wikipedia.

More Interesting

¿Cuáles son las cosas adicionales además de DS y Algo serían buenas para la entrevista?

Dado un problema, como un problema de diseño o un problema de algoritmos, ¿cómo resolverá un ingeniero de software experimentado ese problema?

¿Cuál es la complejidad temporal de las funciones incorporadas en C ++?

Si podemos ordenar datos usando SQL, ¿por qué necesitamos estudiar diferentes algoritmos de ordenación?

¿Cuáles son los principales usos de un diagrama de flujo?

¿Cuáles son algunos de los buenos libros sobre Algoritmos de aprendizaje automático de árbol de decisión?

Cómo realizar una operación de revolución usando un treap

¿Por qué el problema de detención se considera no solucionable mientras manipulamos / negamos la respuesta nosotros mismos con la máquina N al final de la máquina X?

¿Cuáles son los principios para crear algoritmos utilizando tipos de datos abstractos?

¿Qué idioma es mejor para los algoritmos de búsqueda: Java o Python? ¿Por qué?

¿Qué algoritmos se pueden usar para encontrar rutas más seguras en una red de modo que sea casi imposible de rastrear y ningún pirata informático pueda utilizarlo completamente?

¿Qué necesitas saber para aprender algoritmos? Probé los algoritmos gratuitos de Coursera y el curso de estructuras de datos de Princeton y me perdí por completo.

¿Qué es el algoritmo para completar la etiqueta de inicio HTML faltante en Java?

¿Cuál es la diferencia entre recursividad e iteraciones brevemente?

¿Qué algoritmo es mejor para una variante 4 * 4 * 4 * 4 del último dedo del pie tic-tac considerando un límite de tiempo de 15 segundos?