Aires fonctionnelles
Cryptographie de base
Ces fonctions sont contextuelles et utilisent les services d'un fournisseur de services cryprographiques précédement choisi par titre ou par fonctionnalité.
Nous y trouvons les fonctions de génération et d'emmagasination de clés, la gestion du mode chainage (mélange de données cryptées et non cryptées) et des vecteurs d'initialisation (graines permettant de former une cryptographie unique par message).
L'emmagasinnation des clés est importante car il est parfois nécessaire d'extraire les clés généralement,
- lorsqu'une clé de session (donc temporaire) doit être conservée pour un usage ultérieur,
- lorsqu'une clé doit être transmise à un tiers.
Une clé n'est jamais extraite en clair, elle est transmise sous forme de BLOB - Binary Large OBject, un objet binaire qui n'est pas directement intérprétable par le système qui l'utilise, dans notre cas, il s'agit d'un clé cryptée.
Codage/décodage
Nous y trouvons les fonctions permettant de chiffrer et déchiffrer des données (hachage, cryptage).
Magasin de certificat
Il est important ici de penser magasin comme un magasin d'entreprise (entrée/sortie de stocks) et non comme un magasin grand public (épicerie, grande surface).
Nous y trouvons les fonctions assurant la gestion de collections de certificats digitaux.
Messages simplifiés
Nous y trouvons un jeu de fonctions de haut niveau permettant de simplifier la manipulation classique des messages cryptographiques.
Elles enveloppe une partie des fonctionnalités de base de la cryptographie, des messages de bas niveau et de la gestion des certificats dans des fonctions toutes-en-une, telles que:
- le cryptage et le décryptage des messages et des données,
- la signature des messages et des données,
- la vérification de l'authenticité des signatures reçues avec les messages et leurs données associées.
Messages de bas niveau
Les fonctions de messages de bas niveau permettent une plus grande flexibilitée que les messages simplifiés mais nécessite plus de code. Ces fonctions sont utilisées par les fonctions de messages simplifiés.
La gestion (construction, modification, réception, etc…) des messages avec ces fonctions s'effectue au fur et à mesure de leurs appels, ainsi une fonction ouvre un message et ce dernier reste ouvert et modifiable jusqu'à ce qu'une fonction le ferme.
L'utilisation de ces fonctions nécessite pour la construction du message de faire appel à des fonctions d'autres aires fonctionnelles comme l'emmaganisation des certificats, et la cryptographie de base.
On y reconnait les aires fonctionnelles, pour la programmation, une nommenclature particulière leur est associée:
Aire fonctionnelles | Nommenclature |
---|---|
Cryptographie de base | Crypt |
Codage/décodage | Crypt |
Magasin de certificat | Store |
Messages simplifiés | Message |
Messages de bas niveau | Msg |