DEENESPTFRRUARHIKOZHNL

class 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

User GuideKI-GENERIERT

Dient der schlüsselbasierten Berechnung und Verifikation kryptografischer Message Authentication Codes.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: b9d1594d1774 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Dient der schlüsselbasierten Berechnung und Verifikation kryptografischer Message Authentication Codes.

Die Schnittstelle ermöglicht die schlüsselbasierte Berechnung und Verifikation von Message Authentication Codes für Nachrichten beliebiger Länge. Nach der Initialisierung mit einem symmetrischen Schlüssel über [SWS_CRYPT_22118] können MAC-Digests entweder in einem einzigen Schritt oder im Streaming-Verfahren über Start-, Aktualisierungs- und Abschlussaufrufe verarbeitet werden. Das resultierende Prüfergebnis lässt sich anschließend abrufen oder direkt mit einem Sollwert abgleichen. Alle Methoden sind als threadsicher spezifiziert und signalisieren fehlerhafte Abläufe oder unzureichende Pufferkapazitäten über standardisierte Rückgabewerte gemäß [SWS_CRYPT_22116].

Kontext

Die Schnittstelle MessageAuthnCodeCtx definiert kryptografische Operationen zur Generierung und Verifikation schlüsselbasierter Nachrichtenauthentifizierungscodes (Message Authentication Codes, MAC). Sie erlaubt die Authentizitäts- und Integritätsprüfung beliebiger Datenmengen sowohl über inkrementelle Datenströme als auch über einzelne zusammenhängende Speicherblöcke. Die Verwaltung von Instanzen erfolgt über den bereitgestellten Smart-Pointer-Typ Sptr [SWS_CRYPT_22101].

Als zentrale Interaktionspartner treten aufrufende Anwendungskomponenten sowie Schlüsselobjekte auf. Ein Kontext kann entweder direkt mit einem symmetrischen Schlüsselobjekt SymmetricKey [SWS_CRYPT_22118] oder über einen logischen Speicherplatz KeySlot [SWS_CRYPT_50026] konfiguriert werden. Die Datenübergabe erfolgt über Pufferstrukturen wie ReadOnlyMemRegion für Eingangsdaten sowie ReadWriteMemRegion für berechnete MAC-Digests.

Lebenszyklus

Eine Kontextinstanz durchläuft eine definierte Zustandsabfolge von der Initialisierung bis zur Bereitstellung des MAC-Ergebnisses:

  • Uninitialized: Nach der Erzeugung besitzt der Kontext noch keinen Schlüssel und lehnt Berechnungsaufrufe ab.
  • Configured: Durch Aufruf von SetKey() mit einem Schlüssel [SWS_CRYPT_22118] oder einem Schlüsselspeicher [SWS_CRYPT_50026] wird der Kontext initialisiert. In diesem Zustand können Single-Call-Methoden ausgeführt oder eine Streaming-Sitzung gestartet werden.
  • Processing: Der Aufruf von Start() ohne Initialisierungsvektor [SWS_CRYPT_22111] oder mit IV [SWS_CRYPT_22110] eröffnet die Streaming-Verarbeitung. Mittels wiederholtem Update() [SWS_CRYPT_22113] werden Datenblöcke eingespeist. Ein Abbruch ist über Cancel() möglich [SWS_CRYPT_50027].
  • Finished: Die Methode Finish() [SWS_CRYPT_22115] schließt die Berechnung ab. Anschließend kann das Ergebnis abgefragt oder verglichen werden.

Interpretation: Nach dem Abschluss oder Abbruch verbleibt der Kontext vermutlich im konfigurierten Zustand und kann für erneute Operationen wiederverwendet werden. Frage Q-b61229b77ae88ab0 (offen) Sämtliche Methoden der Schnittstelle sind als threadsicher und ausnahmesicher spezifiziert.

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()

Zustandsdiagramm: Lebenszyklus und Zustandsübergänge des MAC-Kontexts. Quellen: [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]

Nutzungspfad

Die Schnittstelle unterstützt zwei typische Nutzungspfade: inkrementelles Streaming und Single-Call-Verarbeitung.

Im Streaming-Pfad bindet der Anrufer zunächst den Schlüssel über SetKey() [SWS_CRYPT_22118]. Vor Beginn können Algorithmenparameter wie die empfohlene IV-Größe über GetRecommendedIvSize() [SWS_CRYPT_50135] sowie die maximale Chunk-Größe über GetMaximumChunkSize() [SWS_CRYPT_50033] abgefragt werden. Nach dem Aufruf von Start() [SWS_CRYPT_22110] werden Nachrichtenfragmente sukzessive per Update() verarbeitet [SWS_CRYPT_22113]. Sobald alle Daten übergeben wurden, schließt Finish() die Berechnung ab [SWS_CRYPT_22115]. Der erzeugte Digest wird anschließend mit GetDigest() in einen Puffer kopiert [SWS_CRYPT_22116], dessen Mindestgröße vorab über GetDigestSize() ermittelt werden kann [SWS_CRYPT_50134]. Alternativ erlaubt Compare() [SWS_CRYPT_50133] oder CompareSubspan() [SWS_CRYPT_50028] den direkten Abgleich gegen einen erwarteten Referenzwert.

Streaming-Berechnung eines Message Authentication CodeAnwendungMessageAuthnCodeCtxSetKey(key)Result<void>Start(iv)Result<void>loopFür jeden DatenblockUpdate(chunk)Result<void>Finish()Result<void>GetDigest(digest)Result<size_t>

Sequenzdiagramm: Ablauf der inkrementellen MAC-Berechnung im Streaming-Modus. Quellen: [SWS_CRYPT_22118], [SWS_CRYPT_22110], [SWS_CRYPT_22113], [SWS_CRYPT_22115], [SWS_CRYPT_22116]

Liegt die gesamte Nachricht bereits vollständig vor, kann die Berechnung ohne Streaming über Generate() [SWS_CRYPT_50029] oder gekürzt über GenerateSubspan() [SWS_CRYPT_50030] in einem Schritt erfolgen. Für die Verifikation stehen analog die Methoden Verify() [SWS_CRYPT_50031] und VerifySubspan() [SWS_CRYPT_50032] bereit.

Fehlerszenarien

Fehler werden über den Rückgabetyp ara::core::Result signalisiert und decken folgende Ursachen ab:

Dieser Klassen-Leitfaden basiert auf der Spezifikation von AUTOSAR Adaptive R25-11 für das Modul crypto.

Mitgliederkarte

Klassendiagramm

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

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Methoden

Cancel function

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 function

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 function

Finish the MAC calculation.

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

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 function

Write the calculated MAC digest into the provided output buffer.

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

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 function 2

Configure the context to use the provided key.

Überladungen 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 function 2

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

Überladungen 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 function

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

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

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 function

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;

Typaliase

Sptr type alias

Smart pointer of the interface.

Dokumentation der Methoden

function 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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 53954aee5980 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die reine virtuelle Methode Cancel dient im Interface ara::crypto::cryp::MessageAuthnCodeCtx dazu, eine laufende, zuvor mittels Start() initiierte und noch nicht abgeschlossene Streaming-Operation abzubrechen [SWS_CRYPT_50027]. Der Aufruf erfolgt synchron, nimmt keine Übergabeparameter entgegen und gibt im Erfolgsfall ein leeres ara::core::Result<void> zurück, welches den erfolgreichen Abbruch der Operation bestätigt [SWS_CRYPT_50027].

Wurde die Datenverarbeitung vor dem Aufruf nicht ordnungsgemäß durch die Methode Start() eingeleitet, schlägt die Ausführung fehl. In diesem Fall liefert die Funktion ein Resultat mit dem spezifischen Fehlercode ara::crypto::CryptoErrc::kProcessingNotStarted unter Gewährleistung einer Rollback-Semantik [SWS_CRYPT_50027]. Hinsichtlich der Ausführungssicherheit ist die Schnittstelle als threadsicher (thread-safe) spezifiziert und garantiert Ausnahmesicherheit (exception safe), da sie als noexcept deklariert ist und keine Ausnahmen wirft [SWS_CRYPT_50027].

Das identische Abbruchverhalten für noch nicht finalisierte Streaming-Verarbeitungen teilen alle verwandten Kontextschnittstellen des Kryptografie-Moduls:

Interpretation: Durch den Abbruch der unvollendeten Operation dürfte der Kontext wieder in einen bereinigten Zustand überführt werden, der eine spätere Neuinitialisierung via Start() gestattet. Frage Q-a8fa5cb85c3dab50 (offen)

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation AUTOSAR Adaptive R25-11 generiert.

Implementer's Guide folgt (Komplexität 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#c993fffd
Content hash
c993fffd
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

function 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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 9af675c314c3 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die rein virtuelle Methode Compare der Klasse ara::crypto::cryp::MessageAuthnCodeCtx dient dazu, die Größe und den Inhalt eines berechneten Message Authentication Code (MAC) mit einem erwarteten Digest abzugleichen [SWS_CRYPT_50133]. Als Parameter wird der erwartete MAC-Digest über ReadOnlyMemRegion expected übergeben. Die Funktion liefert ein ara::core::Result<bool> zurück, welches true enthält, falls der berechnete MAC-Wert mit dem erwarteten Wert exakt übereinstimmt, und andernfalls false [SWS_CRYPT_50133].

Fehlerbehandlung

Im Fehlerfall wird ein Fehlercode im Ergebnisobjekt zurückgegeben, wobei eine Rollback-Semantik gilt [SWS_CRYPT_50133]:

  • ara::crypto::CryptoErrc::kProcessingNotFinished: Wird gemeldet, wenn die Berechnung des Digests zuvor nicht durch den Aufruf der Methode Finish() abgeschlossen wurde [SWS_CRYPT_50133].
  • ara::crypto::CryptoErrc::kInvalidInputSize: Tritt auf, wenn die übergebene Puffergröße des erwarteten MAC-Digests vom Kontext nicht unterstützt wird [SWS_CRYPT_50133].

Nebenläufigkeit und Einschränkungen

Die Methode ist als const sowie noexcept deklariert und spezifikationsgemäß threadsicher (thread-safe) sowie ausnahmesicher (exception safe) [SWS_CRYPT_50133]. Eine wesentliche Vorbedingung ist die zuvor erfolgreich vollendete Digest-Berechnung über Finish() [SWS_CRYPT_50133].

Zusammenspiel

In Abgrenzung zu Compare, das die vollständige Übereinstimmung des gesamten MAC-Digests validiert [SWS_CRYPT_50133], vergleicht CompareSubspan im selben Kontext lediglich die höchstwertigen Bits (most significant bits) mit dem erwarteten Wert [SWS_CRYPT_50028]. Für ungeschlüsselte Hashfunktionen existiert eine gleichnamige Compare-Funktion in ara::crypto::cryp::HashFunctionCtx [SWS_CRYPT_50154].

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation R25-11 generiert.

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#0e62292d
Content hash
0e62292d
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

function 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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 4c36a4e7dbbc Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone Methode CompareSubspan der Klasse ara::crypto::cryp::MessageAuthnCodeCtx gleicht die signifikantesten Bits (Most Significant Bits) eines berechneten MAC-Werts mit einer vorgegebenen Referenz ab [SWS_CRYPT_50028]. Der erwartete Vergleichswert wird über den Parameter expected als ReadOnlyMemRegion übergeben [SWS_CRYPT_50028]. Das Ergebnis wird als ara::core::Result<bool> zurückgegeben und enthält true bei Identität der höchstwertigen Bits sowie false bei Abweichungen [SWS_CRYPT_50028].

Fehlerbehandlung und Ablaufbedingungen

Für einen gültigen Vergleich muss die Berechnung des Prüfwerts abgeschlossen sein. Liegt kein vorheriger Aufruf der Methode Finish() vor, schlägt der Aufruf mit dem Fehlercode ara::crypto::CryptoErrc::kProcessingNotFinished fehl [SWS_CRYPT_50028]. Ist die Puffergröße des übergebenen Parameters expected für das verwendete Verfahren unzulässig, meldet die Methode ara::crypto::CryptoErrc::kInvalidInputSize [SWS_CRYPT_50028]. Beide Fehlerarten garantieren Rollback-Semantik [SWS_CRYPT_50028].

Nebenläufigkeit und Ausführungskontext

Die Operation ist als noexcept (exception-safe) spezifiziert und als thread-safe eingestuft [SWS_CRYPT_50028]. Interpretation: Die deklarierte Thread-Sicherheit dürfte sich auf den Zustand nach erfolgtem Finish() beziehen, sodass mehrere Threads denselben berechneten Digest parallel verifizieren können. Frage Q-ac8b7ead6a5b508e (offen)

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation AUTOSAR R25-11 generiert.

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#e7ce513a
Content hash
e7ce513a
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

function Finish [SWS_CRYPT_22115] Upstream: RS_CRYPTO_02302, RS_CRYPTO_02203

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

Finish the MAC calculation.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 9113df4242ca Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Methode Finish() schließt die laufende Berechnung eines Message Authentication Code (MAC) innerhalb der Schnittstelle MessageAuthnCodeCtx verbindlich ab [SWS_CRYPT_22115]. Der Aufruf erfolgt synchron, nimmt keine Parameter entgegen und gibt ara::core::Result<void> zurück, was im regulären Erfolgsfall ein leeres Ergebnis darstellt [SWS_CRYPT_22115].

Im Fehlerfall liefert die Funktion den Fehlercode ara::crypto::CryptoErrc::kProcessingNotStarted, falls die MAC-Berechnung vor dem Aufruf nicht erfolgreich gestartet worden ist; dabei greift eine Rollback-Semantik [SWS_CRYPT_22115]. Die Operation ist als noexcept deklariert und gemäß Spezifikation sowohl ausnahmesicher (exception safe) als auch threadsicher (thread-safe) spezifiziert [SWS_CRYPT_22115].

Im Verarbeitungsablauf bildet Finish() das Bindeglied zwischen der Datenverarbeitung und der Auswertung: Nach dem Aufruf kann der erzeugte MAC-Digest über GetDigest() in einen bereitgestellten Puffer übertragen [SWS_CRYPT_22116] oder mit CompareSubspan() direkt gegen einen Referenzwert verifiziert werden [SWS_CRYPT_50028]. Während GetMaximumChunkSize() [SWS_CRYPT_50033] generisch Puffergrößen für Update() oder Finish() beschreibt, verarbeitet Finish() hier keine Daten direkt; die Nennung in der Anforderung dürfte vermutlich ein einheitliches Muster über alle Kryptokontexte widerspiegeln. Frage Q-79b4f4ecf3998e48 (offen)

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation von AUTOSAR R25-11 generiert.

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#7d2b83f6
Content hash
7d2b83f6
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

function 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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 1f27dd6e39dc Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone Elementfunktion Generate der Klasse ara::crypto::cryp::MessageAuthnCodeCtx dient gemäß [SWS_CRYPT_50029] zur Berechnung eines Message Authentication Code (MAC) in einem Einzelschritt und schreibt den berechneten Digest in den bereitgestellten Ausgabepuffer.

Für den Aufruf werden folgende Parameter übergeben:

  • data: Eingabedaten für die MAC-Berechnung als ReadOnlyMemRegion.
  • digest: Zielspeicherbereich vom Typ ReadWriteMemRegion, in den der Digest geschrieben wird.
  • iv: Ein optionaler Initialisierungsvektor als ara::core::Optional<ReadOnlyMemRegion>.

Im Erfolgsfall liefert die Funktion ein ara::core::Result<std::size_t> zurück, das die Größe des geschriebenen MAC-Digests in Bytes enthält [SWS_CRYPT_50029].

Tritt ein Fehler auf, wird ein Fehlercode mit Rollback-Semantik zurückgegeben [SWS_CRYPT_50029]:

  • UninitializedContext: Der Kontext wurde noch nicht durch Zuweisung eines Schlüssels initialisiert.
  • ara::crypto::CryptoErrc::kUsageViolation: Der verwendete Schlüssel besitzt nicht das erforderliche Nutzungsflag kAllowMac. Interpretation: Ein passender symmetrischer Schlüssel dürfte vorab über GenerateSymmetricKey erzeugt und konfiguriert werden [SWS_CRYPT_20721]. Frage Q-d22f397bbc02487b (offen)
  • ara::crypto::CryptoErrc::kEmptyKeySlot: Ein konfigurierter KeySlot ist gegenwärtig leer.
  • ara::crypto::CryptoErrc::kUnsupported: Die Single-Call-Verarbeitung wird nicht unterstützt oder die Angabe des Initialisierungsvektors entspricht nicht den Algorithmusanforderungen (fehlender oder unzulässig angegebener IV).
  • ara::crypto::CryptoErrc::kInvalidInputSize: Die Puffergröße der Eingabedaten oder des IV wird nicht unterstützt.
  • ara::crypto::CryptoErrc::kInsufficientCapacity: Der Zielpuffer digest ist zu klein für den MAC-Digest.
  • ara::crypto::CryptoErrc::kBusyResource: Eine benötigte Systemressource ist belegt.

Bezüglich Nebenläufigkeit ist die Methode als thread-safe und exception safe spezifiziert [SWS_CRYPT_50029]. Sie ist als const noexcept deklariert und verändert bei der Ausführung den Zustand des Kontexts nicht.

Dieser Nutzungshinweis wurde automatisiert erstellt und stützt sich auf die AUTOSAR-Adaptive-Spezifikation des Releases 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#66865bf3
Content hash
66865bf3
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

function 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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 9f5519d31718 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Methode GenerateSubspan der Klasse ara::crypto::cryp::MessageAuthnCodeCtx berechnet in einem Einzelschritt einen Message Authentication Code (MAC) für die Eingangsdaten data und schreibt den Beginn (die höchstwertigen Bytes, MSB) des berechneten Digests in den Ausgabepuffer truncatedDigest [SWS_CRYPT_50030]. Über den optionalen Parameter iv kann bei Bedarf ein Initialisierungsvektor übergeben werden [SWS_CRYPT_50030]. Die direkte Rückgabe von ara::core::Result<std::size_t> dürfte auf eine synchrone Ausführung hinweisen; bei erfolgreichem Ablauf wird die Anzahl der geschriebenen Bytes des MAC-Digests zurückgegeben [SWS_CRYPT_50030]. Frage Q-167c6d44b9f39fed (offen)

Die Spezifikation definiert für den Fehlerfall eine Rollback-Semantik und sieht folgende Fehlercodes vor [SWS_CRYPT_50030]:

  • UninitializedContext: Der Kontext wurde zuvor nicht durch Zuweisung eines Schlüssels initialisiert [SWS_CRYPT_50030].
  • ara::crypto::CryptoErrc::kEmptyKeySlot: Ein konfigurierter KeySlot ist gegenwärtig leer [SWS_CRYPT_50030].
  • ara::crypto::CryptoErrc::kUsageViolation: Die erlaubte Verwendung des Schlüssels beinhaltet nicht kAllowMac [SWS_CRYPT_50030].
  • ara::crypto::CryptoErrc::kUnsupported: Die Einzelschritt-Verarbeitung wird nicht unterstützt, oder die IV-Konfiguration passt nicht zum Kontext (erforderliches IV fehlt oder unzulässiges IV übergeben) [SWS_CRYPT_50030].
  • ara::crypto::CryptoErrc::kInvalidInputSize: Die Größe der übergebenen Daten data oder des iv wird nicht unterstützt [SWS_CRYPT_50030].
  • ara::crypto::CryptoErrc::kBusyResource: Eine benötigte Ressource ist belegt [SWS_CRYPT_50030].

Hinsichtlich der Ausführungsumgebung ist die Methode als thread-safe spezifiziert und bietet Exception-Sicherheit (noexcept) [SWS_CRYPT_50030]. Voraussetzung für den fehlerfreien Aufruf ist die vorherige Bereitstellung eines Schlüssels mit entsprechender Berechtigung im Kontext [SWS_CRYPT_50030].

Dieser Text wurde von einer KI generiert und dient als Orientierungshilfe. Maßgeblich ist die offizielle AUTOSAR-Spezifikation.

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#10f782d6
Content hash
10f782d6
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

function 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#f62c871b
Content hash
f62c871b
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

function 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#2e6c359a
Content hash
2e6c359a
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

function 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#74ba2c5f
Content hash
74ba2c5f
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

function 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#b1b43096
Content hash
b1b43096
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

function 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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: c93b5656f1ba Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Methode SetKey konfiguriert eine Instanz von ara::crypto::cryp::MessageAuthnCodeCtx für die nachfolgende MAC-Berechnung mit einem bereitgestellten symmetrischen Schlüssel [SWS_CRYPT_22118]. Der Aufruf erfolgt synchron und nimmt das Schlüsselobjekt als Smart-Pointer SymmetricKey::Sptr entgegen. Als Ergebnis liefert die Funktion ein ara::core::Result<void> zurück, das im Erfolgsfall leer ist oder im Fehlerfall einen spezifischen Fehlercode kapselt [SWS_CRYPT_22118].

Schlägt die Zuweisung fehl, greift eine Rollback-Semantik, die den vorherigen Zustand des Kontexts bewahrt [SWS_CRYPT_22118]. Folgende Fehlerzustände aus ara::crypto::CryptoErrc sind spezifiziert:

  • kUnsupported: Der Kontext unterstützt ausschließlich das Binden über einen KeySlot statt über direkte Schlüsselobjekte [SWS_CRYPT_22118].
  • kIncompatibleObject: Das übergebene symmetrische Schlüsselobjekt ist mit dem Zielkontext inkompatibel [SWS_CRYPT_22118].
  • kUsageViolation: Die Berechtigungsflags des Schlüssels enthalten nicht die zwingend erforderliche Nutzung kAllowMac [SWS_CRYPT_22118].

Hinsichtlich der Ausführungssicherheit ist die Schnittstelle als thread-safe und exception safe (mit noexcept) definiert [SWS_CRYPT_22118]. Im Zusammenspiel mit der Schlüsselverwaltung stellt sie das direkte Gegenstück zur slotbasierten Zuweisung dar: Unterstützt eine Implementierung oder ein Anwendungsfall die Verwendung persistierter Slots, wird stattdessen die Überladung für KeySlot::Sptr genutzt [SWS_CRYPT_50026].

Dieser Text wurde von einer KI auf Basis der Spezifikation AUTOSAR R25-11 generiert.

Implementer's Guide folgt (Komplexität 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#c6787c93
Content hash
c6787c93
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

function 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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 0efaaf10920d Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die virtuelle Elementfunktion SetKey des Interfaces ara::crypto::cryp::MessageAuthnCodeCtx aus der Header-Datei ara/crypto/cryp/message_authn_code_ctx.h konfiguriert den Kontext für die Berechnung oder Prüfung eines Message Authentication Code (MAC) [SWS_CRYPT_50026]. Als Parameter nimmt die synchrone Methode einen Smart-Pointer keySlot vom Typ KeySlot::Sptr entgegen, der einen symmetrischen Schlüssel bereithält, und gibt ein ara::core::Result<void> zurück [SWS_CRYPT_50026]. Die Bindung des Schlüssels ist semantisch verzögert: Der im Slot hinterlegte Schlüssel wird erst zu dem Zeitpunkt herangezogen, an dem die MAC-Berechnung tatsächlich gestartet wird [SWS_CRYPT_50026]. Interpretation: Nachträgliche Aktualisierungen des Slot-Inhalts bis zum Berechnungsstart dürften somit wirksam bleiben. Frage Q-d1886811d8af71e3 (offen)

Nebenläufigkeit und Ausführungssicherheit

Die Schnittstelle ist als noexcept definiert, gewährleistet Exception-Sicherheit (exception safe) und ist explizit für den nebenläufigen Aufruf spezifiziert (thread-safe) [SWS_CRYPT_50026].

Fehlerbehandlung und Zusammenspiel

Im Fehlerfall garantiert die Methode eine strikte Rollback-Semantik, sodass der vorherige Zustand des Kontexts vollständig erhalten bleibt [SWS_CRYPT_50026]. Folgende Fehlercodes können im Ergebnisobjekt auftreten:

  • ara::crypto::CryptoErrc::kIncompatibleObject: Der übergebene KeySlot ist mit diesem symmetrischen Schlüsselkontext inkompatibel [SWS_CRYPT_50026].
  • ara::crypto::CryptoErrc::kUnsupported: Die konkrete Implementierung des Kontexts unterstützt das Setzen via KeySlot nicht [SWS_CRYPT_50026]. In diesem Fall muss alternativ die Überladung SetKey(SymmetricKey::Sptr) zur direkten Übergabe eines Schlüssels verwendet werden [SWS_CRYPT_22118].

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikationsdaten erstellt.

Implementer's Guide folgt (Komplexität 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#3de24834
Content hash
3de24834
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

function 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)

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 42d35ba25b44 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Methode Start von ara::crypto::cryp::MessageAuthnCodeCtx initialisiert den Kontext für eine neue MAC-Berechnung und setzt dabei einen Initialisierungsvektor oder Nonce-Wert über den Parameter iv ([SWS_CRYPT_22110]). Dies kommt beispielsweise bei Algorithmen wie GMAC zum Einsatz ([SWS_CRYPT_22110]). Für Berechnungen ohne expliziten Initialisierungsvektor steht alternativ die parameterlose Überladung Start() zur Verfügung ([SWS_CRYPT_22111]).

Verwendung und Nebenläufigkeit

Der Aufruf erfolgt synchron und ist als thread-safe sowie exception safe spezifiziert ([SWS_CRYPT_22110]). Nach erfolgreichem Aufruf können dem Kontext sukzessive Nachrichtenteile mittels Update übergeben werden ([SWS_CRYPT_22113]). Eine laufende, noch nicht abgeschlossene Streaming-Operation lässt sich bei Bedarf über Cancel abbrechen ([SWS_CRYPT_50027]).

Fehlerbehandlung

Die Methode gibt ein ara::core::Result<void> zurück, das im Fehlerfall Rollback-Semantik besitzt ([SWS_CRYPT_22110]). Mögliche Fehlerzustände sind:

  • UninitializedContext: Dem Kontext wurde vorab kein Schlüssel zugewiesen ([SWS_CRYPT_22110]).
  • ara::crypto::CryptoErrc::kEmptyKeySlot: Ein konfigurierter KeySlot ist leer ([SWS_CRYPT_22110]).
  • ara::crypto::CryptoErrc::kUsageViolation: Die Berechtigungen des Schlüssels enthalten nicht kAllowMac ([SWS_CRYPT_22110]).
  • ara::crypto::CryptoErrc::kInvalidInputSize: Die übergebene IV-Größe wird nicht unterstützt ([SWS_CRYPT_22110]).
  • ara::crypto::CryptoErrc::kUnsupported: Streaming oder das Setzen eines IV wird vom Algorithmus bzw. Kontext nicht unterstützt ([SWS_CRYPT_22110]).
  • ara::crypto::CryptoErrc::kBusyResource: Eine benötigte Ressource ist belegt ([SWS_CRYPT_22110]).

Dieser Nutzungshinweis wurde von einer KI auf Basis der AUTOSAR-Spezifikation R25-11 generiert.

Implementer's Guide folgt (Komplexität 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#ce38532b
Content hash
ce38532b
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

function Start [SWS_CRYPT_22111] Upstream: RS_CRYPTO_02302

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

Initialize the context for a new MAC calculation.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 891e10477d9e Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die Methode Start() initialisiert eine Instanz von ara::crypto::cryp::MessageAuthnCodeCtx für eine neue MAC-Berechnung [SWS_CRYPT_22111]. Der Aufruf nimmt keine Parameter entgegen und liefert ein ara::core::Result<void> zurück [SWS_CRYPT_22111]. Die Ausführung dürfte synchron erfolgen, da direkt ein Resultatobjekt bereitgestellt wird. Frage Q-1e6e36f4ed1176d3 (offen)

Fehlerbehandlung und Nebenläufigkeit

Tritt bei der Initialisierung ein Fehler auf, greift die Rollback-Semantik und es wird einer der folgenden Fehlercodes zurückgegeben [SWS_CRYPT_22111]:

  • UninitializedContext: Dem Kontext wurde vorab kein Schlüssel zugewiesen [SWS_CRYPT_22111].
  • ara::crypto::CryptoErrc::kUnsupported: Der Kontext unterstützt kein Streaming oder der Algorithmus verlangt zwingend einen Initialisierungsvektor (IV) [SWS_CRYPT_22111].
  • ara::crypto::CryptoErrc::kBusyResource: Eine benötigte Ressource ist belegt [SWS_CRYPT_22111].
  • ara::crypto::CryptoErrc::kEmptyKeySlot: Ein konfigurierter KeySlot ist leer [SWS_CRYPT_22111].
  • ara::crypto::CryptoErrc::kUsageViolation: Der Schlüssel erlaubt keine MAC-Berechnung ohne gesetztes kAllowMac [SWS_CRYPT_22111].

Die Funktion ist als threadsicher und ausnahmesicher (exception safe) spezifiziert [SWS_CRYPT_22111].

Zusammenspiel im Streaming-Ablauf

Verlangt der Algorithmus einen IV (z. B. GMAC), muss stattdessen die Überladung Start(ReadOnlyMemRegion iv) verwendet werden [SWS_CRYPT_22110]. Nach erfolgreichem Aufruf können Nachrichtendaten schrittweise über Update() übergeben werden [SWS_CRYPT_22113]. Eine noch nicht abgeschlossene Streaming-Operation lässt sich über Cancel() verwerfen [SWS_CRYPT_50027].

Dieser Nutzungshinweis wurde von einem KI-System auf Basis der AUTOSAR-Spezifikation generiert.

Implementer's Guide folgt (Komplexität 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#d8957c99
Content hash
d8957c99
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

function 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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 017c756799dd Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die synchrone Methode Update des Kontexts ara::crypto::cryp::MessageAuthnCodeCtx dient dazu, die laufende Berechnung eines Message Authentication Code (MAC) um ein weiteres Fragment der Eingabenachricht zu ergänzen [SWS_CRYPT_22113]. Der zu verarbeitende Datenabschnitt wird dabei über den Parameter data in Form einer ReadOnlyMemRegion übergeben. Als Rückgabewert liefert die Funktion ein ara::core::Result<void>, das entweder den erfolgreichen Zwischenschritt bestätigt oder im Fehlerfall Aufschluss über die Fehlerursache gibt [SWS_CRYPT_22113].

Fehlerbehandlung und Nebenläufigkeit

Im Fehlerfall wird eine Rollback-Semantik garantiert, sodass der bisherige Berechnungszustand unverändert bleibt [SWS_CRYPT_22113]. Mögliche Fehlerursachen sind:

  • ara::crypto::CryptoErrc::kProcessingNotStarted: Die Berechnung wurde vorab nicht durch den Aufruf der Methode Start() initiiert [SWS_CRYPT_22113].
  • ara::crypto::CryptoErrc::kInvalidInputSize: Die Größe des übergebenen Datenblocks wird vom Kontext nicht unterstützt [SWS_CRYPT_22113].

Die Methode ist als noexcept deklariert sowie als threadsicher und ausnahmesicher (exception safe) spezifiziert [SWS_CRYPT_22113].

Zusammenspiel

Um Pufferfehler mit ara::crypto::CryptoErrc::kInvalidInputSize zu vermeiden, kann die maximal zulässige Eingabegröße für einzelne Aufrufe vorab über die Methode GetMaximumChunkSize() abgefragt werden [SWS_CRYPT_50033]. Nach dem sukzessiven Verarbeiten aller Nachrichtenteile dürfte die Berechnung des MAC-Tags der Interpretation nach typischerweise über die Methode Finish() abgeschlossen werden [SWS_CRYPT_50033]. Frage Q-7f8eaf8ebbf30d55 (offen)

Dieser Text wurde von einer KI auf Basis der AUTOSAR-Spezifikation generiert.

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#fa55dfba
Content hash
fa55dfba
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

function 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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 7407e2d0a067 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die Methode Verify in ara::crypto::cryp::MessageAuthnCodeCtx ([SWS_CRYPT_50031]) dient der synchronen Berechnung eines MAC-Digests über den Eingabepuffer data und dem direkten Vergleich mit dem erwarteten Wert expected. Optional kann über iv ein Initialisierungsvektor übergeben werden. Als Ergebnis liefert die Funktion ein ara::core::Result<bool>, welches true enthält, wenn der berechnete MAC mit der erwarteten Bytesequenz übereinstimmt, andernfalls false.

Fehlerbehandlung

Schlägt die Verifikation aus systemischen oder kryptografischen Gründen fehl, liefert die Methode ein ara::core::Result mit einem entsprechenden Fehlercode ([SWS_CRYPT_50031]):

  • UninitializedContext: Wenn der Kontext nicht vorab durch Zuweisung eines Schlüssels initialisiert wurde.
  • ara::crypto::CryptoErrc::kEmptyKeySlot: Wenn der konfigurierte KeySlot leer ist.
  • ara::crypto::CryptoErrc::kUsageViolation: Wenn die erlaubte Nutzung des Schlüssels kAllowMac nicht umfasst.
  • ara::crypto::CryptoErrc::kInvalidInputSize: Wenn die Puffergröße von data, expected oder iv unzulässig ist.
  • ara::crypto::CryptoErrc::kUnsupported: Wenn die Single-Call-Ausführung nicht unterstützt wird oder die Bereitstellung des iv nicht den Erfordernissen des Algorithmus entspricht.
  • ara::crypto::CryptoErrc::kBusyResource: Bei Ressourcenkonflikten.

Nebenläufigkeit und Zusammenspiel

Die Methode ist als thread-safe und exception safe spezifiziert ([SWS_CRYPT_50031]). Im Fehlerfall greift eine Rollback-Semantik. Im Unterschied zu asymmetrischen Signaturprüfungen in ara::crypto::cryp::VerifierPublicCtx ([SWS_CRYPT_24112], [SWS_CRYPT_50024]) operiert Verify auf symmetrischen MAC-Kontexten. Die maximal in einem Einzelaufruf verarbeitbare Puffergröße dürfte – analog zur Pufferabfrage bei Signaturprüfern ([SWS_CRYPT_50025]) – durch die Implementierung des Kontexts begrenzt sein. Frage Q-51e7427e4e082881 (offen)

Dieser Text wurde von einer KI auf Basis der Spezifikation AUTOSAR R25-11 generiert.

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#36679231
Content hash
36679231
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

function 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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: afcf3e6e2c9f Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Methode VerifySubspan der Klasse ara::crypto::cryp::MessageAuthnCodeCtx dient der synchronen Berechnung eines MAC-Digests und dem anschließenden Vergleich seiner signifikantesten Bits mit einer erwarteten Byte-Sequenz [SWS_CRYPT_50032]. Sie verarbeitet Eingabedaten über data, die erwarteten führenden Bits über expected sowie einen optionalen Initialisierungsvektor über iv [SWS_CRYPT_50032]. Das Ergebnis wird als ara::core::Result<bool> zurückgegeben und signalisiert bei erfolgreicher Übereinstimmung true, andernfalls false [SWS_CRYPT_50032].

Die Schnittstelle ist als noexcept spezifiziert, ist exception safe sowie thread-safe und wendet im Fehlerfall Rollback-Semantik an [SWS_CRYPT_50032]. Fehlgeschlagene Aufrufe liefern spezifische Fehlercodes im Rückgabewert [SWS_CRYPT_50032]:

  • UninitializedContext: Der Kontext wurde zuvor nicht durch Zuweisen eines Schlüssels initialisiert [SWS_CRYPT_50032].
  • ara::crypto::CryptoErrc::kUsageViolation: Die zulässige Verwendung des Schlüssels umfasst nicht kAllowMac [SWS_CRYPT_50032].
  • ara::crypto::CryptoErrc::kEmptyKeySlot: Ein konfigurierter KeySlot ist gegenwärtig leer [SWS_CRYPT_50032].
  • ara::crypto::CryptoErrc::kInvalidInputSize: Die Größe der übergebenen Daten, des erwarteten Prüfwerts oder des IV wird nicht unterstützt [SWS_CRYPT_50032].
  • ara::crypto::CryptoErrc::kUnsupported: Die Single-Call-Operation wird nicht unterstützt oder die Bereitstellung des IV widerspricht den Anforderungen des Kontexts [SWS_CRYPT_50032].
  • ara::crypto::CryptoErrc::kBusyResource: Eine benötigte Ressource ist belegt [SWS_CRYPT_50032].

Dieser Nutzungshinweis wurde automatisch auf Basis der Spezifikation generiert.

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#ff2bb246
Content hash
ff2bb246
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

Dokumentation der Typaliase

type alias 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#553114f3
Content hash
553114f3
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