Article de reference

Routine de chiffrement sécurisée et rapide

En cryptographie , SAFER ( Secure and Fast Encryption Routine ) désigne une famille de chiffrements par blocs conçue principalement par James Massey (l'un des concepteurs d' IDE...

En cryptographie , SAFER ( Secure and Fast Encryption Routine ) désigne une famille de chiffrements par blocs conçue principalement par James Massey (l'un des concepteurs d' IDEA ) pour le compte de Cylink Corporation. Sa première variante a été publiée en 1993, et d'autres variantes ont suivi jusqu'aux alentours de 2000. Les premières versions , SAFER K et SAFER SK, partagent la même fonction de chiffrement , mais diffèrent par le nombre de tours et le cycle de génération des clés . Les versions plus récentes , SAFER+ et SAFER++ , ont été proposées comme candidates au processus AES en 1998 et au projet NESSIE en 2000, respectivement. Tous les algorithmes de la famille SAFER ne sont pas brevetés et peuvent être utilisés librement.

La fonction ronde SAFER K et SAFER SK.

Le premier chiffrement SAFER, le SAFER K-64 , a été publié par Massey en 1993 avec une taille de bloc de 64 bits . « K-64 » indique une taille de clé de 64 bits. Face à la demande croissante pour une version avec une clé plus longue de 128 bits , Massey publia l'année suivante une variante intégrant un nouveau schéma de clés conçu par le ministère de l'Intérieur de Singapour : le SAFER K-128 . Cependant, Lars Knudsen et Sean Murphy ont tous deux décelé des faiblesses mineures dans cette version, ce qui a conduit à une refonte du schéma de clés selon la proposition de Knudsen. Ces variantes ont été nommées respectivement SAFER SK-64 et SAFER SK-128 , « SK » signifiant « Strengthened Key schedule » (schéma de clés renforcé). La FAQ de RSA rapporte toutefois qu'« une plaisanterie prétend que SK signifie en réalité "Stop Knudsen", une sage précaution dans la conception de tout chiffrement par blocs ». Une autre variante avec une taille de clé réduite a été publiée, SAFER SK-40 , pour se conformer aux restrictions d'exportation de 40 bits .

Tous ces chiffrements utilisent la même fonction de tour, composée de quatre étapes, comme illustré dans le schéma : une étape de mélange de clés, une couche de substitution, une autre étape de mélange de clés, et enfin une couche de diffusion. Lors de la première étape de mélange de clés, le bloc de texte clair est divisé en huit segments de 8 bits, et des sous-clés sont ajoutées par addition modulo 256 (représentée par un « + » dans un carré) ou par OU exclusif (représenté par un « + » dans un cercle). La couche de substitution est constituée de deux boîtes S , inverses l’une de l’autre, dérivées des fonctions d’exponentiation discrète (45x ) et de logarithme (log₄₅x ) . Après une seconde étape de mélange de clés, on trouve la couche de diffusion : un composant cryptographique novateur appelé transformation pseudo-Hadamard ( PHT ). (La PHT a également été utilisée ultérieurement dans le chiffrement Twofish .)

SAFER+ et SAFER++

Deux membres plus récents de la famille SAFER ont apporté des modifications à la routine de chiffrement principale, conçue par les cryptographes arméniens Gurgen Khachatrian (Université américaine d'Arménie) et Melsik Kuregian en collaboration avec Massey.

  • SAFER+ (Massey et al., 1998) a été proposé comme candidat pour la norme de chiffrement avancée (AES) et utilise une taille de bloc de 128 bits. Ce chiffrement n'a pas été retenu comme finaliste. Bluetooth utilise des algorithmes personnalisés basés sur SAFER+ pour la génération de clés (appelés E21 et E22) et l'authentification sous forme de codes d'authentification de message (appelés E1). Le chiffrement dans Bluetooth n'utilise pas SAFER+.
  • SAFER++ (Massey et al., 2000) a été soumis au projet NESSIE en deux versions, l'une avec 64 bits et l'autre avec 128 bits.