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

Guia do utilizadorGERADO POR IA

Calcula valores de hash criptográficos sobre fluxos contínuos de dados ou blocos de memória individuais.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: bf2cec48587e Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Calcula valores de hash criptográficos sobre fluxos contínuos de dados ou blocos de memória individuais.

A classe ara::crypto::cryp::HashFunctionCtx fornece a interface para o cálculo de valores de hash criptográficos sobre blocos de memória e fluxos de dados ([SWS_CRYPT_50060]). Operações de streaming exigem a observância do ciclo de processamento composto por inicialização mediante Start(), passagem progressiva de dados via Update(), finalização por Finish() e subsequente leitura via GetDigest() ([SWS_CRYPT_21116]). Todos os métodos são especificados como thread-safe, garantem semântica de rollback e reportam erros de sequência ou de buffer de forma determinística por meio de objetos de resultado.

Contexto

A classe ara::crypto::cryp::HashFunctionCtx define, no módulo crypto da AUTOSAR Adaptive Platform, a interface para o cálculo de valores de hash criptográficos e somas de verificação. Como especialização de CryptoContext, ela disponibiliza métodos para chamadas individuais sem estado, bem como para procedimentos de streaming com estado. O gerenciamento de ciclo de vida e de posse ocorre tipicamente por meio do alias de tipo de ponteiro inteligente Sptr ([SWS_CRYPT_21101]), que é definido como std::shared_ptr<HashFunctionCtx>.

Entre os principais parceiros de interação estão:

  • Aplicação chamadora: controla o ciclo de vida do cálculo e passa dados de entrada em blocos ou como mensagem completa.
  • Áreas de memória: dados de entrada, vetores de inicialização (IV), bem como buffers de saída e de estado são transportados via ReadOnlyMemRegion e ReadWriteMemRegion.
  • Objetos de chave: por meio de CryptoObject::Sptr, chaves criptográficas podem ser diretamente incluídas no cálculo do hash como fonte de dados ([SWS_CRYPT_50057]).
  • Crypto Provider: interpretação: instâncias de HashFunctionCtx provavelmente devem ser criadas tipicamente por meio de um Crypto Provider associado; uma troca de estados de contexto exportados pressupõe obrigatoriamente o mesmo Crypto Provider e o mesmo ID de algoritmo ([SWS_CRYPT_50065]). Pergunta Q-8365d4bee96bbf67 (aberta)

Ciclo de vida

Uma instância de HashFunctionCtx passa por múltiplos estados discretos durante o processamento 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()

Diagrama de estados: transições de estado do contexto de hash na inicialização, processamento e conclusão. Fontes: [SWS_CRYPT_50152], [SWS_CRYPT_50153], [SWS_CRYPT_21113], [SWS_CRYPT_50058], [SWS_CRYPT_21115], [SWS_CRYPT_50064], [SWS_CRYPT_50065]

Após a criação, o contexto encontra-se no estado não iniciado. Ao chamar Start() sem IV ([SWS_CRYPT_50152]) ou Start(iv) com vetor de inicialização ([SWS_CRYPT_50153]), o contexto transita para a fase ativa de processamento. Cálculos já em andamento são descartados implicitamente por uma nova chamada de início.

No estado de processamento, dados de entrada são acumulados por meio de chamadas repetidas de Update() com dados parciais brutos ([SWS_CRYPT_21113]) ou chaves ([SWS_CRYPT_50057]). Por meio de GetIntermediateDigest(), um resultado intermediário pode ser calculado sem concluir o contexto ou interromper o fluxo de dados ([SWS_CRYPT_50059]). Uma operação de streaming em andamento pode ser cancelada a qualquer momento mediante Cancel() ([SWS_CRYPT_50058]), fazendo com que o contexto retorne ao estado não iniciado.

A chamada de Finish() transfere o contexto para o estado "concluído" ([SWS_CRYPT_21115]). Apenas neste estado o valor de hash resultante pode ser extraído via GetDigest() ([SWS_CRYPT_21116]) ou verificado diretamente contra um valor esperado via Compare() ([SWS_CRYPT_50154]).

Para interromper e posteriormente continuar cálculos, o tamanho de buffer necessário pode ser consultado por meio de GetContextStateSize() ([SWS_CRYPT_50063]) e o estado interno pode ser salvo via ExportContextState() ([SWS_CRYPT_50064]). A retomada ocorre via ImportContextState() ([SWS_CRYPT_50065]). Todos os métodos de interface são declarados como seguros contra exceções (exception safe) e thread-safe (thread-safe).

Caminho de utilização

A classe suporta dois modos de processamento: o cálculo direto em etapa única e o processamento segmentado em streaming.

O cálculo em etapa única ocorre via CalculateHashDigest() ([SWS_CRYPT_50060]). Aqui, dados de entrada, um IV opcional e a área de memória de destino são passados, e o valor de hash é calculado em uma operação atômica.

Para volumes de dados maiores ou fluxos de dados contínuos, utiliza-se o caminho de streaming:

Processamento em streaming de um valor de hashAplicaçãoHashFunctionCtxStart()Result<void>loopPara cada bloco de dadosUpdate(data)Result<void>Finish()Result<void>GetDigest(digest)Result<std::size_t>

Diagrama de sequência: fluxo típico do cálculo de streaming via Start, Update, Finish e GetDigest. Fontes: [SWS_CRYPT_50152], [SWS_CRYPT_21113], [SWS_CRYPT_21115], [SWS_CRYPT_21116]

  1. Verificação de capacidade: consulta do tamanho de saída via GetDigestSize() ([SWS_CRYPT_50061]) e do tamanho máximo de bloco via GetMaximumChunkSize() ([SWS_CRYPT_50062]).
  2. Inicialização: preparação do contexto por meio da chamada de Start() ([SWS_CRYPT_50152]) ou Start(iv) ([SWS_CRYPT_50153]).
  3. Passagem de dados: passagem sucessiva de blocos de dados via Update(data) ([SWS_CRYPT_21113]) ou de chaves via Update(key) ([SWS_CRYPT_50057]).
  4. Finalização: encerramento do acúmulo de valores de hash por Finish() ([SWS_CRYPT_21115]).
  5. Avaliação de resultados: leitura do valor de hash calculado por meio de GetDigest() ([SWS_CRYPT_21116]) ou comparação in-place com um valor de referência via Compare() ([SWS_CRYPT_50154]).

Cenários de erro

Métodos de HashFunctionCtx sinalizam erros via ara::core::Result e garantem semântica de rollback em caso de falhas. As causas de erro típicas são:

  • Violações de sequência: Se Update() ([SWS_CRYPT_21113], [SWS_CRYPT_50057]) ou Cancel() ([SWS_CRYPT_50058]) for chamado sem uma chamada bem-sucedida anterior de Start(), é retornado CryptoErrc::kProcessingNotStarted. Se Finish() ([SWS_CRYPT_21115]) ou GetIntermediateDigest() ([SWS_CRYPT_50059]) for chamado sem inicialização prévia, o contexto reporta CryptoErrc::kInvalidUsageOrder. A recuperação de resultados via GetDigest() ([SWS_CRYPT_21116]) ou Compare() ([SWS_CRYPT_50154]) antes da execução de Finish() falha com CryptoErrc::kProcessingNotFinished.
  • Problemas de buffer e de tamanho: Se o buffer de saída for insuficiente, CalculateHashDigest() ([SWS_CRYPT_50060]), GetDigest() ([SWS_CRYPT_21116]), GetIntermediateDigest() ([SWS_CRYPT_50059]) e ExportContextState() ([SWS_CRYPT_50064]) retornam o erro CryptoErrc::kInsufficientCapacity. Comprimentos de entrada ou de IV não suportados levam a CryptoErrc::kInvalidInputSize em CalculateHashDigest(), Start(iv) ([SWS_CRYPT_50153]) e Update().
  • Incompatibilidade e ausência de suporte a funções: CryptoErrc::kUnsupported sinaliza que chamadas únicas não são suportadas ([SWS_CRYPT_50060]), a presença de um IV não é adequada para a função de hash ([SWS_CRYPT_50152], [SWS_CRYPT_50153]), resultados intermediários não são fornecidos ([SWS_CRYPT_50059]), a exportação/importação de contexto não é suportada ([SWS_CRYPT_50063], [SWS_CRYPT_50064], [SWS_CRYPT_50065]) ou o hashing de chaves não é permitido ([SWS_CRYPT_50057]).
  • Validação de objetos e permissões: Em passagens de chave via Update(key), uma chave incompatível leva a CryptoErrc::kIncompatibleObject e a falta de liberação para kAllowHashCalculation resulta em CryptoErrc::kUsageViolation ([SWS_CRYPT_50057]). Conteúdos de buffer inválidos em ImportContextState() geram CryptoErrc::kInvalidArgument ([SWS_CRYPT_50065]).
  • Gargalos de recursos: Se um recurso criptográfico necessário estiver ocupado, Start() responde à tentativa com CryptoErrc::kBusyResource ([SWS_CRYPT_50152], [SWS_CRYPT_50153]).

Este guia baseia-se na especificação AUTOSAR Adaptive Platform R25-11.

Mapa de membros

Diagrama 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

Vista de detalhes

Selecione uma entrada no índice.

Métodos

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 função

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 função

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 função

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 função

Write the calculated hash digest into the provided output buffer.

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

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 função 2

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

Sobrecargas 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 função 2

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

Sobrecargas 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

Aliases de tipo

Sptr alias de tipo

Smart pointer of the interface.

Documentação dos métodos

função 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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: adb7aefb7feb Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

O método CalculateHashDigest executa um cálculo one-shot síncrono de um valor de hash criptográfico e escreve o resultado no buffer de saída fornecido [SWS_CRYPT_50060]. Como parâmetros, são transmitidos a mensagem de entrada a ser processada data, o buffer de destino digest bem como, opcionalmente, um vetor de inicialização iv. Em caso de execução bem-sucedida, a função retorna, por meio do objeto de resultado ara::core::Result<std::size_t>, o número real de bytes de digest gravados [SWS_CRYPT_50060].

Tratamento de erros

Se o cálculo falhar, a interface garante semântica de rollback [SWS_CRYPT_50060]. Os seguintes códigos de erro podem estar contidos no resultado:

  • ara::crypto::CryptoErrc::kInvalidInputSize: O tamanho dos dados transmitidos ou do vetor de inicialização não é suportado [SWS_CRYPT_50060].
  • ara::crypto::CryptoErrc::kUnsupported: O cálculo single-call não é suportado pelo contexto, ou a passagem do vetor de inicialização não corresponde à configuração do contexto (IV obrigatório, mas ausente, ou IV transmitido embora não seja suportado) [SWS_CRYPT_50060].
  • ara::crypto::CryptoErrc::kInsufficientCapacity: A capacidade do buffer de saída digest não é suficiente para o digest calculado [SWS_CRYPT_50060].

Concorrência e interação

A função é declarada como segura contra exceções (exception safe) e segura para threads (thread-safe) [SWS_CRYPT_50060]. Para evitar previamente erros relativos a comprimentos de entrada inválidos, o tamanho máximo de buffer permitido pelo contexto para uma chamada única pode ser determinado através de GetMaximumChunkSize [SWS_CRYPT_50062].

Esta nota de utilização foi gerada automaticamente com base na especificação AUTOSAR R25-11.

Guia do implementador em breve (complexidade 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#70be943f
Content hash
70be943f
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

função 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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 5c8d759c011a Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

usar

O método Cancel() serve para o cancelamento direcionado de uma operação de streaming em andamento que foi iniciada previamente pelo método Start() e ainda não concluída de forma regular [SWS_CRYPT_50058]. A chamada ocorre de forma síncrona e sem parâmetros em uma instância de ara::crypto::cryp::HashFunctionCtx do arquivo de cabeçalho ara/crypto/cryp/hash_function_ctx.h [SWS_CRYPT_50058]. Em caso de execução bem-sucedida, a operação retorna um ara::core::Result<void> vazio [SWS_CRYPT_50058].

Tratamento de erros

Se ocorrer um problema durante a execução, o ara::core::Result retornado conterá um valor de erro correspondente [SWS_CRYPT_50058]. Se o processamento não tiver sido iniciado por Start() antes da chamada de Cancel(), o cancelamento falha e retorna o código de erro específico ara::crypto::CryptoErrc::kProcessingNotStarted com semântica de rollback [SWS_CRYPT_50058].

Simultaneidade e restrições

A interface é definida como thread-safe e exception safe e declarada com noexcept [SWS_CRYPT_50058]. Como pré-condição funcional essencial, aplica-se que o processamento de dados deve se encontrar em um estado ativo gerado por uma chamada anterior a Start() [SWS_CRYPT_50058].

Interação

O padrão implementado por Cancel() é padronizado através de diversos contextos de streaming da pilha criptográfica. Uma semântica e uma sinalização de erros exatamente coincidentes são apresentadas também pelos contextos VerifierPublicCtx [SWS_CRYPT_50023], MessageAuthnCodeCtx [SWS_CRYPT_50027], SignerPrivateCtx [SWS_CRYPT_50041], SymmetricCipherCtx [SWS_CRYPT_50046], DecryptorPrivateCtx [SWS_CRYPT_50069], AuthCipherCtx [SWS_CRYPT_50077] e EncryptorPublicCtx [SWS_CRYPT_50089].

Esta nota de uso baseia-se na especificação do AUTOSAR Adaptive R25-11.

Guia do implementador em breve (complexidade 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#bc9868ab
Content hash
bc9868ab
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

função 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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 1c3bf0837502 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

O método Compare da classe ara::crypto::cryp::HashFunctionCtx ([SWS_CRYPT_50154]) compara sincronicamente o tamanho e o conteúdo de um digest hash previamente calculado com um valor de referência esperado. O valor nominal é passado através do parâmetro expected do tipo ReadOnlyMemRegion. Em caso de sucesso, a função retorna um ara::core::Result<bool>, que contém true se e só se a sequência de bytes esperada for idêntica ao digest calculado.

O pré-requisito para a chamada é que o cálculo do digest tenha sido previamente concluído com o método Finish(). Se não for esse o caso, a chamada falha e retorna o erro ara::crypto::CryptoErrc::kProcessingNotFinished com semântica de rollback ([SWS_CRYPT_50154]). Interpretação: Um comprimento divergente ou um conteúdo diferente de expected provavelmente não resulta num código de erro, mas sim num false regular no objeto de resultado. Pergunta Q-fdd0ecaec22f6985 (aberta)

No que diz respeito à concorrência, o método está especificado como thread-safe e exception safe ([SWS_CRYPT_50154]). Devido à declaração como noexcept, não lança exceções C++.

Em contextos criptográficos relacionados, é utilizado o mesmo padrão de verificação: Para Message Authentication Codes, ara::crypto::cryp::MessageAuthnCodeCtx::Compare ([SWS_CRYPT_50133]) compara o tamanho e o conteúdo do valor MAC calculado, enquanto CompareSubspan ([SWS_CRYPT_50028]) verifica os bits mais significativos. Ambos os métodos exigem igualmente um cálculo previamente terminado.

Este texto foi gerado por uma IA com base na especificação 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#1da6c2fe
Content hash
1da6c2fe
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

função 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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 78b3b1c67b6a Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

O método [SWS_CRYPT_50064] da classe ara::crypto::cryp::HashFunctionCtx grava sincronicamente o estado atual de um contexto de hash no buffer de saída transmitido contextState do tipo ReadWriteMem Region. Isso permite que as aplicações interrompam uma operação de hash criptográfico em andamento e a retomem em um momento posterior. Em caso de execução bem-sucedida, a chamada retorna um ara::core::Result<void> vazio.

Interação e dimensionamento de buffer

Para evitar erros de memória, o tamanho de buffer em bytes estritamente necessário deve ser consultado previamente através da função [SWS_CRYPT_50063]. O estado exportado pode posteriormente ser importado novamente em um contexto de hash por meio de [SWS_CRYPT_50065]. O pré-requisito para isso é que o contexto de destino apresente a mesma AlgorithmId e seja fornecido pelo mesmo Crypto Provider que o contexto de origem. Durante a importação, um eventual estado de cálculo existente é completamente sobrescrito.

Tratamento de erros

Se a operação falhar, é retornado um erro em ara::core::Result. Os seguintes códigos de erro de ara::crypto::CryptoErrc estão especificados:

  • ara::crypto::CryptoErrc::kUnsupported: O contexto concreto não suporta a exportação ou importação de estados.
  • ara::crypto::CryptoErrc::kInsufficientCapacity: A capacidade do buffer transmitido contextState não é suficiente para acomodar o estado.

Para ambos os casos de erro, é definida uma semântica de rollback, de modo que o estado do objeto permanece inalterado.

Simultaneidade e segurança de execução

A interface é declarada como const e noexcept. Conforme a especificação, a chamada é tanto thread-safe quanto exception-safe.

Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR.

Guia do implementador em breve (complexidade 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#6b98e92f
Content hash
6b98e92f
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

função Finish [SWS_CRYPT_21115] Upstream: RS_CRYPTO_02302, RS_CRYPTO_02205

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

Finish the digest calculation.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 3afea8abb39d Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

usar

O método síncrono Finish() conclui o cálculo de um valor de hash em ara::crypto::cryp::HashFunctionCtx [SWS_CRYPT_21115]. A chamada sem parâmetros retorna um ara::core::Result<void>, que sinaliza a conclusão bem-sucedida ou encapsula um erro [SWS_CRYPT_21115]. A interface é declarada como noexcept e especificada como segura contra exceções (exception safe) e segura para threads (thread-safe) [SWS_CRYPT_21115].

Tratamento de erros e simultaneidade

Se o cálculo de hash não tiver sido iniciado com sucesso antes da chamada, o método falhará com o erro ara::crypto::CryptoErrc::kInvalidUsageOrder [SWS_CRYPT_21115]. Para esse caso de erro, está definida uma semântica de reversão (rollback), de modo que os chamadores devem obrigatoriamente atentar para um contexto devidamente iniciado antes da finalização [SWS_CRYPT_21115].

Interação

Após a chamada bem-sucedida de Finish(), o digest de hash calculado é tipicamente transferido com GetDigest() para um buffer fornecido [SWS_CRYPT_21116], [SWS_CRYPT_50059]. GetIntermediateDigest() serve para diferenciação: essa função fornece o mesmo valor de hash que a sequência de Finish() e GetDigest(), mas permite subsequentemente a passagem de dados adicionais [SWS_CRYPT_50059]. Interpretação: após a chamada de Finish(), o cálculo deve estar definitivamente concluído e o contexto não deve mais aceitar dados adicionais. Pergunta Q-f4daf29364f45fd5 (aberta) Os tamanhos de buffer permitidos para as etapas de processamento no contexto podem ser consultados por meio de GetMaximumChunkSize() [SWS_CRYPT_50062].

Esta nota de uso foi gerada automaticamente com base na especificação 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#e1dd5e07
Content hash
e1dd5e07
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

função 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#684a9b72
Content hash
684a9b72
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

função 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#86233884
Content hash
86233884
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

função 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#aff2c4d7
Content hash
aff2c4d7
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

função 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#1a906737
Content hash
1a906737
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

função 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#d6d18f14
Content hash
d6d18f14
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

função 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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 16a68c3d97e9 Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

O método ImportContextState da classe ara::crypto::cryp::HashFunctionCtx (definido em ara/crypto/cryp/hash_function_ctx.h) serve para restaurar o estado interno de um contexto de hash a partir de um buffer passado e, com isso, prosseguir uma operação de hash previamente interrompida [SWS_CRYPT_50065]. Um eventual estado de cálculo em curso do contexto atual é aqui integralmente substituído pelo estado importado [SWS_CRYPT_50065].

Chamada e pré-condições

A chamada síncrona ocorre através da assinatura ImportContextState(ReadOnlyMem Region contextState) noexcept e retorna um ara::core::Result<void> [SWS_CRYPT_50065]. Ao parâmetro contextState aplicam-se os seguintes requisitos obrigatórios:

  • O buffer de dados deve ter sido previamente exportado a partir de uma instância de HashFunctionCtx com o método ExportContextState() [SWS_CRYPT_50065].
  • O contexto de origem deve ter possuído a mesma AlgorithmId e ter sido disponibilizado pelo mesmo Crypto Provider que o contexto de destino [SWS_CRYPT_50065].

Tratamento de erros e simultaneidade

Em caso de erro, é retornado um código de erro com semântica de rollback, de modo a que o estado existente do contexto permaneça inalterado em caso de insucesso [SWS_CRYPT_50065]:

  • ara::crypto::CryptoErrc::kInvalidArgument: o argumento contextState contém dados inválidos [SWS_CRYPT_50065].
  • ara::crypto::CryptoErrc::kUnsupported: o contexto específico não suporta a exportação e importação de estados de contexto [SWS_CRYPT_50065].

A operação está especificada como thread-safe e exception safe [SWS_CRYPT_50065].

Esta nota de uso baseia-se na especificação AUTOSAR Adaptive Release R25-11.

Guia do implementador em breve (complexidade 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#3737fcb8
Content hash
3737fcb8
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

função 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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 6588b8251bb2 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

O método Start() da interface ara::crypto::cryp::HashFunctionCtx inicializa o contexto para o cálculo passo a passo de um valor de hash sem vetor de inicialização (IV) [SWS_CRYPT_50152]. Uma nova chamada aborta um cálculo de hash eventualmente já em curso e redefine o contexto para um novo cálculo [SWS_CRYPT_50152].

A função é síncrona, não recebe parâmetros e retorna um ara::core::Result<void> [SWS_CRYPT_50152]. Se ocorrer um erro durante a inicialização, aplica-se a semântica de rollback com os seguintes códigos de erro específicos [SWS_CRYPT_50152]:

  • ara::crypto::CryptoErrc::kUnsupported: A função de hash utilizada espera obrigatoriamente um vetor de inicialização [SWS_CRYPT_50152].
  • ara::crypto::CryptoErrc::kBusyResource: Um recurso interno obrigatoriamente necessário para a operação está ocupado [SWS_CRYPT_50152].

No que diz respeito à concorrência, o método está especificado como thread-safe bem como exception safe e declarado como noexcept [SWS_CRYPT_50152]. Após a inicialização bem-sucedida, partes da mensagem podem ser inseridas sequencialmente através do método Update() do contexto [SWS_CRYPT_21113]. Como a chamada aborta cálculos em curso, a função deverá servir na prática também como mecanismo de reset antes de um reinício. Pergunta Q-9c369489a6c6e8cb (aberta)

Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR para R25-11.

Guia do implementador em breve (complexidade 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#325f342b
Content hash
325f342b
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

função 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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 3e6743c0173b Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

usar

A função Start da interface ara::crypto::cryp::HashFunctionCtx inicializa o contexto para o cálculo de um digest de hash utilizando um vetor de inicialização (IV) [SWS_CRYPT_50153]. Como parâmetro, o vetor de inicialização iv é passado através de uma ReadOnlyMemRegion [SWS_CRYPT_50153]. A chamada síncrona retorna um ara::core::Result<void>, que em caso de sucesso não contém valor de retorno [SWS_CRYPT_50153]. Além disso, uma chamada cancela um cálculo de hash eventualmente já em execução neste contexto [SWS_CRYPT_50153].

Tratamento de erros

Se ocorrer um erro durante a inicialização, é retornado um código de erro correspondente, sendo garantida uma semântica de rollback para todos os casos de erro [SWS_CRYPT_50153]:

  • ara::crypto::CryptoErrc::kInvalidInputSize: O tamanho do vetor de inicialização fornecido não é suportado [SWS_CRYPT_50153].
  • ara::crypto::CryptoErrc::kUnsupported: A função de hash subjacente não utiliza nenhum vetor de inicialização [SWS_CRYPT_50153].
  • ara::crypto::CryptoErrc::kBusyResource: Um recurso necessário para a inicialização está ocupado [SWS_CRYPT_50153].

Concorrência e interação

A interface está declarada como noexcept bem como especificada como segura para threads (thread-safe) e segura contra exceções (exception safe) [SWS_CRYPT_50153]. No fluxo típico, a chamada constitui a pré-condição para o posterior processamento passo a passo da mensagem de entrada através do método Update [SWS_CRYPT_21113].

Esta nota de uso foi criada de forma automatizada com base na especificação AUTOSAR R25-11.

Guia do implementador em breve (complexidade 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#191c00b2
Content hash
191c00b2
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

função 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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: fe6681ce0628 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

O método síncrono Update serve em [SWS_CRYPT_21113] para a atualização incremental de um contexto de cálculo de hash em execução (ara::crypto::cryp::HashFunctionCtx). Por meio do parâmetro data (ReadOnlyMemRegion) é passada uma parte da mensagem de entrada a ser processada. A função retorna um ara::core::Result<void>, que está vazio em caso de sucesso ou encapsula um código de erro correspondente.

Em relação ao comportamento de falha, o método oferece semântica de rollback em dois estados de erro específicos:

  • ara::crypto::CryptoErrc::kProcessingNotStarted: O cálculo não foi iniciado previamente por uma chamada do método Start() [SWS_CRYPT_21113].
  • ara::crypto::CryptoErrc::kInvalidInputSize: O tamanho dos dados passados não é suportado pelo contexto [SWS_CRYPT_21113].

Para o contexto de chamada aplicam-se condições claras de ordem e de tamanho: antes da passagem de dados, o processo de hash deve ter sido inicializado [SWS_CRYPT_21113]. Para evitar kInvalidInputSize, o tamanho máximo de bloco permitido para uma única chamada de Update pode ser determinado previamente via GetMaximumChunkSize [SWS_CRYPT_50062]. Conforme a especificação, a função é declarada como segura contra exceções (exception safe) e segura para threads (thread-safe) [SWS_CRYPT_21113].

Na interação com outras interfaces, existe dentro de HashFunctionCtx uma sobrecarga para a transmissão de objetos de chave via Update(CryptoObject::Sptr) [SWS_CRYPT_50057]. Após o fornecimento de todos os blocos de dados, a finalização do checksum provavelmente ocorre por meio de Finish() [SWS_CRYPT_50062]. Pergunta Q-dcac20f353ca55f4 (aberta)

Esta nota de uso foi gerada automaticamente com base na especificação.

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

função 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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 87fb2c080f4a Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

O método síncrono Update serve, em [SWS_CRYPT_50057], para expandir passo a passo o contexto de um cálculo de valor de hash em ara::crypto::cryp::HashFunctionCtx com uma nova secção de mensagem sob a forma de um objeto de chave. Como parâmetro, é passado um smart pointer para o objeto de chave (CryptoObject::Sptr key). A chamada fornece como valor de retorno um ara::core::Result<void> que, em caso de processamento bem-sucedido, está vazio ou, em caso de erro, encapsula um código de erro correspondente [SWS_CRYPT_50057].

Como condição de ordem aplica-se que o cálculo tem de ter sido obrigatoriamente iniciado previamente pela chamada de Start(); caso contrário, é reportado o erro ProcessingNotStarted [SWS_CRYPT_50057]. Outros casos de erro específicos abrangem (cada um com semântica de rollback) [SWS_CRYPT_50057]:

  • ara::crypto::CryptoErrc::kUnsupported, se o contexto de hash em geral não suportar a aplicação de hash a chaves,
  • ara::crypto::CryptoErrc::kIncompatibleObject, caso o objeto de chave passado não seja compatível com o contexto,
  • ara::crypto::CryptoErrc::kUsageViolation, desde que a utilização permitida da chave não abranja kAllowHash Calculation,
  • ara::crypto::CryptoErrc::kInvalidInputSize, se o tamanho de dados da chave passada não for suportado.

O método está declarado como thread-safe, bem como exception safe (noexcept) [SWS_CRYPT_50057]. Na interação com outras interfaces do módulo, o tamanho de buffer máximo permitido para chamadas Update individuais pode ser determinado através de GetMaximumChunkSize() [SWS_CRYPT_50062]. Para partes regulares de mensagem sem objeto de chave, existe em paralelo em HashFunctionCtx a sobrecarga Update(ReadOnlyMemRegion data) [SWS_CRYPT_21113].

Esta nota de utilização foi gerada automaticamente com base na especificação.

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#1b52e03a
Content hash
1b52e03a
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

Documentação dos aliases de tipo

alias de tipo 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#1c95427e
Content hash
1c95427e
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