CAST-128
# CAST-128

En criptografía, CAST-128 (o también, CAST5) es un cifrador por bloques usado en un gran número de productos, notablemente como cifrador por defecto en algunas versiones de GPG y PGP. Ha sido aprobado por el gobierno canadiense para ser usado por el Communications Security Establishment. El algoritmo fue creado en 1996 por Carlisle Adams y Stafford Tavares usando el procedimiento de diseño CAST. Otro miembro de la familia de CAST es CAST-256 (un candidato a AES) derivó de CAST-128. De acuerdo con algunas fuentes, el nombre CAST se basa en las iniciales de sus autores, mientras que Bruce Schneier informa que los autores indican que “el nombre debería conjurar imágenes de aleatoriedad” (Schneier, 1996).
CAST-128 es un cifrador de 12 o 16 rondas que se basa en la red de Feistel con bloques de 64 bits y tamaños de clave entre 40 y 128 bits (pero con solo incrementos de 8 bits). Las 16 rondas completas se usan cuando la clave tiene un tamaño mayor de 80 bits. Incluye unas largas S-Boxes de 8x32 bits basadas en funciones bent, rotaciones dependientes de clave, adición y sustracción modular y operaciones XOR. Hay tres tipos alternativos de funciones de ronda, pero son de estructura similar y se diferencian sólo en la elección del tipo exacto de operación (XOR, adición o sustracción) en varios puntos.
A pesar de que Entrust posee la patente del procedimiento de diseño de CAST, CAST-128 está disponible globalmente con licencias para usos comerciales y no comerciales libres de regalías.