Bietet eine Schnittstelle zur authentifizierten symmetrischen Ver- und Entschlüsselung mit Integritätsschutz.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: a1dee2a3fcf5HerkunftOffene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Bietet eine Schnittstelle zur authentifizierten symmetrischen Ver- und Entschlüsselung mit Integritätsschutz.
Die Schnittstelle ara::crypto::cryp::AuthCipherCtx dient der authentifizierten Ver- und Entschlüsselung von Daten unter Wahrung der Vertraulichkeit und Integrität [SWS_CRYPT_23911]. Nach Konfiguration des Schlüssels erfolgt die Verarbeitung entweder als atomarer Einzelaufruf oder als gestreamte Abfolge aus Initialisierung, optionalen Authentifizierungsdaten, Nutzdaten-Updates und Finalisierung. Als kritische Sicherheitsbedingung schlägt die Entschlüsselung bei ungültigem Authentifizierungs-Tag fehl, sodass entschlüsselte Nutzdaten erst nach erfolgreicher Validierung verarbeitet werden dürfen [SWS_CRYPT_50075].
Kontext
Die Schnittstelle ara::crypto::cryp::AuthCipherCtx definiert die standardisierte Programmierschnittstelle für authentifizierte Chiffrieroperationen (Authenticated Encryption with Associated Data, AEAD) innerhalb der AUTOSAR Adaptive Platform. Sie verbindet Vertraulichkeit mit Integritätsschutz, indem neben der eigentlichen Ver- oder Entschlüsselung von Nutzdaten stets ein kryptografischer Authentifizierungs-Tag generiert bzw. validiert wird. Als zentrale Interaktionspartner fungieren aufrufende Applikationen sowie Schlüsselobjekte: Ein Kontext wird vor der Nutzung entweder an eine konkrete Instanz von SymmetricKey gebunden [SWS_CRYPT_23911] oder mit einem persistierten bzw. bereitgestellten KeySlot konfiguriert [SWS_CRYPT_50072]. Neben schrittweiser Streaming-Verarbeitung unterstützt die Klasse auch autarke Einzelaufrufe zur Verarbeitung vollständiger Nachrichten in einem Schritt [SWS_CRYPT_50078].
Lebenszyklus
Kontexte werden im Anwendungsbereich über den gemeinsamen Zeigertyp ara::crypto::cryp::AuthCipherCtx::Sptr verwaltet [SWS_CRYPT_20101]. (Interpretation: Die Objekterzeugung erfolgt typischerweise über eine übergeordnete Provider-Fabrik, da AuthCipherCtx als reine Schnittstelle spezifiziert ist). Frage Q-23125789874cf2f3 (offen) Alle Mitgliedsfunktionen sind als ausnahmesicher (exception safe) und threadsicher (thread-safe) deklariert [SWS_CRYPT_23911], [SWS_CRYPT_24715]. Der funktionale Lebenszyklus durchläuft klar definierte Zustände:
Uninitialisiert: Unmittelbar nach der Instanziierung. Aufrufe zur Datenverarbeitung werden abgewiesen, da noch kein Schlüssel zugewiesen wurde [SWS_CRYPT_50081].
Schlüssel konfiguriert: Durch erfolgreichen Aufruf von SetKey mit einem SymmetricKey[SWS_CRYPT_23911] oder einem KeySlot[SWS_CRYPT_50072] wechselt der Kontext in den einsatzbereiten Zustand. Aus diesem Zustand heraus können Single-Shot-Operationen direkt ausgeführt werden.
Streaming aktiv: Wird durch Aufruf von Start unter Angabe der Transformationsrichtung mit Initialisierungsvektor (IV) [SWS_CRYPT_24715] oder ohne expliziten IV [SWS_CRYPT_50073] betreten.
Abschluss / Reset: Eine laufende Streaming-Operation wird regulär durch Finish[SWS_CRYPT_50075] oder FinishEncrypt[SWS_CRYPT_50076] abgeschlossen oder über Cancel vorzeitig abgebrochen [SWS_CRYPT_50077]. Danach steht der Kontext wieder für neue Verarbeitungssequenzen bereit.
Start der Operation: Aufruf von Start unter Festlegung der Richtung (Verschlüsselung oder Entschlüsselung) sowie Bereitstellung des IV [SWS_CRYPT_24715] oder Anforderung eines kontexteigenen IV [SWS_CRYPT_50073].
Assoziierte Daten (AAD): Falls zusätzliche Klartextdaten in die Integritätsberechnung einfließen sollen, werden diese über UpdateAuthenticatedData übergeben [SWS_CRYPT_20313]. Die maximal zulässige AAD-Größe lässt sich per GetMaxAssociatedDataSize abfragen [SWS_CRYPT_20103]. Wichtig: AAD-Blöcke müssen zwingend vor den eigentlichen Nutzdaten übermittelt werden.
Nutzdatenverarbeitung: Schrittweise Übergabe von Datenblöcken über UpdateConfidentialData[SWS_CRYPT_50074]. Bei der Entschlüsselung wird der Klartext zurückgegeben, bevor dessen Authentizität feststeht; die Anwendung darf diese Daten erst nach erfolgreicher Finalisierung verwenden.
Finalisierung: Beenden der Operation mittels Finish[SWS_CRYPT_50075] oder FinishEncrypt[SWS_CRYPT_50076], wodurch der finale Block verarbeitet und der Authentifizierungs-Tag berechnet bzw. verifiziert wird.
Für kompakte Payloads existieren Single-Call-Alternativen: ProcessSingleCall verarbeitet Daten ohne IV-Übergabe [SWS_CRYPT_50078], ProcessSingleCallWithInputIv akzeptiert einen externen IV [SWS_CRYPT_50079], und EncryptSingleCallWithOutputIv gibt einen vom Kontext generierten IV an den Aufrufer zurück [SWS_CRYPT_50080].
Methoden von AuthCipherCtx geben Ergebnisse über ara::core::Result zurück und besitzen im Fehlerfall Rollback-Semantik. Relevante Fehlercodes aus ara::crypto::CryptoErrc sind:
kUninitializedContext: Tritt auf bei Aufruf von Start[SWS_CRYPT_24715], ProcessSingleCall[SWS_CRYPT_50078] oder Pufferberechnungen [SWS_CRYPT_50081], falls noch kein Schlüssel via SetKey konfiguriert wurde.
kInvalidUsageOrder: Signalisiert eine fehlerhafte Aufrufreihenfolge, wenn UpdateAuthenticatedData aufgerufen wird, nachdem bereits Nutzdaten über UpdateConfidentialData verarbeitet wurden [SWS_CRYPT_20313].
kAuthTagNotValid: Zeigt bei der Entschlüsselung in Finish[SWS_CRYPT_50075] oder Single-Shot-Methoden [SWS_CRYPT_50078] an, dass der berechnete Tag nicht mit dem übergebenen Tag übereinstimmt und die Authentizitätsprüfung fehlgeschlagen ist.
kUsageViolation: Tritt auf, wenn die Nutzungsattribute des Schlüssels nicht zur angeforderten Operation passen (z. B. fehlendes kAllowDataEncrypt oder kAllowDataDecrypt) [SWS_CRYPT_23911], [SWS_CRYPT_50078].
Dieser Leitfaden basiert ausschließlich auf dem AUTOSAR-Adaptive-Standard (Release R25-11) und fasst die Anforderungen an die Schnittstelle ara::crypto::cryp::AuthCipherCtx zusammen.
Get the maximum input buffer size supported for processing in single calls to Update(), Finish(), FinishEncrypt() or ProcessSingleCall() by this context.
Get the maximum IV size required to be passed to the context in the functions Start() and ProcessSingleCallWithInputIv() for the given transformDirection.
Get the minimum input buffer size supported for processing in single calls to Update(), Finish(), FinishEncrypt() or ProcessSingleCall() by this context.
Get the minimum IV size required to be passed to the context in the functions Start() and ProcessSingleCallWithInputIv() for the given transformDirection.
Get the output IV size that will be returned by the functions FinishEncrypt() (in case no IV has been provided by the application during the call to Start()), and EncryptSingleCallWithOutputIv().
Encrypt or decrypt confidential data. When used for decryption, the plaintext is returned without verifying its authenticity. An application must not use the data before verifying its authenticity using Finish().
Cancel the ongoing streaming operation that has been initiated by Start() and has not yet been finished.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 739ac0d710b6Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Verwendung
Die Methode Cancel() der Schnittstelle ara::crypto::cryp::AuthCipherCtx bricht eine aktive Streaming-Operation ab, die zuvor über Start() eingeleitet und noch nicht abgeschlossen wurde [SWS_CRYPT_50077]. Die Funktion wird über den Header ara/crypto/cryp/auth_cipher_ctx.h bereitgestellt und arbeitet synchron ohne Übergabeparameter [SWS_CRYPT_50077]. Sie gibt ein ara::core::Result<void> zurück, das im Erfolgsfall leer ist.
Fehlerbehandlung und Randbedingungen
Ein Abbruch setzt voraus, dass die Datenverarbeitung tatsächlich zuvor durch Start() begonnen wurde. Wurde die Streaming-Operation nicht gestartet, schlägt der Aufruf fehl und liefert den Fehlercode ara::crypto::CryptoErrc::kProcessingNotStarted mit Rollback-Semantik zurück [SWS_CRYPT_50077].
Nebenläufigkeit
Die Operation ist als noexcept deklariert und laut Spezifikation sowohl als thread-safe als auch als exception safe eingestuft [SWS_CRYPT_50077].
Zusammenspiel
Das durch Cancel() realisierte Abbruchmuster ist im Modul crypt standardisiert. Eine identische Schnittstellensemantik und derselbe Fehlercode ara::crypto::CryptoErrc::kProcessingNotStarted sind für korrespondierende Streaming-Kontexte definiert:
virtual ara::core::Result< std::size_t > EncryptSingleCallWithOutputIv (ReadOnlyMemRegion dataIn, ReadWriteMemRegion dataOut, ReadWriteMem Region tag, ReadWriteMemRegion ivOut, ara::core::Optional< ReadOnlyMem Region > authenticatedData) noexcept=0;
Perform encryption and calculate/verify of the authentication tag in a single-call and return an IV generated by the context.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 6385ebfbc16dHerkunftOffene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Die synchrone Methode EncryptSingleCallWithOutputIv der Schnittstelle ara::crypto::cryp::AuthCipherCtx führt eine authentifizierte Chiffrierung in einem Einzelschritt aus und erzeugt dabei eigenständig einen Initialisierungsvektor [SWS_CRYPT_50080]. Sie verarbeitet Eingabedaten aus dataIn sowie optionale Zusatzdaten authenticatedData und schreibt das Chiffrat in den Puffer dataOut. Der generierte Initialisierungsvektor wird im Puffer ivOut abgelegt, während das Authentifizierungs-Tag über tag ausgegeben wird [SWS_CRYPT_50080]. Die Puffergröße für ivOut kann vorab über die Methode GetOutputIvSize ermittelt werden [SWS_CRYPT_50165]. Trotz des Namensbestandteils Encrypt dürfte die Methode vermutlich auch für die Entschlüsselung genutzt werden können, da die Fehlerspezifikation das Verhalten für transformDirection == kDecrypt explizit aufführt [SWS_CRYPT_50080]. Frage Q-66618567b20f99b9 (offen)
Für den Aufruf gelten wesentliche Vorbedingungen und Einschränkungen:
Der Kontext muss zuvor erfolgreich mit SetKey initialisiert worden sein; andernfalls wird kUninitializedContext gemeldet [SWS_CRYPT_50080].
Der Schlüssel im konfigurierten Key-Slot muss kompatibel sein und die passende Berechtigung aufweisen (z. B. kAllowDataEncrypt), da sonst kUsageViolation oder kIncompatibleObject zurückgegeben wird [SWS_CRYPT_50080].
Reichen die Ausgabepuffer dataOut oder ivOut nicht aus, schlägt der Aufruf mit kInsufficientCapacity fehl [SWS_CRYPT_50080].
Unterstützt der Kontext keine Einzelschritt-Verarbeitung oder erfordert er eine externe IV-Vorgabe, wird kUnsupported zurückgegeben [SWS_CRYPT_50080].
Die Operation ist als thread-safe sowie ausnahmesicher spezifiziert und garantiert im Fehlerfall Rollback-Semantik [SWS_CRYPT_50080]. Für reine symmetrische Chiffrierungen ohne Tag-Verarbeitung existiert ein separates Pendant in SymmetricCipherCtx[SWS_CRYPT_50049].
Dieser Text wurde von einer KI auf Basis der Spezifikation generiert.
an input data buffer containing the plaintext/ciphertext
authenticatedData
optional additional authenticated data
Parameter (out)
Parameter
Beschreibung
dataOut
an output data buffer that contains en-/decrypted data
ivOut
an output data buffer that the initialization vector (IV) generated by the context will be written to
Parameter (in/out)
Parameter
Beschreibung
tag
for decryption: an input data buffer that contains the authentication tag. for encryption: an output data buffer that the authentication tag is written to.
rollback_semantics if the allowed usage of the SymmetricKey deployed or contained in the provided KeySlot at the time of invocation of this interface does not include kAllowDataEncrypt for encryption, or kAllowData Decrypt for decryption, respectively
Finalize the en-/decryption and calculate/verify the authentication tag without returning an IV.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 8b946dd1de69Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Verwendung und Semantik
Die Methode Finish schließt die Ver- oder Entschlüsselung innerhalb eines ara::crypto::cryp::AuthCipherCtx synchron ab und berechnet beziehungsweise prüft das Authentifizierungs-Tag, ohne einen Initialisierungsvektor (IV) zurückzugeben [SWS_CRYPT_50075]. Der Aufrufer übergibt die verbleibenden Daten über den Puffer in sowie den Zielpuffer out. Über den Puffer tag wird bei der Verschlüsselung das berechnete Tag ausgegeben, während bei der Entschlüsselung das zu prüfende Tag übergeben wird [SWS_CRYPT_50075]. Der Rückgabewert ara::core::Result<std::size_t> beziffert die tatsächlich in out geschriebenen Bytes, welche kleiner als die Kapazität des Ausgabepuffers sein können [SWS_CRYPT_50075].
Ablauf und Zusammenspiel
Vor dem Aufruf muss die Datenverarbeitung zwingend durch Start() initiiert worden sein [SWS_CRYPT_50075]. Wurden zuvor Datenblöcke mittels UpdateConfidentialData verarbeitet, darf eine Anwendung den resultierenden Klartext bei der Entschlüsselung erst nach erfolgreicher Authentifizierung durch Finish verwenden [SWS_CRYPT_50074]. Die maximal erforderliche Puffergröße für out kann vorab über GetRequiredOutputBufferSize unter Angabe von isFinal = true ermittelt werden [SWS_CRYPT_50081].
Fehlerbehandlung und Nebenläufigkeit
Die Methode ist threadsicher und ausnahmesicher spezifiziert [SWS_CRYPT_50075]. Fehler werden über ara::core::Result mit Rollback-Semantik zurückgemeldet [SWS_CRYPT_50075]:
ProcessingNotStarted: Die Datenverarbeitung wurde nicht zuvor mit Start() gestartet [SWS_CRYPT_50075].
ara::crypto::CryptoErrc::kInsufficientCapacity: Der Ausgabepuffer out ist zu klein [SWS_CRYPT_50075].
ara::crypto::CryptoErrc::kInvalidInputSize: Die Puffergröße von in oder tag ist ungültig [SWS_CRYPT_50075].
ara::crypto::CryptoErrc::kAuthTagNotValid: Die Datenauthentizität kann bei der Entschlüsselung nicht bestätigt werden [SWS_CRYPT_50075].
ara::crypto::CryptoErrc::kUnsupported: Streaming-Verarbeitung wird vom Kontext nicht unterstützt [SWS_CRYPT_50075].
Hinweis: Dieser Nutzungshinweis wurde automatisch auf Basis der Spezifikationsdaten generiert.
an input data buffer that contains a part of the plaintext/ciphertext
Parameter (out)
Parameter
Beschreibung
out
an output data buffer that the en-/decrypted data is written to
Parameter (in/out)
Parameter
Beschreibung
tag
for decryption: an input data buffer that contains the authentication tag for encryption: an output data buffer that the authentication tag is written to
Finalize the encryption and calculate the authentication tag and return the IV generated by the context.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: fd75aa19665eHerkunftOffene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Verwendung
Die Methode FinishEncrypt schließt eine authentifizierte Verschlüsselungsoperation in ara::crypto::cryp::AuthCipherCtx synchron ab, berechnet den Authentifizierungs-Tag und gibt den vom Kontext generierten Initialisierungsvektor über ivOut zurück [SWS_CRYPT_50076]. Der Aufruf ist threadsicher sowie ausnahmesicher (exception safe) spezifiziert [SWS_CRYPT_50076]. Als Ergebnis liefert die Funktion ein ara::core::Result<std::size_t> mit der Anzahl der tatsächlich in den Ausgabepuffer out geschriebenen Bytes, wobei die Ausgabegröße kleiner als die Pufferkapazität sein darf [SWS_CRYPT_50076]. Interpretation: Obwohl der Name auf Verschlüsselung hinweist, deuten die Spezifikation des Parameters tag sowie der Fehlercode ara::crypto::CryptoErrc::kAuthTagNotValid darauf hin, dass die Signatur im Kontext symmetrisch auch für Entschlüsselungsoperationen verwendet werden dürfte. Frage Q-6b924f12c32e0f33 (offen)
Zusammenspiel und Pufferdimensionierung
Die Datenverarbeitung muss vorab zwingend mit Start() eingeleitet worden sein, andernfalls meldet die Funktion den Fehler ProcessingNotStarted[SWS_CRYPT_50076]. Zur Pufferdimensionierung ist das Zusammenspiel mit folgenden Kontextfunktionen zu beachten:
Die maximal erforderliche Kapazität für out kann vorab über [SWS_CRYPT_50081] mit dem Parameter isFinal = true berechnet werden, um den Fehler ara::crypto::CryptoErrc::kInsufficientCapacity zu vermeiden [SWS_CRYPT_50076].
Die benötigte Puffergröße zur Aufnahme des generierten Initialisierungsvektors in ivOut lässt sich über [SWS_CRYPT_50165] abfragen.
Fehlerbehandlung und Randbedingungen
Im Fehlerfall besitzen alle Rückmeldungen eine definierte Rollback-Semantik [SWS_CRYPT_50076]. Bei ungültigen Puffergrößen für Eingabedaten oder den Authentifizierungs-Tag wird ara::crypto::CryptoErrc::kInvalidInputSize zurückgegeben [SWS_CRYPT_50076]. Zudem liefert die Funktion ara::crypto::CryptoErrc::kUnsupported, falls Stream-Verarbeitung nicht unterstützt wird, kein IV genutzt wird oder der IV bereits beim Start durch die Anwendung vorgegeben wurde [SWS_CRYPT_50076].
Dieser Nutzungshinweis wurde von einer KI erstellt und basiert ausschließlich auf den Spezifikationsdaten.
an input data buffer that contains a part of the plaintext/ciphertext
Parameter (out)
Parameter
Beschreibung
out
an output data buffer that the en-/decrypted data is written to
ivOut
an output data buffer that contains the IV
Parameter (in/out)
Parameter
Beschreibung
tag
for decryption: an input data buffer that contains the authentication tag for encryption: an output data buffer that the authentication tag is written to
rollback_semantics if stream processing is not supported by the context or if this context does not use an IV or if the IV has been provided by the application in the Start() function
Request a governed re-review of this record. The record is not changed immediately.
Get the maximum input buffer size supported for processing in single calls to Update(), Finish(), FinishEncrypt() or ProcessSingleCall() by this context.
Get the maximum IV size required to be passed to the context in the functions Start() and ProcessSingleCallWithInputIv() for the given transformDirection.
Get the minimum input buffer size supported for processing in single calls to Update(), Finish(), FinishEncrypt() or ProcessSingleCall() by this context.
Get the minimum IV size required to be passed to the context in the functions Start() and ProcessSingleCallWithInputIv() for the given transformDirection.
Get the output IV size that will be returned by the functions FinishEncrypt() (in case no IV has been provided by the application during the call to Start()), and EncryptSingleCallWithOutputIv().
Perform en-/decryption and calculate/verify of the authentication tag in a single-call without setting or returning an IV.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: a5183289221aHerkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Die synchrone und als threadsicher definierte Methode ProcessSingleCall von ara::crypto::cryp::AuthCipherCtx führt die Ver- oder Entschlüsselung von Nutzdaten und die gleichzeitige Berechnung bzw. Verifikation des Authentifizierungs-Tags in einer einzelnen Operation ohne Initialisierungsvektor (IV) aus [SWS_CRYPT_50078]. Über den optionalen Puffer authenticatedData können zusätzliche authentifizierte Daten bereitgestellt werden [SWS_CRYPT_50078]. Der Puffer tag dient bei der Entschlüsselung als Eingabe zur Verifikation und bei der Verschlüsselung als Ausgabe zur Speicherung des erzeugten Authentifizierungs-Tags [SWS_CRYPT_50078]. Bei erfolgreicher Verarbeitung gibt ara::core::Result<std::size_t> die tatsächliche Anzahl der in dataOut geschriebenen Bytes zurück, die kleiner als die Kapazität des Zielpuffers sein kann [SWS_CRYPT_50078].
Vor dem Aufruf muss der kryptografische Kontext über einen erfolgreichen Aufruf von SetKey initialisiert worden sein; andernfalls schlägt die Funktion mit ara::crypto::CryptoErrc::kUninitializedContext fehl [SWS_CRYPT_50078]. Zudem muss der verwendete Schlüssel für die angeforderte Transformationsrichtung freigegeben sein (kAllowDataEncrypt bzw. kAllowDataDecrypt), da sonst ara::crypto::CryptoErrc::kUsageViolation gemeldet wird [SWS_CRYPT_50078]. Wird die Einzelschritt-Verarbeitung nicht unterstützt oder erfordert der Kontext einen IV, gibt die Funktion ara::crypto::CryptoErrc::kUnsupported zurück [SWS_CRYPT_50078]. Schlägt bei der Entschlüsselung die Authentifizierung fehl, wird ara::crypto::CryptoErrc::kAuthTagNotValid ausgelöst [SWS_CRYPT_50078]. Fehler am zugeordneten Schlüsselslot werden über EmptyKeySlot, ara::crypto::CryptoErrc::kBusyResource oder ara::crypto::CryptoErrc::kIncompatibleObject signalisiert [SWS_CRYPT_50078].
Für die Pufferverwaltung kann die maximal erforderliche Ausgabegröße für dataOut vorab über GetRequiredOutputBufferSize mit gesetztem Flag isFinal = true berechnet werden [SWS_CRYPT_50081]; ein zu kleiner Ausgabepuffer führt zu ara::crypto::CryptoErrc::kInsufficientCapacity[SWS_CRYPT_50078]. Zusätzlich muss die Größe von dataIn den Grenzen von GetMinimumChunkSize[SWS_CRYPT_50162] und GetMaximumChunkSize[SWS_CRYPT_50082] entsprechen, um ara::crypto::CryptoErrc::kInvalidInputSize zu vermeiden [SWS_CRYPT_50078].
Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation von AUTOSAR Adaptive R25-11 generiert.
an input data buffer containing the plaintext/ciphertext
transformDirection
the transformation direction, i.e., encryption or decryption
authenticatedData
optional additional authenticated data
Parameter (out)
Parameter
Beschreibung
dataOut
an output data buffer that contains en-/decrypted data
Parameter (in/out)
Parameter
Beschreibung
tag
for decryption: an input data buffer that contains the authentication tag. for encryption: an output data buffer that the authentication tag is written to.
rollback_semantics if the allowed usage of the SymmetricKey deployed or contained in the provided KeySlot at the time of invocation of this interface does not include kAllowDataEncrypt for encryption, or kAllowData Decrypt for decryption, respectively
Perform en-/decryption and calculate/verify of the authentication tag in a single-call, providing an IV to be used during en-/decryption.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 36312c01407dHerkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Die Methode [SWS_CRYPT_50079] der Klasse ara::crypto::cryp::AuthCipherCtx führt eine synchrone Einzelschritt-Verarbeitung (Single-Call) zur Ver- oder Entschlüsselung von Daten bei gleichzeitiger Berechnung bzw. Prüfung des Authentifizierungs-Tags durch.
Beim Aufruf werden die Eingabedaten über dataIn und die Richtung über transformDirection vorgegeben. Der Initialisierungsvektor wird über iv übergeben, und optionale Authentifizierungsdaten können über authenticatedData bereitgestellt werden [SWS_CRYPT_50079]. Der Puffer tag dient im Verschlüsselungsfall als Ausgabe für das berechnete Tag und im Entschlüsselungsfall als Eingabe für die Verifikation [SWS_CRYPT_50079]. Der Rückgabewert ara::core::Result<std::size_t> liefert bei Erfolg die Anzahl der in dataOut geschriebenen Bytes, die kleiner als die Pufferkapazität sein kann [SWS_CRYPT_50079].
Im Fehlerfall besitzen alle Fehlercodes Rollback-Semantik [SWS_CRYPT_50079]:
ara::crypto::CryptoErrc::kUninitializedContext: Vorab wurde kein Schlüssel per SetKey konfiguriert [SWS_CRYPT_50079].
ara::crypto::CryptoErrc::kUsageViolation: Der Schlüssel besitzt nicht das erforderliche Recht kAllowDataEncrypt bzw. kAllowDataDecrypt[SWS_CRYPT_50079].
ara::crypto::CryptoErrc::kEmptyKeySlot, ara::crypto::CryptoErrc::kBusyResource oder ara::crypto::CryptoErrc::kIncompatibleObject: Ein konfigurierter KeySlot ist leer, belegt oder enthält keinen kompatiblen SymmetricKey[SWS_CRYPT_50079].
ara::crypto::CryptoErrc::kInvalidInputSize oder ara::crypto::CryptoErrc::kInsufficientCapacity: Die Puffer für Eingabe, Tag oder IV sind ungültig dimensioniert oder dataOut bietet unzureichende Kapazität [SWS_CRYPT_50079].
ara::crypto::CryptoErrc::kAuthTagNotValid: Bei der Entschlüsselung schlägt die Authentifizierung fehl [SWS_CRYPT_50079].
ara::crypto::CryptoErrc::kUnsupported: Single-Shot-Verarbeitung wird vom Kontext nicht unterstützt oder der Kontext erfordert das Setzen bzw. Ausgeben eines IV [SWS_CRYPT_50079].
Die Operation ist als thread-safe und exception safe definiert [SWS_CRYPT_50079]. Die zulässigen Längen für iv können dynamisch über GetMinimumInputIvSize[SWS_CRYPT_50163] und GetMaximumInputIvSize[SWS_CRYPT_50164] abgefragt werden. Im Vergleich zur reinen Blockchiffre in SymmetricCipherCtx[SWS_CRYPT_50048] verknüpft diese Schnittstelle kryptografische Transformation und Integritätsprüfung in einem Aufruf.
Dieser Text wurde von einer KI auf Basis der AUTOSAR-Spezifikation R25-11 generiert.
an input data buffer containing the plaintext/ciphertext
transformDirection
the transformation direction, i.e., encryption or decryption
iv
an Initialization Vector (IV) or "nonce" value
authenticatedData
optional additional authenticated data
Parameter (out)
Parameter
Beschreibung
dataOut
an output data buffer that contains en-/decrypted data
Parameter (in/out)
Parameter
Beschreibung
tag
for decryption: an input data buffer that contains the authentication tag. for encryption: an output data buffer that the authentication tag is written to.
rollback_semantics if the allowed usage of the SymmetricKey deployed or contained in the provided KeySlot at the time of invocation of this interface does not include kAllowDataEncrypt for encryption, or kAllowData Decrypt for decryption, respectively
The interface shall configure the context to use the provided SymmetricKey.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: c987f167a8b5HerkunftOffene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Die Methode SetKey konfiguriert die Instanz von ara::crypto::cryp::AuthCipherCtx für die Verwendung eines übergebenen symmetrischen Schlüssels [SWS_CRYPT_23911]. Als Parameter wird ein Shared Pointer key (vom Typ SymmetricKey::Sptr) übergeben, der für die authentisierte Ver- oder Entschlüsselung genutzt wird [SWS_CRYPT_23911]. Der Aufruf erfolgt synchron, ist als noexcept deklariert und gibt ein ara::core::Result<void> zurück [SWS_CRYPT_23911].
Im Fehlerfall wird das Ergebnis mit Rollback-Semantik zurückgesetzt und liefert spezifische Fehlercodes [SWS_CRYPT_23911]:
ara::crypto::CryptoErrc::kUnsupported: falls der Kontext ausschließlich die Konfiguration über einen KeySlot unterstützt [SWS_CRYPT_23911].
ara::crypto::CryptoErrc::kIncompatibleObject: wenn der übergebene Schlüsseltyp nicht mit dem aktuellen Kontext kompatibel ist [SWS_CRYPT_23911].
ara::crypto::CryptoErrc::kUsageViolation: wenn die erlaubten Nutzungsflags des Schlüssels nicht kAllowDataEncrypt für Chiffrierung bzw. kAllowDataDecrypt für Dechiffrierung enthalten [SWS_CRYPT_23911].
Gemäß Spezifikation ist die Schnittstelle als threadsicher (thread-safe) und ausnahmesicher (exception safe) eingestuft [SWS_CRYPT_23911]. Im Zusammenspiel mit dem Modulkontext dürfte der Schlüssel vor der Initialisierung einer neuen Transformation via Start[SWS_CRYPT_24715] gesetzt werden. Frage Q-11f7daa370f5d438 (offen)
Dieser Nutzungshinweis wurde automatisiert auf Basis des AUTOSAR-Payloads generiert.
rollback_semantics if the allowed usage of the provided SymmetricKey does not include kAllowDataEncrypt for encryption, or kAllowDataDecrypt for decryption, respectively
Request a governed re-review of this record. The record is not changed immediately.
The interface shall configure the context to use the key stored in the provided KeySlot when the authenticated encrypt or decrypt operation is executed.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 44d0d6c36fa2Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Die Funktion SetKey im Interface ara::crypto::cryp::AuthCipherCtx konfiguriert den Kontext für kryptografische Operationen so, dass der in einem bereitgestellten Key-Slot hinterlegte symmetrische Schlüssel verwendet wird, sobald die authentifizierte Ver- oder Entschlüsselung ausgeführt wird [SWS_CRYPT_50072].
Verwendung: Der synchrone Aufruf erfolgt über die Schnittstelle aus ara/crypto/cryp/auth_cipher_ctx.h. Als Parameter keySlot wird eine Instanz von KeySlot::Sptr übergeben, die einen symmetrischen Schlüssel kapselt [SWS_CRYPT_50072]. Die Funktion liefert ein ara::core::Result<void> zurück, das den Erfolg bestätigt oder einen Fehlercode enthält [SWS_CRYPT_50072].
Fehlerbehandlung: Sofern die konkrete Implementierung des Kontextes ausschließlich die direkte Konfiguration über ein SymmetricKey-Objekt unterstützt und das Setzen via KeySlot nicht anbietet, schlägt der Aufruf fehl. In diesem Fall wird der Fehler ara::crypto::CryptoErrc::kUnsupported mit Rollback-Semantik zurückgegeben [SWS_CRYPT_50072].
Nebenläufigkeit und Einschränkungen: Die Funktion ist als thread-safe und exception safe spezifiziert [SWS_CRYPT_50072]. Sie kann nebenläufig aufgerufen werden und stellt sicher, dass bei Ausnahmesituationen kein inkonsistenter Zustand verbleibt.
Zusammenspiel: Als funktionale Alternative steht die Überladung SetKey mit einem direkten SymmetricKey::Sptr zur Verfügung [SWS_CRYPT_23911]. Nach erfolgter Schlüsselbindung wird der Kontext über Start mit der Operationsrichtung sowie dem Initialisierungsvektor initialisiert [SWS_CRYPT_24715]. Analoge Signaturen mit KeySlot::Sptr existieren zudem in MessageAuthnCodeCtx[SWS_CRYPT_50026] und SymmetricKeyWrapperCtx[SWS_CRYPT_50034].
Dieser Text wurde von einer KI erstellt und basiert auf der Spezifikation AUTOSAR R25-11.
Initialize the context for a new encryption or decryption and set the IV used by the context.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: da3f0fb3ff33HerkunftOffene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Die Methode Start initialisiert den Kontext ara::crypto::cryp::AuthCipherCtx für eine neue Ver- oder Entschlüsselung und setzt den zu verwendenden Initialisierungsvektor (IV) bzw. Nonce-Wert [SWS_CRYPT_24715]. Über den Parameter transformDirection wird die Transformationsrichtung festgelegt, während iv den Vektor als ReadOnlyMemRegion übergibt [SWS_CRYPT_24715]. Die zulässige IV-Größe lässt sich über GetMinimumInputIvSize() sowie GetMaximumInputIvSize() ermitteln; bei abweichender Länge meldet die Funktion den Fehler ara::crypto::CryptoErrc::kInvalidInputSize[SWS_CRYPT_24715].
Vor dem Aufruf muss SetKey erfolgreich ausgeführt worden sein, andernfalls wird ara::crypto::CryptoErrc::kUninitializedContext zurückgegeben [SWS_CRYPT_24715]. Ein konfigurierter KeySlot darf weder leer (EmptyKeySlot) noch belegt sein (ara::crypto::CryptoErrc::kBusyResource) [SWS_CRYPT_24715]. Zudem muss der hinterlegte Schlüssel ein passender SymmetricKey sein (sonst ara::crypto::CryptoErrc::kIncompatibleObject) und für die gewünschte Richtung berechtigt sein (kAllowDataEncrypt bzw. kAllowDataDecrypt, sonst ara::crypto::CryptoErrc::kUsageViolation) [SWS_CRYPT_24715]. Fehlt die Unterstützung für Stream-Verarbeitung oder das Setzen eines IV in der gewählten Richtung, schlägt der Aufruf mit ara::crypto::CryptoErrc::kUnsupported fehl [SWS_CRYPT_24715]. Alle Fehler weisen Rollback-Semantik auf [SWS_CRYPT_24715].
Die Operation ist als thread-safe sowie exception-safe (noexcept) deklariert [SWS_CRYPT_24715]. Im Zusammenspiel kryptografischer Abläufe dürfte nach erfolgreicher Initialisierung typischerweise die Übergabe zusätzlicher authentifizierter Daten über UpdateAuthenticatedData folgen [SWS_CRYPT_20313]. Frage Q-e023e27f1cd24507 (offen)
Dieser Nutzungshinweis wurde automatisiert auf Basis des AUTOSAR-Releases R25-11 erstellt.
the transformation direction, i.e., encryption or decryption
iv
an Initialization Vector (IV) or "nonce" value. The allowed size of the IV can be queried using the functions GetMinimumInputIvSize() and GetMaximumInputIvSize().
rollback_semantics if the allowed usage of the SymmetricKey deployed or contained in the provided KeySlot at the time of invocation of this interface does not include kAllowDataEncrypt for encryption, or kAllowData Decrypt for decryption, respectively
Initialize the context for a new encryption or decryption. An IV is either not required for this context in this transformation direction, or set by the context itself.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: f698e30e2198Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Verwendung
Die rein virtuelle Methode Start der Klasse ara::crypto::cryp::AuthCipherCtx initialisiert den Kontext synchron für eine anstehende Ver- oder Entschlüsselung [SWS_CRYPT_50073]. Über den Parameter transformDirection wird angegeben, ob der Kontext für Verschlüsselung oder Entschlüsselung vorbereitet wird. Diese Überladung ohne Initialisierungsvektor (IV) darf nur verwendet werden, wenn der kryptografische Kontext in der gewählten Transformationsrichtung keinen IV voraussetzt oder diesen selbst festlegt [SWS_CRYPT_50073]. Der Rückgabewert ist ein leeres ara::core::Result<void> im Erfolgsfall oder ein entsprechender Fehlercode.
Fehlerbehandlung und Vorbedingungen
Vor dem Aufruf muss der Kontext erfolgreich über SetKey mit einem Schlüssel konfiguriert worden sein; andernfalls schlägt die Funktion mit ara::crypto::CryptoErrc::kUninitializedContext fehl [SWS_CRYPT_50073]. Darüber hinaus treten im Fehlerfall folgende Rückgabewerte auf:
ara::crypto::CryptoErrc::kUnsupported, wenn die Stream-Verarbeitung vom Kontext nicht unterstützt wird oder wenn der Kontext in der gewählten Transformationsrichtung zwingend die explizite Angabe eines IV verlangt [SWS_CRYPT_50073].
ara::crypto::CryptoErrc::kUsageViolation, wenn die erlaubte Schlüsselnutzung im konfigurierten KeySlot zum Aufrufzeitpunkt nicht die erforderliche Berechtigung kAllowDataEncrypt für Verschlüsselung bzw. kAllowDataDecrypt für Entschlüsselung umfasst [SWS_CRYPT_50073].
EmptyKeySlot bzw. ara::crypto::CryptoErrc::kBusyResource, falls ein konfigurierter KeySlot gegenwärtig leer oder blockiert ist [SWS_CRYPT_50073].
ara::crypto::CryptoErrc::kIncompatibleObject, wenn der konfigurierte KeySlot keinen SymmetricKey enthält oder dieser Schlüsseltyp vom Kontext nicht unterstützt wird [SWS_CRYPT_50073].
Tritt ein Fehler auf, greift die spezifizierte Rollback-Semantik (rollback_semantics) [SWS_CRYPT_50073].
Nebenläufigkeit und Zusammenspiel
Die Funktion ist mit noexcept=0 deklariert, gewährleistet Exception-Sicherheit und ist threadsicher ausgelegt [SWS_CRYPT_50073]. Verlangt der Algorithmus die externe Bereitstellung eines Initialisierungsvektors, ist stattdessen die Überladung Start(CryptoTransform, ReadOnlyMemRegion) zu nutzen [SWS_CRYPT_24715]. Nach erfolgreicher Initialisierung können zusätzliche authentifizierte Daten über UpdateAuthenticatedData in die Berechnung des Authentifizierungstags einfließen [SWS_CRYPT_20313].
Dieser Verwendungshinweis wurde automatisiert auf Basis der Spezifikation AUTOSAR Adaptive R25-11 generiert.
rollback_semantics if the allowed usage of the SymmetricKey deployed or contained in the provided KeySlot at the time of invocation of this interface does not include kAllowDataEncrypt for encryption, or kAllowData Decrypt for decryption, respectively
virtual ara::core::Result< void > UpdateAuthenticatedData (ReadOnlyMem Region authenticatedData) noexcept=0;
Update the tag calculation by a new chunk of additional authenticated data.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: f3852a997444Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Die Methode UpdateAuthenticatedData der Schnittstelle ara::crypto::cryp::AuthCipherCtx dient dazu, die Berechnung des Authentisierungs-Tags schrittweise um ein weiteres Teilstück zusätzlicher authentifizierter Daten (Additional Authenticated Data) zu aktualisieren [SWS_CRYPT_20313]. Über den Parameter authenticatedData wird der entsprechende Puffer als ReadOnlyMemRegion übergeben [SWS_CRYPT_20313].
Hinsichtlich des Aufrufkontexts und der Nebenläufigkeit ist die Operation als thread-safe sowie exception safe definiert [SWS_CRYPT_20313]. Für den Aufruf gelten strikte Reihenfolgebedingungen:
Die Transformation muss vorab über die Methode Start() eingeleitet worden sein, andernfalls wird ara::crypto::CryptoErrc::kProcessingNotStarted gemeldet [SWS_CRYPT_20313].
Die Funktion darf nicht mehr aufgerufen werden, wenn UpdateConfidentialData bereits ausgeführt wurde; bei Nichteinhaltung wird der Fehler ara::crypto::CryptoErrc::kInvalidUsageOrder zurückgegeben [SWS_CRYPT_20313].
Als Rückgabewert liefert die Funktion ein ara::core::Result<void>, das im Erfolgsfall leer ist oder einen aufgetretenen Fehlercode kapselt [SWS_CRYPT_20313]. Sämtliche Fehler weisen eine Rollback-Semantik auf [SWS_CRYPT_20313]:
ara::crypto::CryptoErrc::kInvalidInputSize: Die Größe des übergebenen Eingangspuffers ist ungültig [SWS_CRYPT_20313].
ara::crypto::CryptoErrc::kUnsupported: Die Stream-Verarbeitung wird durch den aktuellen Kontext nicht unterstützt [SWS_CRYPT_20313].
Dieser Text wurde von einer KI generiert und dient als Orientierungshilfe. Verbindlich ist die AUTOSAR-Spezifikation.
Encrypt or decrypt confidential data. When used for decryption, the plaintext is returned without verifying its authenticity. An application must not use the data before verifying its authenticity using Finish().
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 0a7976c267f4Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Die Methode UpdateConfidentialData der Klasse ara::crypto::cryp::AuthCipherCtx dient dem schrittweisen Ver- oder Entschlüsseln vertraulicher Nutzdaten im Rahmen eines authentifizierten Chiffrierkontexts [SWS_CRYPT_50074]. Ihr werden der Eingabepuffer in (Typ ReadOnlyMemRegion) mit einem Teil des Klar- oder Geheimtexts sowie der Ausgabepuffer out (Typ ReadWriteMemRegion) übergeben [SWS_CRYPT_50074]. Als synchroner Rückgabewert liefert die Funktion ein ara::core::Result<std::size_t>, welches bei Erfolg die tatsächlich geschriebene Bytezahl enthält; diese kann kleiner als die Kapazität von out sein [SWS_CRYPT_50074].
Hinsichtlich des Ablaufs und der Nebenläufigkeit gelten folgende Bedingungen:
Ablaufreihenfolge und Integrität: Vor der Verarbeitung muss der Vorgang über Start() initiiert worden sein [SWS_CRYPT_50074]. Wird die Methode zur Entschlüsselung genutzt, wird der Klartext ohne vorherige Authentizitätsprüfung ausgegeben; die Anwendung darf diese Daten keinesfalls vor der abschließenden Verifikation mittels Finish() verwenden [SWS_CRYPT_50074]. Zusätzliche authentifizierte Daten können parallel über UpdateAuthenticatedData in die Tag-Berechnung einfließen [SWS_CRYPT_20313].
Thread- und Exception-Sicherheit: Die Operation ist als thread-safe sowie exception-safe deklariert und wirft keine Exceptions (noexcept) [SWS_CRYPT_50074].
Schlägt die Verarbeitung fehl, greift Rollback-Semantik unter Rückgabe eines entsprechenden Fehlercodes in ara::core::Result[SWS_CRYPT_50074]:
ara::crypto::CryptoErrc::kProcessingNotStarted: Die Verarbeitung wurde noch nicht per Start() eingeleitet [SWS_CRYPT_50074].
ara::crypto::CryptoErrc::kInsufficientCapacity: Der Ausgabepuffer out ist zu klein dimensioniert [SWS_CRYPT_50074].
ara::crypto::CryptoErrc::kInvalidInputSize: Die Größe des Puffers in ist ungültig [SWS_CRYPT_50074].
ara::crypto::CryptoErrc::kUnsupported: Stream-Verarbeitung wird vom Kontext nicht unterstützt [SWS_CRYPT_50074].
Dieser Text wurde von einer KI auf Basis der AUTOSAR-Spezifikation R25-11 generiert.
gemini-3.8-flash-medium· 2026-10-13