DEENESPTFRRUARHIKOZHNL

класс 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

Руководство пользователяСОЗДАНО ИИ

Служит для вычисления и верификации криптографических кодов аутентификации сообщений на основе ключа.
СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: b9d1594d1774 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Служит для вычисления и верификации криптографических кодов аутентификации сообщений на основе ключа.

Интерфейс обеспечивает вычисление и верификацию кодов аутентификации сообщений (Message Authentication Codes) на основе ключа для сообщений произвольной длины. После инициализации симметричным ключом через [SWS_CRYPT_22118] дайджесты MAC могут обрабатываться либо за один шаг, либо потоковым методом с помощью вызовов запуска, обновления и завершения. Полученный результат проверки можно затем запросить или напрямую сопоставить с требуемым значением. Все методы специфицированы как потокобезопасные и сигнализируют об ошибочных процессах или недостаточной емкости буфера через стандартизированные возвращаемые значения согласно [SWS_CRYPT_22116].

Контекст

Интерфейс MessageAuthnCodeCtx определяет криптографические операции для формирования и верификации кодов аутентификации сообщений на основе ключа (Message Authentication Codes, MAC). Он позволяет выполнять проверку подлинности и целостности произвольных объемов данных как через инкрементальные потоки данных, так и через отдельные непрерывные блоки памяти. Управление экземплярами осуществляется через предоставляемый тип интеллектуального указателя Sptr [SWS_CRYPT_22101].

В качестве центральных партнеров по взаимодействию выступают вызывающие компоненты приложения, а также ключевые объекты. Контекст может конфигурироваться либо напрямую с помощью объекта симметричного ключа SymmetricKey [SWS_CRYPT_22118], либо через логическое место хранения KeySlot [SWS_CRYPT_50026]. Передача данных осуществляется через буферные структуры, такие как ReadOnlyMemRegion для входных данных и ReadWriteMemRegion для вычисленных дайджестов MAC.

Жизненный цикл

Экземпляр контекста проходит определенную последовательность состояний от инициализации до предоставления результата MAC:

  • Uninitialized: после создания контекст еще не содержит ключа и отклоняет вызовы вычислений.
  • Configured: вызовом SetKey() с ключом [SWS_CRYPT_22118] или хранилищем ключей [SWS_CRYPT_50026] контекст инициализируется. В этом состоянии могут выполняться методы одиночного вызова (Single-Call) или запускаться потоковый сеанс.
  • Processing: вызов Start() без вектора инициализации [SWS_CRYPT_22111] или с IV [SWS_CRYPT_22110] открывает потоковую обработку. С помощью повторяющегося Update() [SWS_CRYPT_22113] подаются блоки данных. Прерывание возможно через Cancel() [SWS_CRYPT_50027].
  • Finished: метод Finish() [SWS_CRYPT_22115] завершает вычисление. Впоследствии результат может быть запрошен или сопоставлен.

Интерпретация: после завершения или прерывания контекст, по-видимому, остается в сконфигурированном состоянии и может повторно использоваться для новых операций. Вопрос Q-b61229b77ae88ab0 (открытый) Все методы интерфейса специфицированы как потокобезопасные и бессбойные (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()

Диаграмма состояний: жизненный цикл и переходы состояний контекста MAC. Источники: [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]

Путь использования

Интерфейс поддерживает два типичных сценария использования: инкрементальный потоковый режим и обработку одиночным вызовом.

В потоковом сценарии вызывающая сторона сначала привязывает ключ через SetKey() [SWS_CRYPT_22118]. До начала можно запросить параметры алгоритма, такие как рекомендуемый размер IV через GetRecommendedIvSize() [SWS_CRYPT_50135], а также максимальный размер фрагмента через GetMaximumChunkSize() [SWS_CRYPT_50033]. После вызова Start() [SWS_CRYPT_22110] фрагменты сообщения последовательно обрабатываются с помощью Update() [SWS_CRYPT_22113]. Как только все данные переданы, Finish() завершает вычисление [SWS_CRYPT_22115]. Сформированный дайджест затем копируется с помощью GetDigest() в буфер [SWS_CRYPT_22116], минимальный размер которого может быть предварительно определен через GetDigestSize() [SWS_CRYPT_50134]. В качестве альтернативы Compare() [SWS_CRYPT_50133] или CompareSubspan() [SWS_CRYPT_50028] позволяет выполнить прямое сопоставление с ожидаемым эталонным значением.

Потоковое вычисление Message Authentication CodeПриложениеMessageAuthnCodeCtxSetKey(key)Result<void>Start(iv)Result<void>loopДля каждого блока данныхUpdate(chunk)Result<void>Finish()Result<void>GetDigest(digest)Result<size_t>

Диаграмма последовательности: процесс инкрементального вычисления MAC в потоковом режиме. Источники: [SWS_CRYPT_22118], [SWS_CRYPT_22110], [SWS_CRYPT_22113], [SWS_CRYPT_22115], [SWS_CRYPT_22116]

Если все сообщение уже доступно целиком, вычисление может выполняться без потокового режима через Generate() [SWS_CRYPT_50029] или в усеченном виде через GenerateSubspan() [SWS_CRYPT_50030] за один шаг. Для верификации аналогично доступны методы Verify() [SWS_CRYPT_50031] и VerifySubspan() [SWS_CRYPT_50032].

Сценарии ошибок

Ошибки сигнализируются через возвращаемый тип ara::core::Result и охватывают следующие причины:

  • Ошибки состояния: вызов Start(), Generate() или Verify() без сконфигурированного ключа завершается сбоем с kUninitializedContext [SWS_CRYPT_22110] [SWS_CRYPT_50029]. Вызовы Update(), Finish() или Cancel() без предварительного запуска возвращают kProcessingNotStarted [SWS_CRYPT_22113] [SWS_CRYPT_22115] [SWS_CRYPT_50027]. Доступ к результату до завершения возвращает kProcessingNotFinished [SWS_CRYPT_22116] [SWS_CRYPT_50133].
  • Ошибки ключей и прав доступа: если переданный ключ несовместим с контекстом, возникает kIncompatibleObject [SWS_CRYPT_22118] [SWS_CRYPT_50026]. Если у ключа отсутствует полномочие kAllowMac, это приводит к kUsageViolation [SWS_CRYPT_22118] [SWS_CRYPT_22110]. Если конфигурация указывает на пустой KeySlot, возвращается kEmptyKeySlot [SWS_CRYPT_22110].
  • Ошибки параметров и буфера: слишком малый выходной буфер отклоняется с kInsufficientCapacity [SWS_CRYPT_22116] [SWS_CRYPT_50029]. Неподдерживаемые длины входных данных или IV приводят к kInvalidInputSize [SWS_CRYPT_22113] [SWS_CRYPT_50133]. Если режимы или конфигурации IV не поддерживаются алгоритмом, результатом становится kUnsupported [SWS_CRYPT_22110] [SWS_CRYPT_50029]. Занятые криптографические аппаратные ресурсы возвращаются как kBusyResource [SWS_CRYPT_22110].

Настоящее руководство по классу основано на спецификации AUTOSAR Adaptive R25-11 для модуля crypto.

Карта членов

Диаграмма классов

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

Подробный вид

Выберите элемент в оглавлении.

Методы

Cancel функция

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 функция

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;
CompareSubspan функция

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 функция

Finish the MAC calculation.

virtual ara::core::Result< void > Finish () noexcept=0;
Generate функция

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;
GenerateSubspan функция

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 функция

Write the calculated MAC digest into the provided output buffer.

virtual ara::core::Result< std::size_t > GetDigest (ReadWriteMemRegion digest) const noexcept=0;
GetDigestSize функция

Get the output digest size.

virtual ara::core::Result< std::size_t > GetDigestSize () const noexcept=0;
GetMaximumChunkSize функция

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;
GetRecommendedIvSize функция

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 функция 2

Configure the context to use the provided key.

Перегрузки 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 функция 2

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

Перегрузки 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 функция

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

virtual ara::core::Result< void > Update (ReadOnlyMemRegion data) noexcept=0;
Verify функция

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 функция

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;

Псевдонимы типов

Sptr псевдоним типа

Smart pointer of the interface.

Документация методов

функция 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.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 53954aee5980 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Чисто виртуальный метод Cancel служит в интерфейсе ara::crypto::cryp::MessageAuthnCodeCtx для отмены текущей, ранее инициированной с помощью Start() и еще не завершенной потоковой операции [SWS_CRYPT_50027]. Вызов выполняется синхронно, не принимает входных параметров и в случае успеха возвращает пустой ara::core::Result<void>, подтверждающий успешную отмену операции [SWS_CRYPT_50027].

Если обработка данных перед вызовом не была надлежащим образом начата с помощью метода Start(), выполнение завершается ошибкой. В этом случае функция возвращает результат со специфическим кодом ошибки ara::crypto::CryptoErrc::kProcessingNotStarted с обеспечением семантики отката (rollback) [SWS_CRYPT_50027]. С точки зрения безопасности выполнения интерфейс специфицирован как потокобезопасный (thread-safe) и гарантирует безопасность исключений (exception safe), так как он объявлен как noexcept и не генерирует исключений [SWS_CRYPT_50027].

Идентичное поведение при отмене еще не завершенных потоковых обработок характерно для всех связанных контекстных интерфейсов криптографического модуля:

  • VerifierPublicCtx для проверки цифровых подписей [SWS_CRYPT_50023],
  • SignerPrivateCtx для формирования цифровых подписей [SWS_CRYPT_50041],
  • SymmetricCipherCtx для симметричного шифрования [SWS_CRYPT_50046],
  • HashFunctionCtx для вычисления хеш-значений [SWS_CRYPT_50058],
  • DecryptorPrivateCtx для асимметричного расшифрования [SWS_CRYPT_50069],
  • AuthCipherCtx для аутентифицированного шифрования [SWS_CRYPT_50077], а также
  • EncryptorPublicCtx для асимметричного шифрования [SWS_CRYPT_50089].

Интерпретация: благодаря отмене незавершенной операции контекст, по-видимому, возвращается в исходное очищенное состояние, допускающее последующую повторную инициализацию через Start(). Вопрос Q-a8fa5cb85c3dab50 (открытый)

Это указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR Adaptive R25-11.

Руководство разработчика реализации в подготовке (сложность 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#a44ea0ea
Content hash
a44ea0ea
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

функция 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.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 9af675c314c3 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование

Чисто виртуальный метод Compare класса ara::crypto::cryp::MessageAuthnCodeCtx служит для сопоставления размера и содержимого вычисленного Message Authentication Code (MAC) с ожидаемым дайджестом [SWS_CRYPT_50133]. В качестве параметра ожидаемый MAC-дайджест передается через ReadOnlyMemRegion expected. Функция возвращает ara::core::Result<bool>, содержащий true, если вычисленное значение MAC точно совпадает с ожидаемым значением, и false в противном случае [SWS_CRYPT_50133].

Обработка ошибок

В случае ошибки в объекте результата возвращается код ошибки, при этом действует семантика отката [SWS_CRYPT_50133]:

  • ara::crypto::CryptoErrc::kProcessingNotFinished: возвращается, если вычисление дайджеста предварительно не было завершено вызовом метода Finish() [SWS_CRYPT_50133].
  • ara::crypto::CryptoErrc::kInvalidInputSize: возникает, если переданный размер буфера ожидаемого MAC-дайджеста не поддерживается контекстом [SWS_CRYPT_50133].

Параллелизм и ограничения

Метод объявлен как const, а также noexcept и в соответствии со спецификацией является потокобезопасным (thread-safe), а также безопасным относительно исключений (exception safe) [SWS_CRYPT_50133]. Существенным предварительным условием является предварительно успешно завершенное вычисление дайджеста через Finish() [SWS_CRYPT_50133].

Взаимодействие

В отличие от Compare, который проверяет полное совпадение всего MAC-дайджеста [SWS_CRYPT_50133], CompareSubspan в том же контексте сравнивает с ожидаемым значением только старшие биты (most significant bits) [SWS_CRYPT_50028]. Для неключевых хэш-функций существует одноименная функция Compare в ara::crypto::cryp::HashFunctionCtx [SWS_CRYPT_50154].

Это указание по использованию было сгенерировано автоматически на основе спецификации 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#617a4df8
Content hash
617a4df8
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

функция 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.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 4c36a4e7dbbc Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Синхронный метод CompareSubspan класса ara::crypto::cryp::MessageAuthnCodeCtx сопоставляет наиболее значимые биты (Most Significant Bits) вычисленного значения MAC с заданной эталонной последовательностью [SWS_CRYPT_50028]. Ожидаемое значение для сравнения передается через параметр expected как ReadOnlyMemRegion [SWS_CRYPT_50028]. Результат возвращается как ara::core::Result<bool> и содержит true при идентичности старших битов, а также false при расхождениях [SWS_CRYPT_50028].

Обработка ошибок и условия выполнения

Для корректного сравнения вычисление контрольного значения должно быть завершено. Если предшествующий вызов метода Finish() отсутствует, вызов завершается с кодом ошибки ara::crypto::CryptoErrc::kProcessingNotFinished [SWS_CRYPT_50028]. Если размер буфера переданного параметра expected недопустим для используемого метода, метод сообщает ara::crypto::CryptoErrc::kInvalidInputSize [SWS_CRYPT_50028]. Оба типа ошибок гарантируют семантику отката [SWS_CRYPT_50028].

Параллелизм и контекст выполнения

Операция специфицирована как noexcept (exception-safe) и классифицирована как thread-safe [SWS_CRYPT_50028]. Интерпретация: заявленная потокобезопасность, вероятно, относится к состоянию после выполнения Finish(), так что несколько потоков могут параллельно верифицировать один и тот же вычисленный дайджест. Вопрос Q-ac8b7ead6a5b508e (открытый)

Это указание по использованию было автоматически сгенерировано на основе спецификации 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#7887a184
Content hash
7887a184
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

функция Finish [SWS_CRYPT_22115] Upstream: RS_CRYPTO_02302, RS_CRYPTO_02203

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

Finish the MAC calculation.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 9113df4242ca Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Метод Finish() в обязательном порядке завершает текущее вычисление Message Authentication Code (MAC) в рамках интерфейса MessageAuthnCodeCtx [SWS_CRYPT_22115]. Вызов выполняется синхронно, не принимает параметров и возвращает ara::core::Result<void>, что в штатном успешном случае представляет собой пустой результат [SWS_CRYPT_22115].

В случае ошибки функция возвращает код ошибки ara::crypto::CryptoErrc::kProcessingNotStarted, если вычисление MAC не было успешно запущено до вызова; при этом действует семантика отката [SWS_CRYPT_22115]. Операция объявлена как noexcept и согласно спецификации специфицирована как безопасная относительно исключений (exception safe), так и потокобезопасная (thread-safe) [SWS_CRYPT_22115].

В процессе обработки Finish() образует связующее звено между обработкой данных и оценкой: после вызова сгенерированный MAC-дайджест может быть передан через GetDigest() в предоставленный буфер [SWS_CRYPT_22116] или непосредственно верифицирован относительно эталонного значения с помощью CompareSubspan() [SWS_CRYPT_50028]. В то время как GetMaximumChunkSize() [SWS_CRYPT_50033] обобщенно описывает размеры буфера для Update() или Finish(), Finish() здесь не обрабатывает данные напрямую; его упоминание в требовании, вероятно, отражает единый шаблон для всех криптографических контекстов. Вопрос Q-79b4f4ecf3998e48 (открытый)

Данное указание по использованию сгенерировано автоматически на основе спецификации 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#c452afd9
Content hash
c452afd9
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

функция 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.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 1f27dd6e39dc Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Синхронная функция-член Generate класса ara::crypto::cryp::MessageAuthnCodeCtx служит согласно [SWS_CRYPT_50029] для вычисления Message Authentication Code (MAC) за один шаг и записывает вычисленный дайджест в предоставленный выходной буфер.

Для вызова передаются следующие параметры:

  • data: входные данные для вычисления MAC в виде ReadOnlyMemRegion.
  • digest: целевая область памяти типа ReadWriteMemRegion, в которую записывается дайджест.
  • iv: опциональный вектор инициализации в виде ara::core::Optional<ReadOnlyMemRegion>.

В случае успеха функция возвращает ara::core::Result<std::size_t>, содержащий размер записанного MAC-дайджеста в байтах [SWS_CRYPT_50029].

При возникновении ошибки возвращается код ошибки с семантикой отката [SWS_CRYPT_50029]:

  • UninitializedContext: контекст еще не был инициализирован путем назначения ключа.
  • ara::crypto::CryptoErrc::kUsageViolation: используемый ключ не имеет требуемого флага использования kAllowMac. Интерпретация: подходящий симметричный ключ предположительно должен быть предварительно создан и сконфигурирован через GenerateSymmetricKey [SWS_CRYPT_20721]. Вопрос Q-d22f397bbc02487b (открытый)
  • ara::crypto::CryptoErrc::kEmptyKeySlot: Сконфигурированный KeySlot в данный момент пуст.
  • ara::crypto::CryptoErrc::kUnsupported: обработка за один вызов не поддерживается или указание вектора инициализации не соответствует требованиям алгоритма (IV отсутствует или указан недопустимо).
  • ara::crypto::CryptoErrc::kInvalidInputSize: размер буфера входных данных или IV не поддерживается.
  • ara::crypto::CryptoErrc::kInsufficientCapacity: целевой буфер digest слишком мал для MAC-дайджеста.
  • ara::crypto::CryptoErrc::kBusyResource: необходимый системный ресурс занят.

В отношении параллелизма метод специфицирован как thread-safe и exception safe [SWS_CRYPT_50029]. Он объявлен как const noexcept и не изменяет состояние контекста при выполнении.

Это указание по использованию создано автоматически и опирается на спецификацию AUTOSAR Adaptive релиза 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#0856fcdb
Content hash
0856fcdb
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

функция 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.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 9f5519d31718 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Метод GenerateSubspan класса ara::crypto::cryp::MessageAuthnCodeCtx за один шаг вычисляет код аутентификации сообщений (MAC) для входных данных data и записывает начало (наиболее значащие байты, MSB) вычисленного дайджеста в выходной буфер truncatedDigest [SWS_CRYPT_50030]. Через необязательный параметр iv при необходимости может быть передан вектор инициализации [SWS_CRYPT_50030]. Прямой возврат ara::core::Result<std::size_t>, вероятно, указывает на синхронное выполнение; при успешном выполнении возвращается количество записанных байтов дайджеста MAC [SWS_CRYPT_50030]. Вопрос Q-167c6d44b9f39fed (открытый)

Спецификация определяет для случая ошибки семантику отката и предусматривает следующие коды ошибок [SWS_CRYPT_50030]:

  • UninitializedContext: Контекст не был предварительно инициализирован назначением ключа [SWS_CRYPT_50030].
  • ara::crypto::CryptoErrc::kEmptyKeySlot: Сконфигурированный KeySlot в данный момент пуст [SWS_CRYPT_50030].
  • ara::crypto::CryptoErrc::kUsageViolation: разрешенное использование ключа не включает kAllowMac [SWS_CRYPT_50030].
  • ara::crypto::CryptoErrc::kUnsupported: одношаговая обработка не поддерживается или конфигурация IV не соответствует контексту (требуемый IV отсутствует либо передан недопустимый IV) [SWS_CRYPT_50030].
  • ara::crypto::CryptoErrc::kInvalidInputSize: размер переданных данных data или iv не поддерживается [SWS_CRYPT_50030].
  • ara::crypto::CryptoErrc::kBusyResource: необходимый ресурс занят [SWS_CRYPT_50030].

Что касается среды выполнения, метод специфицирован как потокобезопасный и обеспечивает безопасность исключений (noexcept) [SWS_CRYPT_50030]. Необходимым условием для безошибочного вызова является предварительное предоставление ключа с соответствующими правами в контексте [SWS_CRYPT_50030].

Этот текст сгенерирован ИИ и служит в качестве ориентира. Определяющей является официальная спецификация 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#740652b8
Content hash
740652b8
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

функция 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#655cd807
Content hash
655cd807
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

функция 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#26436a03
Content hash
26436a03
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

функция 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#f0666000
Content hash
f0666000
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

функция 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#b6efcea8
Content hash
b6efcea8
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

функция 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.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: c93b5656f1ba Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Метод SetKey конфигурирует экземпляр ara::crypto::cryp::MessageAuthnCodeCtx для последующего вычисления MAC с предоставленным симметричным ключом [SWS_CRYPT_22118]. Вызов выполняется синхронно и принимает объект ключа в виде смарт-указателя SymmetricKey::Sptr. В качестве результата функция возвращает ara::core::Result<void>, который пуст в случае успеха или инкапсулирует специфический код ошибки в случае ошибки [SWS_CRYPT_22118].

Если назначение завершается сбоем, вступает в силу семантика отката, сохраняющая предыдущее состояние контекста [SWS_CRYPT_22118]. Специфицированы следующие состояния ошибок из ara::crypto::CryptoErrc:

  • kUnsupported: контекст поддерживает привязку исключительно через KeySlot вместо прямых объектов ключей [SWS_CRYPT_22118].
  • kIncompatibleObject: переданный объект симметричного ключа несовместим с целевым контекстом [SWS_CRYPT_22118].
  • kUsageViolation: флаги полномочий ключа не содержат обязательно требуемого использования kAllowMac [SWS_CRYPT_22118].

С точки зрения безопасности выполнения интерфейс определен как thread-safe и exception safe (с noexcept) [SWS_CRYPT_22118]. Во взаимодействии с управлением ключами он представляет собой прямой аналог назначения на основе слотов: если реализация или сценарий использования поддерживает применение постоянных (персистентных) слотов, вместо этого используется перегрузка для KeySlot::Sptr [SWS_CRYPT_50026].

Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR R25-11.

Руководство разработчика реализации в подготовке (сложность 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#233f783e
Content hash
233f783e
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

функция 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.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 0efaaf10920d Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование

Виртуальная функция-член SetKey интерфейса ara::crypto::cryp::MessageAuthnCodeCtx из заголовочного файла ara/crypto/cryp/message_authn_code_ctx.h конфигурирует контекст для вычисления или проверки Message Authentication Code (MAC) [SWS_CRYPT_50026]. В качестве параметра синхронный метод принимает смарт-указатель keySlot типа KeySlot::Sptr, предоставляющий симметричный ключ, и возвращает ara::core::Result<void> [SWS_CRYPT_50026]. Привязка ключа семантически отложена: сохранённый в слоте ключ привлекается только в тот момент, когда вычисление MAC фактически запускается [SWS_CRYPT_50026]. Интерпретация: последующие обновления содержимого слота вплоть до запуска вычисления, таким образом, должны оставаться действенными. Вопрос Q-d1886811d8af71e3 (открытый)

Параллелизм и надёжность выполнения

Интерфейс определён как noexcept, обеспечивает безопасность исключений (exception safe) и явно специфицирован для параллельного вызова (thread-safe) [SWS_CRYPT_50026].

Обработка ошибок и взаимодействие

В случае ошибки метод гарантирует строгую семантику отката, благодаря чему полностью сохраняется предыдущее состояние контекста [SWS_CRYPT_50026]. В объекте результата могут возникать следующие коды ошибок:

  • ara::crypto::CryptoErrc::kIncompatibleObject: переданный KeySlot несовместим с этим контекстом симметричного ключа [SWS_CRYPT_50026].
  • ara::crypto::CryptoErrc::kUnsupported: конкретная реализация контекста не поддерживает установку через KeySlot [SWS_CRYPT_50026]. В этом случае альтернативно необходимо использовать перегрузку SetKey(SymmetricKey::Sptr) для прямой передачи ключа [SWS_CRYPT_22118].

Это указание по использованию было создано автоматически на основе данных спецификации.

Руководство разработчика реализации в подготовке (сложность 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#f6f0c434
Content hash
f6f0c434
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

функция 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)

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 42d35ba25b44 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Метод Start из ara::crypto::cryp::MessageAuthnCodeCtx инициализирует контекст для нового вычисления MAC и при этом задает вектор инициализации или значение nonce через параметр iv ([SWS_CRYPT_22110]). Это применяется, например, в таких алгоритмах, как GMAC ([SWS_CRYPT_22110]). Для вычислений без явного вектора инициализации в качестве альтернативы доступна перегрузка без параметров Start() ([SWS_CRYPT_22111]).

Использование и параллелизм

Вызов происходит синхронно и специфицирован как thread-safe, а также exception safe ([SWS_CRYPT_22110]). После успешного вызова контексту можно последовательно передавать части сообщения с помощью Update ([SWS_CRYPT_22113]). Выполняющуюся, еще не завершенную потоковую операцию при необходимости можно прервать через Cancel ([SWS_CRYPT_50027]).

Обработка ошибок

Метод возвращает ara::core::Result<void>, имеющий семантику отката (rollback) в случае ошибки ([SWS_CRYPT_22110]). Возможными состояниями ошибки являются:

  • UninitializedContext: Контексту предварительно не был назначен ключ ([SWS_CRYPT_22110]).
  • ara::crypto::CryptoErrc::kEmptyKeySlot: Сконфигурированный KeySlot пуст ([SWS_CRYPT_22110]).
  • ara::crypto::CryptoErrc::kUsageViolation: Права ключа не содержат kAllowMac ([SWS_CRYPT_22110]).
  • ara::crypto::CryptoErrc::kInvalidInputSize: Переданный размер IV не поддерживается ([SWS_CRYPT_22110]).
  • ara::crypto::CryptoErrc::kUnsupported: Потоковая обработка или установка IV не поддерживается алгоритмом либо контекстом ([SWS_CRYPT_22110]).
  • ara::crypto::CryptoErrc::kBusyResource: Необходимый ресурс занят ([SWS_CRYPT_22110]).

Это указание по использованию было сгенерировано ИИ на основе спецификации AUTOSAR R25-11.

Руководство разработчика реализации в подготовке (сложность 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#dc3983b5
Content hash
dc3983b5
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

функция Start [SWS_CRYPT_22111] Upstream: RS_CRYPTO_02302

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

Initialize the context for a new MAC calculation.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 891e10477d9e Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование

Метод Start() инициализирует экземпляр ara::crypto::cryp::MessageAuthnCodeCtx для нового вычисления MAC [SWS_CRYPT_22111]. Вызов не принимает параметров и возвращает ara::core::Result<void> [SWS_CRYPT_22111]. Выполнение, вероятно, происходит синхронно, так как объект результата предоставляется напрямую. Вопрос Q-1e6e36f4ed1176d3 (открытый)

Обработка ошибок и параллелизм

Если при инициализации возникает ошибка, срабатывает семантика отката и возвращается один из следующих кодов ошибок [SWS_CRYPT_22111]:

  • UninitializedContext: контексту предварительно не был назначен ключ [SWS_CRYPT_22111].
  • ara::crypto::CryptoErrc::kUnsupported: контекст не поддерживает потоковый режим (streaming) или алгоритм строго требует вектор инициализации (IV) [SWS_CRYPT_22111].
  • ara::crypto::CryptoErrc::kBusyResource: необходимый ресурс занят [SWS_CRYPT_22111].
  • ara::crypto::CryptoErrc::kEmptyKeySlot: сконфигурированный KeySlot пуст [SWS_CRYPT_22111].
  • ara::crypto::CryptoErrc::kUsageViolation: ключ не разрешает вычисление MAC без установленного kAllowMac [SWS_CRYPT_22111].

Функция специфицирована как потокобезопасная и безопасная относительно исключений (exception safe) [SWS_CRYPT_22111].

Взаимодействие в потоковом процессе

Если алгоритм требует IV (например, GMAC), вместо этого должна использоваться перегрузка Start(ReadOnlyMemRegion iv) [SWS_CRYPT_22110]. После успешного вызова данные сообщения могут передаваться пошагово через Update() [SWS_CRYPT_22113]. Еще не завершенную потоковую операцию можно сбросить через Cancel() [SWS_CRYPT_50027].

Данное указание по использованию было сгенерировано системой ИИ на основе спецификации AUTOSAR.

Руководство разработчика реализации в подготовке (сложность 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#34c6d16d
Content hash
34c6d16d
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

функция 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.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 017c756799dd Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование

Синхронный метод Update контекста ara::crypto::cryp::MessageAuthnCodeCtx служит для дополнения текущего вычисления Message Authentication Code (MAC) очередным фрагментом входного сообщения [SWS_CRYPT_22113]. Обрабатываемый фрагмент данных передается через параметр data в форме ReadOnlyMemRegion. В качестве возвращаемого значения функция возвращает ara::core::Result<void>, которое либо подтверждает успешный промежуточный шаг, либо в случае ошибки дает информацию о ее причине [SWS_CRYPT_22113].

Обработка ошибок и параллелизм

В случае ошибки гарантируется семантика отката, так что предыдущее состояние вычисления остается неизменным [SWS_CRYPT_22113]. Возможные причины ошибок:

  • ara::crypto::CryptoErrc::kProcessingNotStarted: вычисление предварительно не было инициировано вызовом метода Start() [SWS_CRYPT_22113].
  • ara::crypto::CryptoErrc::kInvalidInputSize: размер переданного блока данных не поддерживается контекстом [SWS_CRYPT_22113].

Метод объявлен как noexcept, а также специфицирован как потокобезопасный и безопасный относительно исключений (exception safe) [SWS_CRYPT_22113].

Взаимодействие

Чтобы избежать ошибок буфера с ara::crypto::CryptoErrc::kInvalidInputSize, максимально допустимый размер входных данных для отдельных вызовов можно предварительно запросить через метод GetMaximumChunkSize() [SWS_CRYPT_50033]. После последовательной обработки всех частей сообщения вычисление MAC-тега, согласно интерпретации, обычно завершается с помощью метода Finish() [SWS_CRYPT_50033]. Вопрос Q-7f8eaf8ebbf30d55 (открытый)

Этот текст был сгенерирован ИИ на основе спецификации 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#fd283cbd
Content hash
fd283cbd
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

функция 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.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 7407e2d0a067 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование

Метод Verify в ara::crypto::cryp::MessageAuthnCodeCtx ([SWS_CRYPT_50031]) служит для синхронного вычисления MAC-дайджеста по входному буферу data и прямого сравнения с ожидаемым значением expected. Опционально через iv может быть передан вектор инициализации. В качестве результата функция возвращает ara::core::Result<bool>, который содержит true, если вычисленный MAC совпадает с ожидаемой последовательностью байтов, и false в противном случае.

Обработка ошибок

Если верификация завершается сбоем по системным или криптографическим причинам, метод возвращает ara::core::Result с соответствующим кодом ошибки ([SWS_CRYPT_50031]):

  • UninitializedContext: если контекст не был предварительно инициализирован путем назначения ключа.
  • ara::crypto::CryptoErrc::kEmptyKeySlot: если сконфигурированный KeySlot пуст.
  • ara::crypto::CryptoErrc::kUsageViolation: если разрешенное использование ключа не включает kAllowMac.
  • ara::crypto::CryptoErrc::kInvalidInputSize: если размер буфера data, expected или iv недопустим.
  • ara::crypto::CryptoErrc::kUnsupported: если выполнение за один вызов не поддерживается или предоставление iv не соответствует требованиям алгоритма.
  • ara::crypto::CryptoErrc::kBusyResource: при конфликтах ресурсов.

Параллелизм и взаимодействие

Метод специфицирован как thread-safe и exception safe ([SWS_CRYPT_50031]). В случае ошибки действует семантика отката. В отличие от асимметричных проверок подписи в ara::crypto::cryp::VerifierPublicCtx ([SWS_CRYPT_24112], [SWS_CRYPT_50024]), Verify работает с симметричными контекстами MAC. Максимальный размер буфера, обрабатываемый за один вызов, вероятно, ограничен реализацией контекста — аналогично запросу буфера у верификаторов подписи ([SWS_CRYPT_50025]). Вопрос Q-51e7427e4e082881 (открытый)

Этот текст был сгенерирован ИИ на основе спецификации 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#06bbadd3
Content hash
06bbadd3
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

функция 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.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: afcf3e6e2c9f Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Метод VerifySubspan класса ara::crypto::cryp::MessageAuthnCodeCtx служит для синхронного вычисления дайджеста MAC и последующего сравнения его наиболее значащих битов с ожидаемой последовательностью байтов [SWS_CRYPT_50032]. Он обрабатывает входные данные через data, ожидаемые старшие биты через expected, а также необязательный вектор инициализации через iv [SWS_CRYPT_50032]. Результат возвращается как ara::core::Result<bool> и при успешном совпадении сигнализирует true, а иначе — false [SWS_CRYPT_50032].

Интерфейс специфицирован как noexcept, является exception safe, а также thread-safe и применяет семантику отката в случае ошибки [SWS_CRYPT_50032]. Неудачные вызовы возвращают специфические коды ошибок в возвращаемом значении [SWS_CRYPT_50032]:

  • UninitializedContext: контекст ранее не был инициализирован назначением ключа [SWS_CRYPT_50032].
  • ara::crypto::CryptoErrc::kUsageViolation: допустимое использование ключа не включает kAllowMac [SWS_CRYPT_50032].
  • ara::crypto::CryptoErrc::kEmptyKeySlot: Сконфигурированный KeySlot в данный момент пуст [SWS_CRYPT_50032].
  • ara::crypto::CryptoErrc::kInvalidInputSize: размер переданных данных, ожидаемого контрольного значения или IV не поддерживается [SWS_CRYPT_50032].
  • ara::crypto::CryptoErrc::kUnsupported: операция single-call не поддерживается или предоставление IV противоречит требованиям контекста [SWS_CRYPT_50032].
  • ara::crypto::CryptoErrc::kBusyResource: необходимый ресурс занят [SWS_CRYPT_50032].

Это указание по использованию было сгенерировано автоматически на основе спецификации.

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#4518a50f
Content hash
4518a50f
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

Документация псевдонимов типов

псевдоним типа 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#eb3ff4df
Content hash
eb3ff4df
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