Offre une interface pour le chiffrement et le déchiffrement symétriques authentifiés avec protection de l'intégrité.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : a1dee2a3fcf5ProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Offre une interface pour le chiffrement et le déchiffrement symétriques authentifiés avec protection de l'intégrité.
L'interface ara::crypto::cryp::AuthCipherCtx sert au chiffrement et au déchiffrement authentifiés de données tout en garantissant la confidentialité et l'intégrité [SWS_CRYPT_23911]. Après configuration de la clé, le traitement s'effectue soit sous la forme d'un appel unique atomique, soit sous la forme d'une séquence diffusée en continu composée d'une initialisation, de données d'authentification facultatives, de mises à jour de données utiles et d'une finalisation. En tant que condition de sécurité critique, le déchiffrement échoue en présence d'un tag d'authentification non valide, de sorte que les données utiles déchiffrées ne doivent être traitées qu'après une validation réussie [SWS_CRYPT_50075].
Contexte
L'interface ara::crypto::cryp::AuthCipherCtx définit l'interface de programmation standardisée pour les opérations de chiffrement authentifié (Authenticated Encryption with Associated Data, AEAD) au sein de l'AUTOSAR Adaptive Platform. Elle associe la confidentialité à la protection de l'intégrité en générant ou en validant systématiquement un tag d'authentification cryptographique en plus du chiffrement ou du déchiffrement proprement dit des données utiles. Les partenaires d'interaction centraux sont les applications appelantes ainsi que les objets de clé : un contexte est, avant utilisation, soit lié à une instance concrète de SymmetricKey[SWS_CRYPT_23911], soit configuré avec un KeySlot persisté ou mis à disposition [SWS_CRYPT_50072]. En plus d'un traitement en continu étape par étape, la classe prend également en charge des appels uniques autonomes pour traiter des messages complets en une seule étape [SWS_CRYPT_50078].
Cycle de vie
Dans le domaine applicatif, les contextes sont gérés via le type de pointeur partagé ara::crypto::cryp::AuthCipherCtx::Sptr[SWS_CRYPT_20101]. (Interprétation : la création de l'objet s'effectue généralement via une fabrique de fournisseurs de niveau supérieur, puisque AuthCipherCtx est spécifié en tant qu'interface pure). Question Q-23125789874cf2f3 (ouverte) Toutes les fonctions membres sont déclarées comme sûres vis-à-vis des exceptions (exception safe) et des threads (thread-safe) [SWS_CRYPT_23911], [SWS_CRYPT_24715]. Le cycle de vie fonctionnel traverse des états clairement définis :
Non initialisé : immédiatement après l'instanciation. Les appels pour le traitement des données sont rejetés, car aucune clé n'a encore été attribuée [SWS_CRYPT_50081].
Clé configurée : par l'appel réussi de SetKey avec un SymmetricKey[SWS_CRYPT_23911] ou un KeySlot[SWS_CRYPT_50072], le contexte passe à l'état prêt à l'emploi. À partir de cet état, les opérations « single-shot » peuvent être exécutées directement.
Streaming actif : accessible par l'appel de Start en spécifiant le sens de transformation avec vecteur d'initialisation (IV) [SWS_CRYPT_24715] ou sans IV explicite [SWS_CRYPT_50073].
Finalisation / Réinitialisation : une opération de streaming en cours est terminée de manière régulière par Finish[SWS_CRYPT_50075] ou FinishEncrypt[SWS_CRYPT_50076], ou interrompue prématurément via Cancel[SWS_CRYPT_50077]. Le contexte est ensuite de nouveau disponible pour de nouvelles séquences de traitement.
Démarrage de l'opération : appel de Start en définissant le sens (chiffrement ou déchiffrement) ainsi qu'en fournissant l'IV [SWS_CRYPT_24715] ou en demandant un IV propre au contexte [SWS_CRYPT_50073].
Données associées (AAD) : si des données en texte clair supplémentaires doivent être intégrées au calcul d'intégrité, elles sont transmises via UpdateAuthenticatedData[SWS_CRYPT_20313]. La taille maximale autorisée d'AAD peut être interrogée par GetMaxAssociatedDataSize[SWS_CRYPT_20103]. Important : les blocs d'AAD doivent impérativement être transmis avant les données utiles proprement dites.
Traitement des données utiles : transmission pas à pas de blocs de données via UpdateConfidentialData[SWS_CRYPT_50074]. Lors du déchiffrement, le texte clair est renvoyé avant que son authenticité ne soit établie ; l'application ne doit utiliser ces données qu'après une finalisation réussie.
Finalisation : fin de l'opération au moyen de Finish[SWS_CRYPT_50075] ou FinishEncrypt[SWS_CRYPT_50076], ce qui permet de traiter le bloc final et de calculer ou vérifier le tag d'authentification.
Pour les charges utiles compactes, il existe des alternatives en un seul appel : ProcessSingleCall traite les données sans transmission d'IV [SWS_CRYPT_50078], ProcessSingleCallWithInputIv accepte un IV externe [SWS_CRYPT_50079], et EncryptSingleCallWithOutputIv renvoie à l'appelant un IV généré par le contexte [SWS_CRYPT_50080].
Les méthodes de AuthCipherCtx renvoient des résultats via ara::core::Result et possèdent une sémantique de rollback en cas d'erreur. Les codes d'erreur pertinents de ara::crypto::CryptoErrc sont :
kUninitializedContext : survient lors de l'appel de Start[SWS_CRYPT_24715], ProcessSingleCall[SWS_CRYPT_50078] ou de calculs de tampon [SWS_CRYPT_50081] si aucune clé n'a encore été configurée via SetKey.
kInvalidUsageOrder : signale un ordre d'appel erroné lorsque UpdateAuthenticatedData est appelé alors que des données utiles ont déjà été traitées via UpdateConfidentialData[SWS_CRYPT_20313].
kAuthTagNotValid : indique lors du déchiffrement dans Finish[SWS_CRYPT_50075] ou les méthodes single-shot [SWS_CRYPT_50078] que le tag calculé ne correspond pas au tag transmis et que la vérification d'authenticité a échoué.
kUsageViolation : survient lorsque les attributs d'utilisation de la clé ne correspondent pas à l'opération demandée (par ex. absence de kAllowDataEncrypt ou de kAllowDataDecrypt) [SWS_CRYPT_23911], [SWS_CRYPT_50078].
kInsufficientCapacity / kInvalidInputSize : indiquent des tampons de sortie insuffisamment dimensionnés ou des longueurs d'entrée, d'IV ou de tag non autorisées [SWS_CRYPT_24715], [SWS_CRYPT_50074], [SWS_CRYPT_50075].
kEmptyKeySlot / kBusyResource : concernent des états d'erreur lors de l'utilisation d'emplacements de stockage de clés configurés [SWS_CRYPT_24715], [SWS_CRYPT_50078].
Ce guide repose exclusivement sur la norme AUTOSAR Adaptive (Release R25-11) et synthétise les exigences relatives à l'interface ara::crypto::cryp::AuthCipherCtx.
Get the maximum input buffer size supported for processing in single calls to Update(), Finish(), FinishEncrypt() or ProcessSingleCall() by this context.
Get the maximum IV size required to be passed to the context in the functions Start() and ProcessSingleCallWithInputIv() for the given transformDirection.
Get the minimum input buffer size supported for processing in single calls to Update(), Finish(), FinishEncrypt() or ProcessSingleCall() by this context.
Get the minimum IV size required to be passed to the context in the functions Start() and ProcessSingleCallWithInputIv() for the given transformDirection.
Get the output IV size that will be returned by the functions FinishEncrypt() (in case no IV has been provided by the application during the call to Start()), and EncryptSingleCallWithOutputIv().
Encrypt or decrypt confidential data. When used for decryption, the plaintext is returned without verifying its authenticity. An application must not use the data before verifying its authenticity using Finish().
Cancel the ongoing streaming operation that has been initiated by Start() and has not yet been finished.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 739ac0d710b6Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Utilisation
La méthode Cancel() de l'interface ara::crypto::cryp::AuthCipherCtx interrompt une opération de streaming active qui a été initiée auparavant via Start() et n'est pas encore achevée [SWS_CRYPT_50077]. La fonction est mise à disposition via l'en-tête ara/crypto/cryp/auth_cipher_ctx.h et fonctionne de manière synchrone sans paramètre d'entrée [SWS_CRYPT_50077]. Elle renvoie un ara::core::Result<void> qui est vide en cas de succès.
Gestion des erreurs et conditions limites
Une interruption suppose que le traitement des données a effectivement été commencé auparavant par Start(). Si l'opération de streaming n'a pas été démarrée, l'appel échoue et retourne le code d'erreur ara::crypto::CryptoErrc::kProcessingNotStarted avec une sémantique de rollback [SWS_CRYPT_50077].
concurrence
L'opération est déclarée comme noexcept et est classée, selon la spécification, à la fois comme thread-safe et comme exception safe[SWS_CRYPT_50077].
Interaction
Le patron d'interruption concrétisé par Cancel() est standardisé dans le module crypt. Une sémantique d'interface identique et le même code d'erreur ara::crypto::CryptoErrc::kProcessingNotStarted sont définis pour les contextes de streaming correspondants :
virtual ara::core::Result< std::size_t > EncryptSingleCallWithOutputIv (ReadOnlyMemRegion dataIn, ReadWriteMemRegion dataOut, ReadWriteMem Region tag, ReadWriteMemRegion ivOut, ara::core::Optional< ReadOnlyMem Region > authenticatedData) noexcept=0;
Perform encryption and calculate/verify of the authentication tag in a single-call and return an IV generated by the context.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 6385ebfbc16dProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La méthode synchrone EncryptSingleCallWithOutputIv de l'interface ara::crypto::cryp::AuthCipherCtx effectue un chiffrement authentifié en une seule étape tout en générant de manière autonome un vecteur d'initialisation [SWS_CRYPT_50080]. Elle traite les données d'entrée issues de dataIn ainsi que des données supplémentaires facultatives authenticatedData et écrit le texte chiffré dans le tampon dataOut. Le vecteur d'initialisation généré est déposé dans le tampon ivOut, tandis que le tag d'authentification est émis via tag[SWS_CRYPT_50080]. La taille de tampon pour ivOut peut être déterminée au préalable via la méthode GetOutputIvSize[SWS_CRYPT_50165]. Malgré la composante de nom Encrypt, la méthode devrait vraisemblablement aussi pouvoir être utilisée pour le déchiffrement, car la spécification d'erreur mentionne explicitement le comportement pour transformDirection == kDecrypt[SWS_CRYPT_50080]. Question Q-66618567b20f99b9 (ouverte)
Des préconditions et restrictions essentielles s'appliquent à l'appel :
Le contexte doit avoir été préalablement initialisé avec succès avec SetKey ; sinon, kUninitializedContext est signalé [SWS_CRYPT_50080].
La clé dans le key slot configuré doit être compatible et présenter l'autorisation adéquate (par ex. kAllowDataEncrypt), faute de quoi kUsageViolation ou kIncompatibleObject est renvoyé [SWS_CRYPT_50080].
Si les tampons de sortie dataOut ou ivOut ne sont pas suffisants, l'appel échoue avec kInsufficientCapacity[SWS_CRYPT_50080].
Si le contexte ne prend pas en charge le traitement en une seule étape ou s'il requiert une spécification externe de l'IV, kUnsupported est renvoyé [SWS_CRYPT_50080].
L'opération est spécifiée comme thread-safe ainsi que sûre face aux exceptions et garantit une sémantique de rollback en cas d'erreur [SWS_CRYPT_50080]. Pour les purs chiffrements symétriques sans traitement de tag, un pendant distinct existe dans SymmetricCipherCtx[SWS_CRYPT_50049].
Ce texte a été généré par une IA sur la base de la spécification.
an input data buffer containing the plaintext/ciphertext
authenticatedData
optional additional authenticated data
Parameter (out)
Parameter
Beschreibung
dataOut
an output data buffer that contains en-/decrypted data
ivOut
an output data buffer that the initialization vector (IV) generated by the context will be written to
Parameter (in/out)
Parameter
Beschreibung
tag
for decryption: an input data buffer that contains the authentication tag. for encryption: an output data buffer that the authentication tag is written to.
rollback_semantics if the allowed usage of the SymmetricKey deployed or contained in the provided KeySlot at the time of invocation of this interface does not include kAllowDataEncrypt for encryption, or kAllowData Decrypt for decryption, respectively
Finalize the en-/decryption and calculate/verify the authentication tag without returning an IV.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 8b946dd1de69Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Utilisation et sémantique
La méthode Finish finalise de manière synchrone le chiffrement ou le déchiffrement au sein d'un ara::crypto::cryp::AuthCipherCtx et calcule ou vérifie le tag d'authentification, sans renvoyer de vecteur d'initialisation (IV) [SWS_CRYPT_50075]. L'appelant transmet les données restantes via le tampon in ainsi que le tampon cible out. Via le tampon tag, le tag calculé est émis lors du chiffrement, tandis que lors du déchiffrement, le tag à vérifier est transmis [SWS_CRYPT_50075]. La valeur de retour ara::core::Result<std::size_t> indique le nombre d'octets effectivement écrits dans out, qui peut être inférieur à la capacité du tampon de sortie [SWS_CRYPT_50075].
Déroulement et interaction
Avant l'appel, le traitement des données doit impérativement avoir été initié par Start()[SWS_CRYPT_50075]. Si des blocs de données ont été préalablement traités au moyen de UpdateConfidentialData, une application ne doit utiliser le texte en clair résultant lors du déchiffrement qu'après une authentification réussie par Finish[SWS_CRYPT_50074]. La taille maximale de tampon requise pour out peut être déterminée au préalable via GetRequiredOutputBufferSize en spécifiant isFinal = true[SWS_CRYPT_50081].
Gestion des erreurs et concurrence
La méthode est spécifiée sûre pour les threads et sûre face aux exceptions [SWS_CRYPT_50075]. Les erreurs sont signalées via ara::core::Result avec une sémantique de rollback [SWS_CRYPT_50075] :
ProcessingNotStarted : le traitement des données n'a pas été préalablement démarré avec Start()[SWS_CRYPT_50075].
ara::crypto::CryptoErrc::kInsufficientCapacity : le tampon de sortie out est trop petit [SWS_CRYPT_50075].
ara::crypto::CryptoErrc::kInvalidInputSize : la taille de tampon de in ou tag n'est pas valide [SWS_CRYPT_50075].
ara::crypto::CryptoErrc::kAuthTagNotValid : l'authenticité des données ne peut pas être confirmée lors du déchiffrement [SWS_CRYPT_50075].
ara::crypto::CryptoErrc::kUnsupported : le traitement en streaming n'est pas pris en charge par le contexte [SWS_CRYPT_50075].
Remarque : cette note d'utilisation a été générée automatiquement sur la base des données de spécification.
an input data buffer that contains a part of the plaintext/ciphertext
Parameter (out)
Parameter
Beschreibung
out
an output data buffer that the en-/decrypted data is written to
Parameter (in/out)
Parameter
Beschreibung
tag
for decryption: an input data buffer that contains the authentication tag for encryption: an output data buffer that the authentication tag is written to
Finalize the encryption and calculate the authentication tag and return the IV generated by the context.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : fd75aa19665eProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Utilisation
La méthode FinishEncrypt conclut de manière synchrone une opération de chiffrement authentifié dans ara::crypto::cryp::AuthCipherCtx, calcule le tag d'authentification et renvoie via ivOut le vecteur d'initialisation généré par le contexte [SWS_CRYPT_50076]. L'appel est spécifié thread-safe ainsi qu'exception-safe (exception safe) [SWS_CRYPT_50076]. Comme résultat, la fonction fournit un ara::core::Result<std::size_t> contenant le nombre d'octets réellement écrits dans le tampon de sortie out, la taille de sortie pouvant être inférieure à la capacité du tampon [SWS_CRYPT_50076]. Interprétation : bien que le nom fasse référence au chiffrement, la spécification du paramètre tag ainsi que le code d'erreur ara::crypto::CryptoErrc::kAuthTagNotValid indiquent que la signature pourrait également être utilisée symétriquement dans le contexte pour des opérations de déchiffrement. Question Q-6b924f12c32e0f33 (ouverte)
Interaction et dimensionnement du tampon
Le traitement des données doit impérativement avoir été initié au préalable avec Start(), sinon la fonction signale l'erreur ProcessingNotStarted[SWS_CRYPT_50076]. Pour le dimensionnement du tampon, l'interaction avec les fonctions de contexte suivantes doit être prise en compte :
La capacité maximale requise pour out peut être calculée au préalable via [SWS_CRYPT_50081] avec le paramètre isFinal = true, afin d'éviter l'erreur ara::crypto::CryptoErrc::kInsufficientCapacity[SWS_CRYPT_50076].
La taille de tampon nécessaire pour accueillir le vecteur d'initialisation généré dans ivOut peut être interrogée via [SWS_CRYPT_50165].
Gestion des erreurs et conditions limites
En cas d'erreur, tous les retours possèdent une sémantique de rollback définie [SWS_CRYPT_50076]. En cas de tailles de tampon invalides pour les données d'entrée ou pour le tag d'authentification, ara::crypto::CryptoErrc::kInvalidInputSize est renvoyé [SWS_CRYPT_50076]. De plus, la fonction renvoie ara::crypto::CryptoErrc::kUnsupported si le traitement en flux n'est pas pris en charge, si aucun IV n'est utilisé ou si l'IV a déjà été imposé par l'application lors du démarrage [SWS_CRYPT_50076].
Cette note d'utilisation a été générée par une IA et se base exclusivement sur les données de spécification.
an input data buffer that contains a part of the plaintext/ciphertext
Parameter (out)
Parameter
Beschreibung
out
an output data buffer that the en-/decrypted data is written to
ivOut
an output data buffer that contains the IV
Parameter (in/out)
Parameter
Beschreibung
tag
for decryption: an input data buffer that contains the authentication tag for encryption: an output data buffer that the authentication tag is written to
rollback_semantics if stream processing is not supported by the context or if this context does not use an IV or if the IV has been provided by the application in the Start() function
Request a governed re-review of this record. The record is not changed immediately.
Get the maximum input buffer size supported for processing in single calls to Update(), Finish(), FinishEncrypt() or ProcessSingleCall() by this context.
Get the maximum IV size required to be passed to the context in the functions Start() and ProcessSingleCallWithInputIv() for the given transformDirection.
Get the minimum input buffer size supported for processing in single calls to Update(), Finish(), FinishEncrypt() or ProcessSingleCall() by this context.
Get the minimum IV size required to be passed to the context in the functions Start() and ProcessSingleCallWithInputIv() for the given transformDirection.
Get the output IV size that will be returned by the functions FinishEncrypt() (in case no IV has been provided by the application during the call to Start()), and EncryptSingleCallWithOutputIv().
Perform en-/decryption and calculate/verify of the authentication tag in a single-call without setting or returning an IV.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : a5183289221aProvenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La méthode ProcessSingleCall de ara::crypto::cryp::AuthCipherCtx, synchrone et définie comme sûre pour les threads, exécute le chiffrement ou le déchiffrement de données utiles et le calcul ou la vérification simultané du tag d'authentification en une seule opération sans vecteur d'initialisation (IV) [SWS_CRYPT_50078]. Des données authentifiées supplémentaires peuvent être fournies via le tampon optionnel authenticatedData[SWS_CRYPT_50078]. Le tampon tag sert, lors du déchiffrement, d'entrée pour la vérification et, lors du chiffrement, de sortie pour le stockage du tag d'authentification généré [SWS_CRYPT_50078]. En cas de traitement réussi, ara::core::Result<std::size_t> renvoie le nombre réel d'octets écrits dans dataOut, qui peut être inférieur à la capacité du tampon de destination [SWS_CRYPT_50078].
Avant l'appel, le contexte cryptographique doit avoir été initialisé via un appel réussi de SetKey ; sinon, la fonction échoue avec ara::crypto::CryptoErrc::kUninitializedContext[SWS_CRYPT_50078]. De plus, la clé utilisée doit être autorisée pour la direction de transformation demandée (kAllowDataEncrypt ou kAllowDataDecrypt), faute de quoi ara::crypto::CryptoErrc::kUsageViolation est signalé [SWS_CRYPT_50078]. Si le traitement en une seule étape n'est pas pris en charge ou si le contexte requiert un IV, la fonction renvoie ara::crypto::CryptoErrc::kUnsupported[SWS_CRYPT_50078]. Si l'authentification échoue lors du déchiffrement, ara::crypto::CryptoErrc::kAuthTagNotValid est déclenché [SWS_CRYPT_50078]. Des erreurs sur le slot de clé associé sont signalées via EmptyKeySlot, ara::crypto::CryptoErrc::kBusyResource ou ara::crypto::CryptoErrc::kIncompatibleObject[SWS_CRYPT_50078].
Pour la gestion des tampons, la taille de sortie maximale requise pour dataOut peut être calculée au préalable via GetRequiredOutputBufferSize avec le drapeau isFinal = true défini [SWS_CRYPT_50081] ; un tampon de sortie trop petit entraîne ara::crypto::CryptoErrc::kInsufficientCapacity[SWS_CRYPT_50078]. De plus, la taille de dataIn doit respecter les limites de GetMinimumChunkSize[SWS_CRYPT_50162] et GetMaximumChunkSize[SWS_CRYPT_50082] afin d'éviter ara::crypto::CryptoErrc::kInvalidInputSize[SWS_CRYPT_50078].
Cette note d'utilisation a été générée automatiquement sur la base de la spécification d'AUTOSAR Adaptive R25-11.
an input data buffer containing the plaintext/ciphertext
transformDirection
the transformation direction, i.e., encryption or decryption
authenticatedData
optional additional authenticated data
Parameter (out)
Parameter
Beschreibung
dataOut
an output data buffer that contains en-/decrypted data
Parameter (in/out)
Parameter
Beschreibung
tag
for decryption: an input data buffer that contains the authentication tag. for encryption: an output data buffer that the authentication tag is written to.
rollback_semantics if the allowed usage of the SymmetricKey deployed or contained in the provided KeySlot at the time of invocation of this interface does not include kAllowDataEncrypt for encryption, or kAllowData Decrypt for decryption, respectively
Perform en-/decryption and calculate/verify of the authentication tag in a single-call, providing an IV to be used during en-/decryption.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 36312c01407dProvenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La méthode [SWS_CRYPT_50079] de la classe ara::crypto::cryp::AuthCipherCtx exécute un traitement synchrone en une seule étape (Single-Call) pour le chiffrement ou le déchiffrement de données avec calcul ou vérification simultané(e) du tag d'authentification.
Lors de l'appel, les données d'entrée sont spécifiées via dataIn et la direction via transformDirection. Le vecteur d'initialisation est transmis via iv, et des données d'authentification optionnelles peuvent être fournies via authenticatedData[SWS_CRYPT_50079]. Le tampon tag sert, dans le cas d'un chiffrement, de sortie pour le tag calculé et, dans le cas d'un déchiffrement, d'entrée pour la vérification [SWS_CRYPT_50079]. En cas de succès, la valeur de retour ara::core::Result<std::size_t> fournit le nombre d'octets écrits dans dataOut, qui peut être inférieur à la capacité du tampon [SWS_CRYPT_50079].
En cas d'erreur, tous les codes d'erreur possèdent une sémantique de rollback [SWS_CRYPT_50079] :
ara::crypto::CryptoErrc::kUninitializedContext : aucune clé n'a été préalablement configurée via SetKey[SWS_CRYPT_50079].
ara::crypto::CryptoErrc::kUsageViolation : la clé ne possède pas le droit requis kAllowDataEncrypt ou kAllowDataDecrypt[SWS_CRYPT_50079].
ara::crypto::CryptoErrc::kEmptyKeySlot, ara::crypto::CryptoErrc::kBusyResource ou ara::crypto::CryptoErrc::kIncompatibleObject : un KeySlot configuré est vide, occupé ou ne contient aucun SymmetricKey compatible [SWS_CRYPT_50079].
ara::crypto::CryptoErrc::kInvalidInputSize ou ara::crypto::CryptoErrc::kInsufficientCapacity : les tampons d'entrée, de tag ou d'IV sont dimensionnés de manière non valide, ou dataOut présente une capacité insuffisante [SWS_CRYPT_50079].
ara::crypto::CryptoErrc::kAuthTagNotValid : lors du déchiffrement, l'authentification échoue [SWS_CRYPT_50079].
ara::crypto::CryptoErrc::kUnsupported : le traitement single-shot n'est pas pris en charge par le contexte ou le contexte requiert la définition ou l'émission d'un IV [SWS_CRYPT_50079].
L'opération est définie comme thread-safe et exception safe[SWS_CRYPT_50079]. Les longueurs autorisées pour iv peuvent être interrogées dynamiquement via GetMinimumInputIvSize[SWS_CRYPT_50163] et GetMaximumInputIvSize[SWS_CRYPT_50164]. Par comparaison avec le pur chiffrement par bloc dans SymmetricCipherCtx[SWS_CRYPT_50048], cette interface associe transformation cryptographique et contrôle d'intégrité en un seul appel.
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R25-11.
an input data buffer containing the plaintext/ciphertext
transformDirection
the transformation direction, i.e., encryption or decryption
iv
an Initialization Vector (IV) or "nonce" value
authenticatedData
optional additional authenticated data
Parameter (out)
Parameter
Beschreibung
dataOut
an output data buffer that contains en-/decrypted data
Parameter (in/out)
Parameter
Beschreibung
tag
for decryption: an input data buffer that contains the authentication tag. for encryption: an output data buffer that the authentication tag is written to.
rollback_semantics if the allowed usage of the SymmetricKey deployed or contained in the provided KeySlot at the time of invocation of this interface does not include kAllowDataEncrypt for encryption, or kAllowData Decrypt for decryption, respectively
The interface shall configure the context to use the provided SymmetricKey.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : c987f167a8b5ProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La méthode SetKey configure l'instance de ara::crypto::cryp::AuthCipherCtx pour l'utilisation d'une clé symétrique transmise [SWS_CRYPT_23911]. Un shared pointer key (de type SymmetricKey::Sptr) est transmis en tant que paramètre, lequel est utilisé pour le chiffrement ou le déchiffrement authentifié [SWS_CRYPT_23911]. L'appel est synchrone, est déclaré comme noexcept et renvoie un ara::core::Result<void>[SWS_CRYPT_23911].
En cas d'erreur, le résultat est réinitialisé avec une sémantique de rollback et fournit des codes d'erreur spécifiques [SWS_CRYPT_23911] :
ara::crypto::CryptoErrc::kUnsupported : si le contexte prend exclusivement en charge la configuration via un KeySlot[SWS_CRYPT_23911].
ara::crypto::CryptoErrc::kIncompatibleObject : lorsque le type de clé transmis n'est pas compatible avec le contexte actuel [SWS_CRYPT_23911].
ara::crypto::CryptoErrc::kUsageViolation : lorsque les indicateurs d'utilisation autorisés de la clé ne contiennent pas kAllowDataEncrypt pour le chiffrement ou kAllowDataDecrypt pour le déchiffrement [SWS_CRYPT_23911].
Selon la spécification, l'interface est classée comme sûre vis-à-vis des threads (thread-safe) et sûre vis-à-vis des exceptions (exception safe) [SWS_CRYPT_23911]. En interaction avec le contexte de module, la clé devrait être définie avant l'initialisation d'une nouvelle transformation via Start[SWS_CRYPT_24715]. Question Q-11f7daa370f5d438 (ouverte)
Cette note d'utilisation a été générée automatiquement sur la base du payload AUTOSAR.
rollback_semantics if the allowed usage of the provided SymmetricKey does not include kAllowDataEncrypt for encryption, or kAllowDataDecrypt for decryption, respectively
Request a governed re-review of this record. The record is not changed immediately.
The interface shall configure the context to use the key stored in the provided KeySlot when the authenticated encrypt or decrypt operation is executed.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 44d0d6c36fa2Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La fonction SetKey dans l'interface ara::crypto::cryp::AuthCipherCtx configure le contexte pour des opérations cryptographiques de manière à utiliser la clé symétrique consignée dans un slot de clé fourni dès que le chiffrement ou déchiffrement authentifié est exécuté [SWS_CRYPT_50072].
Utilisation : L'appel synchrone s'effectue via l'interface issue de ara/crypto/cryp/auth_cipher_ctx.h. En tant que paramètre keySlot, une instance de KeySlot::Sptr encapsulant une clé symétrique est transmise [SWS_CRYPT_50072]. La fonction renvoie un ara::core::Result<void> confirmant le succès ou contenant un code d'erreur [SWS_CRYPT_50072].
Gestion des erreurs : Dès lors que l'implémentation concrète du contexte prend exclusivement en charge la configuration directe via un objet SymmetricKey et ne propose pas la définition via KeySlot, l'appel échoue. Dans ce cas, l'erreur ara::crypto::CryptoErrc::kUnsupported est renvoyée avec une sémantique de rollback [SWS_CRYPT_50072].
Concurrence et restrictions : La fonction est spécifiée comme thread-safe et exception safe[SWS_CRYPT_50072]. Elle peut être appelée de manière concurrente et garantit qu'aucun état incohérent ne subsiste en situation d'exception.
Interaction : En tant qu'alternative fonctionnelle, la surcharge SetKey avec un SymmetricKey::Sptr direct est disponible [SWS_CRYPT_23911]. Une fois la liaison de clé effectuée, le contexte est initialisé via Start avec le sens de l'opération ainsi que le vecteur d'initialisation [SWS_CRYPT_24715]. Des signatures analogues avec KeySlot::Sptr existent en outre dans MessageAuthnCodeCtx[SWS_CRYPT_50026] et SymmetricKeyWrapperCtx[SWS_CRYPT_50034].
Ce texte a été généré par une IA et se base sur la spécification AUTOSAR R25-11.
Initialize the context for a new encryption or decryption and set the IV used by the context.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : da3f0fb3ff33ProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La méthode Start initialise le contexte ara::crypto::cryp::AuthCipherCtx pour un nouveau chiffrement ou déchiffrement et définit le vecteur d'initialisation (IV) ou la valeur de nonce à utiliser [SWS_CRYPT_24715]. La direction de transformation est définie via le paramètre transformDirection, tandis que iv transmet le vecteur sous forme de ReadOnlyMemRegion[SWS_CRYPT_24715]. La taille autorisée de l'IV peut être déterminée via GetMinimumInputIvSize() ainsi que GetMaximumInputIvSize() ; en cas de longueur différente, la fonction signale l'erreur ara::crypto::CryptoErrc::kInvalidInputSize[SWS_CRYPT_24715].
Avant l'appel, SetKey doit avoir été exécuté avec succès, faute de quoi ara::crypto::CryptoErrc::kUninitializedContext est renvoyé [SWS_CRYPT_24715]. Un KeySlot configuré ne doit être ni vide (EmptyKeySlot) ni occupé (ara::crypto::CryptoErrc::kBusyResource) [SWS_CRYPT_24715]. De plus, la clé enregistrée doit être un SymmetricKey approprié (sinon ara::crypto::CryptoErrc::kIncompatibleObject) et être autorisée pour la direction souhaitée (kAllowDataEncrypt ou kAllowDataDecrypt, sinon ara::crypto::CryptoErrc::kUsageViolation) [SWS_CRYPT_24715]. Si la prise en charge du traitement de flux ou la définition d'un IV dans la direction choisie fait défaut, l'appel échoue avec ara::crypto::CryptoErrc::kUnsupported[SWS_CRYPT_24715]. Toutes les erreurs présentent une sémantique de rollback [SWS_CRYPT_24715].
L'opération est déclarée comme thread-safe ainsi qu'exception-safe (noexcept) [SWS_CRYPT_24715]. Dans l'interaction des processus cryptographiques, la transmission de données authentifiées supplémentaires via UpdateAuthenticatedData devrait typiquement suivre une initialisation réussie [SWS_CRYPT_20313]. Question Q-e023e27f1cd24507 (ouverte)
Cette note d'utilisation a été générée automatiquement sur la base de la version AUTOSAR R25-11.
the transformation direction, i.e., encryption or decryption
iv
an Initialization Vector (IV) or "nonce" value. The allowed size of the IV can be queried using the functions GetMinimumInputIvSize() and GetMaximumInputIvSize().
rollback_semantics if the allowed usage of the SymmetricKey deployed or contained in the provided KeySlot at the time of invocation of this interface does not include kAllowDataEncrypt for encryption, or kAllowData Decrypt for decryption, respectively
Initialize the context for a new encryption or decryption. An IV is either not required for this context in this transformation direction, or set by the context itself.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : f698e30e2198Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Utilisation
La méthode purement virtuelle Start de la classe ara::crypto::cryp::AuthCipherCtx initialise le contexte de manière synchrone pour un chiffrement ou un déchiffrement à venir [SWS_CRYPT_50073]. Le paramètre transformDirection indique si le contexte est préparé pour le chiffrement ou pour le déchiffrement. Cette surcharge sans vecteur d'initialisation (IV) ne doit être utilisée que lorsque le contexte cryptographique ne présuppose aucun IV dans le sens de transformation sélectionné ou le définit lui-même [SWS_CRYPT_50073]. La valeur de retour est un ara::core::Result<void> vide en cas de succès ou un code d'erreur correspondant.
Traitement des erreurs et conditions préalables
Avant l'appel, le contexte doit avoir été configuré avec succès avec une clé via SetKey ; sinon, la fonction échoue avec ara::crypto::CryptoErrc::kUninitializedContext[SWS_CRYPT_50073]. En outre, les valeurs de retour suivantes surviennent en cas d'erreur :
ara::crypto::CryptoErrc::kUnsupported si le traitement en flux n'est pas pris en charge par le contexte ou si le contexte exige impérativement l'indication explicite d'un IV dans le sens de transformation choisi [SWS_CRYPT_50073].
ara::crypto::CryptoErrc::kUsageViolation si l'utilisation de clé autorisée dans le KeySlot configuré ne comporte pas, au moment de l'appel, l'autorisation requise kAllowDataEncrypt pour le chiffrement ou kAllowDataDecrypt pour le déchiffrement [SWS_CRYPT_50073].
EmptyKeySlot ou ara::crypto::CryptoErrc::kBusyResource si un KeySlot configuré est actuellement vide ou verrouillé [SWS_CRYPT_50073].
ara::crypto::CryptoErrc::kIncompatibleObject si le KeySlot configuré ne contient aucun SymmetricKey ou si ce type de clé n'est pas pris en charge par le contexte [SWS_CRYPT_50073].
Si une erreur survient, la sémantique de rollback spécifiée (rollback_semantics) s'applique [SWS_CRYPT_50073].
Concurrence et interaction
La fonction est déclarée avec noexcept=0, garantit la sécurité vis-à-vis des exceptions et est conçue pour être thread-safe [SWS_CRYPT_50073]. Si l'algorithme requiert la fourniture externe d'un vecteur d'initialisation, il convient d'utiliser à la place la surcharge Start(CryptoTransform, ReadOnlyMemRegion)[SWS_CRYPT_24715]. Après une initialisation réussie, des données authentifiées supplémentaires peuvent être intégrées via UpdateAuthenticatedData au calcul de l'étiquette d'authentification [SWS_CRYPT_20313].
Cette note d'utilisation a été générée automatiquement sur la base de la spécification AUTOSAR Adaptive R25-11.
rollback_semantics if the allowed usage of the SymmetricKey deployed or contained in the provided KeySlot at the time of invocation of this interface does not include kAllowDataEncrypt for encryption, or kAllowData Decrypt for decryption, respectively
virtual ara::core::Result< void > UpdateAuthenticatedData (ReadOnlyMem Region authenticatedData) noexcept=0;
Update the tag calculation by a new chunk of additional authenticated data.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : f3852a997444Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La méthode UpdateAuthenticatedData de l'interface ara::crypto::cryp::AuthCipherCtx sert à mettre à jour pas à pas le calcul de l'étiquette d'authentification avec un fragment supplémentaire de données authentifiées additionnelles (Additional Authenticated Data) [SWS_CRYPT_20313]. Le tampon correspondant est transmis via le paramètre authenticatedData sous la forme ReadOnlyMemRegion[SWS_CRYPT_20313].
Concernant le contexte d'appel et la concurrence, l'opération est définie comme thread-safe ainsi que exception safe[SWS_CRYPT_20313]. Des conditions d'ordonnancement strictes s'appliquent à l'appel :
La transformation doit avoir été préalablement initiée via la méthode Start(), faute de quoi ara::crypto::CryptoErrc::kProcessingNotStarted est signalé [SWS_CRYPT_20313].
La fonction ne doit plus être appelée si UpdateConfidentialData a déjà été exécutée ; en cas de non-respect, l'erreur ara::crypto::CryptoErrc::kInvalidUsageOrder est renvoyée [SWS_CRYPT_20313].
En tant que valeur de retour, la fonction renvoie un ara::core::Result<void>, qui est vide en cas de succès ou encapsule un code d'erreur survenu [SWS_CRYPT_20313]. Toutes les erreurs présentent une sémantique de retour arrière (rollback) [SWS_CRYPT_20313] :
ara::crypto::CryptoErrc::kInvalidInputSize : la taille du tampon d'entrée transmis n'est pas valide [SWS_CRYPT_20313].
ara::crypto::CryptoErrc::kUnsupported : le traitement de flux n'est pas pris en charge par le contexte actuel [SWS_CRYPT_20313].
Ce texte a été généré par une IA et sert de guide d’orientation. La spécification AUTOSAR fait foi.
Encrypt or decrypt confidential data. When used for decryption, the plaintext is returned without verifying its authenticity. An application must not use the data before verifying its authenticity using Finish().
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 0a7976c267f4Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La méthode UpdateConfidentialData de la classe ara::crypto::cryp::AuthCipherCtx sert au chiffrement ou déchiffrement pas à pas de données utiles confidentielles dans le cadre d'un contexte de chiffrement authentifié [SWS_CRYPT_50074]. Le tampon d'entrée in (type ReadOnlyMemRegion) contenant une partie du texte en clair ou chiffré ainsi que le tampon de sortie out (type ReadWriteMemRegion) lui sont transmis [SWS_CRYPT_50074]. Comme valeur de retour synchrone, la fonction fournit un ara::core::Result<std::size_t> qui contient en cas de succès le nombre d'octets effectivement écrits ; celui-ci peut être inférieur à la capacité de out[SWS_CRYPT_50074].
Concernant le déroulement et la concurrence, les conditions suivantes s’appliquent :
Ordre d'exécution et intégrité : L'opération doit avoir été initiée via Start() avant le traitement [SWS_CRYPT_50074]. Si la méthode est utilisée pour le déchiffrement, le texte en clair est délivré sans contrôle d'authenticité préalable ; l'application ne doit en aucun cas utiliser ces données avant la vérification finale au moyen de Finish()[SWS_CRYPT_50074]. Des données authentifiées supplémentaires peuvent être intégrées en parallèle dans le calcul du tag via UpdateAuthenticatedData[SWS_CRYPT_20313].
Sécurité vis-à-vis des threads et des exceptions : L'opération est déclarée comme thread-safe ainsi qu'exception-safe et ne lève aucune exception (noexcept) [SWS_CRYPT_50074].
Si le traitement échoue, une sémantique de rollback s'applique en renvoyant un code d'erreur correspondant dans ara::core::Result[SWS_CRYPT_50074] :
ara::crypto::CryptoErrc::kProcessingNotStarted : Le traitement n'a pas encore été engagé via Start()[SWS_CRYPT_50074].
ara::crypto::CryptoErrc::kInsufficientCapacity : Le tampon de sortie out est dimensionné trop petit [SWS_CRYPT_50074].
ara::crypto::CryptoErrc::kInvalidInputSize : La taille du tampon in est invalide [SWS_CRYPT_50074].
ara::crypto::CryptoErrc::kUnsupported : Le traitement en flux (stream) n'est pas pris en charge par le contexte [SWS_CRYPT_50074].
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R25-11.
gemini-3.8-flash-low· 2026-10-13 · Original allemand