La fonction ILE CIPHER constitue le moyen le plus simple de mettre en oeuvre le cryptage DES sur l'AS/400. Notez bine qu'il ne faut pas confondre la fonction intégrée ILE CIPHER avec une fonction intégrée ILE. Les fonctions “intégrées” (built-in function ou BIF) sont des constructions RPG ILE, telles que
La fonction intégrée _CIPHER
%SUBST.
Le type de fonctions “intégrées” dont nous parlons ici sont des instructions en
langage MI, dont le nom commence par un caractère souligné (_). Ces instructions
font souvent partie du code source RPG ILE, et les appels à ces fonctions ressemblent
aux appels à des procédures liées, sauf qu’ils ne créent aucune entrée supplémentaire
dans la pile d’appel.
Le manuel IBM Machine Interface Functional Reference (SC41-5810) documente
la fonction _CIPHER. La figure 1 décrit les trois paramètres obligatoires de la
fonction. Le premier et le troisième paramètres représentent respectivement des
pointeurs vers le texte chiffré en sortie et le texte en clair en entrée. Le deuxième
paramètre est une structure de données de 32 octets dans laquelle on place les
cinq renseignements suivants :
- un identificateur de fonction entière sur deux octets, dont la valeur doit
être égale à 2 pour crypter - un entier codé sur deux octets et représentant la longueur du texte en
clair. Cette valeur doit être un multiple de 8 et inférieure à 64 - un sélecteur de mode d’un octet qui doit être égal à X’00’ pour le mode
ECB ou X’40’ pour le mode CBC - la clé de 56 bits, repartie sur huit octets
- une valeur de chaînage initiale de huit octets, utilisée lorsque le sélecteur
de mode est X’40’ pour le mode CBC
A partir du RPG/400 ILE, on peut utiliser le code opération CALLP ou CALLB pour
invoquer la fonction _CIPHER (même si _CIPHER ne peut pas être appelé via un pointeur
de procédure, ni même voir son adresse récupérée avec la fonction intégrée ILE
%PADDR). La figure 2 présente un programme RPG/400 ILE appelant _CIPHER pour crypter
une ID utilisateur de 16 octets. A partir d’un mot de passe de huit octets, le
programme RPG commence par générer une clé DES de 56 bits utilisant des opérations
BITON/BITOFF. Il invoque ensuite _CIPHER pour coder le texte en clair de l’ID
utilisateur en mode CBC. Le mot de passe converti représente la clé. En principe,
la fonction appelant ce programme compare l’ID utilisateur cryptée avec une ID
utilisateur cryptée enregistrée précédemment dans la base de données. Si les deux
coïncident, l’application autorise l’utilisateur à continuer.
Téléchargez cette ressource
SIEM & PME : Comment construire la boîte noire de votre SI ?
Passez à la cybersécurité proactive, transformez la collecte et l’analyse des logs en un bouclier dynamique contre les cybermenaces. Découvrez comment mettre en place une approche SIEM modulaire, évolutive et accessible, pour anticiper, détecter et réagir efficacement aux attaques.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
- L’IA transforme la modernisation IT en enjeu stratégique d’entreprise
- D’un centre de coûts à un centre de valeur : la transformation des centres de contact
- Utilities : la résilience des réseaux devient prioritaire face à la pression énergétique
Articles les + lus
Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
Raccourcis PowerShell et Windows Terminal pour les Professionnels IT
Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
Sécurité : une approche dans la durée avant tout
Guide Ultime des Raccourcis Clavier Windows 11 pour les Professionnels IT
À la une de la chaîne Tech
- Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
- Raccourcis PowerShell et Windows Terminal pour les Professionnels IT
- Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
- Sécurité : une approche dans la durée avant tout
- Guide Ultime des Raccourcis Clavier Windows 11 pour les Professionnels IT
