DEENESPTFRRUARHIKOZHNL

classe ara::crypto::cryp::MessageAuthnCodeCtx

[SWS_CRYPT_22100] Upstream: RS_CRYPTO_02203

class MessageAuthnCodeCtx :           public CryptoContext {...};

Keyed Message Authentication Code Context interface definition.

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

Guia do utilizadorGERADO POR IA

Serve para o cálculo e verificação baseados em chave de Message Authentication Codes criptográficos.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: b9d1594d1774 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Serve para o cálculo e verificação baseados em chave de Message Authentication Codes criptográficos.

A interface permite o cálculo e a verificação baseados em chave de Message Authentication Codes para mensagens de qualquer comprimento. Após a inicialização com uma chave simétrica via [SWS_CRYPT_22118], os digests de MAC podem ser processados em uma única etapa ou em processo de streaming por meio de chamadas de início, atualização e conclusão. O resultado de verificação resultante pode então ser consultado ou comparado diretamente com um valor de referência. Todos os métodos são especificados como thread-safe e sinalizam fluxos incorretos ou capacidades insuficientes de buffer por meio de valores de retorno padronizados de acordo com [SWS_CRYPT_22116].

Contexto

A interface MessageAuthnCodeCtx define operações criptográficas para a geração e verificação de códigos de autenticação de mensagens baseados em chave (Message Authentication Codes, MAC). Ela permite a verificação de autenticidade e integridade de quantidades arbitrárias de dados, tanto por fluxos de dados incrementais quanto por blocos de memória contíguos individuais. O gerenciamento de instâncias ocorre por meio do tipo de smart pointer fornecido Sptr [SWS_CRYPT_22101].

Componentes de aplicação chamadores e objetos de chave atuam como parceiros centrais de interação. Um contexto pode ser configurado diretamente com um objeto de chave simétrica SymmetricKey [SWS_CRYPT_22118] ou por meio de um slot de memória lógico KeySlot [SWS_CRYPT_50026]. A transferência de dados ocorre por estruturas de buffer como ReadOnlyMemRegion para dados de entrada e ReadWriteMemRegion para digests de MAC calculados.

Ciclo de vida

Uma instância de contexto passa por uma sequência definida de estados, desde a inicialização até a disponibilização do resultado do MAC:

  • Uninitialized: Após a criação, o contexto ainda não possui uma chave e rejeita chamadas de cálculo.
  • Configured: Por meio da chamada de SetKey() com uma chave [SWS_CRYPT_22118] ou um armazenamento de chaves [SWS_CRYPT_50026], o contexto é inicializado. Neste estado, métodos de chamada única podem ser executados ou uma sessão de streaming pode ser iniciada.
  • Processing: A chamada de Start() sem vetor de inicialização [SWS_CRYPT_22111] ou com IV [SWS_CRYPT_22110] abre o processamento por streaming. Blocos de dados são inseridos mediante Update() [SWS_CRYPT_22113] repetido. Um cancelamento é possível via Cancel() [SWS_CRYPT_50027].
  • Finished: O método Finish() [SWS_CRYPT_22115] conclui o cálculo. Em seguida, o resultado pode ser consultado ou comparado.

Interpretação: após a conclusão ou cancelamento, o contexto presumivelmente permanece no estado configurado e pode ser reutilizado para novas operações. Pergunta Q-b61229b77ae88ab0 (aberta) Todos os métodos da interface são especificados como thread-safe e exception-safe.

mac_states Uninitialized Uninitialized Configured Configured Uninitialized->Configured SetKey() Configured->Configured Generate() / Verify() Processing Processing Configured->Processing Start() Processing->Configured Cancel() Processing->Processing Update() Finished Finished Processing->Finished Finish() Finished->Processing Start() Finished->Finished GetDigest() / Compare()

Diagrama de estados: ciclo de vida e transições de estado do contexto de MAC. Fontes: [SWS_CRYPT_22118], [SWS_CRYPT_50026], [SWS_CRYPT_22110], [SWS_CRYPT_22111], [SWS_CRYPT_22113], [SWS_CRYPT_22115], [SWS_CRYPT_50027], [SWS_CRYPT_22116], [SWS_CRYPT_50029], [SWS_CRYPT_50031]

Caminho de utilização

A interface suporta dois caminhos de uso típicos: streaming incremental e processamento de chamada única.

No caminho de streaming, o chamador vincula inicialmente a chave via SetKey() [SWS_CRYPT_22118]. Antes de iniciar, parâmetros de algoritmo como o tamanho de IV recomendado podem ser consultados via GetRecommendedIvSize() [SWS_CRYPT_50135] e o tamanho máximo de chunk via GetMaximumChunkSize() [SWS_CRYPT_50033]. Após a chamada de Start() [SWS_CRYPT_22110], fragmentos de mensagem são processados sucessivamente por Update() [SWS_CRYPT_22113]. Assim que todos os dados tiverem sido passados, Finish() conclui o cálculo [SWS_CRYPT_22115]. O digest gerado é subsequentemente copiado para um buffer com GetDigest() [SWS_CRYPT_22116], cujo tamanho mínimo pode ser determinado previamente via GetDigestSize() [SWS_CRYPT_50134]. Alternativamente, Compare() [SWS_CRYPT_50133] ou CompareSubspan() [SWS_CRYPT_50028] permite a comparação direta contra um valor de referência esperado.

Cálculo em streaming de um Message Authentication CodeAplicaçãoMessageAuthnCodeCtxSetKey(key)Result<void>Start(iv)Result<void>loopPara cada bloco de dadosUpdate(chunk)Result<void>Finish()Result<void>GetDigest(digest)Result<size_t>

Diagrama de sequência: fluxo do cálculo incremental de MAC em modo streaming. Fontes: [SWS_CRYPT_22118], [SWS_CRYPT_22110], [SWS_CRYPT_22113], [SWS_CRYPT_22115], [SWS_CRYPT_22116]

Se a mensagem inteira já estiver completamente disponível, o cálculo pode ser realizado sem streaming via Generate() [SWS_CRYPT_50029] ou truncado via GenerateSubspan() [SWS_CRYPT_50030] em uma única etapa. Para a verificação, estão disponíveis analogamente os métodos Verify() [SWS_CRYPT_50031] e VerifySubspan() [SWS_CRYPT_50032].

Cenários de erro

Erros são sinalizados pelo tipo de retorno ara::core::Result e cobrem as seguintes causas:

Este guia de classe baseia-se na especificação do AUTOSAR Adaptive R25-11 para o módulo crypto.

Mapa de membros

Diagrama de classes

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

G nara__crypto__cryp__MessageAuthnCodeCtx845 MessageAuthnCodeCtx + Cancel() + Compare() + CompareSubspan() + Finish() + Generate() + GenerateSubspan() + GetDigest() + GetDigestSize() + GetMaximumChunkSize() + GetRecommendedIvSize() + SetKey() + Start() + Update() + Verify() + VerifySubspan() nara__crypto__cryp__CryptoContext85 CryptoContext nara__crypto__cryp__MessageAuthnCodeCtx845->nara__crypto__cryp__CryptoContext85

Vista de detalhes

Selecione uma entrada no índice.

Métodos

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 MAC digest against an expected value.

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

Compare the most significant bits of the calculated MAC digest against an expected value.

virtual ara::core::Result< bool > CompareSubspan (ReadOnlyMemRegion expected) const noexcept=0;
Finish função

Finish the MAC calculation.

virtual ara::core::Result< void > Finish () noexcept=0;
Generate função

Calculate a MAC digest and write it to the provided output buffer.

virtual ara::core::Result< std::size_t > Generate (ReadOnlyMemRegion data, ReadWriteMemRegion digest, ara::core::Optional< ReadOnlyMem Region > iv) const noexcept=0;

Calculate a MAC digest and fill the provided output buffer with the beginning (MSB) of the calculated digest.

virtual ara::core::Result< std::size_t > GenerateSubspan (ReadOnlyMem Region data, ReadWriteMemRegion truncatedDigest, ara::core::Optional< ReadOnlyMemRegion > iv) const noexcept=0;
GetDigest função

Write the calculated MAC 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;

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

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

Get default expected size of the Initialization Vector (IV) or nonce, e.g., 12 bytes for GMAC, 0 bytes for CMAC.

virtual ara::core::Result< std::size_t > GetRecommendedIvSize () const noexcept=0;
SetKey função 2

Configure the context to use the provided key.

Sobrecargas SetKey 2
virtual ara::core::Result< void > SetKey (SymmetricKey::Sptr key) noexcept=0; SWS_CRYPT_22118
virtual ara::core::Result< void > SetKey (KeySlot::Sptr keySlot) noexcept=0; SWS_CRYPT_50026
Start função 2

Initialize the context for a new MAC calculation and set an IV (e.g., used for GMAC)

Sobrecargas Start 2
virtual ara::core::Result< void > Start (ReadOnlyMemRegion iv) noexcept=0; SWS_CRYPT_22110
virtual ara::core::Result< void > Start () noexcept=0; SWS_CRYPT_22111
Update função

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

virtual ara::core::Result< void > Update (ReadOnlyMemRegion data) noexcept=0;
Verify função

Calculate a MAC digest and compare the calculated MAC digest against an expected value.

virtual ara::core::Result< bool > Verify (ReadOnlyMemRegion data, Read OnlyMemRegion expected, ara::core::Optional< ReadOnlyMemRegion > iv) const noexcept=0;
VerifySubspan função

Calculate a MAC digest and compare the most-significant bits of the calculated MAC digest against an expected value.

virtual ara::core::Result< bool > VerifySubspan (ReadOnlyMemRegion data, ReadOnlyMemRegion expected, ara::core::Optional< ReadOnlyMem Region > iv) const noexcept=0;

Aliases de tipo

Sptr alias de tipo

Smart pointer of the interface.

Documentação dos métodos

função Cancel [SWS_CRYPT_50027] 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: 53954aee5980 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 virtual puro Cancel serve, na interface ara::crypto::cryp::MessageAuthnCodeCtx, para cancelar uma operação de streaming em andamento, iniciada anteriormente por meio de Start() e ainda não concluída [SWS_CRYPT_50027]. A chamada ocorre de forma síncrona, não aceita parâmetros de entrada e retorna, em caso de sucesso, um ara::core::Result<void> vazio, o qual confirma o cancelamento bem-sucedido da operação [SWS_CRYPT_50027].

Se o processamento de dados não tiver sido iniciado adequadamente pelo método Start() antes da chamada, a execução falhará. Neste caso, a função fornece um resultado com o código de erro específico ara::crypto::CryptoErrc::kProcessingNotStarted sob garantia de uma semântica de rollback [SWS_CRYPT_50027]. Em relação à segurança de execução, a interface é especificada como segura para threads (thread-safe) e garante segurança contra exceções (exception safe), uma vez que está declarada como noexcept e não lança exceções [SWS_CRYPT_50027].

O comportamento de cancelamento idêntico para processamentos de streaming ainda não finalizados é compartilhado por todas as interfaces de contexto relacionadas do módulo de criptografia:

Interpretação: Com o cancelamento da operação não concluída, o contexto deverá ser revertido para um estado limpo, que permite uma reinicialização posterior via Start(). Pergunta Q-a8fa5cb85c3dab50 (aberta)

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

Guia do implementador em breve (complexidade I1)

Header-Datei#include "ara/crypto/cryp/message_authn_code_ctx.h"
Scopeclass ara::crypto::cryp::MessageAuthnCodeCtx
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_50027
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50027@rel:R25-11#d71dd505
Content hash
d71dd505
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50027
Status: valid/unmigrated Version: rel:R25-11#c993fffd 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_50027@rel:R25-11#c993fffd
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_50133] Upstream: RS_CRYPTO_02309

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

Compare the size and content of the calculated MAC 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: 9af675c314c3 Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

usar

O método puramente virtual Compare da classe ara::crypto::cryp::MessageAuthnCodeCtx serve para comparar o tamanho e o conteúdo de um Message Authentication Code (MAC) calculado com um digest esperado [SWS_CRYPT_50133]. O digest de MAC esperado é passado como parâmetro através de ReadOnlyMemRegion expected. A função retorna um ara::core::Result<bool> que contém true se o valor MAC calculado corresponder exatamente ao valor esperado, e false caso contrário [SWS_CRYPT_50133].

Tratamento de erros

Em caso de erro, é retornado um código de erro no objeto de resultado, aplicando-se uma semântica de rollback [SWS_CRYPT_50133]:

  • ara::crypto::CryptoErrc::kProcessingNotFinished: É reportado se o cálculo do digest não tiver sido previamente concluído através da chamada do método Finish() [SWS_CRYPT_50133].
  • ara::crypto::CryptoErrc::kInvalidInputSize: Ocorre se o tamanho de buffer passado do digest de MAC esperado não for suportado pelo contexto [SWS_CRYPT_50133].

Simultaneidade e restrições

O método está declarado como const e noexcept e, de acordo com a especificação, é seguro para threads (thread-safe) e seguro para exceções (exception safe) [SWS_CRYPT_50133]. Uma pré-condição essencial é o cálculo do digest previamente concluído com sucesso através de Finish() [SWS_CRYPT_50133].

Interação

Em contraste com Compare, que valida a correspondência completa de todo o digest MAC [SWS_CRYPT_50133], CompareSubspan compara no mesmo contexto apenas os bits mais significativos (most significant bits) com o valor esperado [SWS_CRYPT_50028]. Para funções hash sem chave, existe uma função Compare com o mesmo nome em ara::crypto::cryp::HashFunctionCtx [SWS_CRYPT_50154].

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

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

Parameter (in)

ParameterBeschreibung
expectedthe expected MAC digest

Rückgabewert

TypBeschreibung
ara::core::Result< bool >true if the expected MAC value equals the calculated MAC value, false otherwise.

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kProcessingNotFinishedrollback_semantics if the digest calculation was not finished by a call of the Finish() method
ara::crypto::CryptoErrc::kInvalidInputSizerollback_semantics if the size of the expected MAC digest is not supported

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50133
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50133@rel:R25-11#8abeeb5d
Content hash
8abeeb5d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50133
Status: valid/unmigrated Version: rel:R25-11#0e62292d 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_50133@rel:R25-11#0e62292d
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 CompareSubspan [SWS_CRYPT_50028] Upstream: RS_CRYPTO_02309

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

Compare the most significant bits of the calculated MAC 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: 4c36a4e7dbbc 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 CompareSubspan da classe ara::crypto::cryp::MessageAuthnCodeCtx compara os bits mais significativos (Most Significant Bits) de um valor MAC calculado com uma referência predefinida [SWS_CRYPT_50028]. O valor de comparação esperado é passado por meio do parâmetro expected como ReadOnlyMemRegion [SWS_CRYPT_50028]. O resultado é retornado como ara::core::Result<bool> e contém true em caso de identidade dos bits mais significativos, bem como false em caso de divergências [SWS_CRYPT_50028].

Tratamento de erros e condições de fluxo

Para uma comparação válida, o cálculo do valor de verificação deve estar concluído. Se não houver uma chamada prévia do método Finish(), a chamada falha com o código de erro ara::crypto::CryptoErrc::kProcessingNotFinished [SWS_CRYPT_50028]. Se o tamanho do buffer do parâmetro passado expected for inválido para o procedimento utilizado, o método reporta ara::crypto::CryptoErrc::kInvalidInputSize [SWS_CRYPT_50028]. Ambos os tipos de erro garantem semântica de rollback [SWS_CRYPT_50028].

Concorrência e contexto de execução

A operação é especificada como noexcept (exception-safe) e classificada como thread-safe [SWS_CRYPT_50028]. Interpretação: a segurança de threads declarada provavelmente se refere ao estado após a execução de Finish(), permitindo que múltiplas threads verifiquem o mesmo digest calculado em paralelo. Pergunta Q-ac8b7ead6a5b508e (aberta)

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

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

Parameter (in)

ParameterBeschreibung
expectedthe expected MAC digest

Rückgabewert

TypBeschreibung
ara::core::Result< bool >true if the most-significant bits of the calculated MAC equal the expected byte sequence, false otherwise.

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kProcessingNotFinishedrollback_semantics if the digest calculation was not finished by a call of the Finish() method
ara::crypto::CryptoErrc::kInvalidInputSizerollback_semantics if the size of the expected MAC digest is not supported

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50028
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50028@rel:R25-11#88f320bd
Content hash
88f320bd
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50028
Status: valid/unmigrated Version: rel:R25-11#e7ce513a 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_50028@rel:R25-11#e7ce513a
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_22115] Upstream: RS_CRYPTO_02302, RS_CRYPTO_02203

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

Finish the MAC calculation.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 9113df4242ca 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 Finish() conclui de forma definitiva o cálculo em andamento de um Message Authentication Code (MAC) dentro da interface MessageAuthnCodeCtx [SWS_CRYPT_22115]. A chamada é feita de forma síncrona, não recebe parâmetros e retorna ara::core::Result<void>, o que representa um resultado vazio no caso regular de sucesso [SWS_CRYPT_22115].

Em caso de erro, a função retorna o código de erro ara::crypto::CryptoErrc::kProcessingNotStarted caso o cálculo de MAC não tenha sido iniciado com sucesso antes da chamada; neste caso, aplica-se uma semântica de rollback [SWS_CRYPT_22115]. A operação é declarada como noexcept e, conforme a especificação, é especificada tanto como segura contra exceções (exception safe) quanto como segura para threads (thread-safe) [SWS_CRYPT_22115].

No fluxo de processamento, Finish() forma a ligação entre o processamento de dados e a avaliação: após a chamada, o digest de MAC gerado pode ser transferido para um buffer fornecido através de GetDigest() [SWS_CRYPT_22116] ou verificado diretamente contra um valor de referência com CompareSubspan() [SWS_CRYPT_50028]. Enquanto GetMaximumChunkSize() [SWS_CRYPT_50033] descreve genericamente tamanhos de buffer para Update() ou Finish(), Finish() aqui não processa dados diretamente; a menção no requisito provavelmente reflete um padrão uniforme entre todos os contextos criptográficos. Pergunta Q-79b4f4ecf3998e48 (aberta)

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

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

Rückgabewert

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

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kProcessingNotStartedrollback_semantics if the MAC 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_22115
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_22115@rel:R25-11#5eb92fa7
Content hash
5eb92fa7
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_22115
Status: valid/unmigrated Version: rel:R25-11#e646e46d 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_22115@rel:R25-11#e646e46d
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#7d2b83f62026-09-30
  • R20-11rel:R20-11#a059cf072026-10-14
  • R21-11rel:R21-11#760e02282026-10-14
  • R22-11rel:R22-11#194848542026-10-14
  • R23-11rel:R23-11#499debd32026-10-14
  • R24-11rel:R24-11#d34af0022026-10-14
  • R25-11rel:R25-11#e646e46d2026-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 Generate [SWS_CRYPT_50029] Upstream: RS_CRYPTO_02309

virtual ara::core::Result< std::size_t > Generate (ReadOnlyMemRegion data, ReadWriteMemRegion digest, ara::core::Optional< ReadOnlyMem Region > iv) const noexcept=0;

Calculate a MAC digest and write it to 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: 1f27dd6e39dc Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A função de membro síncrona Generate da classe ara::crypto::cryp::MessageAuthnCodeCtx serve, de acordo com [SWS_CRYPT_50029], para o cálculo de um Message Authentication Code (MAC) num único passo e escreve o digest calculado no buffer de saída disponibilizado.

Para a chamada, são passados os seguintes parâmetros:

  • data: dados de entrada para o cálculo do MAC como ReadOnlyMemRegion.
  • digest: área de memória de destino do tipo ReadWriteMemRegion, na qual o digest é escrito.
  • iv: um vetor de inicialização opcional como ara::core::Optional<ReadOnlyMemRegion>.

Em caso de sucesso, a função retorna um ara::core::Result<std::size_t> que contém o tamanho do digest de MAC escrito em bytes [SWS_CRYPT_50029].

Se ocorrer um erro, é retornado um código de erro com semântica de rollback [SWS_CRYPT_50029]:

  • UninitializedContext: o contexto ainda não foi inicializado pela atribuição de uma chave.
  • ara::crypto::CryptoErrc::kUsageViolation: a chave utilizada não possui a flag de uso necessária kAllowMac. Interpretação: uma chave simétrica adequada presumivelmente deverá ser gerada e configurada previamente via GenerateSymmetricKey [SWS_CRYPT_20721]. Pergunta Q-d22f397bbc02487b (aberta)
  • ara::crypto::CryptoErrc::kEmptyKeySlot: Um KeySlot configurado está atualmente vazio.
  • ara::crypto::CryptoErrc::kUnsupported: o processamento em chamada única não é suportado ou a indicação do vetor de inicialização não cumpre os requisitos do algoritmo (IV em falta ou indicado de forma não permitida).
  • ara::crypto::CryptoErrc::kInvalidInputSize: o tamanho do buffer dos dados de entrada ou do IV não é suportado.
  • ara::crypto::CryptoErrc::kInsufficientCapacity: o buffer de destino digest é demasiado pequeno para o digest de MAC.
  • ara::crypto::CryptoErrc::kBusyResource: um recurso de sistema necessário está ocupado.

Relativamente à concorrência, o método está especificado como thread-safe e exception safe [SWS_CRYPT_50029]. Está declarado como const noexcept e não altera o estado do contexto durante a execução.

Esta nota de utilização foi gerada automaticamente e baseia-se na especificação AUTOSAR Adaptive da release R25-11.

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

Parameter (in)

ParameterBeschreibung
datathe input data for the MAC
ivan optional initialization vector

Parameter (out)

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

Rückgabewert

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

Fehler

FehlercodeBeschreibung
UninitializedContextif the context was not initialized by deploying a key
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if single-call processing 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::kInvalidInputSizerollback_semantics if the size of provided data or IV is not supported
ara::crypto::CryptoErrc::kInsufficientCapacityrollback_semantics if the output buffer is too small
ara::crypto::CryptoErrc::kBusyResourcerollback_semantics a required resource is busy
ara::crypto::CryptoErrc::kEmptyKeySlotrollback_semantics if a KeySlot was configured that is currently is empty
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the key does not include kAllowMac

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50029
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50029@rel:R25-11#83b2559a
Content hash
83b2559a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50029
Status: valid/unmigrated Version: rel:R25-11#66865bf3 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_50029@rel:R25-11#66865bf3
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 GenerateSubspan [SWS_CRYPT_50030] Upstream: RS_CRYPTO_02309

virtual ara::core::Result< std::size_t > GenerateSubspan (ReadOnlyMem Region data, ReadWriteMemRegion truncatedDigest, ara::core::Optional< ReadOnlyMemRegion > iv) const noexcept=0;

Calculate a MAC digest and fill the provided output buffer with the beginning (MSB) of the calculated digest.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 9f5519d31718 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 GenerateSubspan da classe ara::crypto::cryp::MessageAuthnCodeCtx calcula em uma única etapa um Message Authentication Code (MAC) para os dados de entrada data e escreve o início (os bytes mais significativos, MSB) do digest calculado no buffer de saída truncatedDigest [SWS_CRYPT_50030]. Através do parâmetro opcional iv, pode ser transmitido um vetor de inicialização, se necessário [SWS_CRYPT_50030]. O retorno direto de ara::core::Result<std::size_t> provavelmente indica uma execução síncrona; em caso de sucesso, é retornado o número de bytes gravados do digest de MAC [SWS_CRYPT_50030]. Pergunta Q-167c6d44b9f39fed (aberta)

A especificação define para o caso de erro uma semântica de rollback e prevê os seguintes códigos de erro [SWS_CRYPT_50030]:

  • UninitializedContext: O contexto não foi inicializado previamente através da atribuição de uma chave [SWS_CRYPT_50030].
  • ara::crypto::CryptoErrc::kEmptyKeySlot: Um KeySlot configurado está atualmente vazio [SWS_CRYPT_50030].
  • ara::crypto::CryptoErrc::kUsageViolation: O uso permitido da chave não inclui kAllowMac [SWS_CRYPT_50030].
  • ara::crypto::CryptoErrc::kUnsupported: O processamento em etapa única não é suportado, ou a configuração do IV não corresponde ao contexto (IV necessário ausente ou IV inadmissível transmitido) [SWS_CRYPT_50030].
  • ara::crypto::CryptoErrc::kInvalidInputSize: O tamanho dos dados transmitidos data ou do iv não é suportado [SWS_CRYPT_50030].
  • ara::crypto::CryptoErrc::kBusyResource: um recurso necessário está ocupado [SWS_CRYPT_50030].

Em relação ao ambiente de execução, o método é especificado como thread-safe e oferece segurança contra exceções (noexcept) [SWS_CRYPT_50030]. O pré-requisito para uma chamada sem erros é o fornecimento prévio de uma chave com a respectiva permissão no contexto [SWS_CRYPT_50030].

Este texto foi gerado por uma IA e serve como orientação. O documento determinante é a especificação oficial AUTOSAR.

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

Parameter (in)

ParameterBeschreibung
datathe input data for the MAC
ivan optional initialization vector

Parameter (out)

ParameterBeschreibung
truncatedDigestan output data buffer that the beginning of the MAC digest will be written into

Rückgabewert

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

Fehler

FehlercodeBeschreibung
UninitializedContextif the context was not initialized by deploying a key
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if single-call processing 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::kInvalidInputSizerollback_semantics if the size of provided data or IV is not supported
ara::crypto::CryptoErrc::kBusyResourcerollback_semantics a required resource is busy
ara::crypto::CryptoErrc::kEmptyKeySlotrollback_semantics if a KeySlot was configured that is currently is empty
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the key does not include kAllowMac

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50030
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50030@rel:R25-11#4969f682
Content hash
4969f682
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50030
Status: valid/unmigrated Version: rel:R25-11#10f782d6 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_50030@rel:R25-11#10f782d6
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_22116] Upstream: RS_CRYPTO_02203

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

Write the calculated MAC digest into the provided output buffer.

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

Parameter (out)

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

Rückgabewert

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

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kProcessingNotFinishedrollback_semantics if the MAC 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_22116
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_22116@rel:R25-11#b366f2b1
Content hash
b366f2b1
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_22116
Status: valid/unmigrated Version: rel:R25-11#0213970e 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_22116@rel:R25-11#0213970e
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#f62c871b2026-09-30
  • R20-11rel:R20-11#97dd7dc32026-10-14
  • R21-11rel:R21-11#73d2dfec2026-10-14
  • R22-11rel:R22-11#086949e02026-10-14
  • R23-11rel:R23-11#c0af69462026-10-14
  • R24-11rel:R24-11#601580872026-10-14
  • R25-11rel:R25-11#0213970e2026-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_50134] 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/message_authn_code_ctx.h"
Scopeclass ara::crypto::cryp::MessageAuthnCodeCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >size of the hash digest in bytes

Fehler

FehlercodeBeschreibung
This function does not specify any standardized errors.

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50134
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50134@rel:R25-11#713f0046
Content hash
713f0046
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50134
Status: valid/unmigrated Version: rel:R25-11#2e6c359a 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_50134@rel:R25-11#2e6c359a
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_50033] 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() or Finish() by this context.

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

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >the maximum buffer size in bytes

Fehler

FehlercodeBeschreibung
This function does not specify any standardized errors.

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50033
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50033@rel:R25-11#33a84bfd
Content hash
33a84bfd
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50033
Status: valid/unmigrated Version: rel:R25-11#74ba2c5f 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_50033@rel:R25-11#74ba2c5f
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 GetRecommendedIvSize [SWS_CRYPT_50135] Upstream: RS_CRYPTO_02309

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

Get default expected size of the Initialization Vector (IV) or nonce, e.g., 12 bytes for GMAC, 0 bytes for CMAC.

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

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >default expected size of IV in bytes

Fehler

FehlercodeBeschreibung
This function does not specify any standardized errors.

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50135
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50135@rel:R25-11#6b3a3679
Content hash
6b3a3679
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50135
Status: valid/unmigrated Version: rel:R25-11#b1b43096 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_50135@rel:R25-11#b1b43096
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 SetKey [SWS_CRYPT_22118] Upstream: RS_CRYPTO_02001, RS_CRYPTO_02003

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

Configure the context to use the provided key.

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

O método SetKey configura uma instância de ara::crypto::cryp::MessageAuthnCodeCtx para o subsequente cálculo de MAC com uma chave simétrica fornecida [SWS_CRYPT_22118]. A chamada é realizada de forma síncrona e recebe o objeto de chave como smart pointer SymmetricKey::Sptr. Como resultado, a função retorna um ara::core::Result<void>, que fica vazio em caso de sucesso ou encapsula um código de erro específico em caso de falha [SWS_CRYPT_22118].

Se a atribuição falhar, aplica-se uma semântica de rollback que preserva o estado anterior do contexto [SWS_CRYPT_22118]. Os seguintes estados de erro de ara::crypto::CryptoErrc estão especificados:

  • kUnsupported: o contexto suporta exclusivamente a vinculação via KeySlot em vez de objetos de chave diretos [SWS_CRYPT_22118].
  • kIncompatibleObject: o objeto de chave simétrica passado é incompatível com o contexto de destino [SWS_CRYPT_22118].
  • kUsageViolation: os sinalizadores de permissão da chave não contêm o uso obrigatoriamente exigido kAllowMac [SWS_CRYPT_22118].

Em termos de segurança de execução, a interface é definida como thread-safe e exception safe (com noexcept) [SWS_CRYPT_22118]. Na interação com o gerenciamento de chaves, ela representa o equivalente direto à atribuição baseada em slots: caso uma implementação ou um caso de uso suporte o uso de slots persistidos, utiliza-se em seu lugar a sobrecarga para KeySlot::Sptr [SWS_CRYPT_50026].

Este texto foi gerado por uma IA com base na especificação AUTOSAR R25-11.

Guia do implementador em breve (complexidade I2)

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

Parameter (in)

ParameterBeschreibung
keysymmetric key object used for MAC calculation

Rückgabewert

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

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the context only supports setting a KeySlot
ara::crypto::CryptoErrc::kIncompatibleObjectrollback_semantics if the provided key object is incompatible with this context
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the key does not include kAllowMac

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

Record
AUTOSAR/AP/record/SWS_CRYPT_22118
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_22118@rel:R25-11#cf3a2f62
Content hash
cf3a2f62
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_22118
Status: valid/unmigrated Version: rel:R25-11#e40511f7 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_22118@rel:R25-11#e40511f7
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#c6787c932026-09-30
  • R20-11rel:R20-11#02ea3abd2026-10-14
  • R21-11rel:R21-11#a4675ce22026-10-14
  • R22-11rel:R22-11#d5224dc92026-10-14
  • R23-11rel:R23-11#5cceac172026-10-14
  • R24-11rel:R24-11#6e177cb62026-10-14
  • R25-11rel:R25-11#e40511f72026-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 SetKey [SWS_CRYPT_50026] Upstream: RS_CRYPTO_02001, RS_CRYPTO_02003

virtual ara::core::Result< void > SetKey (KeySlot::Sptr keySlot) noexcept=0;

Configure the context to use the key stored in the provided KeySlot at the time the MAC calculation is started.

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

usar

A função-membro virtual SetKey da interface ara::crypto::cryp::MessageAuthnCodeCtx do arquivo de cabeçalho ara/crypto/cryp/message_authn_code_ctx.h configura o contexto para o cálculo ou a verificação de um Message Authentication Code (MAC) [SWS_CRYPT_50026]. Como parâmetro, o método síncrono recebe um smart pointer keySlot do tipo KeySlot::Sptr, que disponibiliza uma chave simétrica, e retorna um ara::core::Result<void> [SWS_CRYPT_50026]. A vinculação da chave é semanticamente postergada: a chave armazenada no slot só é utilizada no momento em que o cálculo do MAC é efetivamente iniciado [SWS_CRYPT_50026]. Interpretação: atualizações posteriores do conteúdo do slot até o início do cálculo devem, assim, permanecer efetivas. Pergunta Q-d1886811d8af71e3 (aberta)

Simultaneidade e segurança de execução

A interface está definida como noexcept, assegura segurança contra exceções (exception safe) e está explicitamente especificada para chamada concorrente (thread-safe) [SWS_CRYPT_50026].

Tratamento de erros e interação

Em caso de erro, o método garante uma semântica estrita de rollback, de modo que o estado anterior do contexto seja totalmente preservado [SWS_CRYPT_50026]. Os seguintes códigos de erro podem ocorrer no objeto de resultado:

  • ara::crypto::CryptoErrc::kIncompatibleObject: O KeySlot transmitido é incompatível com este contexto de chave simétrica [SWS_CRYPT_50026].
  • ara::crypto::CryptoErrc::kUnsupported: A implementação concreta do contexto não suporta a definição via KeySlot [SWS_CRYPT_50026]. Neste caso, deve-se utilizar como alternativa a sobrecarga SetKey(SymmetricKey::Sptr) para a transferência direta de uma chave [SWS_CRYPT_22118].

Esta nota de uso foi gerada automaticamente com base nos dados da especificação.

Guia do implementador em breve (complexidade I2)

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

Parameter (in)

ParameterBeschreibung
keySlota keyslot containing a symmetric key

Rückgabewert

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

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kIncompatibleObjectrollback_semantics if the provided keySlot is incompatible with this symmetric key context
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the context only supports setting a SymmetricKey

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50026
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50026@rel:R25-11#384f71b1
Content hash
384f71b1
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50026
Status: valid/unmigrated Version: rel:R25-11#3de24834 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_50026@rel:R25-11#3de24834
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_22110] Upstream: RS_CRYPTO_02302

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

Initialize the context for a new MAC calculation and set an IV (e.g., used for GMAC)

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

O método Start de ara::crypto::cryp::MessageAuthnCodeCtx inicializa o contexto para um novo cálculo de MAC, definindo um vetor de inicialização ou valor de nonce através do parâmetro iv ([SWS_CRYPT_22110]). Isto é utilizado, por exemplo, em algoritmos como o GMAC ([SWS_CRYPT_22110]). Para cálculos sem vetor de inicialização explícito, está disponível alternativamente a sobrecarga sem parâmetros Start() ([SWS_CRYPT_22111]).

Uso e concorrência

A chamada é síncrona e está especificada como thread-safe e exception safe ([SWS_CRYPT_22110]). Após uma chamada bem-sucedida, partes da mensagem podem ser passadas sucessivamente para o contexto por meio de Update ([SWS_CRYPT_22113]). Uma operação de streaming em andamento e ainda não concluída pode ser cancelada, se necessário, através de Cancel ([SWS_CRYPT_50027]).

Tratamento de erros

O método retorna um ara::core::Result<void> que possui semântica de rollback em caso de erro ([SWS_CRYPT_22110]). Os estados de erro possíveis são:

  • UninitializedContext: Nenhuma chave foi atribuída previamente ao contexto ([SWS_CRYPT_22110]).
  • ara::crypto::CryptoErrc::kEmptyKeySlot: Um KeySlot configurado está vazio ([SWS_CRYPT_22110]).
  • ara::crypto::CryptoErrc::kUsageViolation: As permissões da chave não contêm kAllowMac ([SWS_CRYPT_22110]).
  • ara::crypto::CryptoErrc::kInvalidInputSize: O tamanho de IV fornecido não é suportado ([SWS_CRYPT_22110]).
  • ara::crypto::CryptoErrc::kUnsupported: O streaming ou a definição de um IV não é suportado pelo algoritmo ou contexto ([SWS_CRYPT_22110]).
  • ara::crypto::CryptoErrc::kBusyResource: Um recurso necessário está ocupado ([SWS_CRYPT_22110]).

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

Guia do implementador em breve (complexidade I1)

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

Parameter (in)

ParameterBeschreibung
ivan Initialization Vector (IV) or "nonce" value

Rückgabewert

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

Fehler

FehlercodeBeschreibung
UninitializedContextif the context was not initialized by deploying a key
ara::crypto::CryptoErrc::kInvalidInputSizerollback_semantics if the size of provided IV is not supported
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the context does not support streaming or the algorithm does not support setting an IV
ara::crypto::CryptoErrc::kBusyResourcerollback_semantics a required resource is busy
ara::crypto::CryptoErrc::kEmptyKeySlotrollback_semantics if a KeySlot was configured that is currently is empty
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the key does not include kAllowMac

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

Record
AUTOSAR/AP/record/SWS_CRYPT_22110
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_22110@rel:R25-11#9fcca5b0
Content hash
9fcca5b0
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_22110
Status: valid/unmigrated Version: rel:R25-11#a5427060 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_22110@rel:R25-11#a5427060
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#ce38532b2026-09-30
  • R20-11rel:R20-11#15ffee6c2026-10-14
  • R21-11rel:R21-11#a3f8962f2026-10-14
  • R22-11rel:R22-11#fad6ef962026-10-14
  • R23-11rel:R23-11#765095392026-10-14
  • R24-11rel:R24-11#55625d952026-10-14
  • R25-11rel:R25-11#a54270602026-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 Start [SWS_CRYPT_22111] Upstream: RS_CRYPTO_02302

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

Initialize the context for a new MAC calculation.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 891e10477d9e 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 Start() inicializa uma instância de ara::crypto::cryp::MessageAuthnCodeCtx para um novo cálculo de MAC [SWS_CRYPT_22111]. A chamada não recebe parâmetros e retorna um ara::core::Result<void> [SWS_CRYPT_22111]. A execução deve ocorrer de forma síncrona, visto que um objeto de resultado é fornecido diretamente. Pergunta Q-1e6e36f4ed1176d3 (aberta)

Tratamento de erros e simultaneidade

Se ocorrer um erro na inicialização, a semântica de rollback entra em ação e um dos seguintes códigos de erro é retornado [SWS_CRYPT_22111]:

  • UninitializedContext: nenhuma chave foi atribuída previamente ao contexto [SWS_CRYPT_22111].
  • ara::crypto::CryptoErrc::kUnsupported: o contexto não suporta streaming ou o algoritmo exige obrigatoriamente um vetor de inicialização (IV) [SWS_CRYPT_22111].
  • ara::crypto::CryptoErrc::kBusyResource: um recurso necessário está ocupado [SWS_CRYPT_22111].
  • ara::crypto::CryptoErrc::kEmptyKeySlot: um KeySlot configurado está vazio [SWS_CRYPT_22111].
  • ara::crypto::CryptoErrc::kUsageViolation: a chave não permite cálculo de MAC sem kAllowMac definido [SWS_CRYPT_22111].

A função está especificada como segura para threads e segura contra exceções (exception safe) [SWS_CRYPT_22111].

Interação no fluxo de streaming

Se o algoritmo exigir um IV (por exemplo, GMAC), deve-se usar a sobrecarga Start(ReadOnlyMemRegion iv) em seu lugar [SWS_CRYPT_22110]. Após uma chamada bem-sucedida, dados de mensagem podem ser passados gradualmente via Update() [SWS_CRYPT_22113]. Uma operação de streaming ainda não concluída pode ser descartada através de Cancel() [SWS_CRYPT_50027].

Esta nota de uso foi gerada por um sistema de IA com base na especificação AUTOSAR.

Guia do implementador em breve (complexidade I1)

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

Rückgabewert

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

Fehler

FehlercodeBeschreibung
UninitializedContextif the context was not initialized by deploying a key
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the context does not support streaming or the algorithm requires setting an IV
ara::crypto::CryptoErrc::kBusyResourcerollback_semantics a required resource is busy
ara::crypto::CryptoErrc::kEmptyKeySlotrollback_semantics if a KeySlot was configured that is currently is empty
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the key does not include kAllowMac

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

Record
AUTOSAR/AP/record/SWS_CRYPT_22111
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_22111@rel:R25-11#fc35c2fe
Content hash
fc35c2fe
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_22111
Status: valid/unmigrated Version: rel:R25-11#7b2a29d5 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_22111@rel:R25-11#7b2a29d5
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#d8957c992026-09-30
  • R20-11rel:R20-11#93def7c72026-10-14
  • R21-11rel:R21-11#268430762026-10-14
  • R22-11rel:R22-11#55642f832026-10-14
  • R23-11rel:R23-11#8f849ff62026-10-14
  • R24-11rel:R24-11#fa181e4f2026-10-14
  • R25-11rel:R25-11#7b2a29d52026-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_22113] Upstream: RS_CRYPTO_02302

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

Update the MAC 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: 017c756799dd 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 Update do contexto ara::crypto::cryp::MessageAuthnCodeCtx serve para adicionar um fragmento adicional da mensagem de entrada ao cálculo em andamento de um Message Authentication Code (MAC) [SWS_CRYPT_22113]. A seção de dados a ser processada é passada através do parâmetro data na forma de uma ReadOnlyMemRegion. Como valor de retorno, a função fornece um ara::core::Result<void> que confirma o passo intermediário bem-sucedido ou, em caso de erro, esclarece a causa do erro [SWS_CRYPT_22113].

Tratamento de erros e simultaneidade

Em caso de erro, uma semântica de rollback é garantida, de modo que o estado de cálculo anterior permanece inalterado [SWS_CRYPT_22113]. Possíveis causas de erro são:

  • ara::crypto::CryptoErrc::kProcessingNotStarted: o cálculo não foi iniciado previamente pela chamada do método Start() [SWS_CRYPT_22113].
  • ara::crypto::CryptoErrc::kInvalidInputSize: o tamanho do bloco de dados passado não é suportado pelo contexto [SWS_CRYPT_22113].

O método está declarado como noexcept e especificado como seguro para threads e seguro contra exceções (exception safe) [SWS_CRYPT_22113].

Interação

Para evitar erros de buffer com ara::crypto::CryptoErrc::kInvalidInputSize, o tamanho máximo de entrada permitido para chamadas individuais pode ser consultado previamente por meio do método GetMaximumChunkSize() [SWS_CRYPT_50033]. Após o processamento sucessivo de todas as partes da mensagem, a interpretação sugere que o cálculo da tag de MAC seja tipicamente finalizado através do método Finish() [SWS_CRYPT_50033]. Pergunta Q-7f8eaf8ebbf30d55 (aberta)

Este texto foi gerado por uma IA com base na especificação AUTOSAR.

Header-Datei#include "ara/crypto/cryp/message_authn_code_ctx.h"
Scopeclass ara::crypto::cryp::MessageAuthnCodeCtx
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_22113
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_22113@rel:R25-11#6c4bdca2
Content hash
6c4bdca2
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_22113
Status: valid/unmigrated Version: rel:R25-11#36f72b69 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_22113@rel:R25-11#36f72b69
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#fa55dfba2026-09-30
  • R20-11rel:R20-11#f6d1433b2026-10-14
  • R21-11rel:R21-11#c608c8842026-10-14
  • R22-11rel:R22-11#a558bc872026-10-14
  • R23-11rel:R23-11#67ff09652026-10-14
  • R24-11rel:R24-11#8f531e602026-10-14
  • R25-11rel:R25-11#36f72b692026-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 Verify [SWS_CRYPT_50031] Upstream: RS_CRYPTO_02309

virtual ara::core::Result< bool > Verify (ReadOnlyMemRegion data, Read OnlyMemRegion expected, ara::core::Optional< ReadOnlyMemRegion > iv) const noexcept=0;

Calculate a MAC digest and compare the calculated MAC 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: 7407e2d0a067 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 Verify em ara::crypto::cryp::MessageAuthnCodeCtx ([SWS_CRYPT_50031]) serve para o cálculo síncrono de um digest de MAC através do buffer de entrada data e para a comparação direta com o valor esperado expected. Opcionalmente, pode ser passado um vetor de inicialização através de iv. Como resultado, a função fornece um ara::core::Result<bool>, o qual contém true quando o MAC calculado coincide com a sequência de bytes esperada; caso contrário, false.

Tratamento de erros

Se a verificação falhar por motivos sistémicos ou criptográficos, o método fornece um ara::core::Result com um código de erro correspondente ([SWS_CRYPT_50031]):

  • UninitializedContext: se o contexto não tiver sido inicializado previamente pela atribuição de uma chave.
  • ara::crypto::CryptoErrc::kEmptyKeySlot: se o KeySlot configurado estiver vazio.
  • ara::crypto::CryptoErrc::kUsageViolation: se a utilização permitida da chave não abranger kAllowMac.
  • ara::crypto::CryptoErrc::kInvalidInputSize: se o tamanho do buffer de data, expected ou iv for inadmissível.
  • ara::crypto::CryptoErrc::kUnsupported: se a execução em chamada única não for suportada ou a disponibilização do iv não corresponder aos requisitos do algoritmo.
  • ara::crypto::CryptoErrc::kBusyResource: em caso de conflitos de recursos.

Concorrência e interação

O método está especificado como thread-safe e exception safe ([SWS_CRYPT_50031]). Em caso de erro, aplica-se uma semântica de rollback. Ao contrário das verificações de assinatura assimétrica em ara::crypto::cryp::VerifierPublicCtx ([SWS_CRYPT_24112], [SWS_CRYPT_50024]), o Verify opera em contextos de MAC simétrico. O tamanho máximo de buffer processável numa única chamada presumivelmente deverá estar limitado pela implementação do contexto — de forma análoga à consulta de buffer em verificadores de assinatura ([SWS_CRYPT_50025]). Pergunta Q-51e7427e4e082881 (aberta)

Este texto foi gerado por uma IA com base na especificação AUTOSAR R25-11.

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

Parameter (in)

ParameterBeschreibung
datathe input data for the MAC
expectedthe expected MAC digest
ivan optional initialization vector

Rückgabewert

TypBeschreibung
ara::core::Result< bool >true if the calculated MAC equals the expected byte sequence, false otherwise.

Fehler

FehlercodeBeschreibung
UninitializedContextif the context was not initialized by deploying a key
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::kInvalidInputSizerollback_semantics if the size of the provided data, expected digest or IV is not supported
ara::crypto::CryptoErrc::kBusyResourcerollback_semantics a required resource is busy
ara::crypto::CryptoErrc::kEmptyKeySlotrollback_semantics if a KeySlot was configured that is currently is empty
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the key does not include kAllowMac

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50031
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50031@rel:R25-11#27e6a8be
Content hash
27e6a8be
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50031
Status: valid/unmigrated Version: rel:R25-11#36679231 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_50031@rel:R25-11#36679231
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 VerifySubspan [SWS_CRYPT_50032] Upstream: RS_CRYPTO_02309

virtual ara::core::Result< bool > VerifySubspan (ReadOnlyMemRegion data, ReadOnlyMemRegion expected, ara::core::Optional< ReadOnlyMem Region > iv) const noexcept=0;

Calculate a MAC digest and compare the most-significant bits of the calculated MAC 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: afcf3e6e2c9f Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

O método VerifySubspan da classe ara::crypto::cryp::MessageAuthnCodeCtx serve para o cálculo síncrono de um digest de MAC e a comparação subsequente de seus bits mais significativos com uma sequência de bytes esperada [SWS_CRYPT_50032]. Ele processa dados de entrada através de data, os bits mais significativos esperados através de expected e um vetor de inicialização opcional através de iv [SWS_CRYPT_50032]. O resultado é retornado como ara::core::Result<bool> e sinaliza true em caso de correspondência bem-sucedida; caso contrário, false [SWS_CRYPT_50032].

A interface é especificada como noexcept, é exception safe bem como thread-safe e aplica semântica de rollback em caso de falha [SWS_CRYPT_50032]. Chamadas com falha fornecem códigos de erro específicos no valor de retorno [SWS_CRYPT_50032]:

  • UninitializedContext: O contexto não foi previamente inicializado pela atribuição de uma chave [SWS_CRYPT_50032].
  • ara::crypto::CryptoErrc::kUsageViolation: o uso permitido da chave não inclui kAllowMac [SWS_CRYPT_50032].
  • ara::crypto::CryptoErrc::kEmptyKeySlot: Um KeySlot configurado está atualmente vazio [SWS_CRYPT_50032].
  • ara::crypto::CryptoErrc::kInvalidInputSize: O tamanho dos dados transmitidos, do valor de verificação esperado ou do IV não é suportado [SWS_CRYPT_50032].
  • ara::crypto::CryptoErrc::kUnsupported: A operação single-call não é suportada ou o fornecimento do IV contradiz os requisitos do contexto [SWS_CRYPT_50032].
  • ara::crypto::CryptoErrc::kBusyResource: um recurso necessário está ocupado [SWS_CRYPT_50032].

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

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

Parameter (in)

ParameterBeschreibung
datathe input data for the MAC
expectedthe expected most significant bits of the MAC digest
ivan optional initialization vector

Rückgabewert

TypBeschreibung
ara::core::Result< bool >true if the calculated MAC equals the expected byte sequence, false otherwise.

Fehler

FehlercodeBeschreibung
UninitializedContextif the context was not initialized by deploying a key
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::kInvalidInputSizerollback_semantics if the size of the provided data, expected digest or IV is not supported
ara::crypto::CryptoErrc::kBusyResourcerollback_semantics a required resource is busy
ara::crypto::CryptoErrc::kEmptyKeySlotrollback_semantics if a KeySlot was configured that is currently is empty
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the key does not include kAllowMac

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50032
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50032@rel:R25-11#2ebf5b03
Content hash
2ebf5b03
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50032
Status: valid/unmigrated Version: rel:R25-11#ff2bb246 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_50032@rel:R25-11#ff2bb246
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_22101] Upstream: RS_CRYPTO_02203

using Sptr = std::shared_ptr<MessageAuthnCodeCtx>;

Smart pointer of the interface.

Header-Datei#include "ara/crypto/cryp/message_authn_code_ctx.h"
Scopeclass ara::crypto::cryp::MessageAuthnCodeCtx
SymbolSptr

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

Record
AUTOSAR/AP/record/SWS_CRYPT_22101
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_22101@rel:R25-11#92680d1b
Content hash
92680d1b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_22101
Status: valid/unmigrated Version: rel:R25-11#3fbb9742 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_22101@rel:R25-11#3fbb9742
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#553114f32026-09-30
  • R19-11rel:R19-11#2bb7b6d02026-10-14
  • R20-11rel:R20-11#7e9953b02026-10-14
  • R21-11rel:R21-11#7e9953b02026-10-14
  • R22-11rel:R22-11#5e819bc12026-10-14
  • R23-11rel:R23-11#6def4d652026-10-14
  • R24-11rel:R24-11#6def4d652026-10-14
  • R25-11rel:R25-11#3fbb97422026-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