title: CAST-128
text: # CAST-128
  
  CAST-128 (ou CAST5) est un algorithme de chiffrement par bloc utilisé par plusieurs logiciels dont certaines versions de PGP et GNU Privacy Guard. Il a été approuvé au Canada par le Communications Security Establishment pour une utilisation gouvernementale. Il est décrit par la RFC 2144.
  
  L'algorithme a été conçu en 1996 par Carlisle Adams et Stafford Tavares. Une version avec une clé plus grande, CAST-256 (ancien candidat pour AES), a été dérivée à partir de CAST-128. Le terme de « CAST » serait basé sur les initiales des inventeurs.
  
  CAST-128 est basé sur un réseau de Feistel de 12 ou 16 tours avec un bloc de 64 bits. La taille de la clé varie entre 40 et 128 bits (par incrément de 8 bits). La version complète avec ses 16 tours est utilisée quand la clé est supérieure à 80 bits. L'architecture interne du chiffrement comprend des S-Boxes de 8x32 éléments dont le contenu provient de fonctions dites courbe, des rotations qui varient selon la clé, des additions et des soustractions. Il y a trois types de tours mais ils ne varient que sur le choix exact de l'opérateur (addition, soustraction ou XOR).
  
  Malgré un brevet déposé par Entrust sur la conception CAST, CAST-128 est disponible partout sans charges pour des applications commerciales ou non commerciales.
  
  