DEENESPTFRRUARHIKOZHNL

classe ara::crypto::cryp::MessageAuthnCodeCtx

[SWS_CRYPT_22100] Upstream: RS_CRYPTO_02203

class MessageAuthnCodeCtx :           public CryptoContext {...};

Keyed Message Authentication Code Context interface definition.

Header-Datei#include "ara/crypto/cryp/message_authn_code_ctx.h"
Forwarding-Header#include "ara/crypto/crypto_fwd.h"
Scopenamespace ara::crypto::cryp
Basisklasse(n)CryptoContext

Guide utilisateurGÉNÉRÉ PAR IA

Sert au calcul et à la vérification basés sur des clés de Message Authentication Codes cryptographiques.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : b9d1594d1774 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Sert au calcul et à la vérification basés sur des clés de Message Authentication Codes cryptographiques.

L'interface permet le calcul et la vérification basés sur des clés de Message Authentication Codes pour des messages de longueur arbitraire. Après l'initialisation avec une clé symétrique via [SWS_CRYPT_22118], les digests MAC peuvent être traités soit en une seule étape, soit en mode continu (streaming) via des appels de démarrage, de mise à jour et de finalisation. Le résultat de vérification obtenu peut ensuite être récupéré ou directement comparé à une valeur cible. Toutes les méthodes sont spécifiées comme étant sûres pour les threads et signalent les déroulements erronés ou les capacités de tampon insuffisantes au moyen de valeurs de retour standardisées conformément à [SWS_CRYPT_22116].

Contexte

L'interface MessageAuthnCodeCtx définit des opérations cryptographiques pour la génération et la vérification de codes d'authentification de message basés sur des clés (Message Authentication Codes, MAC). Elle permet de contrôler l'authenticité et l'intégrité de volumes de données arbitraires, aussi bien via des flux de données incrémentiels que sur des blocs de mémoire contigus uniques. La gestion des instances s'effectue au moyen du type de pointeur intelligent Sptr fourni [SWS_CRYPT_22101].

Les principaux partenaires d'interaction sont les composants d'application appelants ainsi que les objets de clé. Un contexte peut être configuré soit directement avec un objet de clé symétrique SymmetricKey [SWS_CRYPT_22118], soit par l'intermédiaire d'un emplacement mémoire logique KeySlot [SWS_CRYPT_50026]. La transmission des données s'effectue via des structures de tampon telles que ReadOnlyMemRegion pour les données d'entrée et ReadWriteMemRegion pour les digests MAC calculés.

Cycle de vie

Une instance de contexte parcourt une séquence d'états définie depuis l'initialisation jusqu'à la mise à disposition du résultat MAC :

  • Uninitialized : après la création, le contexte ne possède pas encore de clé et rejette les appels de calcul.
  • Configured : le contexte est initialisé par l'appel de SetKey() avec une clé [SWS_CRYPT_22118] ou un emplacement de stockage de clé [SWS_CRYPT_50026]. Dans cet état, des méthodes en appel unique (single-call) peuvent être exécutées ou une session de streaming peut être démarrée.
  • Processing : l'appel de Start() sans vecteur d'initialisation [SWS_CRYPT_22111] ou avec un IV [SWS_CRYPT_22110] ouvre le traitement en streaming. Des blocs de données sont injectés au moyen d'appels répétés à Update() [SWS_CRYPT_22113]. Une interruption est possible via Cancel() [SWS_CRYPT_50027].
  • Finished : la méthode Finish() [SWS_CRYPT_22115] finalise le calcul. Le résultat peut ensuite être interrogé ou comparé.

Interprétation : après la finalisation ou l'interruption, le contexte reste vraisemblablement dans l'état configuré et peut être réutilisé pour de nouvelles opérations. Question Q-b61229b77ae88ab0 (ouverte) Toutes les méthodes de l'interface sont spécifiées comme étant sûres pour les threads et sûres du point de vue des exceptions.

mac_states Uninitialized Uninitialized Configured Configured Uninitialized->Configured SetKey() Configured->Configured Generate() / Verify() Processing Processing Configured->Processing Start() Processing->Configured Cancel() Processing->Processing Update() Finished Finished Processing->Finished Finish() Finished->Processing Start() Finished->Finished GetDigest() / Compare()

Diagramme d'état : cycle de vie et transitions d'état du contexte MAC. Sources : [SWS_CRYPT_22118], [SWS_CRYPT_50026], [SWS_CRYPT_22110], [SWS_CRYPT_22111], [SWS_CRYPT_22113], [SWS_CRYPT_22115], [SWS_CRYPT_50027], [SWS_CRYPT_22116], [SWS_CRYPT_50029], [SWS_CRYPT_50031]

Parcours d'utilisation

L'interface prend en charge deux parcours d'utilisation typiques : le streaming incrémentiel et le traitement en un seul appel (single-call).

Dans le parcours en streaming, l'appelant lie d'abord la clé via SetKey() [SWS_CRYPT_22118]. Avant de commencer, des paramètres d'algorithme tels que la taille d'IV recommandée via GetRecommendedIvSize() [SWS_CRYPT_50135] ainsi que la taille maximale de fragment (chunk) via GetMaximumChunkSize() [SWS_CRYPT_50033] peuvent être interrogés. Après l'appel de Start() [SWS_CRYPT_22110], les fragments de message sont traités successivement par Update() [SWS_CRYPT_22113]. Dès que toutes les données ont été transmises, Finish() conclut le calcul [SWS_CRYPT_22115]. Le digest généré est ensuite copié dans un tampon au moyen de GetDigest() [SWS_CRYPT_22116], dont la taille minimale peut être déterminée préalablement via GetDigestSize() [SWS_CRYPT_50134]. Alternativement, Compare() [SWS_CRYPT_50133] ou CompareSubspan() [SWS_CRYPT_50028] permet la comparaison directe avec une valeur de référence attendue.

Calcul en continu d'un Message Authentication CodeApplicationMessageAuthnCodeCtxSetKey(key)Result<void>Start(iv)Result<void>loopPour chaque bloc de donnéesUpdate(chunk)Result<void>Finish()Result<void>GetDigest(digest)Result<size_t>

Diagramme de séquence : déroulement du calcul incrémentiel de MAC en mode streaming. Sources : [SWS_CRYPT_22118], [SWS_CRYPT_22110], [SWS_CRYPT_22113], [SWS_CRYPT_22115], [SWS_CRYPT_22116]

Si l'intégralité du message est déjà disponible en totalité, le calcul peut s'effectuer sans streaming via Generate() [SWS_CRYPT_50029] ou de manière tronquée via GenerateSubspan() [SWS_CRYPT_50030] en une seule étape. Pour la vérification, les méthodes Verify() [SWS_CRYPT_50031] et VerifySubspan() [SWS_CRYPT_50032] sont disponibles de manière analogue.

Scénarios d'erreur

Les erreurs sont signalées par le type de retour ara::core::Result et couvrent les causes suivantes :

Ce guide de classe se base sur la spécification d'AUTOSAR Adaptive R25-11 pour le module crypto.

Carte des membres

Diagramme de classes

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G nara__crypto__cryp__MessageAuthnCodeCtx845 MessageAuthnCodeCtx + Cancel() + Compare() + CompareSubspan() + Finish() + Generate() + GenerateSubspan() + GetDigest() + GetDigestSize() + GetMaximumChunkSize() + GetRecommendedIvSize() + SetKey() + Start() + Update() + Verify() + VerifySubspan() nara__crypto__cryp__CryptoContext85 CryptoContext nara__crypto__cryp__MessageAuthnCodeCtx845->nara__crypto__cryp__CryptoContext85

Vue détaillée

Sélectionnez une entrée dans le plan.

Méthodes

Cancel fonction

Cancel the ongoing streaming operation that has been initiated by Start() and has not yet been finished.

virtual ara::core::Result< void > Cancel () noexcept=0;
Compare fonction

Compare the size and content of the calculated MAC digest against an expected value.

virtual ara::core::Result< bool > Compare (ReadOnlyMemRegion expected) const noexcept=0;

Compare the most significant bits of the calculated MAC digest against an expected value.

virtual ara::core::Result< bool > CompareSubspan (ReadOnlyMemRegion expected) const noexcept=0;
Finish fonction

Finish the MAC calculation.

virtual ara::core::Result< void > Finish () noexcept=0;
Generate fonction

Calculate a MAC digest and write it to the provided output buffer.

virtual ara::core::Result< std::size_t > Generate (ReadOnlyMemRegion data, ReadWriteMemRegion digest, ara::core::Optional< ReadOnlyMem Region > iv) const noexcept=0;

Calculate a MAC digest and fill the provided output buffer with the beginning (MSB) of the calculated digest.

virtual ara::core::Result< std::size_t > GenerateSubspan (ReadOnlyMem Region data, ReadWriteMemRegion truncatedDigest, ara::core::Optional< ReadOnlyMemRegion > iv) const noexcept=0;
GetDigest fonction

Write the calculated MAC digest into the provided output buffer.

virtual ara::core::Result< std::size_t > GetDigest (ReadWriteMemRegion digest) const noexcept=0;
GetDigestSize fonction

Get the output digest size.

virtual ara::core::Result< std::size_t > GetDigestSize () const noexcept=0;

Get the maximum input buffer size supported for processing in single calls to Update() or Finish() by this context.

virtual ara::core::Result< std::size_t > GetMaximumChunkSize () const noexcept=0;

Get default expected size of the Initialization Vector (IV) or nonce, e.g., 12 bytes for GMAC, 0 bytes for CMAC.

virtual ara::core::Result< std::size_t > GetRecommendedIvSize () const noexcept=0;
SetKey fonction 2

Configure the context to use the provided key.

Surcharges SetKey 2
virtual ara::core::Result< void > SetKey (SymmetricKey::Sptr key) noexcept=0; SWS_CRYPT_22118
virtual ara::core::Result< void > SetKey (KeySlot::Sptr keySlot) noexcept=0; SWS_CRYPT_50026
Start fonction 2

Initialize the context for a new MAC calculation and set an IV (e.g., used for GMAC)

Surcharges Start 2
virtual ara::core::Result< void > Start (ReadOnlyMemRegion iv) noexcept=0; SWS_CRYPT_22110
virtual ara::core::Result< void > Start () noexcept=0; SWS_CRYPT_22111
Update fonction

Update the MAC calculation context by a new part of the message.

virtual ara::core::Result< void > Update (ReadOnlyMemRegion data) noexcept=0;
Verify fonction

Calculate a MAC digest and compare the calculated MAC digest against an expected value.

virtual ara::core::Result< bool > Verify (ReadOnlyMemRegion data, Read OnlyMemRegion expected, ara::core::Optional< ReadOnlyMemRegion > iv) const noexcept=0;
VerifySubspan fonction

Calculate a MAC digest and compare the most-significant bits of the calculated MAC digest against an expected value.

virtual ara::core::Result< bool > VerifySubspan (ReadOnlyMemRegion data, ReadOnlyMemRegion expected, ara::core::Optional< ReadOnlyMem Region > iv) const noexcept=0;

Alias de type

Sptr alias de type

Smart pointer of the interface.

Documentation des méthodes

fonction Cancel [SWS_CRYPT_50027] Upstream: RS_CRYPTO_02302

virtual ara::core::Result< void > Cancel () noexcept=0;

Cancel the ongoing streaming operation that has been initiated by Start() and has not yet been finished.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 53954aee5980 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La méthode virtuelle pure Cancel sert, dans l'interface ara::crypto::cryp::MessageAuthnCodeCtx, à interrompre une opération de streaming en cours, initiée au préalable via Start() et non encore achevée [SWS_CRYPT_50027]. L'appel s'effectue de manière synchrone, ne prend aucun paramètre d'entrée et renvoie en cas de succès un ara::core::Result<void> vide, ce qui confirme l'interruption réussie de l'opération [SWS_CRYPT_50027].

Si le traitement des données n'a pas été correctement initié par la méthode Start() avant l'appel, l'exécution échoue. Dans ce cas, la fonction renvoie un résultat avec le code d'erreur spécifique ara::crypto::CryptoErrc::kProcessingNotStarted en garantissant une sémantique de retour arrière (rollback) [SWS_CRYPT_50027]. Concernant la sécurité d'exécution, l'interface est spécifiée comme sûre pour les threads (thread-safe) et garantit la sécurité vis-à-vis des exceptions (exception safe), car elle est déclarée comme noexcept et ne lève aucune exception [SWS_CRYPT_50027].

Le comportement d'interruption identique pour les traitements de streaming non encore finalisés est partagé par toutes les interfaces de contexte apparentées du module cryptographique :

Interprétation : grâce à l'interruption de l'opération inachevée, le contexte devrait être ramené à un état nettoyé qui permet une réinitialisation ultérieure via Start(). Question Q-a8fa5cb85c3dab50 (ouverte)

Cette note d'utilisation a été générée automatiquement sur la base de la spécification AUTOSAR Adaptive R25-11.

Guide de l'implémenteur à venir (complexité I1)

Header-Datei#include "ara/crypto/cryp/message_authn_code_ctx.h"
Scopeclass ara::crypto::cryp::MessageAuthnCodeCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
ara::core::Result< void >an empty result if the ongoing streaming operation was cancelled successfully, or a result containing an error

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kProcessingNotStartedrollback_semantics if data processing was not started by a call of the Start() method

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CRYPT_50027
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50027@rel:R25-11#dcf5d752
Content hash
dcf5d752
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50027
Status: valid/unmigrated Version: rel:R25-11#c993fffd Versionshistorie & Revisions (1 transition)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CRYPT_50027@rel:R25-11#c993fffd
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction Compare [SWS_CRYPT_50133] Upstream: RS_CRYPTO_02309

virtual ara::core::Result< bool > Compare (ReadOnlyMemRegion expected) const noexcept=0;

Compare the size and content of the calculated MAC digest against an expected value.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 9af675c314c3 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La méthode purement virtuelle Compare de la classe ara::crypto::cryp::MessageAuthnCodeCtx sert à comparer la taille et le contenu d'un Message Authentication Code (MAC) calculé avec un digest attendu [SWS_CRYPT_50133]. Le digest MAC attendu est transmis via le paramètre ReadOnlyMemRegion expected. La fonction renvoie un ara::core::Result<bool> qui contient true si la valeur MAC calculée correspond exactement à la valeur attendue, et sinon false [SWS_CRYPT_50133].

Gestion des erreurs

En cas d'erreur, un code d'erreur est renvoyé dans l'objet de résultat, avec application d'une sémantique de rollback [SWS_CRYPT_50133] :

  • ara::crypto::CryptoErrc::kProcessingNotFinished : est signalé lorsque le calcul du digest n'a pas été préalablement finalisé par l'appel de la méthode Finish() [SWS_CRYPT_50133].
  • ara::crypto::CryptoErrc::kInvalidInputSize : survient lorsque la taille de tampon transmise pour le digest MAC attendu n'est pas prise en charge par le contexte [SWS_CRYPT_50133].

Concurrence et restrictions

La méthode est déclarée comme const ainsi que noexcept et est, conformément aux spécifications, sûre au regard des threads (thread-safe) et des exceptions (exception safe) [SWS_CRYPT_50133]. Une précondition essentielle est l'achèvement préalable et réussi du calcul du digest via Finish() [SWS_CRYPT_50133].

Interaction

Par opposition à Compare, qui valide la correspondance complète de l'ensemble du digest MAC [SWS_CRYPT_50133], CompareSubspan compare dans le même contexte uniquement les bits de poids fort (most significant bits) avec la valeur attendue [SWS_CRYPT_50028]. Pour les fonctions de hachage non indexées par clé, il existe une fonction Compare de même nom dans ara::crypto::cryp::HashFunctionCtx [SWS_CRYPT_50154].

Cette note d'utilisation a été générée automatiquement sur la base de la spécification R25-11.

Header-Datei#include "ara/crypto/cryp/message_authn_code_ctx.h"
Scopeclass ara::crypto::cryp::MessageAuthnCodeCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
expectedthe expected MAC digest

Rückgabewert

TypBeschreibung
ara::core::Result< bool >true if the expected MAC value equals the calculated MAC value, false otherwise.

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kProcessingNotFinishedrollback_semantics if the digest calculation was not finished by a call of the Finish() method
ara::crypto::CryptoErrc::kInvalidInputSizerollback_semantics if the size of the expected MAC digest is not supported

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CRYPT_50133
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50133@rel:R25-11#4f5db2a9
Content hash
4f5db2a9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50133
Status: valid/unmigrated Version: rel:R25-11#0e62292d Versionshistorie & Revisions (1 transition)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CRYPT_50133@rel:R25-11#0e62292d
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction CompareSubspan [SWS_CRYPT_50028] Upstream: RS_CRYPTO_02309

virtual ara::core::Result< bool > CompareSubspan (ReadOnlyMemRegion expected) const noexcept=0;

Compare the most significant bits of the calculated MAC digest against an expected value.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 4c36a4e7dbbc Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La méthode synchrone CompareSubspan de la classe ara::crypto::cryp::MessageAuthnCodeCtx compare les bits les plus significatifs (Most Significant Bits) d'une valeur MAC calculée avec une référence prédéfinie [SWS_CRYPT_50028]. La valeur de comparaison attendue est transmise via le paramètre expected en tant que ReadOnlyMemRegion [SWS_CRYPT_50028]. Le résultat est retourné sous forme de ara::core::Result<bool> et contient true en cas d'identité des bits de poids fort ainsi que false en cas d'écarts [SWS_CRYPT_50028].

Gestion des erreurs et conditions de déroulement

Pour une comparaison valide, le calcul de la valeur de contrôle doit être achevé. En l'absence d'appel préalable à la méthode Finish(), l'appel échoue avec le code d'erreur ara::crypto::CryptoErrc::kProcessingNotFinished [SWS_CRYPT_50028]. Si la taille du tampon du paramètre transmis expected n'est pas autorisée pour le procédé utilisé, la méthode signale ara::crypto::CryptoErrc::kInvalidInputSize [SWS_CRYPT_50028]. Les deux types d'erreurs garantissent une sémantique de rollback [SWS_CRYPT_50028].

Concurrence et contexte d'exécution

L'opération est spécifiée comme noexcept (exception-safe) et classée comme thread-safe [SWS_CRYPT_50028]. Interprétation : la sécurité des threads déclarée devrait faire référence à l'état consécutif à Finish(), de sorte que plusieurs threads puissent vérifier en parallèle le même condensé calculé. Question Q-ac8b7ead6a5b508e (ouverte)

Cette note d'utilisation a été générée automatiquement sur la base de la spécification AUTOSAR R25-11.

Header-Datei#include "ara/crypto/cryp/message_authn_code_ctx.h"
Scopeclass ara::crypto::cryp::MessageAuthnCodeCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
expectedthe expected MAC digest

Rückgabewert

TypBeschreibung
ara::core::Result< bool >true if the most-significant bits of the calculated MAC equal the expected byte sequence, false otherwise.

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kProcessingNotFinishedrollback_semantics if the digest calculation was not finished by a call of the Finish() method
ara::crypto::CryptoErrc::kInvalidInputSizerollback_semantics if the size of the expected MAC digest is not supported

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CRYPT_50028
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50028@rel:R25-11#cd99ef64
Content hash
cd99ef64
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50028
Status: valid/unmigrated Version: rel:R25-11#e7ce513a Versionshistorie & Revisions (1 transition)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CRYPT_50028@rel:R25-11#e7ce513a
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction Finish [SWS_CRYPT_22115] Upstream: RS_CRYPTO_02302, RS_CRYPTO_02203

virtual ara::core::Result< void > Finish () noexcept=0;

Finish the MAC calculation.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 9113df4242ca Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La méthode Finish() finalise obligatoirement le calcul en cours d'un code d'authentification de message (MAC) au sein de l'interface MessageAuthnCodeCtx [SWS_CRYPT_22115]. L'appel s'effectue de manière synchrone, ne prend aucun paramètre et renvoie ara::core::Result<void>, ce qui représente un résultat vide en cas de succès nominal [SWS_CRYPT_22115].

En cas d'erreur, la fonction fournit le code d'erreur ara::crypto::CryptoErrc::kProcessingNotStarted si le calcul de MAC n'a pas été démarré avec succès avant l'appel ; une sémantique de retour arrière s'applique alors [SWS_CRYPT_22115]. L'opération est déclarée comme noexcept et spécifiée, conformément à la spécification, à la fois comme sûre vis-à-vis des exceptions (exception safe) et sûre vis-à-vis des threads (thread-safe) [SWS_CRYPT_22115].

Dans le flux de traitement, Finish() constitue le lien entre le traitement des données et l'évaluation : après l'appel, le condensé MAC généré peut être transféré dans un tampon fourni via GetDigest() [SWS_CRYPT_22116] ou être directement vérifié par rapport à une valeur de référence avec CompareSubspan() [SWS_CRYPT_50028]. Alors que GetMaximumChunkSize() [SWS_CRYPT_50033] décrit de manière générique des tailles de tampon pour Update() ou Finish(), Finish() ne traite ici aucune donnée directement ; sa mention dans l'exigence reflète vraisemblablement un modèle uniforme à travers tous les contextes cryptographiques. Question Q-79b4f4ecf3998e48 (ouverte)

Cette note d'utilisation a été générée automatiquement sur la base de la spécification d'AUTOSAR R25-11.

Header-Datei#include "ara/crypto/cryp/message_authn_code_ctx.h"
Scopeclass ara::crypto::cryp::MessageAuthnCodeCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
ara::core::Result< void >An empty result or an error

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kProcessingNotStartedrollback_semantics if the MAC calculation has not been started successfully.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CRYPT_22115
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_22115@rel:R25-11#0001f719
Content hash
0001f719
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_22115
Status: valid/unmigrated Version: rel:R25-11#e646e46d Versionshistorie & Revisions (1 transition, 7 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CRYPT_22115@rel:R25-11#e646e46d
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#7d2b83f62026-09-30
  • R20-11rel:R20-11#a059cf072026-10-14
  • R21-11rel:R21-11#760e02282026-10-14
  • R22-11rel:R22-11#194848542026-10-14
  • R23-11rel:R23-11#499debd32026-10-14
  • R24-11rel:R24-11#d34af0022026-10-14
  • R25-11rel:R25-11#e646e46d2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction Generate [SWS_CRYPT_50029] Upstream: RS_CRYPTO_02309

virtual ara::core::Result< std::size_t > Generate (ReadOnlyMemRegion data, ReadWriteMemRegion digest, ara::core::Optional< ReadOnlyMem Region > iv) const noexcept=0;

Calculate a MAC digest and write it to the provided output buffer.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 1f27dd6e39dc Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction membre synchrone Generate de la classe ara::crypto::cryp::MessageAuthnCodeCtx sert, conformément à [SWS_CRYPT_50029], à calculer un Message Authentication Code (MAC) en une seule étape et écrit le condensé calculé dans le tampon de sortie fourni.

Pour l'appel, les paramètres suivants sont transmis :

  • data : données d'entrée pour le calcul du MAC en tant que ReadOnlyMemRegion.
  • digest : zone mémoire de destination de type ReadWriteMemRegion dans laquelle le condensé est écrit.
  • iv : un vecteur d'initialisation optionnel sous forme de ara::core::Optional<ReadOnlyMemRegion>.

En cas de succès, la fonction renvoie un ara::core::Result<std::size_t> contenant la taille en octets du condensé MAC écrit [SWS_CRYPT_50029].

Si une erreur survient, un code d'erreur avec sémantique de rollback est renvoyé [SWS_CRYPT_50029] :

  • UninitializedContext : le contexte n'a pas encore été initialisé par l'assignation d'une clé.
  • ara::crypto::CryptoErrc::kUsageViolation : la clé utilisée ne possède pas l'indicateur d'utilisation requis kAllowMac. Interprétation : une clé symétrique adaptée devrait être générée et configurée préalablement via GenerateSymmetricKey [SWS_CRYPT_20721]. Question Q-d22f397bbc02487b (ouverte)
  • ara::crypto::CryptoErrc::kEmptyKeySlot : Un KeySlot configuré est actuellement vide.
  • ara::crypto::CryptoErrc::kUnsupported : le traitement en un seul appel n'est pas pris en charge ou l'indication du vecteur d'initialisation ne correspond pas aux exigences de l'algorithme (IV manquant ou spécifié de manière non autorisée).
  • ara::crypto::CryptoErrc::kInvalidInputSize : la taille de tampon des données d'entrée ou de l'IV n'est pas prise en charge.
  • ara::crypto::CryptoErrc::kInsufficientCapacity : le tampon de destination digest est trop petit pour le condensé MAC.
  • ara::crypto::CryptoErrc::kBusyResource : une ressource système requise est occupée.

En ce qui concerne la concurrence, la méthode est spécifiée comme thread-safe et exception safe [SWS_CRYPT_50029]. Elle est déclarée comme const noexcept et ne modifie pas l'état du contexte lors de son exécution.

Cette note d'utilisation a été générée automatiquement et s'appuie sur la spécification AUTOSAR Adaptive de la publication R25-11.

Header-Datei#include "ara/crypto/cryp/message_authn_code_ctx.h"
Scopeclass ara::crypto::cryp::MessageAuthnCodeCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe ara::crypto::CryptoErrc::k rollback_semantics

Parameter (in)

ParameterBeschreibung
datathe input data for the MAC
ivan optional initialization vector

Parameter (out)

ParameterBeschreibung
digestan output data buffer that the MAC digest will be written into

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >A result containing the size in bytes of the MAC digest or an error.

Fehler

FehlercodeBeschreibung
UninitializedContextif the context was not initialized by deploying a key
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if single-call processing is not supported, or if the context requires setting an IV but no IV is provided, or if the context does not support setting an IV but an IV is provided
ara::crypto::CryptoErrc::kInvalidInputSizerollback_semantics if the size of provided data or IV is not supported
ara::crypto::CryptoErrc::kInsufficientCapacityrollback_semantics if the output buffer is too small
ara::crypto::CryptoErrc::kBusyResourcerollback_semantics a required resource is busy
ara::crypto::CryptoErrc::kEmptyKeySlotrollback_semantics if a KeySlot was configured that is currently is empty
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the key does not include kAllowMac

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CRYPT_50029
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50029@rel:R25-11#5878e350
Content hash
5878e350
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50029
Status: valid/unmigrated Version: rel:R25-11#66865bf3 Versionshistorie & Revisions (1 transition)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CRYPT_50029@rel:R25-11#66865bf3
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction GenerateSubspan [SWS_CRYPT_50030] Upstream: RS_CRYPTO_02309

virtual ara::core::Result< std::size_t > GenerateSubspan (ReadOnlyMem Region data, ReadWriteMemRegion truncatedDigest, ara::core::Optional< ReadOnlyMemRegion > iv) const noexcept=0;

Calculate a MAC digest and fill the provided output buffer with the beginning (MSB) of the calculated digest.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 9f5519d31718 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La méthode GenerateSubspan de la classe ara::crypto::cryp::MessageAuthnCodeCtx calcule en une seule étape un code d'authentification de message (MAC) pour les données d'entrée data et écrit le début (les octets de poids fort, MSB) du condensé calculé dans le tampon de sortie truncatedDigest [SWS_CRYPT_50030]. Via le paramètre optionnel iv, un vecteur d'initialisation peut être transmis si nécessaire [SWS_CRYPT_50030]. Le retour direct de ara::core::Result<std::size_t> devrait indiquer une exécution synchrone ; en cas de déroulement réussi, le nombre d'octets écrits du condensé MAC est renvoyé [SWS_CRYPT_50030]. Question Q-167c6d44b9f39fed (ouverte)

La spécification définit une sémantique de retour arrière en cas d'erreur et prévoit les codes d'erreur suivants [SWS_CRYPT_50030] :

  • UninitializedContext : le contexte n'a pas été préalablement initialisé par l'assignation d'une clé [SWS_CRYPT_50030].
  • ara::crypto::CryptoErrc::kEmptyKeySlot : un KeySlot configuré est actuellement vide [SWS_CRYPT_50030].
  • ara::crypto::CryptoErrc::kUsageViolation : L'utilisation autorisée de la clé n'inclut pas kAllowMac [SWS_CRYPT_50030].
  • ara::crypto::CryptoErrc::kUnsupported : Le traitement en une seule étape n'est pas pris en charge, ou la configuration de l'IV ne correspond pas au contexte (IV requis manquant ou IV non autorisé transmis) [SWS_CRYPT_50030].
  • ara::crypto::CryptoErrc::kInvalidInputSize : La taille des données transmises data ou du iv n'est pas prise en charge [SWS_CRYPT_50030].
  • ara::crypto::CryptoErrc::kBusyResource : une ressource requise est occupée [SWS_CRYPT_50030].

En ce qui concerne l'environnement d'exécution, la méthode est spécifiée comme thread-safe et offre une sécurité vis-à-vis des exceptions (noexcept) [SWS_CRYPT_50030]. La fourniture préalable d'une clé dotée de l'autorisation correspondante dans le contexte constitue un prérequis pour un appel sans erreur [SWS_CRYPT_50030].

Ce texte a été généré par une IA et sert de guide d'orientation. Seule la spécification officielle AUTOSAR fait foi.

Header-Datei#include "ara/crypto/cryp/message_authn_code_ctx.h"
Scopeclass ara::crypto::cryp::MessageAuthnCodeCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe ara::crypto::CryptoErrc::k rollback_semantics

Parameter (in)

ParameterBeschreibung
datathe input data for the MAC
ivan optional initialization vector

Parameter (out)

ParameterBeschreibung
truncatedDigestan output data buffer that the beginning of the MAC digest will be written into

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >A result containing the size in bytes of the MAC digest or an error.

Fehler

FehlercodeBeschreibung
UninitializedContextif the context was not initialized by deploying a key
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if single-call processing is not supported, or if the context requires setting an IV but no IV is provided, or if the context does not support setting an IV but an IV is provided
ara::crypto::CryptoErrc::kInvalidInputSizerollback_semantics if the size of provided data or IV is not supported
ara::crypto::CryptoErrc::kBusyResourcerollback_semantics a required resource is busy
ara::crypto::CryptoErrc::kEmptyKeySlotrollback_semantics if a KeySlot was configured that is currently is empty
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the key does not include kAllowMac

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CRYPT_50030
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50030@rel:R25-11#010c056c
Content hash
010c056c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50030
Status: valid/unmigrated Version: rel:R25-11#10f782d6 Versionshistorie & Revisions (1 transition)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CRYPT_50030@rel:R25-11#10f782d6
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction GetDigest [SWS_CRYPT_22116] Upstream: RS_CRYPTO_02203

virtual ara::core::Result< std::size_t > GetDigest (ReadWriteMemRegion digest) const noexcept=0;

Write the calculated MAC digest into the provided output buffer.

Header-Datei#include "ara/crypto/cryp/message_authn_code_ctx.h"
Scopeclass ara::crypto::cryp::MessageAuthnCodeCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (out)

ParameterBeschreibung
digestan output data buffer that the MAC digest will be written into

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >A result containing the size in bytes of the MAC digest or an error.

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kProcessingNotFinishedrollback_semantics if the MAC calculation was not finished by a call of the Finish() method
ara::crypto::CryptoErrc::kInsufficientCapacityrollback_semantics if the output buffer is too small

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CRYPT_22116
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_22116@rel:R25-11#f594046b
Content hash
f594046b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_22116
Status: valid/unmigrated Version: rel:R25-11#0213970e Versionshistorie & Revisions (1 transition, 7 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CRYPT_22116@rel:R25-11#0213970e
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#f62c871b2026-09-30
  • R20-11rel:R20-11#97dd7dc32026-10-14
  • R21-11rel:R21-11#73d2dfec2026-10-14
  • R22-11rel:R22-11#086949e02026-10-14
  • R23-11rel:R23-11#c0af69462026-10-14
  • R24-11rel:R24-11#601580872026-10-14
  • R25-11rel:R25-11#0213970e2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction GetDigestSize [SWS_CRYPT_50134] Upstream: RS_CRYPTO_02309

virtual ara::core::Result< std::size_t > GetDigestSize () const noexcept=0;

Get the output digest size.

Header-Datei#include "ara/crypto/cryp/message_authn_code_ctx.h"
Scopeclass ara::crypto::cryp::MessageAuthnCodeCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >size of the hash digest in bytes

Fehler

FehlercodeBeschreibung
This function does not specify any standardized errors.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CRYPT_50134
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50134@rel:R25-11#a3613c54
Content hash
a3613c54
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50134
Status: valid/unmigrated Version: rel:R25-11#2e6c359a Versionshistorie & Revisions (1 transition)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CRYPT_50134@rel:R25-11#2e6c359a
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction GetMaximumChunkSize [SWS_CRYPT_50033] Upstream: RS_CRYPTO_02309

virtual ara::core::Result< std::size_t > GetMaximumChunkSize () const noexcept=0;

Get the maximum input buffer size supported for processing in single calls to Update() or Finish() by this context.

Header-Datei#include "ara/crypto/cryp/message_authn_code_ctx.h"
Scopeclass ara::crypto::cryp::MessageAuthnCodeCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >the maximum buffer size in bytes

Fehler

FehlercodeBeschreibung
This function does not specify any standardized errors.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CRYPT_50033
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50033@rel:R25-11#f4e6dd7f
Content hash
f4e6dd7f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50033
Status: valid/unmigrated Version: rel:R25-11#74ba2c5f Versionshistorie & Revisions (1 transition)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CRYPT_50033@rel:R25-11#74ba2c5f
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction GetRecommendedIvSize [SWS_CRYPT_50135] Upstream: RS_CRYPTO_02309

virtual ara::core::Result< std::size_t > GetRecommendedIvSize () const noexcept=0;

Get default expected size of the Initialization Vector (IV) or nonce, e.g., 12 bytes for GMAC, 0 bytes for CMAC.

Header-Datei#include "ara/crypto/cryp/message_authn_code_ctx.h"
Scopeclass ara::crypto::cryp::MessageAuthnCodeCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >default expected size of IV in bytes

Fehler

FehlercodeBeschreibung
This function does not specify any standardized errors.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CRYPT_50135
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50135@rel:R25-11#46153fa4
Content hash
46153fa4
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50135
Status: valid/unmigrated Version: rel:R25-11#b1b43096 Versionshistorie & Revisions (1 transition)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CRYPT_50135@rel:R25-11#b1b43096
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction SetKey [SWS_CRYPT_22118] Upstream: RS_CRYPTO_02001, RS_CRYPTO_02003

virtual ara::core::Result< void > SetKey (SymmetricKey::Sptr key) noexcept=0;

Configure the context to use the provided key.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : c93b5656f1ba Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La méthode SetKey configure une instance de ara::crypto::cryp::MessageAuthnCodeCtx pour le calcul ultérieur de MAC avec une clé symétrique fournie [SWS_CRYPT_22118]. L'appel s'effectue de manière synchrone et reçoit l'objet de clé sous la forme d'un pointeur intelligent SymmetricKey::Sptr. Comme résultat, la fonction renvoie un ara::core::Result<void> qui est vide en cas de succès ou qui encapsule un code d'erreur spécifique en cas d'erreur [SWS_CRYPT_22118].

Si l'assignation échoue, une sémantique de rollback s'applique, préservant l'état antérieur du contexte [SWS_CRYPT_22118]. Les états d'erreur suivants issus de ara::crypto::CryptoErrc sont spécifiés :

  • kUnsupported : Le contexte prend exclusivement en charge la liaison via un KeySlot au lieu d'objets de clé directs [SWS_CRYPT_22118].
  • kIncompatibleObject : L'objet de clé symétrique transmis est incompatible avec le contexte cible [SWS_CRYPT_22118].
  • kUsageViolation : Les drapeaux d'autorisation de la clé ne contiennent pas l'utilisation strictement requise kAllowMac [SWS_CRYPT_22118].

Concernant la sécurité d'exécution, l'interface est définie comme thread-safe et exception safe (avec noexcept) [SWS_CRYPT_22118]. En interaction avec la gestion des clés, elle constitue le pendant direct de l'assignation basée sur des slots : si une implémentation ou un cas d'usage prend en charge l'utilisation de slots persistants, la surcharge pour KeySlot::Sptr est utilisée à la place [SWS_CRYPT_50026].

Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R25-11.

Guide de l'implémenteur à venir (complexité I2)

Header-Datei#include "ara/crypto/cryp/message_authn_code_ctx.h"
Scopeclass ara::crypto::cryp::MessageAuthnCodeCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
keysymmetric key object used for MAC calculation

Rückgabewert

TypBeschreibung
ara::core::Result< void >An empty result or an error

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the context only supports setting a KeySlot
ara::crypto::CryptoErrc::kIncompatibleObjectrollback_semantics if the provided key object is incompatible with this context
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the key does not include kAllowMac

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CRYPT_22118
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_22118@rel:R25-11#e9efe927
Content hash
e9efe927
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_22118
Status: valid/unmigrated Version: rel:R25-11#e40511f7 Versionshistorie & Revisions (1 transition, 7 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CRYPT_22118@rel:R25-11#e40511f7
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#c6787c932026-09-30
  • R20-11rel:R20-11#02ea3abd2026-10-14
  • R21-11rel:R21-11#a4675ce22026-10-14
  • R22-11rel:R22-11#d5224dc92026-10-14
  • R23-11rel:R23-11#5cceac172026-10-14
  • R24-11rel:R24-11#6e177cb62026-10-14
  • R25-11rel:R25-11#e40511f72026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction SetKey [SWS_CRYPT_50026] Upstream: RS_CRYPTO_02001, RS_CRYPTO_02003

virtual ara::core::Result< void > SetKey (KeySlot::Sptr keySlot) noexcept=0;

Configure the context to use the key stored in the provided KeySlot at the time the MAC calculation is started.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 0efaaf10920d Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La fonction membre virtuelle SetKey de l'interface ara::crypto::cryp::MessageAuthnCodeCtx issue du fichier d'en-tête ara/crypto/cryp/message_authn_code_ctx.h configure le contexte pour le calcul ou la vérification d'un Message Authentication Code (MAC) [SWS_CRYPT_50026]. Comme paramètre, la méthode synchrone accepte un pointeur intelligent keySlot de type KeySlot::Sptr, qui tient à disposition une clé symétrique, et renvoie un ara::core::Result<void> [SWS_CRYPT_50026]. La liaison de la clé est sémantiquement différée : la clé stockée dans le slot n'est prise en compte qu'au moment où le calcul du MAC est effectivement démarré [SWS_CRYPT_50026]. Interprétation : des mises à jour ultérieures du contenu du slot jusqu'au démarrage du calcul devraient ainsi rester effectives. Question Q-d1886811d8af71e3 (ouverte)

Concurrence et sécurité d'exécution

L'interface est définie comme noexcept, garantit la sécurité vis-à-vis des exceptions (exception safe) et est explicitement spécifiée pour l'appel concurrent (thread-safe) [SWS_CRYPT_50026].

Traitement des erreurs et interaction

En cas d'erreur, la méthode garantit une sémantique stricte de rollback, de sorte que l'état précédent du contexte est intégralement préservé [SWS_CRYPT_50026]. Les codes d'erreur suivants peuvent survenir dans l'objet de résultat :

  • ara::crypto::CryptoErrc::kIncompatibleObject : le KeySlot transmis est incompatible avec ce contexte de clé symétrique [SWS_CRYPT_50026].
  • ara::crypto::CryptoErrc::kUnsupported : l'implémentation concrète du contexte ne prend pas en charge la définition via KeySlot [SWS_CRYPT_50026]. Dans ce cas, la surcharge SetKey(SymmetricKey::Sptr) doit être utilisée comme alternative pour la transmission directe d'une clé [SWS_CRYPT_22118].

Cette note d'utilisation a été générée automatiquement sur la base des données de spécification.

Guide de l'implémenteur à venir (complexité I2)

Header-Datei#include "ara/crypto/cryp/message_authn_code_ctx.h"
Scopeclass ara::crypto::cryp::MessageAuthnCodeCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
keySlota keyslot containing a symmetric key

Rückgabewert

TypBeschreibung
ara::core::Result< void >An empty result or an error

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kIncompatibleObjectrollback_semantics if the provided keySlot is incompatible with this symmetric key context
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the context only supports setting a SymmetricKey

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CRYPT_50026
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50026@rel:R25-11#02981e98
Content hash
02981e98
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50026
Status: valid/unmigrated Version: rel:R25-11#3de24834 Versionshistorie & Revisions (1 transition)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CRYPT_50026@rel:R25-11#3de24834
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction Start [SWS_CRYPT_22110] Upstream: RS_CRYPTO_02302

virtual ara::core::Result< void > Start (ReadOnlyMemRegion iv) noexcept=0;

Initialize the context for a new MAC calculation and set an IV (e.g., used for GMAC)

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 42d35ba25b44 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La méthode Start de ara::crypto::cryp::MessageAuthnCodeCtx initialise le contexte pour un nouveau calcul de MAC et définit ce faisant un vecteur d'initialisation ou une valeur de nonce via le paramètre iv ([SWS_CRYPT_22110]). Cela est par exemple utilisé pour des algorithmes tels que GMAC ([SWS_CRYPT_22110]). Pour les calculs sans vecteur d'initialisation explicite, la surcharge sans paramètre Start() est disponible comme alternative ([SWS_CRYPT_22111]).

Utilisation et concurrence

L'appel s'effectue de manière synchrone et est spécifié comme thread-safe ainsi que exception safe ([SWS_CRYPT_22110]). Après un appel réussi, des parties de message peuvent être transmises successivement au contexte au moyen de Update ([SWS_CRYPT_22113]). Une opération de streaming en cours et non encore achevée peut être interrompue si nécessaire via Cancel ([SWS_CRYPT_50027]).

Gestion des erreurs

La méthode renvoie un ara::core::Result<void> qui possède une sémantique de rollback en cas d'erreur ([SWS_CRYPT_22110]). Les états d'erreur possibles sont :

  • UninitializedContext : aucune clé n'a été préalablement assignée au contexte ([SWS_CRYPT_22110]).
  • ara::crypto::CryptoErrc::kEmptyKeySlot : un KeySlot configuré est vide ([SWS_CRYPT_22110]).
  • ara::crypto::CryptoErrc::kUsageViolation : les autorisations de la clé ne contiennent pas kAllowMac ([SWS_CRYPT_22110]).
  • ara::crypto::CryptoErrc::kInvalidInputSize : la taille d'IV transmise n'est pas prise en charge ([SWS_CRYPT_22110]).
  • ara::crypto::CryptoErrc::kUnsupported : le streaming ou la définition d'un IV n'est pas pris en charge par l'algorithme ou le contexte ([SWS_CRYPT_22110]).
  • ara::crypto::CryptoErrc::kBusyResource : une ressource requise est occupée ([SWS_CRYPT_22110]).

Cette note d'utilisation a été générée par une IA sur la base de la spécification AUTOSAR R25-11.

Guide de l'implémenteur à venir (complexité I1)

Header-Datei#include "ara/crypto/cryp/message_authn_code_ctx.h"
Scopeclass ara::crypto::cryp::MessageAuthnCodeCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe ara::crypto::CryptoErrc::k rollback_semantics

Parameter (in)

ParameterBeschreibung
ivan Initialization Vector (IV) or "nonce" value

Rückgabewert

TypBeschreibung
ara::core::Result< void >An empty result or an error

Fehler

FehlercodeBeschreibung
UninitializedContextif the context was not initialized by deploying a key
ara::crypto::CryptoErrc::kInvalidInputSizerollback_semantics if the size of provided IV is not supported
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the context does not support streaming or the algorithm does not support setting an IV
ara::crypto::CryptoErrc::kBusyResourcerollback_semantics a required resource is busy
ara::crypto::CryptoErrc::kEmptyKeySlotrollback_semantics if a KeySlot was configured that is currently is empty
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the key does not include kAllowMac

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CRYPT_22110
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_22110@rel:R25-11#5c4f9afd
Content hash
5c4f9afd
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_22110
Status: valid/unmigrated Version: rel:R25-11#a5427060 Versionshistorie & Revisions (1 transition, 7 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CRYPT_22110@rel:R25-11#a5427060
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#ce38532b2026-09-30
  • R20-11rel:R20-11#15ffee6c2026-10-14
  • R21-11rel:R21-11#a3f8962f2026-10-14
  • R22-11rel:R22-11#fad6ef962026-10-14
  • R23-11rel:R23-11#765095392026-10-14
  • R24-11rel:R24-11#55625d952026-10-14
  • R25-11rel:R25-11#a54270602026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction Start [SWS_CRYPT_22111] Upstream: RS_CRYPTO_02302

virtual ara::core::Result< void > Start () noexcept=0;

Initialize the context for a new MAC calculation.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 891e10477d9e Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La méthode Start() initialise une instance de ara::crypto::cryp::MessageAuthnCodeCtx pour un nouveau calcul de MAC [SWS_CRYPT_22111]. L'appel ne prend aucun paramètre et renvoie un ara::core::Result<void> [SWS_CRYPT_22111]. L'exécution devrait être synchrone, dans la mesure où un objet de résultat est directement fourni. Question Q-1e6e36f4ed1176d3 (ouverte)

Gestion des erreurs et concurrence

Si une erreur survient lors de l'initialisation, la sémantique de rollback s'applique et l'un des codes d'erreur suivants est renvoyé [SWS_CRYPT_22111] :

  • UninitializedContext : aucune clé n'a été préalablement assignée au contexte [SWS_CRYPT_22111].
  • ara::crypto::CryptoErrc::kUnsupported : le contexte ne prend pas en charge le streaming ou l'algorithme exige impérativement un vecteur d'initialisation (IV) [SWS_CRYPT_22111].
  • ara::crypto::CryptoErrc::kBusyResource : une ressource requise est occupée [SWS_CRYPT_22111].
  • ara::crypto::CryptoErrc::kEmptyKeySlot : un KeySlot configuré est vide [SWS_CRYPT_22111].
  • ara::crypto::CryptoErrc::kUsageViolation : la clé ne permet pas de calcul de MAC sans kAllowMac défini [SWS_CRYPT_22111].

La fonction est spécifiée comme sûre vis-à-vis des threads et sûre vis-à-vis des exceptions (exception safe) [SWS_CRYPT_22111].

Interaction dans le déroulement du streaming

Si l'algorithme exige un IV (par ex. GMAC), il convient d'utiliser à la place la surcharge Start(ReadOnlyMemRegion iv) [SWS_CRYPT_22110]. Après un appel réussi, les données de message peuvent être transmises progressivement via Update() [SWS_CRYPT_22113]. Une opération de streaming non encore terminée peut être abandonnée via Cancel() [SWS_CRYPT_50027].

Cette note d'utilisation a été générée par un système d'IA sur la base de la spécification AUTOSAR.

Guide de l'implémenteur à venir (complexité I1)

Header-Datei#include "ara/crypto/cryp/message_authn_code_ctx.h"
Scopeclass ara::crypto::cryp::MessageAuthnCodeCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe ara::crypto::CryptoErrc::k rollback_semantics

Rückgabewert

TypBeschreibung
ara::core::Result< void >An empty result or an error

Fehler

FehlercodeBeschreibung
UninitializedContextif the context was not initialized by deploying a key
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the context does not support streaming or the algorithm requires setting an IV
ara::crypto::CryptoErrc::kBusyResourcerollback_semantics a required resource is busy
ara::crypto::CryptoErrc::kEmptyKeySlotrollback_semantics if a KeySlot was configured that is currently is empty
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the key does not include kAllowMac

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CRYPT_22111
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_22111@rel:R25-11#d1114e67
Content hash
d1114e67
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_22111
Status: valid/unmigrated Version: rel:R25-11#7b2a29d5 Versionshistorie & Revisions (1 transition, 7 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CRYPT_22111@rel:R25-11#7b2a29d5
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#d8957c992026-09-30
  • R20-11rel:R20-11#93def7c72026-10-14
  • R21-11rel:R21-11#268430762026-10-14
  • R22-11rel:R22-11#55642f832026-10-14
  • R23-11rel:R23-11#8f849ff62026-10-14
  • R24-11rel:R24-11#fa181e4f2026-10-14
  • R25-11rel:R25-11#7b2a29d52026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction Update [SWS_CRYPT_22113] Upstream: RS_CRYPTO_02302

virtual ara::core::Result< void > Update (ReadOnlyMemRegion data) noexcept=0;

Update the MAC calculation context by a new part of the message.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 017c756799dd Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La méthode synchrone Update du contexte ara::crypto::cryp::MessageAuthnCodeCtx sert à compléter le calcul en cours d'un code d'authentification de message (MAC) par un nouveau fragment du message d'entrée [SWS_CRYPT_22113]. Le segment de données à traiter est transmis via le paramètre data sous la forme d'une ReadOnlyMemRegion. En valeur de retour, la fonction renvoie un ara::core::Result<void> qui confirme l'étape intermédiaire réussie ou, en cas d'erreur, renseigne sur la cause de l'erreur [SWS_CRYPT_22113].

Gestion des erreurs et concurrence

En cas d'erreur, une sémantique de rollback est garantie, de sorte que l'état de calcul antérieur reste inchangé [SWS_CRYPT_22113]. Les causes d'erreur possibles sont :

  • ara::crypto::CryptoErrc::kProcessingNotStarted : le calcul n'a pas été préalablement initié par l'appel de la méthode Start() [SWS_CRYPT_22113].
  • ara::crypto::CryptoErrc::kInvalidInputSize : la taille du bloc de données transmis n'est pas prise en charge par le contexte [SWS_CRYPT_22113].

La méthode est déclarée comme noexcept et spécifiée comme sûre vis-à-vis des threads et sûre vis-à-vis des exceptions (exception safe) [SWS_CRYPT_22113].

Interaction

Afin d'éviter les erreurs de mémoire tampon avec ara::crypto::CryptoErrc::kInvalidInputSize, la taille d'entrée maximale autorisée pour des appels individuels peut être interrogée au préalable via la méthode GetMaximumChunkSize() [SWS_CRYPT_50033]. Après le traitement successif de tous les fragments de message, le calcul du tag MAC devrait typiquement, selon l'interprétation, être finalisé via la méthode Finish() [SWS_CRYPT_50033]. Question Q-7f8eaf8ebbf30d55 (ouverte)

Ce texte a été généré par une IA sur la base de la spécification AUTOSAR.

Header-Datei#include "ara/crypto/cryp/message_authn_code_ctx.h"
Scopeclass ara::crypto::cryp::MessageAuthnCodeCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
dataa part of the input message that should be processed

Rückgabewert

TypBeschreibung
ara::core::Result< void >An empty result or an error

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kProcessingNotStartedrollback_semantics if the digest calculation was not initiated by a call of the Start() method
ara::crypto::CryptoErrc::kInvalidInputSizerollback_semantics if the size of provided data is not supported

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CRYPT_22113
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_22113@rel:R25-11#c990428f
Content hash
c990428f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_22113
Status: valid/unmigrated Version: rel:R25-11#36f72b69 Versionshistorie & Revisions (1 transition, 7 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CRYPT_22113@rel:R25-11#36f72b69
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#fa55dfba2026-09-30
  • R20-11rel:R20-11#f6d1433b2026-10-14
  • R21-11rel:R21-11#c608c8842026-10-14
  • R22-11rel:R22-11#a558bc872026-10-14
  • R23-11rel:R23-11#67ff09652026-10-14
  • R24-11rel:R24-11#8f531e602026-10-14
  • R25-11rel:R25-11#36f72b692026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction Verify [SWS_CRYPT_50031] Upstream: RS_CRYPTO_02309

virtual ara::core::Result< bool > Verify (ReadOnlyMemRegion data, Read OnlyMemRegion expected, ara::core::Optional< ReadOnlyMemRegion > iv) const noexcept=0;

Calculate a MAC digest and compare the calculated MAC digest against an expected value.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 7407e2d0a067 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La méthode Verify dans ara::crypto::cryp::MessageAuthnCodeCtx ([SWS_CRYPT_50031]) sert au calcul synchrone d'un condensé MAC sur le tampon d'entrée data et à sa comparaison directe avec la valeur attendue expected. De manière optionnelle, un vecteur d'initialisation peut être transmis via iv. Comme résultat, la fonction renvoie un ara::core::Result<bool> qui contient true si le MAC calculé correspond à la séquence d'octets attendue, sinon false.

Gestion des erreurs

Si la vérification échoue pour des raisons systémiques ou cryptographiques, la méthode renvoie un ara::core::Result avec un code d'erreur correspondant ([SWS_CRYPT_50031]) :

  • UninitializedContext : si le contexte n'a pas été initialisé préalablement par l'assignation d'une clé.
  • ara::crypto::CryptoErrc::kEmptyKeySlot : si le KeySlot configuré est vide.
  • ara::crypto::CryptoErrc::kUsageViolation : si l'utilisation autorisée de la clé n'englobe pas kAllowMac.
  • ara::crypto::CryptoErrc::kInvalidInputSize : si la taille de tampon de data, expected ou iv est non autorisée.
  • ara::crypto::CryptoErrc::kUnsupported : si l'exécution en un seul appel n'est pas prise en charge ou si la mise à disposition du iv ne correspond pas aux exigences de l'algorithme.
  • ara::crypto::CryptoErrc::kBusyResource : en cas de conflits de ressources.

Concurrence et interaction

La méthode est spécifiée comme thread-safe et exception safe ([SWS_CRYPT_50031]). En cas d'erreur, une sémantique de rollback s'applique. À la différence des vérifications de signature asymétriques dans ara::crypto::cryp::VerifierPublicCtx ([SWS_CRYPT_24112], [SWS_CRYPT_50024]), Verify opère sur des contextes MAC symétriques. La taille de tampon maximale traitable dans un appel unique devrait – de manière analogue à l'interrogation de tampon chez les vérificateurs de signature ([SWS_CRYPT_50025]) – être limitée par l'implémentation du contexte. Question Q-51e7427e4e082881 (ouverte)

Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R25-11.

Header-Datei#include "ara/crypto/cryp/message_authn_code_ctx.h"
Scopeclass ara::crypto::cryp::MessageAuthnCodeCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe ara::crypto::CryptoErrc::k rollback_semantics

Parameter (in)

ParameterBeschreibung
datathe input data for the MAC
expectedthe expected MAC digest
ivan optional initialization vector

Rückgabewert

TypBeschreibung
ara::core::Result< bool >true if the calculated MAC equals the expected byte sequence, false otherwise.

Fehler

FehlercodeBeschreibung
UninitializedContextif the context was not initialized by deploying a key
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if single-call operation is not supported, or if the context requires setting an IV but no IV is provided, or if the context does not support setting an IV but an IV is provided
ara::crypto::CryptoErrc::kInvalidInputSizerollback_semantics if the size of the provided data, expected digest or IV is not supported
ara::crypto::CryptoErrc::kBusyResourcerollback_semantics a required resource is busy
ara::crypto::CryptoErrc::kEmptyKeySlotrollback_semantics if a KeySlot was configured that is currently is empty
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the key does not include kAllowMac

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CRYPT_50031
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50031@rel:R25-11#8915c0b1
Content hash
8915c0b1
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50031
Status: valid/unmigrated Version: rel:R25-11#36679231 Versionshistorie & Revisions (1 transition)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CRYPT_50031@rel:R25-11#36679231
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction VerifySubspan [SWS_CRYPT_50032] Upstream: RS_CRYPTO_02309

virtual ara::core::Result< bool > VerifySubspan (ReadOnlyMemRegion data, ReadOnlyMemRegion expected, ara::core::Optional< ReadOnlyMem Region > iv) const noexcept=0;

Calculate a MAC digest and compare the most-significant bits of the calculated MAC digest against an expected value.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : afcf3e6e2c9f Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La méthode VerifySubspan de la classe ara::crypto::cryp::MessageAuthnCodeCtx sert au calcul synchrone d'un condensé MAC et à la comparaison subséquente de ses bits les plus significatifs avec une séquence d'octets attendue [SWS_CRYPT_50032]. Elle traite des données d'entrée via data, les bits de tête attendus via expected ainsi qu'un vecteur d'initialisation optionnel via iv [SWS_CRYPT_50032]. Le résultat est renvoyé sous la forme de ara::core::Result<bool> et signale true en cas de correspondance réussie, et sinon false [SWS_CRYPT_50032].

L'interface est spécifiée comme noexcept, est exception safe ainsi que thread-safe et applique une sémantique de retour arrière en cas d'erreur [SWS_CRYPT_50032]. Les appels ayant échoué fournissent des codes d'erreur spécifiques dans la valeur de retour [SWS_CRYPT_50032] :

  • UninitializedContext : Le contexte n'a pas été initialisé auparavant en lui assignant une clé [SWS_CRYPT_50032].
  • ara::crypto::CryptoErrc::kUsageViolation : l'utilisation autorisée de la clé n'inclut pas kAllowMac [SWS_CRYPT_50032].
  • ara::crypto::CryptoErrc::kEmptyKeySlot : un KeySlot configuré est actuellement vide [SWS_CRYPT_50032].
  • ara::crypto::CryptoErrc::kInvalidInputSize : La taille des données transmises, de la valeur de contrôle attendue ou de l'IV n'est pas prise en charge [SWS_CRYPT_50032].
  • ara::crypto::CryptoErrc::kUnsupported : L'opération en appel unique (single-call) n'est pas prise en charge ou la fourniture de l'IV contredit les exigences du contexte [SWS_CRYPT_50032].
  • ara::crypto::CryptoErrc::kBusyResource : une ressource requise est occupée [SWS_CRYPT_50032].

Cette note d'utilisation a été générée automatiquement sur la base de la spécification.

Header-Datei#include "ara/crypto/cryp/message_authn_code_ctx.h"
Scopeclass ara::crypto::cryp::MessageAuthnCodeCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe ara::crypto::CryptoErrc::k rollback_semantics

Parameter (in)

ParameterBeschreibung
datathe input data for the MAC
expectedthe expected most significant bits of the MAC digest
ivan optional initialization vector

Rückgabewert

TypBeschreibung
ara::core::Result< bool >true if the calculated MAC equals the expected byte sequence, false otherwise.

Fehler

FehlercodeBeschreibung
UninitializedContextif the context was not initialized by deploying a key
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if single-call operation is not supported, or if the context requires setting an IV but no IV is provided, or if the context does not support setting an IV but an IV is provided
ara::crypto::CryptoErrc::kInvalidInputSizerollback_semantics if the size of the provided data, expected digest or IV is not supported
ara::crypto::CryptoErrc::kBusyResourcerollback_semantics a required resource is busy
ara::crypto::CryptoErrc::kEmptyKeySlotrollback_semantics if a KeySlot was configured that is currently is empty
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the key does not include kAllowMac

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CRYPT_50032
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50032@rel:R25-11#01b26584
Content hash
01b26584
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50032
Status: valid/unmigrated Version: rel:R25-11#ff2bb246 Versionshistorie & Revisions (1 transition)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CRYPT_50032@rel:R25-11#ff2bb246
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

Documentation des alias de type

alias de type Sptr [SWS_CRYPT_22101] Upstream: RS_CRYPTO_02203

using Sptr = std::shared_ptr<MessageAuthnCodeCtx>;

Smart pointer of the interface.

Header-Datei#include "ara/crypto/cryp/message_authn_code_ctx.h"
Scopeclass ara::crypto::cryp::MessageAuthnCodeCtx
SymbolSptr

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CRYPT_22101
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_22101@rel:R25-11#1226ee2a
Content hash
1226ee2a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_22101
Status: valid/unmigrated Version: rel:R25-11#3fbb9742 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CRYPT_22101@rel:R25-11#3fbb9742
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#553114f32026-09-30
  • R19-11rel:R19-11#2bb7b6d02026-10-14
  • R20-11rel:R20-11#7e9953b02026-10-14
  • R21-11rel:R21-11#7e9953b02026-10-14
  • R22-11rel:R22-11#5e819bc12026-10-14
  • R23-11rel:R23-11#6def4d652026-10-14
  • R24-11rel:R24-11#6def4d652026-10-14
  • R25-11rel:R25-11#3fbb97422026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill