Blowfish

Blowfish

Blowfish

En criptografía, Blowfish es un codificador de bloques simétricos, diseñado por Bruce Schneier en 1993 e incluido en un gran número de conjuntos de codificadores y productos de cifrado. Mientras que ningún analizador de cifrados de Blowfish efectivo ha sido encontrado hoy en día, se ha dado más atención de la decodificación de bloques con bloques más grandes, como AES y Twofish.

Schneier diseñó Blowfish como un algoritmo de uso general, que intentaba reemplazar al antiguo DES y evitar los problemas asociados con otros algoritmos. Al mismo tiempo, muchos otros diseños eran propiedad privada, patentados o los guardaba el gobierno. Schneier declaró “Blowfish no tiene patente, y así se quedará en los demás continentes. El algoritmo está a disposición del público, y puede ser usado libremente por cualquiera”.

El Algoritmo

Diagrama de Blowfish

Blowfish usa bloques de 64 bits y claves que van desde los 32 bits hasta 448 bits. Es un codificador de 16 rondas Feistel y usa llaves que dependen de las Cajas-S. Tiene una estructura similar a CAST-128, el cual usa Cajas-S fijas.

El diagrama muestra la acción de Blowfish. Cada línea representa 32 bits. El algoritmo guarda 2 arrays de subclaves: El array P de 18 entradas y 4 cajas-S de 256 entradas. Una entrada del array P es usada cada ronda, después de la ronda final, a cada mitad del bloque de datos se le aplica un XOR con uno de las 2 entradas del array P que no han sido utilizadas.

La función divide las entrada de 32 bits en 4 bloques de 8 bits, y usa los bloques como entradas para las cajas-S. Las salidas deben estar en módulo 232 y se les aplica un XOR para producir la salida final de 32 bits.

Diagrama de la función F de Blowfish

Debido a que Blowfish está en la red Feistel, puede ser invertido aplicando un XOR entre P17 y P18 al bloque texto codificado, y así sucesivamente se usan las P-entradas en orden reversivo.

La generación de claves comienza inicializando los P-arrays y las cajas-S con los valores derivados de los dígitos hexadecimales de pi, los cuales no contienen patrones obvios. A la clave secreta se le aplica un XOR con las P-entradas en orden (ciclando la clave si es necesario). Un bloque de 64 bits de puros ceros es cifrado con el algoritmo como se indica. El texto codificado resultante reemplaza a P1 y P2. Entonces el texto codificado es cifrado de nuevo con la nuevas subclaves, P3 y P4 son reemplazados por el nuevo texto codificado. Esto continúa, reemplazando todas las entradas del P-array y todas las entradas de las cajas-S. En total, el algoritmo de cifrado Blowfish correrá 521 veces para generar todas las subclaves, cerca de 4KB de datos son procesados.

Obtenido de "Blowfish"

Wikimedia foundation. 2010.

Игры ⚽ Поможем сделать НИР

Mira otros diccionarios:

  • Blowfish-16 — Blowfish Feistelnetzwerk von Blowfish Entwickler Bruce Schneier Veröffentlicht 1993 Schlüssellänge 32 448 Bit (Standard 128 Bit) Block …   Deutsch Wikipedia

  • Blowfish-8 — Blowfish Feistelnetzwerk von Blowfish Entwickler Bruce Schneier Veröffentlicht 1993 Schlüssellänge 32 448 Bit (Standard 128 Bit) Block …   Deutsch Wikipedia

  • Blowfish — Feistelnetzwerk von Blowfish Entwickler Bruce Schneier Veröffentlicht 1993 Schlüssellänge 32 448 Bit (Standar …   Deutsch Wikipedia

  • Blowfish — Résumé Concepteur(s) Bruce Schneier Première publication 1993 Dérivé de …   Wikipédia en Français

  • Blowfish — Создатель: Брюс Шнайер Создан: 1993 г. Опубликован: 1993 г. Размер ключа: от 32 до 448 бит Размер блока: 64 бит Число раундов: 16 Тип …   Википедия

  • blowfish — ☆ blowfish [blō′fish΄ ] n. pl. blowfish or blowfishes (see FISH) PUFFER (sense 2) …   English World dictionary

  • blowfish — low fish n. 1. a fish eaten as a delicacy, especially in Japan. It is highly dangerous because of a potent nerve poison (tetrodotoxin) in its ovaries and liver. Chefs require special training to learn how to remove the poisonous parts, and in… …   The Collaborative International Dictionary of English

  • Blowfish — Blowfish,   ein 1993 entwickeltes Verfahren zur Datenverschlüsselung. Es arbeitet mit Datenblöcken der Größe 64 bit sowie unterschiedlichen Schlüssellängen von 32 bis 338 bit und gilt als sicher …   Universal-Lexikon

  • blowfish — also blow fish, 1862, Amer.Eng., from BLOW (Cf. blow) (v.1) + FISH (Cf. fish) (n.). Then he described another odd product of the bay, that was known as the blow fish, and had the power of inflating himself with air when taken out of the water. [… …   Etymology dictionary

  • Blowfish — En criptografía, Blowfish es un codificador de bloques simétricos, diseñado por Bruce Schneier en 1993 e incluido en un gran número de suites de codificadores y productos de cifrado. Mientas que ningún analizador de cifrados de Blowfish efectivo… …   Enciclopedia Universal

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”