DEENESPTFRRUARHIKOZHNL

classe 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

Guide utilisateurGÉNÉRÉ PAR IA

Calcule des valeurs de hachage cryptographiques sur des flux de données continus ou des blocs de mémoire individuels.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : bf2cec48587e Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Calcule des valeurs de hachage cryptographiques sur des flux de données continus ou des blocs de mémoire individuels.

La classe ara::crypto::cryp::HashFunctionCtx fournit l’interface pour le calcul de valeurs de hachage cryptographiques sur des blocs de mémoire et des flux de données ([SWS_CRYPT_50060]). Les opérations de streaming nécessitent le respect du cycle de traitement composé de l’initialisation au moyen de Start(), du transfert pas à pas des données via Update(), de la finalisation par Finish() et de la lecture consécutive via GetDigest() ([SWS_CRYPT_21116]). Toutes les méthodes sont spécifiées comme sûres vis-à-vis des threads, garantissent une sémantique de rollback et signalent les erreurs de séquence ou de tampon de manière déterministe via des objets de résultat.

Contexte

La classe ara::crypto::cryp::HashFunctionCtx définit, dans le module crypto de l’AUTOSAR Adaptive Platform, l’interface pour le calcul de valeurs de hachage et de sommes de contrôle cryptographiques. En tant que spécialisation de CryptoContext, elle fournit des méthodes pour des appels uniques sans état ainsi que pour des procédés de streaming avec état. La gestion du cycle de vie et de la propriété s’effectue typiquement via l’alias de type de pointeur intelligent Sptr ([SWS_CRYPT_21101]), qui est défini comme std::shared_ptr<HashFunctionCtx>.

Parmi les principaux partenaires d'interaction figurent :

  • Application appelante : pilote le cycle de vie du calcul et transmet les données d’entrée par blocs ou sous forme de message complet.
  • Zones de mémoire : les données d’entrée, les vecteurs d’initialisation (IV) ainsi que les tampons de sortie et d’état sont transportés via ReadOnlyMemRegion et ReadWriteMemRegion.
  • Objets de clé : CryptoObject::Sptr permet d’intégrer directement des clés cryptographiques comme source de données dans le calcul de hachage ([SWS_CRYPT_50057]).
  • Crypto Provider : interprétation : les instances de HashFunctionCtx devraient typiquement être créées via un Crypto Provider associé ; un échange d’états de contexte exportés présuppose impérativement le même Crypto Provider et le même ID d’algorithme ([SWS_CRYPT_50065]). Question Q-8365d4bee96bbf67 (ouverte)

Cycle de vie

Une instance de HashFunctionCtx traverse plusieurs états discrets pendant le traitement de streaming :

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

Diagramme d’états : transitions d’état du contexte de hachage lors de l’initialisation, du traitement et de la finalisation. Sources : [SWS_CRYPT_50152], [SWS_CRYPT_50153], [SWS_CRYPT_21113], [SWS_CRYPT_50058], [SWS_CRYPT_21115], [SWS_CRYPT_50064], [SWS_CRYPT_50065]

Après sa création, le contexte se trouve dans l’état non démarré. En appelant Start() sans IV ([SWS_CRYPT_50152]) ou Start(iv) avec un vecteur d’initialisation ([SWS_CRYPT_50153]), le contexte passe dans la phase de traitement active. Les calculs déjà en cours sont implicitement abandonnés par un nouvel appel de démarrage.

Dans l’état de traitement, les données d’entrée sont accumulées par des appels répétés de Update() avec des données brutes partielles ([SWS_CRYPT_21113]) ou des clés ([SWS_CRYPT_50057]). GetIntermediateDigest() permet de calculer un résultat intermédiaire sans clôturer le contexte ni interrompre le flux de données ([SWS_CRYPT_50059]). Une opération de streaming en cours peut être interrompue à tout moment au moyen de Cancel() ([SWS_CRYPT_50058]), ce qui ramène le contexte à l’état non démarré.

L’appel de Finish() fait passer le contexte à l’état « terminé » ([SWS_CRYPT_21115]). Ce n’est que dans cet état que la valeur de hachage résultante peut être extraite via GetDigest() ([SWS_CRYPT_21116]) ou vérifiée directement par rapport à une valeur attendue via Compare() ([SWS_CRYPT_50154]).

Pour interrompre et reprendre ultérieurement des calculs, la taille de tampon requise peut être interrogée au moyen de GetContextStateSize() ([SWS_CRYPT_50063]) et l’état interne peut être sauvegardé via ExportContextState() ([SWS_CRYPT_50064]). La reprise s’effectue via ImportContextState() ([SWS_CRYPT_50065]). Toutes les méthodes d’interface sont déclarées sûres vis-à-vis des exceptions (exception safe) et sûres vis-à-vis des threads (thread-safe).

Parcours d'utilisation

La classe prend en charge deux modes de traitement : le calcul direct en une seule étape ainsi que le traitement par streaming segmenté.

Le calcul en une seule étape s’effectue via CalculateHashDigest() ([SWS_CRYPT_50060]). Dans ce cadre, les données d’entrée, un IV optionnel ainsi que la zone de mémoire cible sont transmis et la valeur de hachage est calculée en une opération atomique.

Pour des volumes de données plus importants ou des flux de données continus, la voie du streaming est utilisée :

Traitement en continu d'une valeur de hachageApplicationHashFunctionCtxStart()Result<void>loopPour chaque bloc de donnéesUpdate(data)Result<void>Finish()Result<void>GetDigest(digest)Result<std::size_t>

Diagramme de séquence : déroulement typique du calcul par streaming via Start, Update, Finish et GetDigest. Sources : [SWS_CRYPT_50152], [SWS_CRYPT_21113], [SWS_CRYPT_21115], [SWS_CRYPT_21116]

  1. Vérification de capacité : requête de la taille de sortie via GetDigestSize() ([SWS_CRYPT_50061]) et de la taille maximale de bloc via GetMaximumChunkSize() ([SWS_CRYPT_50062]).
  2. Initialisation : préparation du contexte par l’appel de Start() ([SWS_CRYPT_50152]) ou de Start(iv) ([SWS_CRYPT_50153]).
  3. Transfert de données : transmission successive de blocs de données via Update(data) ([SWS_CRYPT_21113]) ou de clés via Update(key) ([SWS_CRYPT_50057]).
  4. Finalisation : fin de l’accumulation de la valeur de hachage par Finish() ([SWS_CRYPT_21115]).
  5. Évaluation du résultat : lecture de la valeur de hachage calculée au moyen de GetDigest() ([SWS_CRYPT_21116]) ou comparaison sur place avec une valeur de référence via Compare() ([SWS_CRYPT_50154]).

Scénarios d'erreur

Les méthodes de HashFunctionCtx signalent les erreurs via ara::core::Result et garantissent une sémantique de rollback en cas d’erreur. Les causes d’erreur typiques sont :

  • Violations d’ordre :\nSi Update() ([SWS_CRYPT_21113], [SWS_CRYPT_50057]) ou Cancel() ([SWS_CRYPT_50058]) est appelé sans appel préalable réussi de Start(), CryptoErrc::kProcessingNotStarted est renvoyé.\nSi Finish() ([SWS_CRYPT_21115]) ou GetIntermediateDigest() ([SWS_CRYPT_50059]) est appelé sans initialisation préalable, le contexte signale CryptoErrc::kInvalidUsageOrder.\nLa récupération de résultats via GetDigest() ([SWS_CRYPT_21116]) ou Compare() ([SWS_CRYPT_50154]) avant l’exécution de Finish() échoue avec CryptoErrc::kProcessingNotFinished.
  • Problèmes de tampon et de taille :\nSi le tampon de sortie ne suffit pas, CalculateHashDigest() ([SWS_CRYPT_50060]), GetDigest() ([SWS_CRYPT_21116]), GetIntermediateDigest() ([SWS_CRYPT_50059]) ainsi que ExportContextState() ([SWS_CRYPT_50064]) renvoient l’erreur CryptoErrc::kInsufficientCapacity.\nDes longueurs d’entrée ou d’IV non prises en charge entraînent CryptoErrc::kInvalidInputSize pour CalculateHashDigest(), Start(iv) ([SWS_CRYPT_50153]) et Update().
  • Incompatibilité et fonctionnalités non prises en charge :\nCryptoErrc::kUnsupported signale que les appels uniques ne sont pas pris en charge ([SWS_CRYPT_50060]), que la présence d’un IV ne correspond pas à la fonction de hachage ([SWS_CRYPT_50152], [SWS_CRYPT_50153]), que les résultats intermédiaires ne sont pas fournis ([SWS_CRYPT_50059]), que l’exportation/importation de contexte n’est pas prise en charge ([SWS_CRYPT_50063], [SWS_CRYPT_50064], [SWS_CRYPT_50065]) ou que le hachage de clés n’est pas autorisé ([SWS_CRYPT_50057]).
  • Validation d’objets et droits :\nLors de transmissions de clés via Update(key), une clé incompatible entraîne CryptoErrc::kIncompatibleObject et une absence d’autorisation pour kAllowHashCalculation entraîne CryptoErrc::kUsageViolation ([SWS_CRYPT_50057]).\nDes contenus de tampon invalides pour ImportContextState() génèrent CryptoErrc::kInvalidArgument ([SWS_CRYPT_50065]).
  • Goulots d’étranglement de ressources :\nSi une ressource cryptographique requise est occupée, Start() acquitte la tentative par CryptoErrc::kBusyResource ([SWS_CRYPT_50152], [SWS_CRYPT_50153]).

Ce guide est basé sur la spécification AUTOSAR Adaptive Platform R25-11.

Carte des membres

Diagramme de classes

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

Vue détaillée

Sélectionnez une entrée dans le plan.

Méthodes

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 fonction

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

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

Compare the size and content of the calculated 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 fonction

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 fonction

Write the calculated hash digest into the provided output buffer.

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

Get the output digest size.

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

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

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

Surcharges 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 fonction 2

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

Surcharges 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

Alias de type

Sptr alias de type

Smart pointer of the interface.

Documentation des méthodes

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

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

La méthode CalculateHashDigest effectue un calcul one-shot synchrone d'une valeur de hachage cryptographique et écrit le résultat dans le tampon de sortie fourni [SWS_CRYPT_50060]. Sont transmis comme paramètres le message d'entrée à traiter data, le tampon cible digest ainsi que, de manière optionnelle, un vecteur d'initialisation iv. En cas d'exécution réussie, la fonction renvoie via l'objet de résultat ara::core::Result<std::size_t> le nombre effectif d'octets de digest écrits [SWS_CRYPT_50060].

Gestion des erreurs

Si le calcul échoue, l'interface garantit une sémantique de rollback [SWS_CRYPT_50060]. Les codes d'erreur suivants peuvent être contenus dans le résultat :

  • ara::crypto::CryptoErrc::kInvalidInputSize : La taille des données transmises ou du vecteur d'initialisation n'est pas prise en charge [SWS_CRYPT_50060].
  • ara::crypto::CryptoErrc::kUnsupported : Le calcul en appel unique (single-call) n'est pas pris en charge par le contexte, ou la transmission du vecteur d'initialisation ne correspond pas à la configuration du contexte (IV requis mais manquant, ou IV transmis alors qu'il n'est pas pris en charge) [SWS_CRYPT_50060].
  • ara::crypto::CryptoErrc::kInsufficientCapacity : La capacité du tampon de sortie digest n'est pas suffisante pour le digest calculé [SWS_CRYPT_50060].

Concurrence et interaction

La fonction est déclarée sûre vis-à-vis des exceptions (exception safe) et sûre vis-à-vis des threads (thread-safe) [SWS_CRYPT_50060]. Afin d'éviter en amont des erreurs relatives à des longueurs d'entrée non autorisées, la taille de tampon maximale admissible pour un appel unique du contexte peut être déterminée via GetMaximumChunkSize [SWS_CRYPT_50062].

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

Guide de l'implémenteur à venir (complexité 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#3c0ca70b
Content hash
3c0ca70b
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

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

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

Utilisation

La méthode Cancel() sert à l'interruption ciblée d'une opération de streaming en cours, commencée auparavant via la méthode Start() et non encore terminée de manière régulière [SWS_CRYPT_50058]. L'appel s'effectue de manière synchrone et sans paramètre sur une instance de ara::crypto::cryp::HashFunctionCtx issue du fichier d'en-tête ara/crypto/cryp/hash_function_ctx.h [SWS_CRYPT_50058]. En cas d'exécution réussie, l'opération renvoie un ara::core::Result<void> vide [SWS_CRYPT_50058].

Gestion des erreurs

Si un problème survient pendant l'exécution, le ara::core::Result renvoyé contient une valeur d'erreur correspondante [SWS_CRYPT_50058]. Si le traitement n'a pas été initié par Start() avant l'appel de Cancel(), l'interruption échoue et retourne le code d'erreur spécifique ara::crypto::CryptoErrc::kProcessingNotStarted avec une sémantique de rollback [SWS_CRYPT_50058].

Concurrence et restrictions

L'interface est définie comme thread-safe et exception safe et déclarée avec noexcept [SWS_CRYPT_50058]. Comme condition préalable fonctionnelle essentielle, le traitement des données doit se trouver dans un état actif généré par un appel antérieur de Start() [SWS_CRYPT_50058].

Interaction

Le modèle mis en œuvre par Cancel() est standardisé à travers divers contextes de streaming de la pile cryptographique. Les contextes VerifierPublicCtx [SWS_CRYPT_50023], MessageAuthnCodeCtx [SWS_CRYPT_50027], SignerPrivateCtx [SWS_CRYPT_50041], SymmetricCipherCtx [SWS_CRYPT_50046], DecryptorPrivateCtx [SWS_CRYPT_50069], AuthCipherCtx [SWS_CRYPT_50077] et EncryptorPublicCtx [SWS_CRYPT_50089] présentent également une sémantique et une signalisation d'erreur exactement identiques.

Cette note d'utilisation est basée sur la spécification d'AUTOSAR Adaptive R25-11.

Guide de l'implémenteur à venir (complexité 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#8aec5eeb
Content hash
8aec5eeb
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

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

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

La méthode Compare de la classe ara::crypto::cryp::HashFunctionCtx ([SWS_CRYPT_50154]) compare de manière synchrone la taille et le contenu d'un digest de hachage préalablement calculé avec une valeur de référence attendue. La valeur de consigne est transmise via le paramètre expected de type ReadOnlyMemRegion. En cas de succès, la fonction renvoie un ara::core::Result<bool> qui contient true si et seulement si la séquence d'octets attendue est identique au digest calculé.

La précondition pour l'appel est que le calcul du digest ait été préalablement terminé avec la méthode Finish(). Si ce n'est pas le cas, l'appel échoue et renvoie l'erreur ara::crypto::CryptoErrc::kProcessingNotFinished avec une sémantique de rollback ([SWS_CRYPT_50154]). Interprétation : Une longueur différente ou un contenu non identique de expected n'entraîne probablement pas de code d'erreur, mais un false normal dans l'objet de résultat. Question Q-fdd0ecaec22f6985 (ouverte)

En ce qui concerne la concurrence, la méthode est spécifiée comme thread-safe et exception safe ([SWS_CRYPT_50154]). En raison de sa déclaration en tant que noexcept, elle ne lève aucune exception C++.

Le même schéma de vérification est employé dans des contextes cryptographiques similaires : pour les Message Authentication Codes, ara::crypto::cryp::MessageAuthnCodeCtx::Compare ([SWS_CRYPT_50133]) compare la taille et le contenu de la valeur MAC calculée, tandis que CompareSubspan ([SWS_CRYPT_50028]) vérifie les bits de poids fort. Les deux méthodes exigent de la même façon un calcul préalablement terminé.

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

Header-Datei#include "ara/crypto/cryp/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#bb15b8bf
Content hash
bb15b8bf
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

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

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

La méthode [SWS_CRYPT_50064] de la classe ara::crypto::cryp::HashFunctionCtx écrit de manière synchrone l'état actuel d'un contexte de hachage dans le tampon de sortie transmis contextState de type ReadWriteMem Region. Cela permet aux applications d'interrompre une opération de hachage cryptographique en cours et de la reprendre à un moment ultérieur. En cas d'exécution réussie, l'appel renvoie un ara::core::Result<void> vide.

Interaction et dimensionnement du tampon

Afin d'éviter des erreurs de mémoire, la taille de tampon impérativement requise en octets devrait être demandée au préalable via la fonction [SWS_CRYPT_50063]. L'état exporté peut être réinjecté ultérieurement dans un contexte de hachage au moyen de [SWS_CRYPT_50065]. La condition préalable à cela est que le contexte cible présente la même AlgorithmId et soit fourni par le même Crypto Provider que le contexte d'origine. Lors de l'importation, un état de calcul éventuellement existant est entièrement écrasé.

Gestion des erreurs

Si l'opération échoue, une erreur est renvoyée dans le ara::core::Result. Les codes d'erreur suivants issus de ara::crypto::CryptoErrc sont spécifiés :

  • ara::crypto::CryptoErrc::kUnsupported : Le contexte concret ne prend pas en charge l'exportation ou l'importation d'états.
  • ara::crypto::CryptoErrc::kInsufficientCapacity : La capacité du tampon contextState transmis ne suffit pas pour accueillir l'état.

Pour les deux cas d'erreur, une sémantique de rollback est définie, de sorte que l'état de l'objet reste inchangé.

Concurrence et sécurité d'exécution

L'interface est déclarée comme const et noexcept. Conformément à la spécification, l'appel est à la fois thread-safe et exception-safe.

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

Guide de l'implémenteur à venir (complexité 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#3ebbc16c
Content hash
3ebbc16c
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

fonction Finish [SWS_CRYPT_21115] Upstream: RS_CRYPTO_02302, RS_CRYPTO_02205

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

Finish the digest calculation.

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

Utilisation

La méthode synchrone Finish() finalise le calcul d'une valeur de hachage dans ara::crypto::cryp::HashFunctionCtx [SWS_CRYPT_21115]. L'appel sans paramètre renvoie un ara::core::Result<void> qui signale l'achèvement réussi ou encapsule une erreur [SWS_CRYPT_21115]. L'interface est déclarée comme noexcept et spécifiée comme sûre vis-à-vis des exceptions (exception safe) et thread-safe (thread-safe) [SWS_CRYPT_21115].

Gestion des erreurs et concurrence

Si le calcul de hachage n'a pas été démarré avec succès avant l'appel, la méthode échoue avec l'erreur ara::crypto::CryptoErrc::kInvalidUsageOrder [SWS_CRYPT_21115]. Une sémantique de rollback est définie pour ce cas d'erreur, de sorte que les appelants doivent impérativement veiller à ce qu'un contexte soit correctement démarré avant la finalisation [SWS_CRYPT_21115].

Interaction

Après un appel réussi de Finish(), le condensé de hachage calculé est typiquement transféré dans un tampon fourni au moyen de GetDigest() [SWS_CRYPT_21116], [SWS_CRYPT_50059]. GetIntermediateDigest() sert de démarcation : cette fonction fournit la même valeur de hachage que la séquence de Finish() et GetDigest(), mais autorise ensuite la transmission d'autres données [SWS_CRYPT_50059]. Interprétation : après l'appel de Finish(), le calcul devrait être définitivement terminé et le contexte ne devrait plus accepter de données supplémentaires. Question Q-f4daf29364f45fd5 (ouverte) Les tailles de tampon admissibles pour les étapes de traitement dans le contexte peuvent être interrogées via GetMaximumChunkSize() [SWS_CRYPT_50062].

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

Header-Datei#include "ara/crypto/cryp/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#96e2f2b5
Content hash
96e2f2b5
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

fonction 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#a8913fd8
Content hash
a8913fd8
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

fonction 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#3ae5fe73
Content hash
3ae5fe73
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

fonction 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#c7656ce3
Content hash
c7656ce3
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

fonction 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#84b50d28
Content hash
84b50d28
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

fonction 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#17ae4f4b
Content hash
17ae4f4b
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

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

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

La méthode ImportContextState de la classe ara::crypto::cryp::HashFunctionCtx (définie dans ara/crypto/cryp/hash_function_ctx.h) sert à restaurer l'état interne d'un contexte de hachage à partir d'un tampon transmis et à poursuivre ainsi une opération de hachage interrompue précédemment [SWS_CRYPT_50065]. Un état de calcul éventuellement en cours du contexte actuel est alors entièrement remplacé par l'état importé [SWS_CRYPT_50065].

Appel et préconditions

L'appel synchrone s'effectue via la signature ImportContextState(ReadOnlyMem Region contextState) noexcept et renvoie un ara::core::Result<void> [SWS_CRYPT_50065]. Les conditions préalables obligatoires suivantes s'appliquent au paramètre contextState :

  • Le tampon de données doit avoir été préalablement exporté depuis une instance de HashFunctionCtx à l'aide de la méthode ExportContextState() [SWS_CRYPT_50065].
  • Le contexte source doit avoir possédé le même AlgorithmId et avoir été fourni par le même Crypto Provider que le contexte cible [SWS_CRYPT_50065].

Gestion des erreurs et concurrence

En cas d'erreur, un code d'erreur avec une sémantique de rollback est renvoyé, de sorte que l'état existant du contexte reste inchangé en cas d'échec [SWS_CRYPT_50065] :

  • ara::crypto::CryptoErrc::kInvalidArgument : l'argument contextState contient des données non valides [SWS_CRYPT_50065].
  • ara::crypto::CryptoErrc::kUnsupported : le contexte spécifique ne prend pas en charge l'exportation et l'importation d'états de contexte [SWS_CRYPT_50065].

L'opération est spécifiée comme thread-safe et exception safe [SWS_CRYPT_50065].

Cette note d'utilisation est basée sur la spécification AUTOSAR Adaptive Release R25-11.

Guide de l'implémenteur à venir (complexité 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#cd431cb5
Content hash
cd431cb5
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

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

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

La méthode Start() de l'interface ara::crypto::cryp::HashFunctionCtx initialise le contexte pour le calcul pas à pas d'une valeur de hachage sans vecteur d'initialisation (IV) [SWS_CRYPT_50152]. Un nouvel appel interrompt un éventuel calcul de hachage déjà en cours et réinitialise le contexte pour un nouveau calcul [SWS_CRYPT_50152].

La fonction est synchrone, ne prend aucun paramètre et renvoie un ara::core::Result<void> [SWS_CRYPT_50152]. Si une erreur survient lors de l'initialisation, une sémantique de rollback s'applique avec les codes d'erreur spécifiques suivants [SWS_CRYPT_50152] :

  • ara::crypto::CryptoErrc::kUnsupported : la fonction de hachage utilisée attend obligatoirement un vecteur d'initialisation [SWS_CRYPT_50152].
  • ara::crypto::CryptoErrc::kBusyResource : une ressource interne obligatoirement requise pour l'opération est occupée [SWS_CRYPT_50152].

Concernant la concurrence, la méthode est spécifiée comme thread-safe ainsi qu'exception safe et déclarée comme noexcept [SWS_CRYPT_50152]. Après une initialisation réussie, des portions de message peuvent être injectées séquentiellement via la méthode Update() du contexte [SWS_CRYPT_21113]. Étant donné que l'appel interrompt les calculs en cours, la fonction devrait également servir en pratique de mécanisme de réinitialisation avant un redémarrage. Question Q-9c369489a6c6e8cb (ouverte)

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

Guide de l'implémenteur à venir (complexité 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#6c18fd9a
Content hash
6c18fd9a
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

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

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

Utilisation

La fonction Start de l'interface ara::crypto::cryp::HashFunctionCtx initialise le contexte pour le calcul d'un condensé de hachage à l'aide d'un vecteur d'initialisation (IV) [SWS_CRYPT_50153]. Le vecteur d'initialisation iv est transmis en paramètre via une ReadOnlyMemRegion [SWS_CRYPT_50153]. L'appel synchrone renvoie un ara::core::Result<void> qui, en cas de succès, ne contient aucune valeur de retour [SWS_CRYPT_50153]. Un appel interrompt en outre un éventuel calcul de hachage déjà en cours sur ce contexte [SWS_CRYPT_50153].

Gestion des erreurs

Si une erreur survient lors de l'initialisation, un code d'erreur correspondant est renvoyé, une sémantique de rollback étant garantie pour tous les cas d'erreur [SWS_CRYPT_50153] :

  • ara::crypto::CryptoErrc::kInvalidInputSize : la taille du vecteur d'initialisation fourni n'est pas prise en charge [SWS_CRYPT_50153].
  • ara::crypto::CryptoErrc::kUnsupported : la fonction de hachage sous-jacente n'utilise pas de vecteur d'initialisation [SWS_CRYPT_50153].
  • ara::crypto::CryptoErrc::kBusyResource : une ressource nécessaire à l'initialisation est occupée [SWS_CRYPT_50153].

Concurrence et interaction

L'interface est déclarée comme noexcept et spécifiée comme sûre vis-à-vis des threads (thread-safe) et sûre vis-à-vis des exceptions (exception safe) [SWS_CRYPT_50153]. Dans le déroulement type, l'appel constitue la précondition pour le traitement pas à pas ultérieur du message d'entrée via la méthode Update [SWS_CRYPT_21113].

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

Guide de l'implémenteur à venir (complexité 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#d02b9910
Content hash
d02b9910
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

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

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

La méthode synchrone Update sert dans [SWS_CRYPT_21113] à la mise à jour incrémentielle d'un contexte de calcul de hachage en cours (ara::crypto::cryp::HashFunctionCtx). Une partie du message d'entrée à traiter est transmise via le paramètre data (ReadOnlyMemRegion). La fonction renvoie un ara::core::Result<void> qui est vide en cas de succès ou encapsule un code d'erreur correspondant.

Concernant le comportement en cas d'erreur, la méthode offre une sémantique de rollback pour deux états d'erreur spécifiques :

  • ara::crypto::CryptoErrc::kProcessingNotStarted : le calcul n'a pas été initié au préalable par un appel de la méthode Start() [SWS_CRYPT_21113].
  • ara::crypto::CryptoErrc::kInvalidInputSize : la taille des données transmises n'est pas prise en charge par le contexte [SWS_CRYPT_21113].

Des conditions claires d'ordre et de taille s'appliquent au contexte d'appel : l'opération de hachage doit avoir été initialisée avant la transmission des données [SWS_CRYPT_21113]. Pour éviter kInvalidInputSize, la taille maximale de bloc autorisée pour un appel unique à Update peut être déterminée au préalable via GetMaximumChunkSize [SWS_CRYPT_50062]. Conformément à la spécification, la fonction est déclarée comme sûre vis-à-vis des exceptions (exception safe) et sûre pour les threads (thread-safe) [SWS_CRYPT_21113].

Dans l'interaction avec d'autres interfaces, il existe au sein de HashFunctionCtx une surcharge pour la transmission d'objets de clé via Update(CryptoObject::Sptr) [SWS_CRYPT_50057]. Après la fourniture de tous les blocs de données, la finalisation de la somme de contrôle devrait vraisemblablement s'effectuer via Finish() [SWS_CRYPT_50062]. Question Q-dcac20f353ca55f4 (ouverte)

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

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#5c69c83c
Content hash
5c69c83c
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

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

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

Dans [SWS_CRYPT_50057], la méthode synchrone Update sert à étendre progressivement le contexte d'un calcul de valeur de hachage dans ara::crypto::cryp::HashFunctionCtx avec un nouveau segment de message sous la forme d'un objet de clé. Un pointeur intelligent vers l'objet de clé (CryptoObject::Sptr key) est transmis comme paramètre. Comme valeur de retour, l'appel fournit un ara::core::Result<void> qui est vide en cas de traitement réussi ou encapsule un code d'erreur correspondant en cas d'erreur [SWS_CRYPT_50057].

Comme condition d'ordonnancement, le calcul doit impérativement avoir été initié au préalable par l'appel de Start() ; sinon, l'erreur ProcessingNotStarted est signalée [SWS_CRYPT_50057]. D'autres cas d'erreur spécifiques comprennent (chacun avec sémantique de rollback) [SWS_CRYPT_50057] :

  • ara::crypto::CryptoErrc::kUnsupported, si le contexte de hachage ne prend généralement pas en charge le hachage de clés,
  • ara::crypto::CryptoErrc::kIncompatibleObject, si l'objet de clé transmis n'est pas compatible avec le contexte,
  • ara::crypto::CryptoErrc::kUsageViolation, dans la mesure où l'utilisation autorisée de la clé n'inclut pas kAllowHash Calculation,
  • ara::crypto::CryptoErrc::kInvalidInputSize, si la taille de données de la clé transmise n'est pas prise en charge.

La méthode est déclarée comme thread-safe ainsi qu'exception safe (noexcept) [SWS_CRYPT_50057]. En interaction avec d'autres interfaces du module, la taille maximale de tampon autorisée pour des appels individuels de Update peut être déterminée via GetMaximumChunkSize() [SWS_CRYPT_50062]. Pour les parties de message régulières sans objet de clé, la surcharge Update(ReadOnlyMemRegion data) existe en parallèle dans HashFunctionCtx [SWS_CRYPT_21113].

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

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#3b954706
Content hash
3b954706
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

Documentation des alias de type

alias de type 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#4227aa5f
Content hash
4227aa5f
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