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
Sécuriser votre système d’impression
Longtemps sous-estimée, la sécurisation d’un système d’impression d’entreprise doit être pleinement prise en compte afin de limiter le risque de fuite d’informations sensibles. Voici les 3 principales précautions à prendre.