> Tech > CRYPTage et secrets de l’AS/400

CRYPTage et secrets de l’AS/400

Tech - Par iTPro.fr - Publié le 24 juin 2010
email

par Gene Gaunt
L'utilitaire CRYPT simplifie le cryptage DES (Data Encryption Standard) bidirectionnel dans les programmes ILE et OPM. Il y a deux façons économiques de mettre en oeuvre le standard de cryptage DES
(Data Encryption Standard) dans les logiciels AS/400 :

  • La fonction intégrée ILE (Integrated Language Environment) _CIPHER permet le cryptage unidirectionnel dans les programmes ILE.
  • Le programme CRYPT, présenté dans cet article, permet le cryptage bidirectionnel, à  la fois dans les programmes OPM (Original Program Model) et ILE.
Voici 25 ans naissait le DES, d'un algorithme de cryptage créé par IBM, baptisé Lucifer, sur le site Yorktown Heights Research. La NSA (National Security Agency) aux USA a persuadé IBM de soumettre l'algorithme au bureau des normes du Département du Commerce (équivalent de notre AFNOR ndlr), qui sollicitait des idées pour un standard cryptographique national. Sous couvert de ce projet, et dans le secret, la NSA a légèrement modifié l'algorithme. Le 23 novembre 1976, le Département du Commerce a approuvé l'algorithme commun IBM-NSA comme le standard fédéral pour les applications non militaires, et l'a rebaptisé Data Encryption Standard.Les spécifications officielles du DES se trouvent dans le document Federal Information Processing Standards Publication 46-2 (FIPS Pub 46). Ces spécifications sont également disponibles sur le site Web du NIST (National Institut of Standards and Technology) à  l'adresse http://www.nist.gov/itl/div897/pubs/fip46-2.htm.
Une copie de cette publication a servi à  rédiger le programme CRYPT.

Un processeur DES permet un cryptage unidirectionnel ou bidirectionnel

L’algorithme DES constitue un ensemble d’étapes mathématiques transformant le
texte en clair en texte chiffré et vice-versa. L’algorithme travaille sur des
blocs de huit octets (64 bits). Le processus peut être mis en oeuvre au niveau
du matériel ou du logiciel. Un processeur DES permet un cryptage unidirectionnel
(texte en clair vers texte chiffré) ou bidirectionnel (texte en clair vers texte
chiffré puis vers texte en clair récupéré).

Pour coder des données, il est indispensable de fournir deux choses au processeur
DES :

  • en entrée, une chaîne de caractères en texte clair dont la longueur en
    octet est un multiple de 8
  • une clé secrète de 56 bits

Le processeur DES fusionne la chaîne de caractères en entrée avec la clé de 56
bits pour calculer le texte chiffré, qui constitue la chaîne de caractères en
sortie. Chaque bit en sortie est le résultat d’une fonction complexe exécutée
sur chaque bit en entrée combiné avec chaque bit de la clé. La fonction consiste
en 16 itérations d’opérations de type OU exclusif, substitutions sur un demi octet
et de permutations au niveau du bit

Pour décrypter les données, il est nécessaire de fournir au processeur DES le
texte chiffré et la même clé que celle utilisée pour coder le texte en
clair. Les algorithmes de cryptage et de décryptage sont identiques. La confidentialité
de la clé (et non la confidentialité de l’algorithme de cryptage) permet au texte
chiffré de rester illisible pour les intrus.

La plupart des implémentations du standard DES utilisent huit octets (64 bits)
pour conserver le secret de la clé de 56 bits. Cette technique ignore chaque bit
occupant la huitième position et ne tient compte que des sept premiers bits de
chaque octet de la clé. La fonction _CIPHER ainsi que le programme CRYPT décrit
dans cet article utilisent tous les deux cette convention.

Un autre document du NIST, DES Modes of Operation (FIPS PUB 81, non disponible
en ligne, mais pouvant être commandé à  l’adresse http://chaos.fedworld.gov/ordernow),
décrit deux façons d’exécuter une session DES : en mode Electronique Codebook
(ECB) et en mode Clipper Bloc Chaining (CBC). En mode ECB, le cryptage ou le décryptage
s’effectuent indépendamment sur des blocs discrets de huit octets. En mode CBC,
on fournit une valeur initiale de chaînage de huit octets au processeur DES. Le
processeur effectue une opération OU exclusif sur cette valeur, le résultat de
cette opération devenant le premier bloc en entrée. Ensuite, le processeur effectue
une opération OU exclusif sur la sortie du bloc courant, le résultat devenant
l’entrée du bloc suivant. Un processeur DES type procure un commutateur pour choisir
entre les modes ECB et CBC.

Téléchargez cette ressource

Cybersécurité des collectivités : Enjeux, Perspectives & Solutions

Cybersécurité des collectivités : Enjeux, Perspectives & Solutions

Villes, intercommunalités, métropoles, départements et régions sont particulièrement exposés aux risques de cybersécurité. Ce livre blanc Stormshield présente les défis cyber que rencontrent les collectivités, les solutions et perspectives pour qu’elles puissent assurer leur mission d’utilité publique, en toute sécurité.

Tech - Par iTPro.fr - Publié le 24 juin 2010