DEENESPTFRRUARHIKOZHNL

namespace ara::crypto::cryp

Guide utilisateurGÉNÉRÉ PAR IA

Définit des interfaces pour les calculs cryptographiques, les objets de clés et leur gestion du stockage.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : f15c72def571 Provenance Questions ouvertes (3)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Définit des interfaces pour les calculs cryptographiques, les objets de clés et leur gestion du stockage.

Le namespace ara::crypto::cryp met à disposition les interfaces centrales pour les opérations cryptographiques, les objets de clés et les stockages de clés dans l'AUTOSAR Adaptive Platform. Via la fabrique centrale CryptoProvider, les clés sont obtenues à partir d'instances de KeySlot et des contextes d'exécution spécialisés, dérivés de CryptoContext, sont instanciés pour le chiffrement, les signatures ou le hachage. Les opérations cryptographiques sont exécutées avec les données d'entrée après configuration du contexte avec état. Selon la présente interprétation, une contrainte essentielle réside dans l'encapsulation stricte du matériel de clé via CryptoObject ainsi que dans la différenciation des droits d'écriture via WriteableKeySlot.

Contexte et champ d'application

Le namespace ara::crypto::cryp constitue le cœur fonctionnel du module de cryptographie d'AUTOSAR Adaptive et fournit des interfaces pour les primitives cryptographiques, les modèles d'objets et les structures de gestion de clés. Au centre de l'architecture se trouve l'interface CryptoProvider, qui sert d'instance d'implémentation et de fabrique pour les algorithmes cryptographiques ainsi que pour l'accès aux stockages de clés. Les structures de données fondamentales et les clés sont représentées via l'interface commune CryptoObject, dont dérivent des types de clés concrets tels que SymmetricKey, PublicKey et PrivateKey. Les emplacements de stockage pour le matériel de clé sont représentés par KeySlot ainsi que sa spécialisation inscriptible WriteableKeySlot.

CrypKontext CryptoProvider CryptoProvider KeySlot KeySlot CryptoProvider->KeySlot verwaltet CryptoContext CryptoContext CryptoProvider->CryptoContext erzeugt CryptoObject CryptoObject KeySlot->CryptoObject haelt CryptoContext->CryptoObject utilise SymmetricKey SymmetricKey CryptoObject->SymmetricKey spezialisiert PublicKey PublicKey CryptoObject->PublicKey spezialisiert PrivateKey PrivateKey CryptoObject->PrivateKey spezialisiert WriteableKeySlot WriteableKeySlot WriteableKeySlot->KeySlot erweitert

Diagramme de contexte : interaction entre CryptoProvider, stockage de clés et contextes cryptographiques. Sources : aucune indiquée dans le payload.

Pour l'exécution de transformations cryptographiques, le namespace fournit une famille d'interfaces spécialisées qui reposent sur le contexte de base modifiable CryptoContext. Ces contextes d'exécution comprennent les chiffreurs symétriques (SymmetricCipherCtx, AuthCipherCtx), le chiffrement et déchiffrement asymétriques (EncryptorPublicCtx, DecryptorPrivateCtx) ainsi que des mécanismes de génération et de vérification de signatures (SignerPrivateCtx, VerifierPublicCtx). Cet éventail est complété par des contextes pour les fonctions de hachage (HashFunctionCtx), les codes d'authentification de message (MessageAuthnCodeCtx), la dérivation de clés (KeyDerivationFunctionCtx), l'accord de clés (KeyAgreementPrivateCtx), l'encapsulation de clés (KeyEncapsulatorPublicCtx, KeyDecapsulatorPrivateCtx), l'encapsulation de clés avec wrapping symétrique (SymmetricKeyWrapperCtx), la génération de nombres aléatoires (RandomGeneratorCtx) ainsi que l'importation sécurisée de clés (ProtectedKeyImportCtx).

Cycle de vie et maintien de l'état

La gestion et la durée de vie des artefacts cryptographiques sont étroitement couplées à l'interaction entre CryptoProvider, les objets de clés et les contextes. Selon la présente interprétation, le cycle de vie des contextes et objets cryptographiques est principalement contrôlé via les méthodes de fabrique et d'administration de CryptoProvider, qui fait office de point d'entrée central pour l'instanciation. Les objets qui dérivent de CryptoObject représentent des entités cryptographiques immuables ou gérées, tandis que CryptoContext est explicitement défini comme un contexte modifiable avec état. Cela exige que les configurations, les états intermédiaires et les paramètres algorithmiques soient maintenus au sein de l'instance de contexte respective.

Pour le stockage persistant ou temporaire de matériel de clé, le namespace fait la distinction entre KeySlot et WriteableKeySlot. Selon une interprétation adéquate, la séparation entre KeySlot et WriteableKeySlot devrait distinguer les accès en lecture des modifications de clés en écriture, de sorte que les zones de clés immuables ou protégées en écriture puissent être préservées d'un écrasement accidentel. Question Q-e1b708ca976f7e99 (ouverte) Les transformations d'état des clés et des contextes ont ainsi lieu sous le contrôle du fournisseur associé, qui garantit la validité des objets de clés tout au long de leur cycle de vie.

Chemin d'utilisation des opérations cryptographiques

Les opérations cryptographiques suivent généralement la séquence composée de l'interrogation du fournisseur, de la mise à disposition de la clé via des key slots et de l'initialisation du contexte avec état. Dans une première étape, un composant applicatif accède au CryptoProvider compétent. Via ce fournisseur, le matériel de clé requis est soit chargé depuis un KeySlot ou WriteableKeySlot, soit obtenu en tant que CryptoObject concret (par exemple en tant que SymmetricKey, PrivateKey ou PublicKey). En parallèle ou par la suite, le fournisseur génère l'instance appropriée de CryptoContext, par exemple un SymmetricCipherCtx pour les chiffrements ou un SignerPrivateCtx pour les signatures numériques.

Déroulement d’une opération cryptographiqueApplicationCryptoProviderKeySlotCryptoContextDemander une cléCharger l’objet cléCryptoObject bereitstellenRetourner CryptoObjectCryptoContext anfordernKontext instanziierenRetourner CryptoContextExécuter l'opérationErgebnis liefern

Diagramme de séquence : ordre d'appel typique lors de la réalisation d'opérations cryptographiques. Sources : aucune indiquée dans le payload.

Lors de l'étape d'exécution suivante, le contexte généré est configuré avec la clé chargée et alimenté avec les données utiles à traiter. En raison de la nature avec état de CryptoContext, des opérations de streaming ou des transformations en plusieurs étapes peuvent être effectuées pas à pas avant que le résultat cryptographique final (comme le cryptogramme, la signature ou la valeur de hachage) ne soit retourné à l'application. Une fois le traitement terminé, la libération des états volatils relève de la convention du contexte exécutant et du fournisseur.

Ce texte a été généré par une intelligence artificielle sur la base des métadonnées de la version R25-11.

Carte des thèmes

KI-gestützte Gruppierung auf Basis der Records und Spezifikationsauszüge; keine Gliederung aus der AUTOSAR-Spezifikation.

Diagramme de classes

Abgerundete Rahmen = Namespace- bzw. Klassen-Scopes; hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); graue Boxen = namespace-fremde bzw. externe Basisklassen. Klicken öffnet die jeweilige Klassen- bzw. cppreference-Seite.

G cluster_ns ara::crypto::cryp nara__crypto__cryp__AuthCipherCtx AuthCipherCtx nara__crypto__cryp__CryptoContext CryptoContext nara__crypto__cryp__AuthCipherCtx->nara__crypto__cryp__CryptoContext nara__crypto__cryp__CryptoObject CryptoObject next_ara__crypto__Serializable ara::crypto::Serializable nara__crypto__cryp__CryptoObject->next_ara__crypto__Serializable nara__crypto__cryp__CryptoProvider CryptoProvider nara__crypto__cryp__DecryptorPrivateCtx DecryptorPrivateCtx nara__crypto__cryp__DecryptorPrivateCtx->nara__crypto__cryp__CryptoContext nara__crypto__cryp__EncryptorPublicCtx EncryptorPublicCtx nara__crypto__cryp__EncryptorPublicCtx->nara__crypto__cryp__CryptoContext nara__crypto__cryp__HashFunctionCtx HashFunctionCtx nara__crypto__cryp__HashFunctionCtx->nara__crypto__cryp__CryptoContext nara__crypto__cryp__KeyAgreementPrivateCtx KeyAgreementPrivateCtx nara__crypto__cryp__KeyAgreementPrivateCtx->nara__crypto__cryp__CryptoContext nara__crypto__cryp__KeyDecapsulatorPrivateCtx KeyDecapsulatorPrivateCtx nara__crypto__cryp__KeyDecapsulatorPrivateCtx->nara__crypto__cryp__CryptoContext nara__crypto__cryp__KeyDerivationFunctionCtx KeyDerivationFunctionCtx nara__crypto__cryp__KeyDerivationFunctionCtx->nara__crypto__cryp__CryptoContext nara__crypto__cryp__KeyEncapsulatorPublicCtx KeyEncapsulatorPublicCtx nara__crypto__cryp__KeyEncapsulatorPublicCtx->nara__crypto__cryp__CryptoContext nara__crypto__cryp__KeySlot KeySlot nara__crypto__cryp__MessageAuthnCodeCtx MessageAuthnCodeCtx nara__crypto__cryp__MessageAuthnCodeCtx->nara__crypto__cryp__CryptoContext nara__crypto__cryp__PrivateKey PrivateKey nara__crypto__cryp__PrivateKey->nara__crypto__cryp__CryptoObject nara__crypto__cryp__ProtectedKeyImportCtx ProtectedKeyImportCtx nara__crypto__cryp__ProtectedKeyImportCtx->nara__crypto__cryp__CryptoContext nara__crypto__cryp__PublicKey PublicKey nara__crypto__cryp__PublicKey->nara__crypto__cryp__CryptoObject nara__crypto__cryp__RandomGeneratorCtx RandomGeneratorCtx nara__crypto__cryp__RandomGeneratorCtx->nara__crypto__cryp__CryptoContext nara__crypto__cryp__SignerPrivateCtx SignerPrivateCtx nara__crypto__cryp__SignerPrivateCtx->nara__crypto__cryp__CryptoContext nara__crypto__cryp__SymmetricCipherCtx SymmetricCipherCtx nara__crypto__cryp__SymmetricCipherCtx->nara__crypto__cryp__CryptoContext nara__crypto__cryp__SymmetricKey SymmetricKey nara__crypto__cryp__SymmetricKey->nara__crypto__cryp__CryptoObject nara__crypto__cryp__SymmetricKeyWrapperCtx SymmetricKeyWrapperCtx nara__crypto__cryp__SymmetricKeyWrapperCtx->nara__crypto__cryp__CryptoContext nara__crypto__cryp__VerifierPublicCtx VerifierPublicCtx nara__crypto__cryp__VerifierPublicCtx->nara__crypto__cryp__CryptoContext nara__crypto__cryp__WriteableKeySlot WriteableKeySlot nara__crypto__cryp__WriteableKeySlot->nara__crypto__cryp__KeySlot

Vue détaillée

Sélectionnez une entrée dans le plan.

Verschlüsselung

Authenticated Cipher Context interface.

hérite de CryptoContext

Interface for asymmetric decryption.

hérite de CryptoContext

Interface for asymmetric encryption.

hérite de CryptoContext

Interface for Symmetric Cipher Operations.

hérite de CryptoContext

Signatur und MAC

Hash function interface.

hérite de CryptoContext

Keyed Message Authentication Code Context interface definition.

hérite de CryptoContext

Signature Private key Context interface.

hérite de CryptoContext

Signature Verification Public key Context interface.

hérite de CryptoContext

Schlüsselmaterial

Key Agreement Private key Context interface.

hérite de CryptoContext

Asymmetric Key Encapsulation Mechanism (KEM) Private key Context interface.

hérite de CryptoContext

Key Derivation Function interface.

hérite de CryptoContext

Asymmetric Key Encapsulation Mechanism (KEM) Public key Context interface.

hérite de CryptoContext

A contexts for importing secured data such as secret key-material.

hérite de CryptoContext

Context of a symmetric key wrap algorithm.

hérite de CryptoContext

Schlüsselobjekte

A common interface for all cryptographic objects recognizable by the Crypto Provider.

hérite de ara::crypto::Serializable

base de PrivateKey, PublicKey, SymmetricKey

PrivateKey classe

Generalized Asymmetric Private Key interface.

hérite de CryptoObject

PublicKey classe

General Asymmetric Public Key interface.

hérite de CryptoObject

Symmetric Key interface.

hérite de CryptoObject

Schlüsselspeicher

KeySlot classe

KeySlot interface representing a storage location for a key in a CryptoProvider.

base de WriteableKeySlot

WriteableKeySlot interface representing a writeable storage location for a key in a Crypto Provider.

hérite de KeySlot

Kontextbasis

CryptoProviderInterface representing one implementation of a set of cryptographic primitives with a key storage.

Interface of Random Number Generator Context.

hérite de CryptoContext