DEENESPTFRRUARHIKOZHNL

klasse ara::crypto::cryp::HashFunctionCtx

[SWS_CRYPT_21100] Upstream: RS_CRYPTO_02205

class HashFunctionCtx :           public CryptoContext {...};

Hash function interface.

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

User GuideAI-GEGENEREERD

Berekent cryptografische hashwaarden over continue datastromen of afzonderlijke geheugenblokken.
DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: bf2cec48587e Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Berekent cryptografische hashwaarden over continue datastromen of afzonderlijke geheugenblokken.

De klasse ara::crypto::cryp::HashFunctionCtx biedt de interface voor het berekenen van cryptografische hashwaarden over geheugenblokken en datastromen ([SWS_CRYPT_50060]). Streaming-operaties vereisen de naleving van de verwerkingscyclus bestaande uit initialisatie middels Start(), stapsgewijze gegevensoverdracht via Update(), finalisatie door Finish() en aansluitend uitlezen via GetDigest() ([SWS_CRYPT_21116]). Alle methoden zijn thread-safe gespecificeerd, garanderen rollback-semantiek en melden sequentie- of bufferfouten deterministisch via resultaatobjecten.

Context

De klasse ara::crypto::cryp::HashFunctionCtx definieert in de module crypto van het AUTOSAR Adaptive Platform de interface voor de berekening van cryptografische hashwaarden en controlesommen. Als specialisatie van CryptoContext stelt zij methoden beschikbaar voor toestandloze afzonderlijke aanroepen en voor toestandsafhankelijke streaming-procedures. Het levenscyclus- en eigendomsbeheer vindt typisch plaats via de smart-pointer-typealias Sptr ([SWS_CRYPT_21101]), die gedefinieerd is als std::shared_ptr<HashFunctionCtx>.

Tot de belangrijkste interactiepartners behoren:

  • Aanroepende applicatie: Bestuurt de levenscyclus van de berekening en draagt invoergegevens bloksgewijs of als volledig bericht over.
  • Geheugengebieden: Invoergegevens, initialisatievectoren (IV) evenals uitvoer- en toestandsbuffers worden via ReadOnlyMemRegion en ReadWriteMemRegion getransporteerd.
  • Sleutelobjecten: Via CryptoObject::Sptr kunnen cryptografische sleutels direct als gegevensbron in de hashberekening worden opgenomen ([SWS_CRYPT_50057]).
  • Crypto Provider: Interpretatie: instanties van HashFunctionCtx worden typisch via een bijbehorende Crypto Provider aangemaakt; een uitwisseling van geëxporteerde contexttoestanden vereist dwingend dezelfde Crypto Provider en dezelfde algoritme-ID ([SWS_CRYPT_50065]). Vraag Q-8365d4bee96bbf67 (open)

Levenscyclus

Een instantie van HashFunctionCtx doorloopt tijdens de streaming-verwerking meerdere discrete toestanden:

hash_states Bereit Bereit InVerarbeitung InVerarbeitung Bereit->InVerarbeitung Start() / Start(iv) Bereit->InVerarbeitung ImportContextState() InVerarbeitung->Bereit Cancel() / Start() InVerarbeitung->InVerarbeitung Update() / GetIntermediateDigest() Abgeschlossen Abgeschlossen InVerarbeitung->Abgeschlossen Finish() Unterbrochen Unterbrochen InVerarbeitung->Unterbrochen ExportContextState() Abgeschlossen->Bereit Start()

Toestandsdiagram: Toestandsovergangen van de hash-context bij initialisatie, verwerking en afronding. Bronnen: [SWS_CRYPT_50152], [SWS_CRYPT_50153], [SWS_CRYPT_21113], [SWS_CRYPT_50058], [SWS_CRYPT_21115], [SWS_CRYPT_50064], [SWS_CRYPT_50065]

Na het aanmaken bevindt de context zich in de niet-gestarte toestand. Door aanroep van Start() zonder IV ([SWS_CRYPT_50152]) of Start(iv) met initialisatievector ([SWS_CRYPT_50153]) gaat de context over naar de actieve verwerkingsfase. Reeds lopende berekeningen worden door een hernieuwde start-aanroep impliciet verworpen.

In de verwerkingstoestand worden invoergegevens geaccumuleerd via herhaalde aanroepen van Update() met ruwe deelgegevens ([SWS_CRYPT_21113]) of sleutels ([SWS_CRYPT_50057]). Via GetIntermediateDigest() kan een tussenresultaat worden berekend zonder de context af te sluiten of de datastroom te onderbreken ([SWS_CRYPT_50059]). Een lopend streaming-proces kan te allen tijde middels Cancel() worden afgebroken ([SWS_CRYPT_50058]), waardoor de context terugkeert naar de niet-gestarte toestand.

De aanroep van Finish() brengt de context over naar de toestand “afgesloten” ([SWS_CRYPT_21115]). Pas in deze toestand kan de resulterende hashwaarde via GetDigest() ([SWS_CRYPT_21116]) worden geëxtraheerd of via Compare() ([SWS_CRYPT_50154]) direct tegen een verwachte waarde worden gecontroleerd.

Voor de onderbreking en latere voortzetting van berekeningen kan de benodigde buffergrootte middels GetContextStateSize() ([SWS_CRYPT_50063]) worden opgevraagd en de interne toestand via ExportContextState() ([SWS_CRYPT_50064]) worden opgeslagen. Het hervatten vindt plaats via ImportContextState() ([SWS_CRYPT_50065]). Alle interfacemethoden zijn uitzonderingsveilig (exception safe) en thread-safe (thread-safe) gedeclareerd.

Gebruikspad

De klasse ondersteunt twee verwerkingsmodi: de directe enkelstapsberekening en de gesegmenteerde streaming-verwerking.

De enkelstapsberekening vindt plaats via CalculateHashDigest() ([SWS_CRYPT_50060]). Hierbij worden invoergegevens, een optionele IV en het doelgeheugengebied doorgegeven en wordt de hashwaarde in een atomaire operatie berekend.

Voor grotere hoeveelheden gegevens of continue datastromen wordt het streaming-pad gebruikt:

Streamingverwerking van een hashwaardeAnwendungHashFunctionCtxStart()Result<void>loopVoor elk datablokUpdate(data)Result<void>Finish()Result<void>GetDigest(digest)Result<std::size_t>

Sequentiediagram: Typisch verloop van de streaming-berekening via Start, Update, Finish en GetDigest. Bronnen: [SWS_CRYPT_50152], [SWS_CRYPT_21113], [SWS_CRYPT_21115], [SWS_CRYPT_21116]

  1. Capaciteitscontrole: Opvragen van de uitvoergrootte via GetDigestSize() ([SWS_CRYPT_50061]) en van de maximale blokgrootte via GetMaximumChunkSize() ([SWS_CRYPT_50062]).
  2. Initialisatie: Voorbereiding van de context door aanroep van Start() ([SWS_CRYPT_50152]) of Start(iv) ([SWS_CRYPT_50153]).
  3. Gegevensoverdracht: Opeenvolgende overdracht van datablokken via Update(data) ([SWS_CRYPT_21113]) of sleutels via Update(key) ([SWS_CRYPT_50057]).
  4. Finalisatie: Beëindigen van de hashwaarde-accumulatie door Finish() ([SWS_CRYPT_21115]).
  5. Resultaatevaluatie: Uitlezen van de berekende hashwaarde middels GetDigest() ([SWS_CRYPT_21116]) of in-place-vergelijking met een referentiewaarde via Compare() ([SWS_CRYPT_50154]).

Foutscenario's

Methoden van HashFunctionCtx signaleren fouten via ara::core::Result en garanderen bij fouten rollback-semantiek. Typische foutoorzaken zijn:

  • Volgordeverstoringen:\nAls Update() ([SWS_CRYPT_21113], [SWS_CRYPT_50057]) of Cancel() ([SWS_CRYPT_50058]) zonder voorafgaande succesvolle Start()-aanroep wordt aangeroepen, wordt CryptoErrc::kProcessingNotStarted geretourneerd.\nAls Finish() ([SWS_CRYPT_21115]) of GetIntermediateDigest() ([SWS_CRYPT_50059]) zonder voorafgaande initialisatie wordt aangeroepen, meldt de context CryptoErrc::kInvalidUsageOrder.\nHet opvragen van resultaten via GetDigest() ([SWS_CRYPT_21116]) of Compare() ([SWS_CRYPT_50154]) vóór de uitvoering van Finish() mislukt met CryptoErrc::kProcessingNotFinished.
  • Buffer- en grootteproblemen:\nWanneer de uitvoerbuffer niet volstaat, leveren CalculateHashDigest() ([SWS_CRYPT_50060]), GetDigest() ([SWS_CRYPT_21116]), GetIntermediateDigest() ([SWS_CRYPT_50059]) en ExportContextState() ([SWS_CRYPT_50064]) de fout CryptoErrc::kInsufficientCapacity op.\nNiet-ondersteunde invoer- of IV-lengtes leiden bij CalculateHashDigest(), Start(iv) ([SWS_CRYPT_50153]) en Update() tot CryptoErrc::kInvalidInputSize.
  • Incompatibiliteit en ontbrekende functieondersteuning:\nCryptoErrc::kUnsupported signaleert dat afzonderlijke aanroepen niet worden ondersteund ([SWS_CRYPT_50060]), de aanwezigheid van een IV niet bij de hashfunctie past ([SWS_CRYPT_50152], [SWS_CRYPT_50153]), tussenresultaten niet beschikbaar worden gesteld ([SWS_CRYPT_50059]), context-export/import niet wordt ondersteund ([SWS_CRYPT_50063], [SWS_CRYPT_50064], [SWS_CRYPT_50065]) of het hashen van sleutels niet is toegestaan ([SWS_CRYPT_50057]).
  • Objectvalidatie en rechten:\nBij sleuteloverdrachten via Update(key) leidt een incompatibele sleutel tot CryptoErrc::kIncompatibleObject en een ontbrekende vrijgave voor kAllowHashCalculation tot CryptoErrc::kUsageViolation ([SWS_CRYPT_50057]).\nOngeldige bufferinhoud bij ImportContextState() veroorzaakt CryptoErrc::kInvalidArgument ([SWS_CRYPT_50065]).
  • Resourceknelpunten:\nAls een vereiste crypto-resource bezet is, beantwoordt Start() de poging met CryptoErrc::kBusyResource ([SWS_CRYPT_50152], [SWS_CRYPT_50153]).

Deze handleiding is gebaseerd op de specificatie AUTOSAR Adaptive Platform R25-11.

Ledenkaart

Klassendiagram

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

G nara__crypto__cryp__HashFunctionCtx412 HashFunctionCtx + CalculateHashDigest() + Cancel() + Compare() + ExportContextState() + Finish() + GetContextStateSize() + GetDigest() + GetDigestSize() + GetIntermediateDigest() + GetMaximumChunkSize() + ImportContextState() + Start() + Update() nara__crypto__cryp__CryptoContext85 CryptoContext nara__crypto__cryp__HashFunctionCtx412->nara__crypto__cryp__CryptoContext85

Detailweergave

Kies een item in de inhoudsopgave.

Methoden

Calculate the hash digest and write the the calculated digest into the provided output buffer.

virtual ara::core::Result< std::size_t > CalculateHashDigest (ReadOnly MemRegion data, ReadWriteMemRegion digest, ara::core::Optional< Read OnlyMemRegion > iv) const noexcept=0;
Cancel functie

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

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

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

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

Write the current state of this hash context into the provided output buffer contextState. This function can be used to suspend an ongoing hash operation and resume it at a later point in time.

virtual ara::core::Result< void > ExportContextState (ReadWriteMem Region contextState) const noexcept=0;
Finish functie

Finish the digest calculation.

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

Get the buffer size required to store the state of this context using ExportContextState()

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

Write the calculated hash digest into the provided output buffer.

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

Get the output digest size.

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

Calculate the hash digest with the data provided to the hash context and write the calculated hash digest into the provided output buffer. The hash digest is equal to the hash digest returned when calling Finish() and GetDigest(), however, after calling GetIntermediateDigest(), this context can still be updated with additional data.

virtual ara::core::Result< std::size_t > GetIntermediateDigest (Read WriteMemRegion digest) const noexcept=0;

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

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

Set the current state of this hash context to the state provided by contextState. This function can be used to resume a previously suspended hash operation. The contextState must have been exported from a HashFunctionCtx with the same AlgorithmId provided by the same Crypto Provider as the current context using the function ExportContextState(). The current state of this context (e.g., any ongoing hash calculation) will be replaced by the state provided to this function.

virtual ara::core::Result< void > ImportContextState (ReadOnlyMem Region contextState) noexcept=0;
Start functie 2

Initialize the context for processing of a hash digest without an IV. Will cancel any ongoing hash calculation.

Overloads Start 2
virtual ara::core::Result< void > Start () noexcept=0; SWS_CRYPT_50152
virtual ara::core::Result< void > Start (ReadOnlyMemRegion iv) noexcept=0; SWS_CRYPT_50153
Update functie 2

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

Overloads Update 2
virtual ara::core::Result< void > Update (ReadOnlyMemRegion data) noexcept=0; SWS_CRYPT_21113
virtual ara::core::Result< void > Update (CryptoObject::Sptr key) noexcept=0; SWS_CRYPT_50057

Type-aliassen

Sptr typealias

Smart pointer of the interface.

Documentatie van de methoden

functie CalculateHashDigest [SWS_CRYPT_50060] Upstream: RS_CRYPTO_02205

virtual ara::core::Result< std::size_t > CalculateHashDigest (ReadOnly MemRegion data, ReadWriteMemRegion digest, ara::core::Optional< Read OnlyMemRegion > iv) const noexcept=0;

Calculate the hash digest and write the the calculated digest into the provided output buffer.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: adb7aefb7feb Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De methode CalculateHashDigest voert een synchrone one-shot-berekening van een cryptografische hashwaarde uit en schrijft het resultaat in de bereitgestelde uitvoerbuffer [SWS_CRYPT_50060]. Als parameters worden het te verwerken invoerbericht data, de doelbuffer digest evenals optioneel een initialisatievector iv meegegeven. Bij succesvolle uitvoering levert de functie via het resultaatobject ara::core::Result<std::size_t> het werkelijke aantal geschreven digest-bytes terug [SWS_CRYPT_50060].

Foutafhandeling

Mislukt de berekening, dan garandeert de interface rollback-semantiek [SWS_CRYPT_50060]. De volgende foutcodes kunnen in het resultaat zijn opgenomen:

  • ara::crypto::CryptoErrc::kInvalidInputSize: De grootte van de meegegeven gegevens of van de initialisatievector wordt niet ondersteund [SWS_CRYPT_50060].
  • ara::crypto::CryptoErrc::kUnsupported: De single-call-berekening wordt niet ondersteund door de context, of de overdracht van de initialisatievector past niet bij de configuratie van de context (IV vereist, maar ontbreekt, of IV meegegeven hoewel niet ondersteund) [SWS_CRYPT_50060].
  • ara::crypto::CryptoErrc::kInsufficientCapacity: De capaciteit van de uitvoerbuffer digest volstaat niet voor de berekende digest [SWS_CRYPT_50060].

Gelijktijdigheid en wisselwerking

De functie is gedeclareerd als exceptieveilig (exception safe) en thread-veilig (thread-safe) [SWS_CRYPT_50060]. Om fouten betreffende ontoelaatbare invoerlengtes vooraf te voorkomen, kan de voor een enkele aanroep maximaal toelaatbare buffergrootte van de context via GetMaximumChunkSize worden bepaald [SWS_CRYPT_50062].

Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de AUTOSAR-specificatie R25-11.

Implementer's Guide volgt (complexiteit I1)

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

Parameter (in)

ParameterBeschreibung
datathe input message that should be processed
ivan optional initialization vector

Parameter (out)

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

Rückgabewert

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

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kInvalidInputSizerollback_semantics if the size of provided data or IV is not supported
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if single-call operation is not supported, or if the context requires setting an IV but no IV is provided, or if the context does not support setting an IV but an IV is provided
ara::crypto::CryptoErrc::kInsufficientCapacityrollback_semantics if the output buffer is too small

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

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

functie Cancel [SWS_CRYPT_50058] 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.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 5c8d759c011a Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Gebruik

De methode Cancel() dient voor het gericht afbreken van een lopende streamingoperatie die eerder via de methode Start() is gestart en nog niet regulier is voltooid [SWS_CRYPT_50058]. De aanroep geschiedt synchroon en parameterloos op een instantie van ara::crypto::cryp::HashFunctionCtx uit het headerbestand ara/crypto/cryp/hash_function_ctx.h [SWS_CRYPT_50058]. Bij een succesvolle uitvoering retourneert de operatie een lege ara::core::Result<void> [SWS_CRYPT_50058].

Foutafhandeling

Treedt er tijdens de uitvoering een probleem op, dan bevat de geretourneerde ara::core::Result een bijbehorende foutwaarde [SWS_CRYPT_50058]. Werd de verwerking vóór de aanroep van Cancel() niet geïnitieerd door Start(), dan mislukt het afbreken en retourneert deze de specifieke foutcode ara::crypto::CryptoErrc::kProcessingNotStarted met rollback-semantiek [SWS_CRYPT_50058].

Gelijktijdigheid en beperkingen

De interface is gedefinieerd als thread-safe en exception safe en gedeclareerd met noexcept [SWS_CRYPT_50058]. Als essentiële functionele randvoorwaarde geldt dat de gegevensverwerking zich in een actieve toestand moet bevinden die tot stand is gebracht door een voorafgaande Start()-aanroep [SWS_CRYPT_50058].

Samenspel

Het door Cancel() geïmplementeerde patroon is gestandaardiseerd over diverse streamingcontexten van de cryptostack heen. Een exact overeenkomende semantiek en foutsignalering vertonen ook de contexten VerifierPublicCtx [SWS_CRYPT_50023], MessageAuthnCodeCtx [SWS_CRYPT_50027], SignerPrivateCtx [SWS_CRYPT_50041], SymmetricCipherCtx [SWS_CRYPT_50046], DecryptorPrivateCtx [SWS_CRYPT_50069], AuthCipherCtx [SWS_CRYPT_50077] en EncryptorPublicCtx [SWS_CRYPT_50089].

Deze gebruiksinstructie is gebaseerd op de specificatie van AUTOSAR Adaptive R25-11.

Implementer's Guide volgt (complexiteit I1)

Header-Datei#include "ara/crypto/cryp/hash_function_ctx.h"
Scopeclass ara::crypto::cryp::HashFunctionCtx
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_50058
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50058@rel:R25-11#2d011f83
Content hash
2d011f83
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50058
Status: valid/unmigrated Version: rel:R25-11#69ced25c 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_50058@rel:R25-11#69ced25c
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

functie Compare [SWS_CRYPT_50154] Upstream: RS_CRYPTO_02309

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

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

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 1c3bf0837502 Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De methode Compare van de klasse ara::crypto::cryp::HashFunctionCtx ([SWS_CRYPT_50154]) vergelijkt grootte en inhoud van een vooraf berekende hash-digest synchroon met een verwachte referentiewaarde. De gewenste waarde wordt doorgegeven via de parameter expected van het type ReadOnlyMemRegion. Bij succes retourneert de functie een ara::core::Result<bool> die precies dan true bevat wanneer de verwachte bytereeks identiek is aan de berekende digest.

Voorwaarde voor de aanroep is dat de digest-berekening vooraf met de methode Finish() is afgesloten. Is dit niet het geval, dan mislukt de aanroep en levert deze de fout ara::crypto::CryptoErrc::kProcessingNotFinished op met rollback-semantiek ([SWS_CRYPT_50154]). Interpretatie: Een afwijkende lengte of een ongelijke inhoud van expected leidt vermoedelijk niet tot een foutcode, maar tot een reguliere false in het resultaatobject. Vraag Q-fdd0ecaec22f6985 (open)

Wat betreft gelijktijdigheid is de methode gespecificeerd als thread-safe en exception safe ([SWS_CRYPT_50154]). Ze werpt vanwege de declaratie als noexcept geen C++-exceptions op.

In verwante cryptocontexten wordt hetzelfde controlepatroon toegepast: Voor Message Authentication Codes vergelijkt ara::crypto::cryp::MessageAuthnCodeCtx::Compare ([SWS_CRYPT_50133]) grootte en inhoud van de berekende MAC-waarde, terwijl CompareSubspan ([SWS_CRYPT_50028]) de meest significante bits controleert. Beide methoden vereisen eveneens een vooraf beëindigde berekening.

Deze tekst is gegenereerd door een AI op basis van de specificatie AUTOSAR R25-11.

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

Parameter (in)

ParameterBeschreibung
expectedthe memory region containing an expected digest value

Rückgabewert

TypBeschreibung
ara::core::Result< bool >true if the expected byte sequence is identical to the calculated digest

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kProcessingNotFinishedrollback_semantics if the digest calculation was not finished by a call of the Finish() method

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

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

functie ExportContextState [SWS_CRYPT_50064] Upstream: RS_CRYPTO_02309

virtual ara::core::Result< void > ExportContextState (ReadWriteMem Region contextState) const noexcept=0;

Write the current state of this hash context into the provided output buffer contextState. This function can be used to suspend an ongoing hash operation and resume it at a later point in time.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 78b3b1c67b6a Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De methode [SWS_CRYPT_50064] van de klasse ara::crypto::cryp::HashFunctionCtx schrijft de actuele toestand van een hash-context synchroon naar de meegegeven uitvoerbuffer contextState van het type ReadWriteMem Region. Dit stelt applicaties in staat om een lopende cryptografische hash-bewerking te onderbreken en op een later tijdstip weer te hervatten. Bij een succesvolle uitvoering levert de aanroep een leeg ara::core::Result<void> op.

Interactie en bufferdimensionering

Om geheugenfouten te voorkomen, moet de dwingend benodigde buffergrootte in bytes vooraf worden opgevraagd via de functie [SWS_CRYPT_50063]. De geëxporteerde toestand kan later met behulp van [SWS_CRYPT_50065] weer in een hash-context worden ingelezen. Voorwaarde hiervoor is dat de doelcontext dezelfde AlgorithmId vertoont en door dezelfde Crypto Provider wordt bereitgesteld als de oorspronkelijke context. Bij het importeren wordt een eventueel bestaande rekentoestand volledig overschreven.

Foutafhandeling

Mislukt de bewerking, dan wordt een fout geretourneerd in het ara::core::Result. De volgende foutcodes uit ara::crypto::CryptoErrc zijn gespecificeerd:

  • ara::crypto::CryptoErrc::kUnsupported: De concrete context ondersteunt het exporteren of importeren van toestanden niet.
  • ara::crypto::CryptoErrc::kInsufficientCapacity: De capaciteit van de meegegeven buffer contextState is niet toereikend om de toestand op te nemen.

Voor beide foutgevallen is een rollback-semantiek gedefinieerd, zodat de toestand van het object ongewijzigd blijft.

Gelijktijdigheid en uitvoeringsveiligheid

De interface is gedeclareerd als const en noexcept. Conform de specificatie is de aanroep zowel thread-safe als exception-safe.

Deze gebruiksinstructie is automatisch gegenereerd op basis van de AUTOSAR-specificatie.

Implementer's Guide volgt (complexiteit I1)

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

Parameter (out)

ParameterBeschreibung
contextStatean output data buffer that the state of the context will be written into.

Rückgabewert

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

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if this context does not support im-/exporting the context state
ara::crypto::CryptoErrc::kInsufficientCapacityrollback_semantics if the output buffer is too small

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

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

functie Finish [SWS_CRYPT_21115] Upstream: RS_CRYPTO_02302, RS_CRYPTO_02205

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

Finish the digest calculation.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 3afea8abb39d Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Gebruik

De synchrone methode Finish() sluit de berekening van een hashwaarde in ara::crypto::cryp::HashFunctionCtx af [SWS_CRYPT_21115]. De parameterloze aanroep levert een ara::core::Result<void> op, die de succesvolle afronding signaleert of een fout inkapselt [SWS_CRYPT_21115]. De interface is gedeclareerd als noexcept en gespecificeerd als exceptieveilig (exception safe) en thread-safe (thread-safe) [SWS_CRYPT_21115].

Foutafhandeling en gelijktijdigheid

Werd de hashberekening voorafgaand aan de aanroep niet succesvol gestart, dan mislukt de methode met de fout ara::crypto::CryptoErrc::kInvalidUsageOrder [SWS_CRYPT_21115]. Voor dit foutgeval is een rollback-semantiek gedefinieerd, zodat aanroepers vóór de finalisatie strikt moeten letten op een correct gestarte context [SWS_CRYPT_21115].

Samenspel

Na een succesvolle aanroep van Finish() wordt de berekende hash-digest doorgaans met GetDigest() overgedragen naar een beschikbaar gestelde buffer [SWS_CRYPT_21116], [SWS_CRYPT_50059]. Ter afbakening dient GetIntermediateDigest(): deze functie levert dezelfde hashwaarde op als de opeenvolging van Finish() en GetDigest(), maar staat daarna de doorgifte van verdere gegevens toe [SWS_CRYPT_50059]. Interpretatie: Na de aanroep van Finish() is de berekening vermoedelijk definitief voltooid en accepteert de context geen aanvullende gegevens meer. Vraag Q-f4daf29364f45fd5 (open) Toegestane buffergroottes voor verwerkingsstappen in de context kunnen via GetMaximumChunkSize() worden opgevraagd [SWS_CRYPT_50062].

Deze gebruiksinstructie is automatisch gegenereerd op basis van de AUTOSAR-specificatie R25-11.

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

Rückgabewert

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

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kInvalidUsageOrderrollback_semantics the hash calculation has not been started successfully.

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

Record
AUTOSAR/AP/record/SWS_CRYPT_21115
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_21115@rel:R25-11#203f0db6
Content hash
203f0db6
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_21115
Status: valid/unmigrated Version: rel:R25-11#03ec3455 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_21115@rel:R25-11#03ec3455
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#5c49c1122026-09-30
  • R20-11rel:R20-11#23a4ded62026-10-14
  • R21-11rel:R21-11#33ec9dc92026-10-14
  • R22-11rel:R22-11#13315a192026-10-14
  • R23-11rel:R23-11#6b14e99d2026-10-14
  • R24-11rel:R24-11#de528ef72026-10-14
  • R25-11rel:R25-11#03ec34552026-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

functie GetContextStateSize [SWS_CRYPT_50063] Upstream: RS_CRYPTO_02309

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

Get the buffer size required to store the state of this context using ExportContextState()

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

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >A result containing required context state buffer size in bytes or an error

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if this context does not support im-/exporting the context state

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

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

functie GetDigest [SWS_CRYPT_21116] Upstream: RS_CRYPTO_02205

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

Write the calculated hash digest into the provided output buffer.

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

Parameter (out)

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

Rückgabewert

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

Fehler

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

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

Record
AUTOSAR/AP/record/SWS_CRYPT_21116
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_21116@rel:R25-11#04bf6fc1
Content hash
04bf6fc1
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_21116
Status: valid/unmigrated Version: rel:R25-11#5176bc54 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_21116@rel:R25-11#5176bc54
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#d36ab7962026-09-30
  • R20-11rel:R20-11#6044ba662026-10-14
  • R21-11rel:R21-11#c195cbba2026-10-14
  • R22-11rel:R22-11#32e02a4e2026-10-14
  • R23-11rel:R23-11#7888ecb32026-10-14
  • R24-11rel:R24-11#96e2c5772026-10-14
  • R25-11rel:R25-11#5176bc542026-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

functie GetDigestSize [SWS_CRYPT_50061] Upstream: RS_CRYPTO_02309

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

Get the output digest size.

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

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >A result containing the size of the output from this digest-function in bytes or an error

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_50061
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50061@rel:R25-11#00c3906e
Content hash
00c3906e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50061
Status: valid/unmigrated Version: rel:R25-11#739a55c8 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_50061@rel:R25-11#739a55c8
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

functie GetIntermediateDigest [SWS_CRYPT_50059] Upstream: RS_CRYPTO_02205

virtual ara::core::Result< std::size_t > GetIntermediateDigest (Read WriteMemRegion digest) const noexcept=0;

Calculate the hash digest with the data provided to the hash context and write the calculated hash digest into the provided output buffer. The hash digest is equal to the hash digest returned when calling Finish() and GetDigest(), however, after calling GetIntermediateDigest(), this context can still be updated with additional data.

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

Parameter (out)

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

Rückgabewert

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

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kInvalidUsageOrderrollback_semantics the hash calculation has not been started successfully.
ara::crypto::CryptoErrc::kInsufficientCapacityrollback_semantics if the output buffer is too small
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if this context does not support getting an intemediate digest

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

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

functie GetMaximumChunkSize [SWS_CRYPT_50062] 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(), or CalculateHashDigest() by this context.

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

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >A result containing the maximum buffer size in bytes or an error

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

functie ImportContextState [SWS_CRYPT_50065] Upstream: RS_CRYPTO_02309

virtual ara::core::Result< void > ImportContextState (ReadOnlyMem Region contextState) noexcept=0;

Set the current state of this hash context to the state provided by contextState. This function can be used to resume a previously suspended hash operation. The contextState must have been exported from a HashFunctionCtx with the same AlgorithmId provided by the same Crypto Provider as the current context using the function ExportContextState(). The current state of this context (e.g., any ongoing hash calculation) will be replaced by the state provided to this function.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 16a68c3d97e9 Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De methode ImportContextState van de klasse ara::crypto::cryp::HashFunctionCtx (gedefinieerd in ara/crypto/cryp/hash_function_ctx.h) dient ertoe de interne toestand van een hash-context te herstellen vanuit een meegegeven buffer en daarmee een eerder onderbroken hash-bewerking voort te zetten [SWS_CRYPT_50065]. Een eventueel actieve berekeningstoestand van de huidige context wordt daarbij volledig vervangen door de geïmporteerde toestand [SWS_CRYPT_50065].

Aanroep en randvoorwaarden

De synchrone aanroep vindt plaats via de signatuur ImportContextState(ReadOnlyMem Region contextState) noexcept en retourneert een ara::core::Result<void> [SWS_CRYPT_50065]. Voor de parameter contextState gelden de volgende dwingende vereisten:

  • De databuffer moet vooraf met de methode ExportContextState() zijn geëxporteerd uit een instantie van HashFunctionCtx [SWS_CRYPT_50065].
  • De broncontext moet dezelfde AlgorithmId hebben bezeten en door dezelfde Crypto Provider zijn geleverd als de doelcontext [SWS_CRYPT_50065].

Foutafhandeling en gelijktijdigheid

In het geval van een fout wordt een foutcode met rollback-semantiek geretourneerd, zodat de bestaande toestand van de context bij mislukking ongewijzigd blijft [SWS_CRYPT_50065]:

  • ara::crypto::CryptoErrc::kInvalidArgument: Het argument contextState bevat ongeldige gegevens [SWS_CRYPT_50065].
  • ara::crypto::CryptoErrc::kUnsupported: De specifieke context ondersteunt het exporteren en importeren van contexttoestanden niet [SWS_CRYPT_50065].

De bewerking is gespecificeerd als thread-safe en exception safe [SWS_CRYPT_50065].

Deze gebruiksinstructie is gebaseerd op de specificatie AUTOSAR Adaptive release R25-11.

Implementer's Guide volgt (complexiteit I1)

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

Parameter (in)

ParameterBeschreibung
contextStatea data buffer that contains a previously exported state of the context

Rückgabewert

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

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if this context does not support im-/exporting the context state
ara::crypto::CryptoErrc::kInvalidArgumentrollback_semantics if the contextState argument contains invalid data

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

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

functie Start [SWS_CRYPT_50152] Upstream: RS_CRYPTO_02302

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

Initialize the context for processing of a hash digest without an IV. Will cancel any ongoing hash calculation.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 6588b8251bb2 Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De methode Start() van de interface ara::crypto::cryp::HashFunctionCtx initialiseert de context voor de stapsgewijze berekening van een hashwaarde zonder initialisatievector (IV) [SWS_CRYPT_50152]. Een hernieuwde aanroep breekt een eventueel reeds lopende hashberekening af en stelt de context in voor een nieuwe berekening [SWS_CRYPT_50152].

De functie is synchroon, accepteert geen parameters en retourneert een ara::core::Result<void> [SWS_CRYPT_50152]. Treedt bij de initialisatie een fout op, dan is de rollback-semantiek van kracht met de volgende specifieke foutcodes [SWS_CRYPT_50152]:

  • ara::crypto::CryptoErrc::kUnsupported: De gebruikte hashfunctie verwacht dwingend een initialisatievector [SWS_CRYPT_50152].
  • ara::crypto::CryptoErrc::kBusyResource: Een voor de operatie dwingend vereiste interne bron is bezet [SWS_CRYPT_50152].

Wat betreft gelijktijdigheid is de methode gespecificeerd als thread-safe en exception safe en gedeclareerd als noexcept [SWS_CRYPT_50152]. Na succesvolle initialisatie kunnen berichtdelen sequentieel worden ingevoerd via de methode Update() van de context [SWS_CRYPT_21113]. Aangezien de aanroep lopende berekeningen afbreekt, dient de functie in de praktijk vermoedelijk ook als resetmechanisme vóór een herstart. Vraag Q-9c369489a6c6e8cb (open)

Deze gebruiksinstructie is geautomatiseerd gegenereerd aan de hand van de AUTOSAR-specificatie voor R25-11.

Implementer's Guide volgt (complexiteit I1)

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

Rückgabewert

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

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics the used hash function expects an IV
ara::crypto::CryptoErrc::kBusyResourcerollback_semantics a required resource is busy

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

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

functie Start [SWS_CRYPT_50153] Upstream: RS_CRYPTO_02302

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

Initialize the context for processing of a hash digest with an IV. Will cancel any ongoing hash calculation.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 3e6743c0173b Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Gebruik

De functie Start van de interface ara::crypto::cryp::HashFunctionCtx initialiseert de context voor de berekening van een hash-digest met behulp van een initialisatievector (IV) [SWS_CRYPT_50153]. Als parameter wordt de initialisatievector iv via een ReadOnlyMemRegion doorgegeven [SWS_CRYPT_50153]. De synchrone aanroep retourneert een ara::core::Result<void>, die bij succes geen retourwaarde bevat [SWS_CRYPT_50153]. Een aanroep breekt bovendien een eventueel al lopende hashberekening op deze context af [SWS_CRYPT_50153].

Foutafhandeling

Als er bij de initialisatie een fout optreedt, wordt een bijbehorende foutcode geretourneerd, waarbij voor alle foutgevallen een rollback-semantiek wordt gegarandeerd [SWS_CRYPT_50153]:

  • ara::crypto::CryptoErrc::kInvalidInputSize: De grootte van de verstrekte initialisatievector wordt niet ondersteund [SWS_CRYPT_50153].
  • ara::crypto::CryptoErrc::kUnsupported: De onderliggende hashfunctie gebruikt geen initialisatievector [SWS_CRYPT_50153].
  • ara::crypto::CryptoErrc::kBusyResource: Een voor de initialisatie benodigde bron is bezet [SWS_CRYPT_50153].

Gelijktijdigheid en wisselwerking

De interface is gedeclareerd als noexcept en gespecificeerd als thread-safe en exception-safe [SWS_CRYPT_50153]. In de typische flow vormt de aanroep de voorwaarde voor de daaropvolgende stapsgewijze verwerking van het invoerbericht via de methode Update [SWS_CRYPT_21113].

Deze gebruiksinstructie is geautomatiseerd opgesteld op basis van de AUTOSAR-specificatie R25-11.

Implementer's Guide volgt (complexiteit I1)

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

Parameter (in)

ParameterBeschreibung
ivthe used Initialization Vector (IV)

Rückgabewert

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

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kInvalidInputSizerollback_semantics the size of provided IV is not supported
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics the used hash function does not use an IV
ara::crypto::CryptoErrc::kBusyResourcerollback_semantics a required resource is busy

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

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

functie Update [SWS_CRYPT_21113] Upstream: RS_CRYPTO_02302

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

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

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: fe6681ce0628 Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De synchrone methode Update dient in [SWS_CRYPT_21113] voor het incrementeel bijwerken van een lopende hashberekeningscontext (ara::crypto::cryp::HashFunctionCtx). Via de parameter data (ReadOnlyMemRegion) wordt een deel van het te verwerken invoerbericht doorgegeven. De functie retourneert een ara::core::Result<void>, die bij succes leeg is of een overeenkomstige foutcode inkapselt.

Wat betreft het foutgedrag biedt de methode rollback-semantiek bij twee specifieke fouttoestanden:

  • ara::crypto::CryptoErrc::kProcessingNotStarted: de berekening is vooraf niet geïnitieerd door een aanroep van de methode Start() [SWS_CRYPT_21113].
  • ara::crypto::CryptoErrc::kInvalidInputSize: de grootte van de meegegeven gegevens wordt niet ondersteund door de context [SWS_CRYPT_21113].

Voor de aanroepcontext gelden duidelijke volgorde- en groottevoorwaarden: vóór de gegevensoverdracht moet de hashoperatie zijn geïnitialiseerd [SWS_CRYPT_21113]. Om kInvalidInputSize te vermijden, kan de maximaal toegestane blokgrootte voor een enkele Update-aanroep vooraf worden vastgesteld via GetMaximumChunkSize [SWS_CRYPT_50062]. Conform de specificatie is de functie gedeclareerd als uitzonderingsveilig (exception safe) en thread-veilig (thread-safe) [SWS_CRYPT_21113].

In samenspel met andere interfaces bestaat binnen HashFunctionCtx een overbelasting voor het doorgeven van sleutelobjecten via Update(CryptoObject::Sptr) [SWS_CRYPT_50057]. Na het toevoeren van alle datablokken vindt de finalisering van de controlesom vermoedelijk plaats via Finish() [SWS_CRYPT_50062]. Vraag Q-dcac20f353ca55f4 (open)

Deze gebruiksinstructie is automatisch gegenereerd op basis van de specificatie.

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

Parameter (in)

ParameterBeschreibung
dataa part of the input message that should be processed

Rückgabewert

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

Fehler

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

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

Record
AUTOSAR/AP/record/SWS_CRYPT_21113
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_21113@rel:R25-11#f0be4ff5
Content hash
f0be4ff5
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_21113
Status: valid/unmigrated Version: rel:R25-11#1061ad76 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_21113@rel:R25-11#1061ad76
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#a256303e2026-09-30
  • R20-11rel:R20-11#c42a6b602026-10-14
  • R21-11rel:R21-11#8395b3922026-10-14
  • R22-11rel:R22-11#c133132e2026-10-14
  • R23-11rel:R23-11#68132f692026-10-14
  • R24-11rel:R24-11#0809f9622026-10-14
  • R25-11rel:R25-11#1061ad762026-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

functie Update [SWS_CRYPT_50057] Upstream: RS_CRYPTO_02302

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

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

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 87fb2c080f4a Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De synchrone methode Update dient er in [SWS_CRYPT_50057] voor om de context van een hashwaarde-berekening in ara::crypto::cryp::HashFunctionCtx stapsgewijs uit te breiden met een nieuw berichtgedeelte in de vorm van een sleutelobject. Als parameter wordt een smart pointer naar het sleutelobject (CryptoObject::Sptr key) doorgegeven. De aanroep levert als retourwaarde een ara::core::Result<void> op, die bij succesvolle verwerking leeg is of bij een fout een overeenkomstige foutcode inkapselt [SWS_CRYPT_50057].

Als volgordevoorwaarde geldt dat de berekening vooraf dwingend moet zijn geïnitieerd door de aanroep van Start(); anders wordt de fout ProcessingNotStarted gemeld [SWS_CRYPT_50057]. Verdere specifieke foutgevallen omvatten (telkens met rollback-semantiek) [SWS_CRYPT_50057]:

  • ara::crypto::CryptoErrc::kUnsupported, wanneer de hash-context het hashen van sleutels over het algemeen niet ondersteunt,
  • ara::crypto::CryptoErrc::kIncompatibleObject, indien het doorgegeven sleutelobject niet compatibel is met de context,
  • ara::crypto::CryptoErrc::kUsageViolation, voor zover het toegestane gebruik van de sleutel niet kAllowHash Calculation omvat,
  • ara::crypto::CryptoErrc::kInvalidInputSize, wanneer de gegevensgrootte van de doorgegeven sleutel niet wordt ondersteund.

De methode is gedeclareerd als thread-safe en als exception safe (noexcept) [SWS_CRYPT_50057]. In wisselwerking met andere interfaces van de module kan de maximaal toegestane buffergrootte voor afzonderlijke Update-aanroepen via GetMaximumChunkSize() worden bepaald [SWS_CRYPT_50062]. Voor reguliere berichtdelen zonder sleutelobject bestaat in HashFunctionCtx parallel de overload Update(ReadOnlyMemRegion data) [SWS_CRYPT_21113].

Deze gebruiksinstructie is geautomatiseerd opgesteld op basis van de specificatie.

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

Parameter (in)

ParameterBeschreibung
keya part of the input message that should be processed

Rückgabewert

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

Fehler

FehlercodeBeschreibung
ProcessingNotStartedif the digest calculation was not initiated by a call of the Start() method
ara::crypto::CryptoErrc::kInvalidInputSizerollback_semantics if the size of provided data is not supported
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if this context does not support hashing of keys
ara::crypto::CryptoErrc::kIncompatibleObjectrollback_semantics if the provided key is incompatible with this context
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the key does not include kAllowHash Calculation

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

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

Documentatie van de typealiassen

typealias Sptr [SWS_CRYPT_21101] Upstream: RS_CRYPTO_02205

using Sptr = std::shared_ptr<HashFunctionCtx>;

Smart pointer of the interface.

Header-Datei#include "ara/crypto/cryp/hash_function_ctx.h"
Scopeclass ara::crypto::cryp::HashFunctionCtx
SymbolSptr

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

Record
AUTOSAR/AP/record/SWS_CRYPT_21101
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_21101@rel:R25-11#56aea35b
Content hash
56aea35b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_21101
Status: valid/unmigrated Version: rel:R25-11#6b0a2315 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_21101@rel:R25-11#6b0a2315
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#806f0f392026-09-30
  • R19-11rel:R19-11#d559cb4a2026-10-14
  • R20-11rel:R20-11#6ba26a492026-10-14
  • R21-11rel:R21-11#6ba26a492026-10-14
  • R22-11rel:R22-11#49c7b6f72026-10-14
  • R23-11rel:R23-11#cfd4adfd2026-10-14
  • R24-11rel:R24-11#cfd4adfd2026-10-14
  • R25-11rel:R25-11#6b0a23152026-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