DEENESPTFRRUARHIKOZHNL

class ara::crypto::cryp::SymmetricCipherCtx

[SWS_CRYPT_50136] Upstream: RS_CRYPTO_02201

class SymmetricCipherCtx :           public CryptoContext {...};

Interface for Symmetric Cipher Operations.

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

User GuideKI-GENERIERT

Dient als Schnittstelle für symmetrische Verschlüsselungs- und Entschlüsselungsoperationen in Datenströmen oder Einzelaufrufen.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 0261b663ca0d Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Dient als Schnittstelle für symmetrische Verschlüsselungs- und Entschlüsselungsoperationen in Datenströmen oder Einzelaufrufen.

Die Klasse ara::crypto::cryp::SymmetricCipherCtx dient als threadsichere Schnittstelle für symmetrische Verschlüsselungs- und Entschlüsselungsoperationen in AUTOSAR Adaptive [SWS_CRYPT_50044]. Nach Konfiguration eines Schlüssels über SetKey() können Daten entweder in einem einzelnen Aufruf oder schrittweise in einem Streaming-Zyklus aus Start(), Update() und Finish() verarbeitet werden [SWS_CRYPT_50138], [SWS_CRYPT_50139]. Alle Methoden sind als noexcept spezifiziert und signalisieren Fehler wie fehlende Initialisierung oder zu kleine Puffer über ara::core::Result [SWS_CRYPT_50140].

Kontext

Die Schnittstelle ara::crypto::cryp::SymmetricCipherCtx kapselt symmetrische kryptografische Transformationen, welche sowohl Verschlüsselungs- als auch Entschlüsselungsoperationen umfassen. Innerhalb der Krypto-Architektur agiert die Klasse als Ausführungskontext für symmetrische Algorithmen und kooperiert mit Schlüsselobjekten sowie Speicherpuffern. Zur Konfiguration des kryptografischen Schlüssels interagiert die Klasse entweder direkt mit flüchtigen Schlüsseln über SymmetricKey [SWS_CRYPT_50138] oder mit persistent bzw. isoliert verwalteten Schlüsseln über KeySlot [SWS_CRYPT_50043]. Zu verarbeitende Klar- und Chiffretexte sowie Initialisierungsvektoren (IV) werden über Speicherbereiche vom Typ ReadOnlyMemRegion und ReadWriteMemRegion übergeben und empfangen [SWS_CRYPT_50048], [SWS_CRYPT_50049].

Lebenszyklus

Lebenszyklus und Besitzverhältnisse der Schnittstelle werden primär über den typisierten Smart-Pointer-Alias Sptr (std::shared_ptr<SymmetricCipherCtx>) gesteuert [SWS_CRYPT_50137]. Die Bereitstellung einer konkreten Instanz dürfte in der Praxis über eine übergeordnete Krypto-Fabrikmethode erfolgen (Interpretation), da die Schnittstellendefinition selbst keine Erzeugungsfunktionen ausweist. Frage Q-5b5f5ffdf964c91f (offen)

Nach der Instanziierung durchläuft der Kontext mehrere Betriebsphasen:

  • Nicht initialisiert: Unmittelbar nach der Instanziierung ist dem Kontext kein Schlüssel zugeordnet. Jeder Verarbeitungsaufruf in dieser Phase führt zum Fehler CryptoErrc::kUninitializedContext [SWS_CRYPT_50044], [SWS_CRYPT_50047].
  • Initialisiert / Schlüssel gebunden: Durch Aufruf von SetKey() mit einem SymmetricKey [SWS_CRYPT_50138] oder KeySlot [SWS_CRYPT_50043] wird der Kontext einsatzbereit. Aus diesem Zustand heraus können entweder zustandslose Single-Call-Operationen ausgeführt oder ein zustandsbehafteter Streaming-Prozess gestartet werden.
  • Streaming-Verarbeitung: Ein Aufruf von Start() leitet eine schrittweise Transformation ein [SWS_CRYPT_50044], [SWS_CRYPT_23625]. In dieser Phase können Daten über Update() transformiert [SWS_CRYPT_50139] und die Position via Seek() modifiziert werden [SWS_CRYPT_23613]. Der Streaming-Zustand wird regulär durch Finish() [SWS_CRYPT_50045] bzw. FinishEncrypt() [SWS_CRYPT_23618] beendet oder vorzeitig via Cancel() verworfen [SWS_CRYPT_50046]. Danach kehrt der Kontext in den initialisierten Grundzustand zurück.

Sämtliche Methoden von SymmetricCipherCtx sind als noexcept deklariert, gewährleisten Ausnahme-Sicherheit („exception safe“) und sind für den nebenläufigen Zugriff als threadsicher („thread-safe“) spezifiziert [SWS_CRYPT_50044], [SWS_CRYPT_50139].

SymmetricCipherCtxState Uninitialized Uninitialized Initialized Initialized Uninitialized->Initialized SetKey() Initialized->Initialized ProcessSingleCall...() Streaming Streaming Initialized->Streaming Start() Streaming->Initialized Finish() / FinishEncrypt() / Cancel() Streaming->Streaming Update() / Seek()

Zustandsdiagramm: Lebenszyklus und Zustandsübergänge des symmetrischen Chiffrierkontexts. Quellen: [SWS_CRYPT_50138], [SWS_CRYPT_50044], [SWS_CRYPT_50139], [SWS_CRYPT_50045], [SWS_CRYPT_50046]

Nutzungspfad

Vor der eigentlichen Datentransformation empfiehlt sich die Bestimmung der geforderten Puffer- und Chunkgrößen. Über GetMinimumChunkSize() [SWS_CRYPT_50144] und GetMaximumChunkSize() [SWS_CRYPT_50050] lassen sich die zulässigen Grenzen für Eingabeblöcke ermitteln. Falls Initialisierungsvektoren erforderlich sind, können deren Längengrenzen mittels GetMinimumInputIvSize() [SWS_CRYPT_50141], GetMaximumInputIvSize() [SWS_CRYPT_50142] oder GetOutputIvSize() [SWS_CRYPT_50143] abgefragt werden. Die maximal notwendige Zielpuffergröße für eine Operation wird mittels GetRequiredOutputBufferSize() berechnet [SWS_CRYPT_50140].

Für die schrittweise Stream-Verschlüsselung oder -Entschlüsselung gilt folgender Standardablauf:

  1. Schlüssel konfigurieren: Bindung des kryptografischen Schlüssels an den Kontext via SetKey() [SWS_CRYPT_50138].
  2. Transformation starten: Aufruf von Start() unter Angabe von Transformationsrichtung (Verschlüsselung oder Entschlüsselung) und optionalem IV [SWS_CRYPT_23625] bzw. ohne IV [SWS_CRYPT_50044].
  3. Datenblöcke transformieren: Wiederholter Aufruf von Update() zur schrittweisen Übergabe von Eingabedaten und Entnahme der Ausgabedaten [SWS_CRYPT_50139]. Bei Bedarf kann innerhalb des Datenstroms über Seek() navigiert werden [SWS_CRYPT_23613].
  4. Abschluss: Finalisierung über Finish() [SWS_CRYPT_50045] oder über FinishEncrypt(), sofern der vom Kontext erzeugte IV zurückgegeben werden soll [SWS_CRYPT_23618].

Alternativ zu diesem Streaming-Muster unterstützt die Schnittstelle synchrone Einzelaufrufe. Liegt die gesamte Nutzlast vor, kann die Operation direkt über ProcessSingleCall() [SWS_CRYPT_50047], ProcessSingleCallWithInputIv() [SWS_CRYPT_50048] oder für kontexteigene IV-Generierung über EncryptSingleCallWithOutputIv() [SWS_CRYPT_50049] ausgeführt werden.

Symmetrische Datenstrom-VerschlüsselungAnwendungSymmetricCipherCtxSetKey(key)Result<void>Start(kEncrypt, iv)Result<void>loopSolange Blöcke vorliegenUpdate(in, out)Result<size_t>FinishEncrypt(in, out, ivOut)Result<size_t>

Sequenzdiagramm: Typischer Aufrufablauf einer Streaming-Verschlüsselung. Quellen: [SWS_CRYPT_50138], [SWS_CRYPT_23625], [SWS_CRYPT_50139], [SWS_CRYPT_23618]

Fehlerszenarien

Methoden der Klasse signalisieren Fehler über ara::core::Result mit Codes der Fehlerdomäne ara::crypto::CryptoErrc. Wesentliche Fehlerbedingungen umfassen:

  • CryptoErrc::kUninitializedContext: Tritt auf, wenn Verarbeitungsaufrufe wie Start() [SWS_CRYPT_50044], Single-Call-Routinen [SWS_CRYPT_50047] oder GetRequiredOutputBufferSize() [SWS_CRYPT_50140] aufgerufen werden, bevor ein Schlüssel über SetKey() hinterlegt wurde.
  • CryptoErrc::kProcessingNotStarted: Wird ausgelöst, wenn Streaming-Funktionen wie Update() [SWS_CRYPT_50139], Finish() [SWS_CRYPT_50045], FinishEncrypt() [SWS_CRYPT_23618], Seek() [SWS_CRYPT_23613] oder Cancel() [SWS_CRYPT_50046] ohne vorherigen erfolgreichen Start()-Aufruf ausgeführt werden.
  • CryptoErrc::kInsufficientCapacity: Der bereitgestellte Zielpuffer für Daten oder IVs ist kleiner als die minimal benötigte Kapazität [SWS_CRYPT_50139], [SWS_CRYPT_50049].
  • CryptoErrc::kUsageViolation und CryptoErrc::kIncompatibleObject: Der übergebene Schlüsseltyp ist für die Transformation unpassend oder die im Schlüssel hinterlegten Nutzungsregeln verbieten die Operation (z. B. Fehlen von kAllowDataEncryption oder kAllowDataDecryption) [SWS_CRYPT_50044], [SWS_CRYPT_50047].
  • CryptoErrc::kEmptyKeySlot und CryptoErrc::kBusyResource: Zeigt an, dass ein konfigurierter KeySlot zur Laufzeit keinen Schlüssel enthält oder eine für die Kryptooperation benötigte Ressource blockiert ist [SWS_CRYPT_50048], [SWS_CRYPT_50049].
  • CryptoErrc::kUnsupported: Wird zurückgegeben, wenn eine Betriebsart (wie Stream-Verarbeitung, Single-Call oder Seek()) vom gewählten Kontext oder Algorithmus nicht unterstützt wird [SWS_CRYPT_23613], [SWS_CRYPT_50047].

Dieser Leitfaden wurde durch einen KI-Assistenten anhand der Spezifikationsvorgaben erstellt.

Mitgliederkarte

Klassendiagramm

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

G nara__crypto__cryp__SymmetricCipherCtx167 SymmetricCipherCtx + Cancel() + EncryptSingleCallWithOutputIv() + Finish() + FinishEncrypt() + GetMaximumChunkSize() + GetMaximumInputIvSize() + GetMinimumChunkSize() + GetMinimumInputIvSize() + GetOutputIvSize() + GetRequiredOutputBufferSize() + ProcessSingleCall() + ProcessSingleCallWithInputIv() + Seek() + SetKey() + Start() + Update() nara__crypto__cryp__CryptoContext85 CryptoContext nara__crypto__cryp__SymmetricCipherCtx167->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;

Perform encryption in a single-call and return an IV generated by the context.

virtual ara::core::Result< std::size_t > EncryptSingleCallWithOutputIv (ReadOnlyMemRegion in, ReadWriteMemRegion out, ReadWriteMemRegion iv Out) noexcept=0;
Finish function

Finalize the encryption/decryption without returning an IV.

virtual ara::core::Result< std::size_t > Finish (ReadOnlyMemRegion in, ReadWriteMemRegion out) noexcept=0;
FinishEncrypt function

Finalize the encryption and return the IV generated by the context.

virtual ara::core::Result< std::size_t > FinishEncrypt (ReadOnlyMem Region in, ReadWriteMemRegion out, ReadWriteMemRegion ivOut) noexcept=0;

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

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

Get the maximum IV size required to be passed to the context in the functions Start() and ProcessSingleCallWithInputIv() for the given transformDirection.

virtual ara::core::Result< std::size_t > GetMaximumInputIvSize (Crypto Transform transformDirection) const noexcept=0;

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

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

Get the minimum IV size required to be passed to the context in the functions Start() and ProcessSingleCallWithInputIv() for the given transformDirection.

virtual ara::core::Result< std::size_t > GetMinimumInputIvSize (Crypto Transform transformDirection) const noexcept=0;

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

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

Calculate the maximum required size of the output buffer depending on the input size in the current state of the context.

virtual ara::core::Result< std::size_t > GetRequiredOutputBufferSize (std::size_t inputSize, bool isFinal) const noexcept;

Perform en-/decryption in a single-call without setting or returning an IV.

virtual ara::core::Result< std::size_t > ProcessSingleCall (ReadOnly MemRegion in, ReadWriteMemRegion out, CryptoTransform transform Direction) noexcept=0;

Perform en-/decryption in a single-call, providing an IV to be used during en-/decryption.

virtual ara::core::Result< std::size_t > ProcessSingleCallWithInputIv (ReadOnlyMemRegion in, ReadWriteMemRegion out, CryptoTransform transformDirection, ReadOnlyMemRegion iv) noexcept=0;
Seek function

Set the position of the next byte within the data stream.

virtual ara::core::Result< void > Seek (std::int64_t offset, bool from Begin) noexcept=0;
SetKey function 2

Configure the context to use the key stored in the provided KeySlot at the time the en-/decryption is started.

Überladungen SetKey 2
virtual ara::core::Result< void > SetKey (KeySlot::Sptr keySlot) noexcept=0; SWS_CRYPT_50043
virtual ara::core::Result< void > SetKey (SymmetricKey::Sptr key) noexcept=0; SWS_CRYPT_50138
Start function 2

Initialize the context for a new encryption or decryption and set the IV used by the context.

Überladungen Start 2
virtual ara::core::Result< void > Start (CryptoTransform transform Direction, ReadOnlyMemRegion iv) noexcept=0; SWS_CRYPT_23625
virtual ara::core::Result< void > Start (CryptoTransform transform Direction) noexcept=0; SWS_CRYPT_50044
Update function

Encrypt or decrypt a data buffer.

virtual ara::core::Result< std::size_t > Update (ReadOnlyMemRegion in, ReadWriteMemRegion out) noexcept=0;

Typaliase

Sptr type alias

Smart pointer of the interface.

Dokumentation der Methoden

function Cancel [SWS_CRYPT_50046] 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: 0bea3f0e1d0d Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone Methode Cancel() der Klasse ara::crypto::cryp::SymmetricCipherCtx dient dem vorzeitigen Abbruch einer laufenden Streaming-Operation, die zuvor mit Start() initiiert und noch nicht beendet wurde [SWS_CRYPT_50046]. Die Schnittstelle ist parameterlos in ara/crypto/cryp/symmetric_cipher_ctx.h deklariert und gibt bei erfolgreicher Durchführung ein leeres ara::core::Result<void> zurück [SWS_CRYPT_50046].

Wurde die Datenverarbeitung im Vorfeld nicht durch den Aufruf von Start() begonnen, schlägt die Operation mit dem spezifischen Fehlercode ara::crypto::CryptoErrc::kProcessingNotStarted und Rollback-Semantik fehl [SWS_CRYPT_50046]. Für den Aufrufkontext garantiert die Spezifikation Thread-Sicherheit (thread-safe) sowie Ausnahme-Sicherheit (exception safe) mit noexcept-Deklaration [SWS_CRYPT_50046]. Interpretation: Aufgrund der Rollback-Semantik dürfte das Objekt nach einem Abbruch wieder in einen bereiten Ausgangszustand zurückkehren. Frage Q-b6deb8db5367acc5 (offen)

Dieses funktionale Muster ist konsistent über alle kryptografischen Streaming-Kontexte in AUTOSAR Adaptive definiert. Identische Signaturen und Fehlersemantiken gelten für die Kontextklassen VerifierPublicCtx ([SWS_CRYPT_50023]), MessageAuthnCodeCtx ([SWS_CRYPT_50027]), SignerPrivateCtx ([SWS_CRYPT_50041]), HashFunctionCtx ([SWS_CRYPT_50058]), DecryptorPrivateCtx ([SWS_CRYPT_50069]), AuthCipherCtx ([SWS_CRYPT_50077]) und EncryptorPublicCtx ([SWS_CRYPT_50089]).

Dieser Text wurde durch eine KI kuratiert und basiert auf der Spezifikation AUTOSAR Adaptive R25-11.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/crypto/cryp/symmetric_cipher_ctx.h"
Scopeclass ara::crypto::cryp::SymmetricCipherCtx
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_50046
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50046@rel:R25-11#f0ef0c54
Content hash
f0ef0c54
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50046
Status: valid/unmigrated Version: rel:R25-11#f0ef0c54 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_50046@rel:R25-11#f0ef0c54
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 EncryptSingleCallWithOutputIv [SWS_CRYPT_50049] Upstream: RS_CRYPTO_02302

virtual ara::core::Result< std::size_t > EncryptSingleCallWithOutputIv (ReadOnlyMemRegion in, ReadWriteMemRegion out, ReadWriteMemRegion iv Out) noexcept=0;

Perform encryption in a single-call and return an IV generated by the context.

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

Verwendung und Pufferbehandlung

Die synchrone Methode EncryptSingleCallWithOutputIv führt eine symmetrische Verschlüsselung in einem einzigen Aufruf durch und gibt den vom Kontext generierten Initialisierungsvektor über den Puffer ivOut zurück [SWS_CRYPT_50049]. Die Eingangsdaten werden über in übergeben, während out die verschlüsselten Daten aufnimmt [SWS_CRYPT_50049]. Bei erfolgreicher Ausführung liefert das Ergebnis ara::core::Result<std::size_t> die tatsächliche Größe der erzeugten Ausgabedaten, welche kleiner als die Gesamtkapazität von out sein kann [SWS_CRYPT_50049]. Benötigt der gewählte Algorithmus keinen Initialisierungsvektor, werden keine Daten in ivOut geschrieben [SWS_CRYPT_50049].

Zusammenspiel und Vorbedingungen

Vor dem Aufruf muss der Kontext über einen passenden Schlüssel initialisiert werden [SWS_CRYPT_50049]. Um eine ausreichende Kapazität des Puffers ivOut zu gewährleisten, kann die erforderliche IV-Länge vorab über GetOutputIvSize() ermittelt werden [SWS_CRYPT_50143]. Falls zusätzlich eine Authentifizierung mit Tag-Berechnung benötigt wird, bietet ara::crypto::cryp::AuthCipherCtx das entsprechende Gegenstück an [SWS_CRYPT_50080].

Fehlerbehandlung und Nebenläufigkeit

Die Schnittstelle ist threadsicher sowie ausnahmesicher („exception safe“) spezifiziert und wendet bei Fehlern eine Rollback-Semantik an [SWS_CRYPT_50049]. Interpretation: Diese Rollback-Semantik dürfte sicherstellen, dass bei auftretenden Fehlern der Zustand des Kontexts intakt bleibt und keine unvollständigen Daten im Puffer als gültig verbleiben. Frage Q-841087731518d866 (offen) Zu den relevanten Fehlern zählen:

  • UninitializedContext: Dem Kontext wurde noch kein Schlüssel zugewiesen [SWS_CRYPT_50049].
  • ara::crypto::CryptoErrc::kInsufficientCapacity: Die Kapazität von out oder ivOut ist unzureichend [SWS_CRYPT_50049].
  • ara::crypto::CryptoErrc::kUnsupported: Single-Call-Verschlüsselung wird nicht unterstützt oder der Algorithmus erzwingt die Vorgabe eines Eingangs-IVs [SWS_CRYPT_50049].
  • ara::crypto::CryptoErrc::kUsageViolation bzw. ara::crypto::CryptoErrc::kIncompatibleObject: Der Schlüsseltyp passt nicht zur Transformation oder die Schlüsselverwendung erlaubt keine Datenverschlüsselung [SWS_CRYPT_50049].

Dieser Nutzungshinweis wurde von einer KI basierend auf den Spezifikationen von AUTOSAR Adaptive generiert.

Implementer's Guide folgt (Komplexität I2)

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

Parameter (in)

ParameterBeschreibung
inan input data buffer containing the ciphertext or plaintext

Parameter (out)

ParameterBeschreibung
outan output data buffer that the encrypted or decrypted data is written to
ivOutan output data buffer that the initialization vector (IV) generated by the context will be written to. If the algorithm does not use an IV, no data will be written into the buffer.

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >a result containing the size of the output data or an error. The output data may be smaller than the size of the output buffer out.

Fehler

FehlercodeBeschreibung
UninitializedContextif the context was not initialized by deploying a key
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if single-call encryption is not supported, or if the algorithm requires providing an input IV
ara::crypto::CryptoErrc::kInsufficientCapacityrollback_semantics if the data or IV output buffer is too small
ara::crypto::CryptoErrc::kInvalidInputSizerollback_semantics if the size of the input buffer cannot be processed
ara::crypto::CryptoErrc::kInvalidArgumentrollback_semantics if the provided input data contains invalid data
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 kAllowData Encryption for encryption
ara::crypto::CryptoErrc::kIncompatibleObjectrollback_semantics if type of the key is incompatible to the transformation or the transformation direction (encrypt)

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50049
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50049@rel:R25-11#f2ba22b4
Content hash
f2ba22b4
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50049
Status: valid/unmigrated Version: rel:R25-11#f2ba22b4 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_50049@rel:R25-11#f2ba22b4
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_50045] Upstream: RS_CRYPTO_02302

virtual ara::core::Result< std::size_t > Finish (ReadOnlyMemRegion in, ReadWriteMemRegion out) noexcept=0;

Finalize the encryption/decryption without returning an IV.

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

Verwendung

Die synchrone Methode Finish finalisiert eine symmetrische Ver- oder Entschlüsselung innerhalb von ara::crypto::cryp::SymmetricCipherCtx ohne Rückgabe eines Initialisierungsvektors ([SWS_CRYPT_50045]). Sie verarbeitet den letzten Datenabschnitt aus dem Eingangspuffer in (ReadOnlyMemRegion) und schreibt die resultierenden Daten in den Ausgabepuffer out (ReadWriteMemRegion) ([SWS_CRYPT_50045]). Die hierfür benötigte Puffergröße kann vorab über GetRequiredOutputBufferSize() abgefragt werden ([SWS_CRYPT_50045]). Der Rückgabewert vom Typ ara::core::Result<std::size_t> liefert bei Erfolg die exakte Anzahl geschriebener Bytes, welche kleiner als die Gesamtkapazität von out sein kann ([SWS_CRYPT_50045]).

Fehlerbehandlung

Im Fehlerfall liefert die Methode ein ara::core::Result mit spezifischen Fehlercodes ([SWS_CRYPT_50045]):

  • ProcessingNotStarted: Die Datenverarbeitung wurde zuvor nicht durch Start() eingeleitet ([SWS_CRYPT_50045]).
  • ara::crypto::CryptoErrc::kInsufficientCapacity: Der Ausgabepuffer out ist zu klein ([SWS_CRYPT_50045]).
  • ara::crypto::CryptoErrc::kInvalidInputSize: Die Größe der Eingangsdaten kann nicht verarbeitet werden ([SWS_CRYPT_50045]).
  • ara::crypto::CryptoErrc::kInvalidArgument: Die übergebenen Eingangsdaten sind ungültig ([SWS_CRYPT_50045]).
  • ara::crypto::CryptoErrc::kUnsupported: Stream-Verarbeitung wird durch den aktuellen Kontext nicht unterstützt ([SWS_CRYPT_50045]).

Tritt einer der CryptoErrc-Fehler auf, greift eine Rollback-Semantik ([SWS_CRYPT_50045]).

Nebenläufigkeit und Zusammenspiel

Die Operation ist als thread-safe und exception safe definiert ([SWS_CRYPT_50045]). Vor dem Aufruf muss die Transformation zwingend durch Start() begonnen worden sein ([SWS_CRYPT_50045]). Die maximal zulässige Eingangsgröße für einzelne Aufrufe von Finish() kann über GetMaximumChunkSize() ermittelt werden ([SWS_CRYPT_50050]). Nach dem Abschluss dürfte der Transformationslauf beendet sein und für weitere Operationen vermutlich ein neuer Aufruf von Start() erforderlich werden. Frage Q-c4ffc8028e8f522b (offen)

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

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

Parameter (in)

ParameterBeschreibung
inan input data buffer containing a part of the ciphertext or plaintext

Parameter (out)

ParameterBeschreibung
outan output data buffer that contains encrypted or decrypted data. The required size of this buffer can be queried using GetRequired OutputBufferSize()

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >a result containing the size of the output data or an error. The output data may be smaller than the size of the output buffer out.

Fehler

FehlercodeBeschreibung
ProcessingNotStartedif data processing was not started by a call of the Start() method
ara::crypto::CryptoErrc::kInsufficientCapacityrollback_semantics if the output buffer is too small
ara::crypto::CryptoErrc::kInvalidInputSizerollback_semantics if the size of the input buffer cannot be processed
ara::crypto::CryptoErrc::kInvalidArgumentrollback_semantics if the provided input data contains invalid data
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if stream processing is not supported by the context or

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50045
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50045@rel:R25-11#b9951f15
Content hash
b9951f15
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50045
Status: valid/unmigrated Version: rel:R25-11#b9951f15 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_50045@rel:R25-11#b9951f15
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 FinishEncrypt [SWS_CRYPT_23618] Upstream: RS_CRYPTO_02302

virtual ara::core::Result< std::size_t > FinishEncrypt (ReadOnlyMem Region in, ReadWriteMemRegion out, ReadWriteMemRegion ivOut) noexcept=0;

Finalize the encryption and return the IV generated by the context.

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

Die Methode FinishEncrypt schließt eine Verschlüsselungsoperation ab und gibt den vom Kontext generierten Initialisierungsvektor (IV) zurück [SWS_CRYPT_23618]. Sie verarbeitet den finalen Eingabedatenpuffer in und schreibt die resultierenden Daten in den Ausgabepuffer out sowie den IV in ivOut. Als Rückgabewert liefert sie ein ara::core::Result<std::size_t> mit der tatsächlichen Größe der geschriebenen Ausgabedaten, welche kleiner als die Kapazität von out sein kann [SWS_CRYPT_23618].

Für eine fehlerfreie Ausführung müssen Pufferdimensionen und Kontextzustand vorab abgestimmt werden:

  • Die erforderliche Puffergröße für out kann über [SWS_CRYPT_50140] mit gesetztem Parameter isFinal = true ermittelt werden. Ist out zu klein bemessen, schlägt der Aufruf mit CryptoErrc::kInsufficientCapacity fehl [SWS_CRYPT_23618].
  • Die erwartete Größe für ivOut lässt sich über [SWS_CRYPT_50143] abfragen.
  • Die Eingangsgröße von in muss zwischen den durch [SWS_CRYPT_50144] und [SWS_CRYPT_50050] definierten Minimal- und Maximalgrenzen liegen, andernfalls wird CryptoErrc::kInvalidInputSize zurückgegeben [SWS_CRYPT_23618].

Wurde die Datenverarbeitung nicht zuvor durch Start() eingeleitet, meldet die Methode CryptoErrc::kProcessingNotStarted [SWS_CRYPT_23618]. Enthält der Eingabepuffer ungültige Daten, folgt CryptoErrc::kInvalidArgument [SWS_CRYPT_23618]. Der Fehler CryptoErrc::kUnsupported tritt auf, wenn Stream-Verarbeitung nicht unterstützt wird, der Kontext keinen IV nutzt oder bereits in Start() ein IV übergeben wurde [SWS_CRYPT_23618]. Alle Fehler besitzen Rollback-Semantik [SWS_CRYPT_23618]. Gemäß Spezifikation ist der Aufruf threadsicher und ausnahmesicher (noexcept) [SWS_CRYPT_23618].

Dieser Nutzungshinweis wurde automatisiert auf Basis des AUTOSAR-Payloads generiert.

Implementer's Guide folgt (Komplexität I2)

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

Parameter (in)

ParameterBeschreibung
inan input data buffer containing a part of the ciphertext or plaintext

Parameter (out)

ParameterBeschreibung
outan output data buffer that contains encrypted or decrypted data
ivOutan output data buffer that contains the IV

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >a result containing the size of the output data or an error. The output data may be smaller than the size of the output buffer out.

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kProcessingNotStartedrollback_semantics if data processing was not started by a call of the Start() method
ara::crypto::CryptoErrc::kInsufficientCapacityrollback_semantics if the output buffer is too small
ara::crypto::CryptoErrc::kInvalidInputSizerollback_semantics if the size of the input buffer cannot be processed
ara::crypto::CryptoErrc::kInvalidArgumentrollback_semantics if the provided input data contains invalid data
ara::crypto::CryptoErrc::kUnsupportedrollback_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.

Record
AUTOSAR/AP/record/SWS_CRYPT_23618
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_23618@rel:R25-11#c50d30f8
Content hash
c50d30f8
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_23618
Status: valid/unmigrated Version: rel:R25-11#dcc35b13 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_23618@rel:R25-11#dcc35b13
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#c50d30f82026-09-30
  • R19-11rel:R19-11#c41ea37b2026-10-14
  • R20-11rel:R20-11#06f18fb12026-10-14
  • R21-11rel:R21-11#3725bc5a2026-10-14
  • R22-11rel:R22-11#724878ec2026-10-14
  • R23-11rel:R23-11#8e98bdf02026-10-14
  • R24-11rel:R24-11#1d9181d92026-10-14
  • R25-11rel:R25-11#dcc35b132026-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 GetMaximumChunkSize [SWS_CRYPT_50050] 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(), Finish(), FinishEncrypt(), or ProcessSingleCall() by this context.

Header-Datei#include "ara/crypto/cryp/symmetric_cipher_ctx.h"
Scopeclass ara::crypto::cryp::SymmetricCipherCtx
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_50050
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50050@rel:R25-11#439b3c69
Content hash
439b3c69
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50050
Status: valid/unmigrated Version: rel:R25-11#439b3c69 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_50050@rel:R25-11#439b3c69
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 GetMaximumInputIvSize [SWS_CRYPT_50142] Upstream: RS_CRYPTO_02309

virtual ara::core::Result< std::size_t > GetMaximumInputIvSize (Crypto Transform transformDirection) const noexcept=0;

Get the maximum IV size required to be passed to the context in the functions Start() and ProcessSingleCallWithInputIv() for the given transformDirection.

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

Parameter (in)

ParameterBeschreibung
transformDirectionthe transformation direction, i.e., encryption or decryption

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >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_50142
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50142@rel:R25-11#2fd32b15
Content hash
2fd32b15
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50142
Status: valid/unmigrated Version: rel:R25-11#2fd32b15 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_50142@rel:R25-11#2fd32b15
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 GetMinimumChunkSize [SWS_CRYPT_50144] Upstream: RS_CRYPTO_02309

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

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

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

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >the minimum 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_50144
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50144@rel:R25-11#8dfc91ab
Content hash
8dfc91ab
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50144
Status: valid/unmigrated Version: rel:R25-11#8dfc91ab 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_50144@rel:R25-11#8dfc91ab
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 GetMinimumInputIvSize [SWS_CRYPT_50141] Upstream: RS_CRYPTO_02309

virtual ara::core::Result< std::size_t > GetMinimumInputIvSize (Crypto Transform transformDirection) const noexcept=0;

Get the minimum IV size required to be passed to the context in the functions Start() and ProcessSingleCallWithInputIv() for the given transformDirection.

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

Parameter (in)

ParameterBeschreibung
transformDirectionthe transformation direction, i.e., encryption or decryption

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >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_50141
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50141@rel:R25-11#a69e1387
Content hash
a69e1387
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50141
Status: valid/unmigrated Version: rel:R25-11#a69e1387 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_50141@rel:R25-11#a69e1387
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 GetOutputIvSize [SWS_CRYPT_50143] Upstream: RS_CRYPTO_02309

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

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

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

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >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_50143
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50143@rel:R25-11#11f7dfe6
Content hash
11f7dfe6
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50143
Status: valid/unmigrated Version: rel:R25-11#11f7dfe6 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_50143@rel:R25-11#11f7dfe6
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 GetRequiredOutputBufferSize [SWS_CRYPT_50140] Upstream: RS_CRYPTO_02302

virtual ara::core::Result< std::size_t > GetRequiredOutputBufferSize (std::size_t inputSize, bool isFinal) const noexcept;

Calculate the maximum required size of the output buffer depending on the input size in the current state of the context.

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

Parameter (in)

ParameterBeschreibung
inputSizesize of input data
isFinalif true, calculate maximum required output buffer size for Finish(), FinishEncrypt(), ProcessSingleCallWithInputIv(), and Encrypt SingleCallWithOutputIv(), otherwise for Update()

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >a result containing the required capacity of the output buffer (in bytes) or an error

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUninitializedContextrollback_semantics if the context was not initialized by deploying a key and setting the transformation direction

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50140
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50140@rel:R25-11#3cd4a32f
Content hash
3cd4a32f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50140
Status: valid/unmigrated Version: rel:R25-11#3cd4a32f 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_50140@rel:R25-11#3cd4a32f
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 ProcessSingleCall [SWS_CRYPT_50047] Upstream: RS_CRYPTO_02302

virtual ara::core::Result< std::size_t > ProcessSingleCall (ReadOnly MemRegion in, ReadWriteMemRegion out, CryptoTransform transform Direction) noexcept=0;

Perform en-/decryption in a single-call without setting or returning an IV.

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

Die Methode ProcessSingleCall führt eine Ver- oder Entschlüsselung in einem einzelnen synchronen Aufruf ohne Initialisierungsvektor (IV) durch ([SWS_CRYPT_50047]). Als Eingabeparameter dienen der Datenpuffer in (ReadOnlyMemRegion) und die Transformationsrichtung transformDirection (CryptoTransform), während das Resultat in den Puffer out (ReadWriteMemRegion) geschrieben wird. Bei erfolgreicher Ausführung gibt die Funktion ein ara::core::Result<std::size_t> zurück, das die Anzahl der geschriebenen Bytes enthält; dieser Wert kann kleiner als die Gesamtkapazität des Ausgabepuffers sein.

Hinsichtlich Nebenläufigkeit und Sicherheit ist die Methode als thread-safe und exception safe spezifiziert ([SWS_CRYPT_50047]). Die verarbeitbare Eingabegröße von in unterliegt den durch den Kontext definierten Grenzen, die über [SWS_CRYPT_50144] (GetMinimumChunkSize) und [SWS_CRYPT_50050] (GetMaximumChunkSize) abgefragt werden können.

Sämtliche Fehlerfälle folgen einer Rollback-Semantik ([SWS_CRYPT_50047]):

  • ara::crypto::CryptoErrc::kUninitializedContext: Der Kontext wurde nicht vorab durch Zuweisen eines Schlüssels initialisiert.
  • ara::crypto::CryptoErrc::kUnsupported: Single-Call-Verarbeitung wird nicht unterstützt oder die Transformation erfordert das Setzen bzw. Auslesen eines IV.
  • ara::crypto::CryptoErrc::kInsufficientCapacity: Der Ausgabepuffer out bietet nicht genügend Kapazität.
  • ara::crypto::CryptoErrc::kInvalidInputSize: Die Eingabegröße kann vom Kontext nicht verarbeitet werden.
  • ara::crypto::CryptoErrc::kUsageViolation: Die Schlüsselverwendung deckt die angeforderte Operation nicht ab (kAllowDataEncryption bzw. kAllowDataDecryption).
  • ara::crypto::CryptoErrc::kIncompatibleObject, kEmptyKeySlot, kInvalidArgument oder kBusyResource: Schlüssel ist inkompatibel, Schlüssel-Slot ist leer, Eingabedaten sind ungültig oder benötigte Ressourcen sind belegt.

Im Zusammenspiel mit anderen Schnittstellen erfordert der Aufruf einen vollständig konfigurierten Kontext; für authentifizierende Chiffren mit zusätzlicher Tag-Verarbeitung steht in AuthCipherCtx die alternative Schnittstelle [SWS_CRYPT_50078] bereit.

Dieser Nutzungshinweis wurde automatisch generiert auf Basis der AUTOSAR-Spezifikation.

Implementer's Guide folgt (Komplexität I2)

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

Parameter (in)

ParameterBeschreibung
inan input data buffer containing the ciphertext or plaintext
transformDirectionthe transformation direction, i.e., encryption or decryption

Parameter (out)

ParameterBeschreibung
outan output data buffer that the encrypted or decrypted data is written to

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >a result containing the size of the output data or an error. The output data may be smaller than the size of the output buffer out.

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUninitializedContextrollback_semantics if the context was not initialized by deploying a key
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if single-call en-/decryption is not supported, or if the context requires setting or returning an IV in the passed transformDirection
ara::crypto::CryptoErrc::kInsufficientCapacityrollback_semantics if the output buffer is too small
ara::crypto::CryptoErrc::kInvalidInputSizerollback_semantics if the size of the input buffer cannot be processed
ara::crypto::CryptoErrc::kInvalidArgumentrollback_semantics if the provided input data contains invalid data
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 kAllowData Encryption for encryption, or kAllowDataDecryption for decryption, respectively
ara::crypto::CryptoErrc::kIncompatibleObjectrollback_semantics if type of the key is incompatible to the transformation or the transformation direction

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50047
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50047@rel:R25-11#c5198454
Content hash
c5198454
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50047
Status: valid/unmigrated Version: rel:R25-11#c5198454 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_50047@rel:R25-11#c5198454
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 ProcessSingleCallWithInputIv [SWS_CRYPT_50048] Upstream: RS_CRYPTO_02302

virtual ara::core::Result< std::size_t > ProcessSingleCallWithInputIv (ReadOnlyMemRegion in, ReadWriteMemRegion out, CryptoTransform transformDirection, ReadOnlyMemRegion iv) noexcept=0;

Perform en-/decryption in a single-call, providing an IV to be used during en-/decryption.

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

Die Methode ProcessSingleCallWithInputIv an ara::crypto::cryp::SymmetricCipherCtx führt eine symmetrische Ver- oder Entschlüsselung von Daten in einem einzigen synchronen Aufruf (Single-Call) durch [SWS_CRYPT_50048]. Dabei wird der zur Transformation genutzte Initialisierungsvektor explizit über den Eingabepuffer iv übergeben.

Verwendung und Zusammenspiel

Über transformDirection wird gesteuert, ob die Daten aus in ver- oder entschlüsselt werden. Das Ergebnis wird in den Puffer out geschrieben. Das zurückgegebene ara::core::Result<std::size_t> enthält die tatsächliche Anzahl der geschriebenen Bytes, welche geringer als die Gesamtkapazität von out ausfallen kann [SWS_CRYPT_50048].

Für die Dimensionierung der Puffer stehen Hilfsfunktionen bereit:

  • Die erforderliche Puffergröße für out kann vorab über GetRequiredOutputBufferSize mit dem Parameter isFinal = true berechnet werden [SWS_CRYPT_50140].
  • Die zulässige Länge für iv lässt sich für die gewählte Transformationsrichtung über GetMinimumInputIvSize [SWS_CRYPT_50141] sowie GetMaximumInputIvSize [SWS_CRYPT_50142] ermitteln.
  • Wird zusätzlich die Erzeugung oder Verifikation eines Authentifizierungs-Tags benötigt, ist stattdessen ara::crypto::cryp::AuthCipherCtx::ProcessSingleCallWithInputIv zu verwenden [SWS_CRYPT_50079].

Fehlerbehandlung und Nebenläufigkeit

Die Operation ist als thread-safe und exception safe definiert [SWS_CRYPT_50048]. Sämtliche Fehler besitzen Rollback-Semantik:

  • CryptoErrc::kUninitializedContext oder CryptoErrc::kEmptyKeySlot: Dem Kontext wurde kein Schlüssel zugewiesen bzw. der KeySlot ist leer [SWS_CRYPT_50048].
  • CryptoErrc::kUsageViolation: Der Schlüssel erlaubt die gewählte Richtung nicht (kAllowDataEncryption bzw. kAllowDataDecryption fehlt) [SWS_CRYPT_50048].
  • CryptoErrc::kIncompatibleObject: Der Schlüsseltyp ist mit der Transformation inkompatibel [SWS_CRYPT_50048].
  • CryptoErrc::kInsufficientCapacity: Der Ausgabepuffer out ist zu klein [SWS_CRYPT_50048].
  • CryptoErrc::kInvalidInputSize oder CryptoErrc::kInvalidArgument: Puffergröße oder Inhalt von in sind ungültig [SWS_CRYPT_50048].
  • CryptoErrc::kUnsupported: Single-Call-Verarbeitung oder Eingabe-IVs werden nicht unterstützt [SWS_CRYPT_50048].
  • CryptoErrc::kBusyResource: Eine benötigte Ressource ist belegt [SWS_CRYPT_50048].

Dieser Text wurde von einer KI erstellt und dient der Unterstützung bei der Nutzung des Spezifikationselements.

Implementer's Guide folgt (Komplexität I2)

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

Parameter (in)

ParameterBeschreibung
inan input data buffer containing the ciphertext or plaintext
transformDirectionthe transformation direction, i.e., encryption or decryption
ivan input data buffer containing the initialization vector (IV) to be used by the context

Parameter (out)

ParameterBeschreibung
outan output data buffer that the encrypted or decrypted data is written to

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >a result containing the size of the output data or an error. The output data may be smaller than the size of the output buffer out.

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUninitializedContextrollback_semantics if the context was not initialized by deploying a key
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if single-call en-/decryption is not supported, or if single-call processing with an input IV is not supported
ara::crypto::CryptoErrc::kInsufficientCapacityrollback_semantics if the data output buffer is too small
ara::crypto::CryptoErrc::kInvalidInputSizerollback_semantics if the size of the input buffer cannot be processed
ara::crypto::CryptoErrc::kInvalidArgumentrollback_semantics if the provided input data contains invalid data
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 kAllowData Encryption for encryption, or kAllowDataDecryption for decryption, respectively
ara::crypto::CryptoErrc::kIncompatibleObjectrollback_semantics if type of the key is incompatible to the transformation or the transformation direction

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50048
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50048@rel:R25-11#06bfc8c8
Content hash
06bfc8c8
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50048
Status: valid/unmigrated Version: rel:R25-11#06bfc8c8 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_50048@rel:R25-11#06bfc8c8
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 Seek [SWS_CRYPT_23613] Upstream: RS_CRYPTO_02304

virtual ara::core::Result< void > Seek (std::int64_t offset, bool from Begin) noexcept=0;

Set the position of the next byte within the data stream.

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

Die Methode Seek der Schnittstelle ara::crypto::cryp::SymmetricCipherCtx setzt die Position des nächsten zu verarbeitenden Bytes innerhalb eines Datenstroms [SWS_CRYPT_23613]. Der Aufruf dürfte mangels asynchroner Rückgabetypen wie Futures synchron erfolgen. Frage Q-fccf732722263f60 (offen)

Verwendung

Die Positionierung wird über zwei Parameter gesteuert [SWS_CRYPT_23613]:

  • offset: Byte-Versatz im Datenstrom, bezogen entweder auf den Streamanfang oder die aktuelle Position [SWS_CRYPT_23613].
  • fromBegin: Referenzpunkt der Positionierung; true adressiert den Versatz vom Beginn des Streams, false relativ zur aktuellen Position [SWS_CRYPT_23613].

Die Funktion ist als noexcept deklariert und gibt ein ara::core::Result<void> zurück, welches den erfolgreichen Vollzug signalisiert oder ein aufgetretenes Fehlerobjekt enthält [SWS_CRYPT_23613].

Nebenläufigkeit und Einschränkungen

Laut Spezifikation ist Seek als ausnahmesicher (exception safe) und threadsicher (thread-safe) eingestuft [SWS_CRYPT_23613]. Voraussetzung für die Ausführung ist, dass die Datenverarbeitung zuvor durch Aufruf von Start() initiiert wurde [SWS_CRYPT_23613].

Fehlerbehandlung

Alle Fehlerfälle unterliegen einer definierten Rollback-Semantik (rollback_semantics), sodass der interne Zustand bei Fehlern konsistent bleibt [SWS_CRYPT_23613]:

  • ara::crypto::CryptoErrc::kUnsupported: Die Seek-Operation wird vom aktuellen kryptografischen Kontext nicht unterstützt [SWS_CRYPT_23613].
  • ara::crypto::CryptoErrc::kProcessingNotStarted: Die Datenverarbeitung wurde nicht vorab über Start() gestartet [SWS_CRYPT_23613].
  • ara::crypto::CryptoErrc::kOutOfBounds: Der resultierende Versatz ist zu klein oder zu groß für den Datenstrom [SWS_CRYPT_23613].
  • ara::crypto::CryptoErrc::kInvalidArgument: Der resultierende Offset ist nicht an einer Blockgrenze ausgerichtet, obwohl der Kontext eine Blockausrichtung verlangt [SWS_CRYPT_23613].

Dieser Text wurde von einer KI erstellt.

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

Parameter (in)

ParameterBeschreibung
offsetthe offset value in bytes, relative to begin or current position in the data stream
fromBeginthe starting point for positioning within the stream: from begin (if true) or from current position (if false)

Rückgabewert

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

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the seek operation is not supported by this context
ara::crypto::CryptoErrc::kProcessingNotStartedrollback_semantics if the data processing was not started by a call of the Start() method
ara::crypto::CryptoErrc::kOutOfBoundsrollback_semantics if the resulting offset value is too large or too small
ara::crypto::CryptoErrc::kInvalidArgumentrollback_semantics if the resulting offset is not block aligned but the context requires block alignment

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

Record
AUTOSAR/AP/record/SWS_CRYPT_23613
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_23613@rel:R25-11#6a415382
Content hash
6a415382
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_23613
Status: valid/unmigrated Version: rel:R25-11#383a800f 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_23613@rel:R25-11#383a800f
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#6a4153822026-09-30
  • R19-11rel:R19-11#9c63158a2026-10-14
  • R20-11rel:R20-11#36a48d2b2026-10-14
  • R21-11rel:R21-11#f3b5692c2026-10-14
  • R22-11rel:R22-11#a11f983a2026-10-14
  • R23-11rel:R23-11#10ff1b922026-10-14
  • R24-11rel:R24-11#23dbf8e42026-10-14
  • R25-11rel:R25-11#383a800f2026-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_50043] 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 en-/decryption is started.

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

Die rein virtuelle Methode SetKey konfiguriert die Instanz von ara::crypto::cryp::SymmetricCipherCtx so, dass sie für künftige kryptografische Operationen den Schlüssel aus dem übergebenen KeySlot verwendet [SWS_CRYPT_50043].

Verwendung und Aufrufkontext

Der Aufruf erfolgt synchron und nimmt als Parameter keySlot einen KeySlot::Sptr entgegen, der einen SymmetricKey enthält [SWS_CRYPT_50043]. Der Rückgabewert ist ein ara::core::Result<void>, das den Erfolg signalisiert oder im Fehlerfall einen Fehlercode transportiert [SWS_CRYPT_50043]. Die Konfiguration bewirkt, dass der im Slot abgelegte Schlüssel erst zu dem Zeitpunkt herangezogen wird, zu dem die eigentliche Ver- oder Entschlüsselung gestartet wird [SWS_CRYPT_50043].

Fehlerbehandlung

Im Fehlerfall wird keine Ausnahme geworfen (die Methode ist als noexcept und exception safe spezifiziert), sondern ein Fehlercode mit Rollback-Semantik zurückgegeben [SWS_CRYPT_50043]:

  • ara::crypto::CryptoErrc::kIncompatibleObject: Der übergebene KeySlot ist mit dem Chiffrierkontext inkompatibel [SWS_CRYPT_50043].
  • ara::crypto::CryptoErrc::kUnsupported: Die Kontextimplementierung unterstützt ausschließlich das Setzen eines direkten Schlüssels (wie SymmetricKey) und keine Zuweisung über einen KeySlot [SWS_CRYPT_50043].

Nebenläufigkeit und Zusammenspiel

Die Methode ist als thread-safe ausgewiesen [SWS_CRYPT_50043]. Interpretation: Das tatsächliche Auslesen des Schlüsselmaterials dürfte erst beim Starten der Ver- oder Entschlüsselung erfolgen, sodass der Slot bis zum Transformationsstart konsistent bleiben muss. Frage Q-799125800ab0f93c (offen) Das Konzept, Kontexte über KeySlot::Sptr anstelle direkter Schlüsselobjekte zu konfigurieren, entspricht dem einheitlichen Muster verwandter Krypto-Kontexte, darunter KeyDerivationFunctionCtx [SWS_CRYPT_50010], MessageAuthnCodeCtx [SWS_CRYPT_50026], SymmetricKeyWrapperCtx [SWS_CRYPT_50034] sowie VerifierPublicCtx [SWS_CRYPT_50018].

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

Implementer's Guide folgt (Komplexität I2)

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

Parameter (in)

ParameterBeschreibung
keySlota keyslot containing a SymmetricKey.

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 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_50043
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50043@rel:R25-11#e7e7c9ab
Content hash
e7e7c9ab
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50043
Status: valid/unmigrated Version: rel:R25-11#e7e7c9ab 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_50043@rel:R25-11#e7e7c9ab
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_50138] 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 symmetric key.

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

Verwendung

Die Methode SetKey dient dazu, eine Instanz von ara::crypto::cryp::SymmetricCipherCtx für die Verwendung eines übergebenen symmetrischen Schlüssels zu konfigurieren [SWS_CRYPT_50138]. Als Eingabeparameter nimmt die Funktion den zu nutzenden Schlüssel als Smart Pointer key vom Typ SymmetricKey::Sptr entgegen. Der Aufruf erfolgt synchron und gibt ein ara::core::Result<void> zurück, welches bei erfolgreicher Zuweisung leer ist oder im Fehlerfall einen Fehlercode bereitstellt [SWS_CRYPT_50138]. Die Deklaration ist über den Header ara/crypto/cryp/symmetric_cipher_ctx.h eingebunden.

Fehlerbehandlung

Die Fehlerbehandlung garantiert Rollback-Semantik, sodass der Kontext bei einem Scheitern der Zuweisung in seinem vorherigen Zustand verbleibt [SWS_CRYPT_50138]. Es sind zwei spezifische Fehler definiert:

  • ara::crypto::CryptoErrc::kUnsupported: Tritt auf, wenn der Kontext ausschließlich die Zuweisung eines Schlüssels über einen KeySlot unterstützt [SWS_CRYPT_50138].
  • ara::crypto::CryptoErrc::kIncompatibleObject: Wird zurückgegeben, wenn das übergebene Schlüsselobjekt nicht mit dem Kontext kompatibel ist [SWS_CRYPT_50138].

Nebenläufigkeit und Zusammenspiel

Die virtuelle Funktion ist als noexcept definiert, gilt als Exception-safe und ist spezifikationsgemäß thread-safe ausgeführt [SWS_CRYPT_50138]. Ähnliche Schnittstellen zur Zuweisung von SymmetricKey::Sptr finden sich in verwandten Krypto-Kontexten wie AuthCipherCtx [SWS_CRYPT_23911] sowie SymmetricKeyWrapperCtx [SWS_CRYPT_24018]. Das Zusammenspiel mit Schlüsselbehältern verdeutlichen zudem Kontextklassen, die alternativ KeySlot::Sptr akzeptieren [SWS_CRYPT_50034].

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

Implementer's Guide folgt (Komplexität I2)

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

Parameter (in)

ParameterBeschreibung
keythe SymmetricKey to be used.

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

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50138
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50138@rel:R25-11#aa2f4130
Content hash
aa2f4130
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50138
Status: valid/unmigrated Version: rel:R25-11#aa2f4130 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_50138@rel:R25-11#aa2f4130
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_23625] Upstream: RS_CRYPTO_02302

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

Initialize the context for a new encryption or decryption and set the IV used by the context.

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

Verwendung

Die Methode Start initialisiert den Kontext ara::crypto::cryp::SymmetricCipherCtx für eine neue synchrone Ver- oder Entschlüsselungsoperation und setzt den zugehörigen Initialisierungsvektor (IV) bzw. Nonce-Wert [SWS_CRYPT_23625]. Über den Parameter transformDirection wird die Transformationsrichtung festgelegt, während iv den Initialisierungsvektor als ReadOnlyMemRegion bereitstellt [SWS_CRYPT_23625]. Die zulässige Größe des Puffers kann vorab über die Methoden GetMinimumInputIvSize() und GetMaximumInputIvSize() abgefragt werden [SWS_CRYPT_23625]. Der Aufruf gibt ein ara::core::Result<void> zurück, ist als noexcept deklariert und gilt als ausnahmesicher (exception safe) [SWS_CRYPT_23625].

Fehlerbehandlung

Im Fehlerfall wird ein Fehlercode mit Rollback-Semantik zurückgegeben [SWS_CRYPT_23625]:

  • ara::crypto::CryptoErrc::kUninitializedContext: Der Kontext wurde zuvor nicht durch Zuweisung eines Schlüssels initialisiert [SWS_CRYPT_23625].
  • ara::crypto::CryptoErrc::kInvalidInputSize: Die übergebene IV-Größe wird nicht unterstützt [SWS_CRYPT_23625].
  • ara::crypto::CryptoErrc::kUnsupported: Das Setzen eines IV in der angegebenen Transformationsrichtung oder die Stromverarbeitung wird vom Kontext nicht unterstützt [SWS_CRYPT_23625].
  • ara::crypto::CryptoErrc::kEmptyKeySlot: Ein konfigurierter KeySlot ist gegenwärtig leer [SWS_CRYPT_23625].
  • ara::crypto::CryptoErrc::kUsageViolation: Die zulässige Schlüsselverwendung umfasst nicht kAllowDataEncryption für die Verschlüsselung bzw. kAllowDataDecryption für die Entschlüsselung [SWS_CRYPT_23625].
  • ara::crypto::CryptoErrc::kIncompatibleObject: Der Schlüsseltyp ist inkompatibel zur Transformation oder Transformationsrichtung [SWS_CRYPT_23625].
  • ara::crypto::CryptoErrc::kBusyResource: Eine benötigte Ressource ist belegt [SWS_CRYPT_23625].

Nebenläufigkeit und Zusammenspiel

Die Funktion ist als threadsicher (thread-safe) spezifiziert [SWS_CRYPT_23625]. Im Ablauf einer Stream-Verarbeitung fungiert Start als initiierender Schritt, dem beispielsweise Positionierungsoperationen via Seek [SWS_CRYPT_23613] oder die Finalisierung über FinishEncrypt [SWS_CRYPT_23618] nachfolgen.

Dieser Text wurde durch ein KI-System auf Basis der AUTOSAR-Spezifikation R25-11 generiert.

Implementer's Guide folgt (Komplexität I1)

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

Parameter (in)

ParameterBeschreibung
transformDirectionthe transformation direction, i.e., encryption or decryption
ivan Initialization Vector (IV) or "nonce" value. The allowed size of the IV can be queried using the functions GetMinimumInputIvSize() and GetMaximumInputIvSize().

Rückgabewert

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

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUninitializedContextrollback_semantics if 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 setting an IV in the given transform Direction or if stream processing is not supported by the context
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 kAllowData Encryption for encryption, or kAllowDataDecryption for decryption, respectively
ara::crypto::CryptoErrc::kIncompatibleObjectrollback_semantics if type of the key is incompatible to the transformation or the transformation direction

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

Record
AUTOSAR/AP/record/SWS_CRYPT_23625
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_23625@rel:R25-11#a536a6ca
Content hash
a536a6ca
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_23625
Status: valid/unmigrated Version: rel:R25-11#608e87fd 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_23625@rel:R25-11#608e87fd
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#a536a6ca2026-09-30
  • R20-11rel:R20-11#6996665a2026-10-14
  • R21-11rel:R21-11#c2b5cf1e2026-10-14
  • R22-11rel:R22-11#25b4dab42026-10-14
  • R23-11rel:R23-11#e01d837d2026-10-14
  • R24-11rel:R24-11#26e85c6c2026-10-14
  • R25-11rel:R25-11#608e87fd2026-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_50044] Upstream: RS_CRYPTO_02302

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

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-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 09affb4844e4 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die Methode Start initialisiert eine Instanz von ara::crypto::cryp::SymmetricCipherCtx synchron für eine anstehende Ver- oder Entschlüsselung ([SWS_CRYPT_50044]). Sie kommt zum Einsatz, wenn für die über den Parameter transformDirection vorgegebene Transformationsrichtung kein Initialisierungsvektor (IV) nötig ist oder der Kontext diesen selbst erzeugt ([SWS_CRYPT_50044]). Verlangt der Kontext in der gewählten Richtung hingegen einen expliziten IV, muss die Überladung mit IV-Parameter aufgerufen werden ([SWS_CRYPT_23625]).

Fehlerbehandlung und Nebenläufigkeit

Die Operation ist als Thread-sicher und Exception-sicher spezifiziert ([SWS_CRYPT_50044]). Bei einem Fehler gibt die Funktion ein ara::core::Result<void> mit Rollback-Semantik zurück ([SWS_CRYPT_50044]). Relevante Fehlerursachen sind:

  • ara::crypto::CryptoErrc::kUninitializedContext: Dem Kontext wurde vorab kein Schlüssel zugewiesen ([SWS_CRYPT_50044]).
  • ara::crypto::CryptoErrc::kUnsupported: Die Stream-Verarbeitung wird nicht unterstützt oder die Operation erfordert in dieser Richtung zwingend das Setzen eines IV ([SWS_CRYPT_50044]).
  • ara::crypto::CryptoErrc::kUsageViolation: Der Schlüssel besitzt nicht die erforderliche Berechtigung kAllowDataEncryption bzw. kAllowDataDecryption ([SWS_CRYPT_50044]).
  • ara::crypto::CryptoErrc::kIncompatibleObject oder ara::crypto::CryptoErrc::kEmptyKeySlot: Der Schlüsseltyp passt nicht zur Transformation bzw. der konfigurierte Schlüsselplatz ist leer ([SWS_CRYPT_50044]).
  • ara::crypto::CryptoErrc::kBusyResource: Eine erforderliche Ressource ist derzeit belegt ([SWS_CRYPT_50044]).

Zusammenspiel

Nach erfolgreicher Initialisierung kann der Datenstrom bei Bedarf über Seek positioniert werden ([SWS_CRYPT_23613]). Wurde der IV durch den Kontext selbst festgelegt, wird dieser am Ende der Verschlüsselung über FinishEncrypt an den Aufrufer übergeben ([SWS_CRYPT_23618]).

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

Implementer's Guide folgt (Komplexität I1)

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

Parameter (in)

ParameterBeschreibung
transformDirectionthe transformation direction, i.e., encryption or decryption

Rückgabewert

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

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUninitializedContextrollback_semantics if the context was not initialized by deploying a key
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the context requires setting an IV in the given transformDirection or if stream processing is not supported by the context
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 kAllowData Encryption for encryption, or kAllowDataDecryption for decryption, respectively
ara::crypto::CryptoErrc::kIncompatibleObjectrollback_semantics if type of the key is incompatible to the transformation or the transformation direction

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50044
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50044@rel:R25-11#842f896d
Content hash
842f896d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50044
Status: valid/unmigrated Version: rel:R25-11#842f896d 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_50044@rel:R25-11#842f896d
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 Update [SWS_CRYPT_50139] Upstream: RS_CRYPTO_02302

virtual ara::core::Result< std::size_t > Update (ReadOnlyMemRegion in, ReadWriteMemRegion out) noexcept=0;

Encrypt or decrypt a data buffer.

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

Die synchrone Methode Update() dient in ara::crypto::cryp::SymmetricCipherCtx dem schrittweisen Ver- oder Entschlüsseln von Teildatenströmen [SWS_CRYPT_50139]. Sie verarbeitet einen Eingabepuffer in (Typ ReadOnlyMemRegion) mit Klar- oder Geheimtext und schreibt die transformierten Daten in den Ausgabepuffer out (Typ ReadWriteMemRegion) [SWS_CRYPT_50139]. Der Rückgabewert ara::core::Result<std::size_t> liefert im Erfolgsfall die exakte Anzahl der tatsächlich in out geschriebenen Bytes, welche geringer als die Gesamtkapazität des Zielpuffers sein kann [SWS_CRYPT_50139].

Für den Aufruf gelten festgelegte Vorbedingungen und Pufferregeln:

  • Ablaufreihenfolge: Die Datenverarbeitung muss zwingend zuvor mit der Methode Start() initiiert worden sein; andernfalls schlägt der Aufruf mit ara::crypto::CryptoErrc::kProcessingNotStarted fehl [SWS_CRYPT_50139].
  • Pufferdimensionierung: Die maximal pro Einzelaufruf zulässige Eingabegröße kann über GetMaximumChunkSize() ermittelt werden [SWS_CRYPT_50050]; ungültige Puffergrößen quittiert die Methode mit ara::crypto::CryptoErrc::kInvalidInputSize [SWS_CRYPT_50139]. Der erforderliche Ausgabepuffer lässt sich über GetRequiredOutputBufferSize() abfragen [SWS_CRYPT_50139]; ein zu kleiner Puffer führt zu ara::crypto::CryptoErrc::kInsufficientCapacity [SWS_CRYPT_50139].
  • Streaming-Unterstützung: Unterstützt der konkrete Kontext keine kontinuierliche Stream-Verarbeitung, schlägt der Aufruf mit ara::crypto::CryptoErrc::kUnsupported fehl [SWS_CRYPT_50139].

Die Schnittstelle ist als thread-safe sowie exception safe spezifiziert und garantiert bei jedem Fehler eine Rollback-Semantik [SWS_CRYPT_50139]. Im Verarbeitungszyklus wirkt sie mit GetMaximumChunkSize() sowie abschließenden Operationen wie Finish() oder FinishEncrypt() zusammen [SWS_CRYPT_50050].

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

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

Parameter (in)

ParameterBeschreibung
inan input data buffer containing a part of the ciphertext or plaintext

Parameter (out)

ParameterBeschreibung
outan output data buffer that the encrypted or decrypted data will be written into. The required size of this buffer can be queried using GetRequiredOutputBufferSize()

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >a result containing the size of the output data or an error. The output data may be smaller than the size of the output buffer out.

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kProcessingNotStartedrollback_semantics if data processing was not started by a call of the Start() method
ara::crypto::CryptoErrc::kInsufficientCapacityrollback_semantics if the output buffer is too small
ara::crypto::CryptoErrc::kInvalidInputSizerollback_semantics if the size of the input buffer is invalid
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if stream processing is not supported by the context

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50139
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50139@rel:R25-11#50161066
Content hash
50161066
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50139
Status: valid/unmigrated Version: rel:R25-11#50161066 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_50139@rel:R25-11#50161066
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_50137] Upstream: RS_CRYPTO_02201

using Sptr = std::shared_ptr<SymmetricCipherCtx>;

Smart pointer of the interface.

Header-Datei#include "ara/crypto/cryp/symmetric_cipher_ctx.h"
Scopeclass ara::crypto::cryp::SymmetricCipherCtx
SymbolSptr

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50137
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50137@rel:R25-11#61315479
Content hash
61315479
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50137
Status: valid/unmigrated Version: rel:R25-11#61315479 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_50137@rel:R25-11#61315479
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