Blowfish: Diferenzas entre revisións
Contido eliminado Contido engadido
m r2.7.1) (Bot: Engado: zh:Blowfish (密码学) |
arranxiños ortográficos |
||
Liña 1:
En [[criptografía]], '''Blowfish''' é un codificador de [[bloques simétricos]], deseñado por [[Bruce Schneier]] no 1993 e
Schneier
==Funcionamento do algoritmo==
[[Ficheiro:DiagramaBlowfish.png|right|thumbnail|216px|Diagrama de Blowfish.]]
Blowfish usa bloques de 64 [[bit|bits]] e [[chave (criptografía)|chaves]] que van desde os 32 bits ata os 448 bits. É un codificador de 16 rondas [[Red de Feistel|Feistel]] e usa chaves que dependen das Caixas-S. Teñen unha estrutura similar a [[CAST-128]], o cal usa Caixas-S fixas.
O diagrama amosa a acción de Blowfish. Cada liña representa 32 bits. O algoritmo garda 2 arranxos de subchaves: O arranxo P de 18 entradas e 4 caixas-S de 256 entradas. Unha entrada do arranxo P é usada cada ronda, despois da ronda final, a cada metade do bloque de datos
A función divide as entradas de 32 bits en 4 bloques de 8 bits, e usa os bloques como entradas para as caixas-S. As saídas deben estar no módulo 2<sup>32</sup> e
[[Ficheiro:BlowfishFuncionF.png|left|thumbnail|250px|Diagrama da función F de Blowfish]]
Debido a que Blowfish esta na rede Feistel, pode ser invertido aplicando un XOR entre P<sub>17</sub> e P<sub>18</sub> ao bloque texto codificado, e así sucesivamente
A xeración de chaves comeza inicializando os P-arranxos e as caixas-S cos valores derivados dos díxitos hexadecimales de pi, os cales non conteñen patróns obvios. A chave secreta aplicaselle un XOR cas P-entradas en orde (ciclando a llave se é necesario). Un bloque de 64 bits de puros ceros é cifrado co algoritmo como se indica. O texto codificado resultante reemplaza a P<sub>1</sub> e P<sub>2</sub>. Entón o texto codificado é cifrado de novo cas novas subchaves, P<sub>3</sub> e P<sub>4</sub> son remplazadas polo novo texto codificado. Isto continúa, reemplazando todas as entradas do P-arranxo e todas as entradas das caixas-S. En total, o [[algoritmo]] de cifrado Blowfish correrá 521 veces para xerar todas as subchaves, cerca de 4KB de datos son procesados.▼
▲A xeración de chaves comeza
[[Categoría:Criptografía]]
|