DEENESPTFRRUARHIKOZHNL

класс ara::crypto::cryp::SymmetricCipherCtx

[SWS_CRYPT_50136] Upstream: RS_CRYPTO_02201

class SymmetricCipherCtx :           public CryptoContext {...};

Interface for Symmetric Cipher Operations.

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

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

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

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

Класс ara::crypto::cryp::SymmetricCipherCtx служит потокобезопасным интерфейсом для операций симметричного шифрования и расшифрования в AUTOSAR Adaptive [SWS_CRYPT_50044]. После конфигурирования ключа через SetKey() данные могут обрабатываться либо в рамках одиночного вызова, либо пошагово в потоковом цикле из Start(), Update() и Finish() [SWS_CRYPT_50138], [SWS_CRYPT_50139]. Все методы специфицированы как noexcept и сигнализируют об ошибках, таких как отсутствие инициализации или слишком малый размер буфера, через ara::core::Result [SWS_CRYPT_50140].

Контекст

Интерфейс ara::crypto::cryp::SymmetricCipherCtx инкапсулирует симметричные криптографические преобразования, охватывающие как операции шифрования, так и расшифрования. Внутри криптографической архитектуры класс действует как контекст выполнения для симметричных алгоритмов и взаимодействует с объектами ключей, а также буферами памяти. Для конфигурирования криптографического ключа класс взаимодействует либо напрямую с временными ключами через SymmetricKey [SWS_CRYPT_50138], либо с постоянными или изолированно управляемыми ключами через KeySlot [SWS_CRYPT_50043]. Подлежащие обработке открытые и зашифрованные тексты, а также векторы инициализации (IV) передаются и принимаются через области памяти типа ReadOnlyMemRegion и ReadWriteMemRegion [SWS_CRYPT_50048], [SWS_CRYPT_50049].

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

Жизненный цикл и отношения владения интерфейса управляются преимущественно через типизированный псевдоним интеллектуального указателя Sptr (std::shared_ptr<SymmetricCipherCtx>) [SWS_CRYPT_50137]. Предоставление конкретного экземпляра на практике, вероятно, осуществляется через вышестоящий криптографический фабричный метод (интерпретация), поскольку само определение интерфейса не содержит функций создания. Вопрос Q-5b5f5ffdf964c91f (открытый)

После инстанциации контекст проходит несколько рабочих фаз:

  • Не инициализирован: непосредственно после инстанциации контексту не сопоставлен ключ. Любой вызов обработки в этой фазе приводит к ошибке CryptoErrc::kUninitializedContext [SWS_CRYPT_50044], [SWS_CRYPT_50047].
  • Инициализирован / ключ привязан: путем вызова SetKey() с SymmetricKey [SWS_CRYPT_50138] или KeySlot [SWS_CRYPT_50043] контекст становится готовым к использованию. Из этого состояния можно либо выполнять операции без сохранения состояния в режиме одиночного вызова, либо запускать процесс потоковой обработки с сохранением состояния.
  • Потоковая обработка: вызов Start() запускает пошаговое преобразование [SWS_CRYPT_50044], [SWS_CRYPT_23625]. В этой фазе данные могут преобразовываться через Update() [SWS_CRYPT_50139], а позиция может изменяться через Seek() [SWS_CRYPT_23613]. Состояние потоковой обработки штатно завершается с помощью Finish() [SWS_CRYPT_50045] либо FinishEncrypt() [SWS_CRYPT_23618] или преждевременно отбрасывается через Cancel() [SWS_CRYPT_50046]. После этого контекст возвращается в инициализированное базовое состояние.

Все методы SymmetricCipherCtx объявлены как noexcept, обеспечивают безопасность относительно исключений («exception safe») и специфицированы как потокобезопасные («thread-safe») для параллельного доступа [SWS_CRYPT_50044], [SWS_CRYPT_50139].

SymmetricCipherCtxState Uninitialized Uninitialized Initialized Initialized Uninitialized->Initialized SetKey() Initialized->Initialized ProcessSingleCall...() Streaming Streaming Initialized->Streaming Start() Streaming->Initialized Finish() / FinishEncrypt() / Cancel() Streaming->Streaming Update() / Seek()

Диаграмма состояний: жизненный цикл и переходы состояний контекста симметричного шифрования. Источники: [SWS_CRYPT_50138], [SWS_CRYPT_50044], [SWS_CRYPT_50139], [SWS_CRYPT_50045], [SWS_CRYPT_50046]

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

Перед фактическим преобразованием данных рекомендуется определить требуемые размеры буферов и фрагментов (chunks). С помощью GetMinimumChunkSize() [SWS_CRYPT_50144] и GetMaximumChunkSize() [SWS_CRYPT_50050] можно определить допустимые границы для входных блоков. Если требуются векторы инициализации, границы их длины можно запросить с помощью GetMinimumInputIvSize() [SWS_CRYPT_50141], GetMaximumInputIvSize() [SWS_CRYPT_50142] или GetOutputIvSize() [SWS_CRYPT_50143]. Максимально необходимый размер целевого буфера для операции рассчитывается с помощью GetRequiredOutputBufferSize() [SWS_CRYPT_50140].

Для пошагового потокового шифрования или расшифрования действует следующий стандартный порядок:

  1. Конфигурирование ключа: привязка криптографического ключа к контексту через SetKey() [SWS_CRYPT_50138].
  2. Запуск преобразования: вызов Start() с указанием направления преобразования (шифрование или расшифрование) и опционального IV [SWS_CRYPT_23625] либо без IV [SWS_CRYPT_50044].
  3. Преобразование блоков данных: повторный вызов Update() для пошаговой передачи входных данных и извлечения выходных данных [SWS_CRYPT_50139]. При необходимости можно осуществлять навигацию внутри потока данных с помощью Seek() [SWS_CRYPT_23613].
  4. Завершение: финализация через Finish() [SWS_CRYPT_50045] или через FinishEncrypt(), если требуется вернуть сгенерированный контекстом IV [SWS_CRYPT_23618].

В качестве альтернативы этой потоковой модели интерфейс поддерживает синхронные одиночные вызовы. Если доступна вся полезная нагрузка целиком, операция может быть выполнена напрямую через ProcessSingleCall() [SWS_CRYPT_50047], ProcessSingleCallWithInputIv() [SWS_CRYPT_50048] или для собственной генерации IV контекстом через EncryptSingleCallWithOutputIv() [SWS_CRYPT_50049].

Симметричное шифрование потока данныхПриложениеSymmetricCipherCtxSetKey(key)Result<void>Start(kEncrypt, iv)Result<void>loopПока имеются блокиUpdate(in, out)Result<size_t>FinishEncrypt(in, out, ivOut)Result<size_t>

Диаграмма последовательности: типичная последовательность вызовов потокового шифрования. Источники: [SWS_CRYPT_50138], [SWS_CRYPT_23625], [SWS_CRYPT_50139], [SWS_CRYPT_23618]

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

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

  • CryptoErrc::kUninitializedContext: возникает, когда вызовы обработки, такие как Start() [SWS_CRYPT_50044], процедуры одиночного вызова [SWS_CRYPT_50047] или GetRequiredOutputBufferSize() [SWS_CRYPT_50140], вызываются до того, как ключ был задан через SetKey().
  • CryptoErrc::kProcessingNotStarted: возникает, когда потоковые функции, такие как Update() [SWS_CRYPT_50139], Finish() [SWS_CRYPT_50045], FinishEncrypt() [SWS_CRYPT_23618], Seek() [SWS_CRYPT_23613] или Cancel() [SWS_CRYPT_50046], выполняются без предварительного успешного вызова Start().
  • CryptoErrc::kInsufficientCapacity: предоставленный целевой буфер для данных или IV меньше минимально необходимой емкости [SWS_CRYPT_50139], [SWS_CRYPT_50049].
  • CryptoErrc::kUsageViolation и CryptoErrc::kIncompatibleObject: переданный тип ключа не подходит для преобразования или заданные в ключе правила использования запрещают операцию (например, отсутствие kAllowDataEncryption или kAllowDataDecryption) [SWS_CRYPT_50044], [SWS_CRYPT_50047].
  • CryptoErrc::kEmptyKeySlot и CryptoErrc::kBusyResource: указывает на то, что сконфигурированный KeySlot во время выполнения не содержит ключа или заблокирован ресурс, необходимый для криптографической операции [SWS_CRYPT_50048], [SWS_CRYPT_50049].
  • CryptoErrc::kUnsupported: возвращается, если режим работы (такой как потоковая обработка, одиночный вызов или Seek()) не поддерживается выбранным контекстом или алгоритмом [SWS_CRYPT_23613], [SWS_CRYPT_50047].

Настоящее руководство было создано ИИ-ассистентом на основе требований спецификации.

Карта членов

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

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

G nara__crypto__cryp__SymmetricCipherCtx167 SymmetricCipherCtx + Cancel() + EncryptSingleCallWithOutputIv() + Finish() + FinishEncrypt() + GetMaximumChunkSize() + GetMaximumInputIvSize() + GetMinimumChunkSize() + GetMinimumInputIvSize() + GetOutputIvSize() + GetRequiredOutputBufferSize() + ProcessSingleCall() + ProcessSingleCallWithInputIv() + Seek() + SetKey() + Start() + Update() nara__crypto__cryp__CryptoContext85 CryptoContext nara__crypto__cryp__SymmetricCipherCtx167->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;

Perform encryption in a single-call and return an IV generated by the context.

virtual ara::core::Result< std::size_t > EncryptSingleCallWithOutputIv (ReadOnlyMemRegion in, ReadWriteMemRegion out, ReadWriteMemRegion iv Out) noexcept=0;
Finish функция

Finalize the encryption/decryption without returning an IV.

virtual ara::core::Result< std::size_t > Finish (ReadOnlyMemRegion in, ReadWriteMemRegion out) noexcept=0;
FinishEncrypt функция

Finalize the encryption and return the IV generated by the context.

virtual ara::core::Result< std::size_t > FinishEncrypt (ReadOnlyMem Region in, ReadWriteMemRegion out, ReadWriteMemRegion ivOut) noexcept=0;
GetMaximumChunkSize функция

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

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

Get the maximum IV size required to be passed to the context in the functions Start() and ProcessSingleCallWithInputIv() for the given transformDirection.

virtual ara::core::Result< std::size_t > GetMaximumInputIvSize (Crypto Transform transformDirection) const noexcept=0;
GetMinimumChunkSize функция

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

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

Get the minimum IV size required to be passed to the context in the functions Start() and ProcessSingleCallWithInputIv() for the given transformDirection.

virtual ara::core::Result< std::size_t > GetMinimumInputIvSize (Crypto Transform transformDirection) const noexcept=0;
GetOutputIvSize функция

Get the output IV size that will be returned by the functions FinishEncrypt() (in case no IV has been provided by the application during the call to Start()), and EncryptSingleCallWithOutputIv().

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

Calculate the maximum required size of the output buffer depending on the input size in the current state of the context.

virtual ara::core::Result< std::size_t > GetRequiredOutputBufferSize (std::size_t inputSize, bool isFinal) const noexcept;
ProcessSingleCall функция

Perform en-/decryption in a single-call without setting or returning an IV.

virtual ara::core::Result< std::size_t > ProcessSingleCall (ReadOnly MemRegion in, ReadWriteMemRegion out, CryptoTransform transform Direction) noexcept=0;

Perform en-/decryption in a single-call, providing an IV to be used during en-/decryption.

virtual ara::core::Result< std::size_t > ProcessSingleCallWithInputIv (ReadOnlyMemRegion in, ReadWriteMemRegion out, CryptoTransform transformDirection, ReadOnlyMemRegion iv) noexcept=0;
Seek функция

Set the position of the next byte within the data stream.

virtual ara::core::Result< void > Seek (std::int64_t offset, bool from Begin) noexcept=0;
SetKey функция 2

Configure the context to use the key stored in the provided KeySlot at the time the en-/decryption is started.

Перегрузки SetKey 2
virtual ara::core::Result< void > SetKey (KeySlot::Sptr keySlot) noexcept=0; SWS_CRYPT_50043
virtual ara::core::Result< void > SetKey (SymmetricKey::Sptr key) noexcept=0; SWS_CRYPT_50138
Start функция 2

Initialize the context for a new encryption or decryption and set the IV used by the context.

Перегрузки Start 2
virtual ara::core::Result< void > Start (CryptoTransform transform Direction, ReadOnlyMemRegion iv) noexcept=0; SWS_CRYPT_23625
virtual ara::core::Result< void > Start (CryptoTransform transform Direction) noexcept=0; SWS_CRYPT_50044
Update функция

Encrypt or decrypt a data buffer.

virtual ara::core::Result< std::size_t > Update (ReadOnlyMemRegion in, ReadWriteMemRegion out) noexcept=0;

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

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

Smart pointer of the interface.

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

функция Cancel [SWS_CRYPT_50046] 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 · Температура: не регулируется · Промпт: 0bea3f0e1d0d Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Синхронный метод Cancel() класса ara::crypto::cryp::SymmetricCipherCtx служит для преждевременного прерывания текущей потоковой операции, которая ранее была инициирована с помощью Start() и еще не завершена [SWS_CRYPT_50046]. Интерфейс объявлен без параметров в ara/crypto/cryp/symmetric_cipher_ctx.h и при успешном выполнении возвращает пустой ara::core::Result<void> [SWS_CRYPT_50046].

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

Этот функциональный шаблон согласованно определен для всех криптографических контекстов потоковой передачи в AUTOSAR Adaptive. Идентичные сигнатуры и семантика ошибок действуют для контекстных классов VerifierPublicCtx ([SWS_CRYPT_50023]), MessageAuthnCodeCtx ([SWS_CRYPT_50027]), SignerPrivateCtx ([SWS_CRYPT_50041]), HashFunctionCtx ([SWS_CRYPT_50058]), DecryptorPrivateCtx ([SWS_CRYPT_50069]), AuthCipherCtx ([SWS_CRYPT_50077]) и EncryptorPublicCtx ([SWS_CRYPT_50089]).

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

Руководство разработчика реализации в подготовке (сложность I1)

Header-Datei#include "ara/crypto/cryp/symmetric_cipher_ctx.h"
Scopeclass ara::crypto::cryp::SymmetricCipherCtx
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_50046
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50046@rel:R25-11#50706c88
Content hash
50706c88
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50046
Status: valid/unmigrated Version: rel:R25-11#f0ef0c54 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_50046@rel:R25-11#f0ef0c54
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

функция EncryptSingleCallWithOutputIv [SWS_CRYPT_50049] Upstream: RS_CRYPTO_02302

virtual ara::core::Result< std::size_t > EncryptSingleCallWithOutputIv (ReadOnlyMemRegion in, ReadWriteMemRegion out, ReadWriteMemRegion iv Out) noexcept=0;

Perform encryption in a single-call and return an IV generated by the context.

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

Использование и обработка буферов

Синхронный метод EncryptSingleCallWithOutputIv выполняет симметричное шифрование за один вызов и возвращает сгенерированный контекстом вектор инициализации через буфер ivOut [SWS_CRYPT_50049]. Входные данные передаются через in, тогда как out принимает зашифрованные данные [SWS_CRYPT_50049]. При успешном выполнении результат ara::core::Result<std::size_t> предоставляет фактический размер созданных выходных данных, который может быть меньше общей емкости out [SWS_CRYPT_50049]. Если выбранный алгоритм не требует вектора инициализации, данные в ivOut не записываются [SWS_CRYPT_50049].

Взаимодействие и предварительные условия

Перед вызовом контекст должен быть инициализирован с помощью подходящего ключа [SWS_CRYPT_50049]. Чтобы обеспечить достаточную емкость буфера ivOut, требуемую длину IV можно предварительно определить через GetOutputIvSize() [SWS_CRYPT_50143]. Если дополнительно требуется аутентификация с вычислением тега, ara::crypto::cryp::AuthCipherCtx предлагает соответствующий аналог [SWS_CRYPT_50080].

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

Интерфейс специфицирован как потокобезопасный и безопасный по отношению к исключениям («exception safe») и при ошибках применяет семантику отката [SWS_CRYPT_50049]. Интерпретация: эта семантика отката, вероятно, гарантирует, что при возникновении ошибок состояние контекста останется интактным и никакие неполные данные в буфере не останутся помеченными как действительные. Вопрос Q-841087731518d866 (открытый) К релевантным ошибкам относятся:

  • UninitializedContext: контексту еще не был назначен ключ [SWS_CRYPT_50049].
  • ara::crypto::CryptoErrc::kInsufficientCapacity: емкость out или ivOut недостаточна [SWS_CRYPT_50049].
  • ara::crypto::CryptoErrc::kUnsupported: шифрование за один вызов (Single-Call) не поддерживается или алгоритм принудительно требует задания входного IV [SWS_CRYPT_50049].
  • ara::crypto::CryptoErrc::kUsageViolation или ara::crypto::CryptoErrc::kIncompatibleObject: тип ключа не подходит для преобразования либо использование ключа не разрешает шифрование данных [SWS_CRYPT_50049].

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

Руководство разработчика реализации в подготовке (сложность I2)

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

Parameter (in)

ParameterBeschreibung
inan input data buffer containing the ciphertext or plaintext

Parameter (out)

ParameterBeschreibung
outan output data buffer that the encrypted or decrypted data is written to
ivOutan output data buffer that the initialization vector (IV) generated by the context will be written to. If the algorithm does not use an IV, no data will be written into the buffer.

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >a result containing the size of the output data or an error. The output data may be smaller than the size of the output buffer out.

Fehler

FehlercodeBeschreibung
UninitializedContextif the context was not initialized by deploying a key
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if single-call encryption is not supported, or if the algorithm requires providing an input IV
ara::crypto::CryptoErrc::kInsufficientCapacityrollback_semantics if the data or IV output buffer is too small
ara::crypto::CryptoErrc::kInvalidInputSizerollback_semantics if the size of the input buffer cannot be processed
ara::crypto::CryptoErrc::kInvalidArgumentrollback_semantics if the provided input data contains invalid data
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 kAllowData Encryption for encryption
ara::crypto::CryptoErrc::kIncompatibleObjectrollback_semantics if type of the key is incompatible to the transformation or the transformation direction (encrypt)

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50049
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50049@rel:R25-11#ce109fe1
Content hash
ce109fe1
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50049
Status: valid/unmigrated Version: rel:R25-11#f2ba22b4 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_50049@rel:R25-11#f2ba22b4
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_50045] Upstream: RS_CRYPTO_02302

virtual ara::core::Result< std::size_t > Finish (ReadOnlyMemRegion in, ReadWriteMemRegion out) noexcept=0;

Finalize the encryption/decryption without returning an IV.

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

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

Синхронный метод Finish финализирует симметричное шифрование или расшифрование внутри ara::crypto::cryp::SymmetricCipherCtx без возврата вектора инициализации ([SWS_CRYPT_50045]). Он обрабатывает последний фрагмент данных из входного буфера in (ReadOnlyMemRegion) и записывает результирующие данные в выходной буфер out (ReadWriteMemRegion) ([SWS_CRYPT_50045]). Необходимый для этого размер буфера можно предварительно запросить через GetRequiredOutputBufferSize() ([SWS_CRYPT_50045]). Возвращаемое значение типа ara::core::Result<std::size_t> при успехе предоставляет точное количество записанных байтов, которое может быть меньше общей емкости out ([SWS_CRYPT_50045]).

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

В случае ошибки метод возвращает ara::core::Result со специфическими кодами ошибок ([SWS_CRYPT_50045]):

  • ProcessingNotStarted: обработка данных не была предварительно инициирована вызовом Start() ([SWS_CRYPT_50045]).
  • ara::crypto::CryptoErrc::kInsufficientCapacity: выходной буфер out слишком мал ([SWS_CRYPT_50045]).
  • ara::crypto::CryptoErrc::kInvalidInputSize: размер входных данных не может быть обработан ([SWS_CRYPT_50045]).
  • ara::crypto::CryptoErrc::kInvalidArgument: переданные входные данные недействительны ([SWS_CRYPT_50045]).
  • ara::crypto::CryptoErrc::kUnsupported: потоковая обработка не поддерживается текущим контекстом ([SWS_CRYPT_50045]).

При возникновении одной из ошибок CryptoErrc применяется семантика отката ([SWS_CRYPT_50045]).

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

Операция определена как thread-safe и exception safe ([SWS_CRYPT_50045]). Перед вызовом преобразование обязательно должно быть начато с помощью Start() ([SWS_CRYPT_50045]). Максимально допустимый входной размер для отдельных вызовов Finish() можно определить через GetMaximumChunkSize() ([SWS_CRYPT_50050]). После завершения цикл преобразования, вероятно, окончен, и для дальнейших операций, предположительно, потребуется новый вызов Start(). Вопрос Q-c4ffc8028e8f522b (открытый)

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

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

Parameter (in)

ParameterBeschreibung
inan input data buffer containing a part of the ciphertext or plaintext

Parameter (out)

ParameterBeschreibung
outan output data buffer that contains encrypted or decrypted data. The required size of this buffer can be queried using GetRequired OutputBufferSize()

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >a result containing the size of the output data or an error. The output data may be smaller than the size of the output buffer out.

Fehler

FehlercodeBeschreibung
ProcessingNotStartedif data processing was not started by a call of the Start() method
ara::crypto::CryptoErrc::kInsufficientCapacityrollback_semantics if the output buffer is too small
ara::crypto::CryptoErrc::kInvalidInputSizerollback_semantics if the size of the input buffer cannot be processed
ara::crypto::CryptoErrc::kInvalidArgumentrollback_semantics if the provided input data contains invalid data
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if stream processing is not supported by the context or

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50045
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50045@rel:R25-11#5b02e911
Content hash
5b02e911
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50045
Status: valid/unmigrated Version: rel:R25-11#b9951f15 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_50045@rel:R25-11#b9951f15
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

функция FinishEncrypt [SWS_CRYPT_23618] Upstream: RS_CRYPTO_02302

virtual ara::core::Result< std::size_t > FinishEncrypt (ReadOnlyMem Region in, ReadWriteMemRegion out, ReadWriteMemRegion ivOut) noexcept=0;

Finalize the encryption and return the IV generated by the context.

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

Метод FinishEncrypt завершает операцию шифрования и возвращает вектор инициализации (IV), сгенерированный контекстом [SWS_CRYPT_23618]. Он обрабатывает финальный буфер входных данных in и записывает результирующие данные в выходной буфер out, а также IV в ivOut. В качестве возвращаемого значения он возвращает ara::core::Result<std::size_t> с фактическим размером записанных выходных данных, который может быть меньше емкости out [SWS_CRYPT_23618].

Для безошибочного выполнения размеры буферов и состояние контекста должны быть согласованы заранее:

  • Требуемый размер буфера для out можно определить с помощью [SWS_CRYPT_50140] с установленным параметром isFinal = true. Если размер out недостаточен, вызов завершается сбоем с CryptoErrc::kInsufficientCapacity [SWS_CRYPT_23618].
  • Ожидаемый размер для ivOut можно запросить через [SWS_CRYPT_50143].
  • Входной размер in должен находиться в пределах минимальной и максимальной границ, определенных [SWS_CRYPT_50144] и [SWS_CRYPT_50050], в противном случае возвращается CryptoErrc::kInvalidInputSize [SWS_CRYPT_23618].

Если обработка данных не была предварительно инициирована с помощью Start(), метод возвращает CryptoErrc::kProcessingNotStarted [SWS_CRYPT_23618]. Если входной буфер содержит недействительные данные, следует CryptoErrc::kInvalidArgument [SWS_CRYPT_23618]. Ошибка CryptoErrc::kUnsupported возникает, если потоковая обработка не поддерживается, контекст не использует IV или IV уже был передан в Start() [SWS_CRYPT_23618]. Все ошибки обладают семантикой отката [SWS_CRYPT_23618]. Согласно спецификации вызов является потокобезопасным и безопасным относительно исключений (noexcept) [SWS_CRYPT_23618].

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

Руководство разработчика реализации в подготовке (сложность I2)

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

Parameter (in)

ParameterBeschreibung
inan input data buffer containing a part of the ciphertext or plaintext

Parameter (out)

ParameterBeschreibung
outan output data buffer that contains encrypted or decrypted data
ivOutan output data buffer that contains the IV

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >a result containing the size of the output data or an error. The output data may be smaller than the size of the output buffer out.

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kProcessingNotStartedrollback_semantics if data processing was not started by a call of the Start() method
ara::crypto::CryptoErrc::kInsufficientCapacityrollback_semantics if the output buffer is too small
ara::crypto::CryptoErrc::kInvalidInputSizerollback_semantics if the size of the input buffer cannot be processed
ara::crypto::CryptoErrc::kInvalidArgumentrollback_semantics if the provided input data contains invalid data
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if stream processing is not supported by the context or if this context does not use an IV or if the IV has been provided by the application in the Start() function

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

Record
AUTOSAR/AP/record/SWS_CRYPT_23618
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_23618@rel:R25-11#f8446d9b
Content hash
f8446d9b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_23618
Status: valid/unmigrated Version: rel:R25-11#dcc35b13 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_23618@rel:R25-11#dcc35b13
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#c50d30f82026-09-30
  • R19-11rel:R19-11#c41ea37b2026-10-14
  • R20-11rel:R20-11#06f18fb12026-10-14
  • R21-11rel:R21-11#3725bc5a2026-10-14
  • R22-11rel:R22-11#724878ec2026-10-14
  • R23-11rel:R23-11#8e98bdf02026-10-14
  • R24-11rel:R24-11#1d9181d92026-10-14
  • R25-11rel:R25-11#dcc35b132026-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

функция GetMaximumChunkSize [SWS_CRYPT_50050] Upstream: RS_CRYPTO_02309

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

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

Header-Datei#include "ara/crypto/cryp/symmetric_cipher_ctx.h"
Scopeclass ara::crypto::cryp::SymmetricCipherCtx
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_50050
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50050@rel:R25-11#f9fa655d
Content hash
f9fa655d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50050
Status: valid/unmigrated Version: rel:R25-11#439b3c69 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_50050@rel:R25-11#439b3c69
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

функция GetMaximumInputIvSize [SWS_CRYPT_50142] Upstream: RS_CRYPTO_02309

virtual ara::core::Result< std::size_t > GetMaximumInputIvSize (Crypto Transform transformDirection) const noexcept=0;

Get the maximum IV size required to be passed to the context in the functions Start() and ProcessSingleCallWithInputIv() for the given transformDirection.

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

Parameter (in)

ParameterBeschreibung
transformDirectionthe transformation direction, i.e., encryption or decryption

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >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_50142
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50142@rel:R25-11#bd7aafc9
Content hash
bd7aafc9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50142
Status: valid/unmigrated Version: rel:R25-11#2fd32b15 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_50142@rel:R25-11#2fd32b15
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

функция GetMinimumChunkSize [SWS_CRYPT_50144] Upstream: RS_CRYPTO_02309

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

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

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

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >the minimum 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_50144
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50144@rel:R25-11#25c78343
Content hash
25c78343
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50144
Status: valid/unmigrated Version: rel:R25-11#8dfc91ab 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_50144@rel:R25-11#8dfc91ab
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

функция GetMinimumInputIvSize [SWS_CRYPT_50141] Upstream: RS_CRYPTO_02309

virtual ara::core::Result< std::size_t > GetMinimumInputIvSize (Crypto Transform transformDirection) const noexcept=0;

Get the minimum IV size required to be passed to the context in the functions Start() and ProcessSingleCallWithInputIv() for the given transformDirection.

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

Parameter (in)

ParameterBeschreibung
transformDirectionthe transformation direction, i.e., encryption or decryption

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >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_50141
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50141@rel:R25-11#103c2ca6
Content hash
103c2ca6
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50141
Status: valid/unmigrated Version: rel:R25-11#a69e1387 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_50141@rel:R25-11#a69e1387
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

функция GetOutputIvSize [SWS_CRYPT_50143] Upstream: RS_CRYPTO_02309

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

Get the output IV size that will be returned by the functions FinishEncrypt() (in case no IV has been provided by the application during the call to Start()), and EncryptSingleCallWithOutputIv().

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

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >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_50143
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50143@rel:R25-11#19a9a2c6
Content hash
19a9a2c6
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50143
Status: valid/unmigrated Version: rel:R25-11#11f7dfe6 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_50143@rel:R25-11#11f7dfe6
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

функция GetRequiredOutputBufferSize [SWS_CRYPT_50140] Upstream: RS_CRYPTO_02302

virtual ara::core::Result< std::size_t > GetRequiredOutputBufferSize (std::size_t inputSize, bool isFinal) const noexcept;

Calculate the maximum required size of the output buffer depending on the input size in the current state of the context.

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

Parameter (in)

ParameterBeschreibung
inputSizesize of input data
isFinalif true, calculate maximum required output buffer size for Finish(), FinishEncrypt(), ProcessSingleCallWithInputIv(), and Encrypt SingleCallWithOutputIv(), otherwise for Update()

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >a result containing the required capacity of the output buffer (in bytes) or an error

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUninitializedContextrollback_semantics if the context was not initialized by deploying a key and setting the transformation direction

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

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

функция ProcessSingleCall [SWS_CRYPT_50047] Upstream: RS_CRYPTO_02302

virtual ara::core::Result< std::size_t > ProcessSingleCall (ReadOnly MemRegion in, ReadWriteMemRegion out, CryptoTransform transform Direction) noexcept=0;

Perform en-/decryption in a single-call without setting or returning an IV.

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

Метод ProcessSingleCall выполняет шифрование или расшифрование за один синхронный вызов без вектора инициализации (IV) ([SWS_CRYPT_50047]). В качестве входных параметров служат буфер данных in (ReadOnlyMemRegion) и направление преобразования transformDirection (CryptoTransform), тогда как результат записывается в буфер out (ReadWriteMemRegion). При успешном выполнении функция возвращает ara::core::Result<std::size_t>, содержащий количество записанных байтов; это значение может быть меньше общей емкости выходного буфера.

С точки зрения параллелизма и безопасности метод специфицирован как thread-safe и exception safe ([SWS_CRYPT_50047]). Обрабатываемый входной размер in подчиняется ограничениям, определенным контекстом, которые можно запросить через [SWS_CRYPT_50144] (GetMinimumChunkSize) и [SWS_CRYPT_50050] (GetMaximumChunkSize).

Все случаи ошибок следуют семантике отката ([SWS_CRYPT_50047]):

  • ara::crypto::CryptoErrc::kUninitializedContext: контекст не был предварительно инициализирован путем назначения ключа.
  • ara::crypto::CryptoErrc::kUnsupported: обработка за один вызов (Single-Call) не поддерживается или преобразование требует установки либо считывания IV.
  • ara::crypto::CryptoErrc::kInsufficientCapacity: выходной буфер out не обладает достаточной емкостью.
  • ara::crypto::CryptoErrc::kInvalidInputSize: входной размер не может быть обработан контекстом.
  • ara::crypto::CryptoErrc::kUsageViolation: использование ключа не покрывает запрошенную операцию (kAllowDataEncryption или kAllowDataDecryption).
  • ara::crypto::CryptoErrc::kIncompatibleObject, kEmptyKeySlot, kInvalidArgument или kBusyResource: ключ несовместим, слот ключа пуст, входные данные недействительны или требуемые ресурсы заняты.

Во взаимодействии с другими интерфейсами вызов требует полностью сконфигурированного контекста; для аутентифицирующих шифров с дополнительной обработкой тегов в AuthCipherCtx доступен альтернативный интерфейс [SWS_CRYPT_50078].

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

Руководство разработчика реализации в подготовке (сложность I2)

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

Parameter (in)

ParameterBeschreibung
inan input data buffer containing the ciphertext or plaintext
transformDirectionthe transformation direction, i.e., encryption or decryption

Parameter (out)

ParameterBeschreibung
outan output data buffer that the encrypted or decrypted data is written to

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >a result containing the size of the output data or an error. The output data may be smaller than the size of the output buffer out.

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUninitializedContextrollback_semantics if the context was not initialized by deploying a key
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if single-call en-/decryption is not supported, or if the context requires setting or returning an IV in the passed transformDirection
ara::crypto::CryptoErrc::kInsufficientCapacityrollback_semantics if the output buffer is too small
ara::crypto::CryptoErrc::kInvalidInputSizerollback_semantics if the size of the input buffer cannot be processed
ara::crypto::CryptoErrc::kInvalidArgumentrollback_semantics if the provided input data contains invalid data
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 kAllowData Encryption for encryption, or kAllowDataDecryption for decryption, respectively
ara::crypto::CryptoErrc::kIncompatibleObjectrollback_semantics if type of the key is incompatible to the transformation or the transformation direction

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

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

функция ProcessSingleCallWithInputIv [SWS_CRYPT_50048] Upstream: RS_CRYPTO_02302

virtual ara::core::Result< std::size_t > ProcessSingleCallWithInputIv (ReadOnlyMemRegion in, ReadWriteMemRegion out, CryptoTransform transformDirection, ReadOnlyMemRegion iv) noexcept=0;

Perform en-/decryption in a single-call, providing an IV to be used during en-/decryption.

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

Метод ProcessSingleCallWithInputIv в ara::crypto::cryp::SymmetricCipherCtx выполняет симметричное шифрование или расшифрование данных за один синхронный вызов (Single-Call) [SWS_CRYPT_50048]. При этом используемый для преобразования вектор инициализации явно передается через входной буфер iv.

Использование и взаимодействие

Через transformDirection управляется, зашифровываются или расшифровываются данные из in. Результат записывается в буфер out. Возвращаемый ara::core::Result<std::size_t> содержит фактическое количество записанных байтов, которое может оказаться меньше общей емкости out [SWS_CRYPT_50048].

Для определения размеров буферов доступны вспомогательные функции:

  • Требуемый размер буфера для out можно предварительно вычислить через GetRequiredOutputBufferSize с параметром isFinal = true [SWS_CRYPT_50140].
  • Допустимую длину для iv можно определить для выбранного направления преобразования через GetMinimumInputIvSize [SWS_CRYPT_50141], а также GetMaximumInputIvSize [SWS_CRYPT_50142].
  • Если дополнительно требуется создание или верификация тега аутентификации, вместо этого следует использовать ara::crypto::cryp::AuthCipherCtx::ProcessSingleCallWithInputIv [SWS_CRYPT_50079].

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

Операция определена как thread-safe и exception safe [SWS_CRYPT_50048]. Все ошибки обладают семантикой отката:

  • CryptoErrc::kUninitializedContext или CryptoErrc::kEmptyKeySlot: контексту не был назначен ключ или KeySlot пуст [SWS_CRYPT_50048].
  • CryptoErrc::kUsageViolation: ключ не разрешает выбранное направление (отсутствует kAllowDataEncryption или kAllowDataDecryption) [SWS_CRYPT_50048].
  • CryptoErrc::kIncompatibleObject: тип ключа несовместим с преобразованием [SWS_CRYPT_50048].
  • CryptoErrc::kInsufficientCapacity: выходной буфер out слишком мал [SWS_CRYPT_50048].
  • CryptoErrc::kInvalidInputSize или CryptoErrc::kInvalidArgument: размер буфера или содержимое in недействительны [SWS_CRYPT_50048].
  • CryptoErrc::kUnsupported: обработка за один вызов (Single-Call) или входные IV не поддерживаются [SWS_CRYPT_50048].
  • CryptoErrc::kBusyResource: необходимый ресурс занят [SWS_CRYPT_50048].

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

Руководство разработчика реализации в подготовке (сложность I2)

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

Parameter (in)

ParameterBeschreibung
inan input data buffer containing the ciphertext or plaintext
transformDirectionthe transformation direction, i.e., encryption or decryption
ivan input data buffer containing the initialization vector (IV) to be used by the context

Parameter (out)

ParameterBeschreibung
outan output data buffer that the encrypted or decrypted data is written to

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >a result containing the size of the output data or an error. The output data may be smaller than the size of the output buffer out.

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUninitializedContextrollback_semantics if the context was not initialized by deploying a key
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if single-call en-/decryption is not supported, or if single-call processing with an input IV is not supported
ara::crypto::CryptoErrc::kInsufficientCapacityrollback_semantics if the data output buffer is too small
ara::crypto::CryptoErrc::kInvalidInputSizerollback_semantics if the size of the input buffer cannot be processed
ara::crypto::CryptoErrc::kInvalidArgumentrollback_semantics if the provided input data contains invalid data
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 kAllowData Encryption for encryption, or kAllowDataDecryption for decryption, respectively
ara::crypto::CryptoErrc::kIncompatibleObjectrollback_semantics if type of the key is incompatible to the transformation or the transformation direction

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50048
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50048@rel:R25-11#c4f921cb
Content hash
c4f921cb
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50048
Status: valid/unmigrated Version: rel:R25-11#06bfc8c8 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_50048@rel:R25-11#06bfc8c8
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

функция Seek [SWS_CRYPT_23613] Upstream: RS_CRYPTO_02304

virtual ara::core::Result< void > Seek (std::int64_t offset, bool from Begin) noexcept=0;

Set the position of the next byte within the data stream.

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

Метод Seek интерфейса ara::crypto::cryp::SymmetricCipherCtx устанавливает позицию следующего обрабатываемого байта внутри потока данных [SWS_CRYPT_23613]. Из-за отсутствия асинхронных возвращаемых типов, таких как фьючерсы, вызов, вероятно, выполняется синхронно. Вопрос Q-fccf732722263f60 (открытый)

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

Позиционирование управляется двумя параметрами [SWS_CRYPT_23613]:

  • offset: Байтовое смещение в потоке данных относительно либо начала потока, либо текущей позиции [SWS_CRYPT_23613].
  • fromBegin: Опорная точка позиционирования; true адресует смещение от начала потока, false — относительно текущей позиции [SWS_CRYPT_23613].

Функция объявлена как noexcept и возвращает ara::core::Result<void>, сигнализирующий об успешном выполнении или содержащий возникший объект ошибки [SWS_CRYPT_23613].

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

Согласно спецификации, Seek классифицирован как безопасный к исключениям (exception safe) и потокобезопасный (thread-safe) [SWS_CRYPT_23613]. Необходимым условием для выполнения является предварительная инициация обработки данных вызовом Start() [SWS_CRYPT_23613].

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

Все случаи ошибок подчиняются определенной семантике отката (rollback_semantics), благодаря чему внутреннее состояние при ошибках остается согласованным [SWS_CRYPT_23613]:

  • ara::crypto::CryptoErrc::kUnsupported: Операция seek не поддерживается текущим криптографическим контекстом [SWS_CRYPT_23613].
  • ara::crypto::CryptoErrc::kProcessingNotStarted: Обработка данных не была предварительно запущена через Start() [SWS_CRYPT_23613].
  • ara::crypto::CryptoErrc::kOutOfBounds: Результирующее смещение слишком мало или слишком велико для потока данных [SWS_CRYPT_23613].
  • ara::crypto::CryptoErrc::kInvalidArgument: Результирующее смещение не выровнено по границе блока, хотя контекст требует выравнивания по блокам [SWS_CRYPT_23613].

Этот текст был создан ИИ.

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

Parameter (in)

ParameterBeschreibung
offsetthe offset value in bytes, relative to begin or current position in the data stream
fromBeginthe starting point for positioning within the stream: from begin (if true) or from current position (if false)

Rückgabewert

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

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the seek operation is not supported by this context
ara::crypto::CryptoErrc::kProcessingNotStartedrollback_semantics if the data processing was not started by a call of the Start() method
ara::crypto::CryptoErrc::kOutOfBoundsrollback_semantics if the resulting offset value is too large or too small
ara::crypto::CryptoErrc::kInvalidArgumentrollback_semantics if the resulting offset is not block aligned but the context requires block alignment

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

Record
AUTOSAR/AP/record/SWS_CRYPT_23613
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_23613@rel:R25-11#9185b03c
Content hash
9185b03c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_23613
Status: valid/unmigrated Version: rel:R25-11#383a800f 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_23613@rel:R25-11#383a800f
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#6a4153822026-09-30
  • R19-11rel:R19-11#9c63158a2026-10-14
  • R20-11rel:R20-11#36a48d2b2026-10-14
  • R21-11rel:R21-11#f3b5692c2026-10-14
  • R22-11rel:R22-11#a11f983a2026-10-14
  • R23-11rel:R23-11#10ff1b922026-10-14
  • R24-11rel:R24-11#23dbf8e42026-10-14
  • R25-11rel:R25-11#383a800f2026-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_50043] 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 en-/decryption is started.

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

Чисто виртуальный метод SetKey конфигурирует экземпляр ara::crypto::cryp::SymmetricCipherCtx таким образом, чтобы для будущих криптографических операций он использовал ключ из переданного KeySlot [SWS_CRYPT_50043].

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

Вызов выполняется синхронно и принимает в качестве параметра keySlot объект KeySlot::Sptr, содержащий SymmetricKey [SWS_CRYPT_50043]. Возвращаемым значением является ara::core::Result<void>, которое сигнализирует об успехе или передает код ошибки в случае сбоя [SWS_CRYPT_50043]. Конфигурация приводит к тому, что сохраненный в слоте ключ задействуется только в момент запуска непосредственного шифрования или расшифрования [SWS_CRYPT_50043].

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

В случае ошибки исключение не генерируется (метод специфицирован как noexcept и exception safe), а возвращается код ошибки с семантикой отката [SWS_CRYPT_50043]:

  • ara::crypto::CryptoErrc::kIncompatibleObject: переданный KeySlot несовместим с контекстом шифрования [SWS_CRYPT_50043].
  • ara::crypto::CryptoErrc::kUnsupported: реализация контекста поддерживает исключительно установку прямого ключа (такого как SymmetricKey) и не поддерживает назначение через KeySlot [SWS_CRYPT_50043].

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

Метод обозначен как thread-safe [SWS_CRYPT_50043]. Интерпретация: фактическое считывание материала ключа, вероятно, происходит только при запуске шифрования или расшифрования, поэтому слот должен оставаться согласованным до начала преобразования. Вопрос Q-799125800ab0f93c (открытый) Концепция конфигурирования контекстов через KeySlot::Sptr вместо прямых объектов ключей соответствует единообразному шаблону родственных криптографических контекстов, включая KeyDerivationFunctionCtx [SWS_CRYPT_50010], MessageAuthnCodeCtx [SWS_CRYPT_50026], SymmetricKeyWrapperCtx [SWS_CRYPT_50034], а также VerifierPublicCtx [SWS_CRYPT_50018].

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

Руководство разработчика реализации в подготовке (сложность I2)

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

Parameter (in)

ParameterBeschreibung
keySlota keyslot containing a SymmetricKey.

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 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_50043
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50043@rel:R25-11#8f3053f4
Content hash
8f3053f4
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50043
Status: valid/unmigrated Version: rel:R25-11#e7e7c9ab 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_50043@rel:R25-11#e7e7c9ab
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_50138] 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 symmetric key.

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

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

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

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

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

  • ara::crypto::CryptoErrc::kUnsupported: возникает, если контекст поддерживает назначение ключа исключительно через KeySlot [SWS_CRYPT_50138].
  • ara::crypto::CryptoErrc::kIncompatibleObject: возвращается, если переданный объект ключа несовместим с контекстом [SWS_CRYPT_50138].

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

Виртуальная функция определена как noexcept, считается Exception-safe и в соответствии со спецификацией выполнена thread-safe [SWS_CRYPT_50138]. Схожие интерфейсы для назначения SymmetricKey::Sptr встречаются в родственных криптографических контекстах, таких как AuthCipherCtx [SWS_CRYPT_23911], а также SymmetricKeyWrapperCtx [SWS_CRYPT_24018]. Взаимодействие с контейнерами ключей также иллюстрируют классы контекстов, альтернативно принимающие KeySlot::Sptr [SWS_CRYPT_50034].

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

Руководство разработчика реализации в подготовке (сложность I2)

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

Parameter (in)

ParameterBeschreibung
keythe SymmetricKey to be used.

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

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50138
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50138@rel:R25-11#4b9fa627
Content hash
4b9fa627
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50138
Status: valid/unmigrated Version: rel:R25-11#aa2f4130 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_50138@rel:R25-11#aa2f4130
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_23625] Upstream: RS_CRYPTO_02302

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

Initialize the context for a new encryption or decryption and set the IV used by the context.

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

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

Метод Start инициализирует контекст ara::crypto::cryp::SymmetricCipherCtx для новой синхронной операции шифрования или расшифрования и устанавливает соответствующий вектор инициализации (IV) или значение nonce [SWS_CRYPT_23625]. Через параметр transformDirection задается направление трансформации, в то время как iv предоставляет вектор инициализации в виде ReadOnlyMemRegion [SWS_CRYPT_23625]. Допустимый размер буфера можно предварительно запросить через методы GetMinimumInputIvSize() и GetMaximumInputIvSize() [SWS_CRYPT_23625]. Вызов возвращает ara::core::Result<void>, объявлен как noexcept и считается безопасным к исключениям (exception safe) [SWS_CRYPT_23625].

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

В случае ошибки возвращается код ошибки с семантикой отката [SWS_CRYPT_23625]:

  • ara::crypto::CryptoErrc::kUninitializedContext: Контекст не был предварительно инициализирован назначением ключа [SWS_CRYPT_23625].
  • ara::crypto::CryptoErrc::kInvalidInputSize: Переданный размер IV не поддерживается [SWS_CRYPT_23625].
  • ara::crypto::CryptoErrc::kUnsupported: Установка IV в указанном направлении трансформации или потоковая обработка не поддерживается контекстом [SWS_CRYPT_23625].
  • ara::crypto::CryptoErrc::kEmptyKeySlot: Сконфигурированный KeySlot в данный момент пуст [SWS_CRYPT_23625].
  • ara::crypto::CryptoErrc::kUsageViolation: Допустимое использование ключа не охватывает kAllowDataEncryption для шифрования или kAllowDataDecryption для расшифрования [SWS_CRYPT_23625].
  • ara::crypto::CryptoErrc::kIncompatibleObject: Тип ключа несовместим с трансформацией или направлением трансформации [SWS_CRYPT_23625].
  • ara::crypto::CryptoErrc::kBusyResource: необходимый ресурс занят [SWS_CRYPT_23625].

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

Функция специфицирована как потокобезопасная (thread-safe) [SWS_CRYPT_23625]. В процессе потоковой обработки Start выступает в качестве инициирующего шага, за которым следуют, например, операции позиционирования через Seek [SWS_CRYPT_23613] или финализация через FinishEncrypt [SWS_CRYPT_23618].

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

Руководство разработчика реализации в подготовке (сложность I1)

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

Parameter (in)

ParameterBeschreibung
transformDirectionthe transformation direction, i.e., encryption or decryption
ivan Initialization Vector (IV) or "nonce" value. The allowed size of the IV can be queried using the functions GetMinimumInputIvSize() and GetMaximumInputIvSize().

Rückgabewert

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

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUninitializedContextrollback_semantics if 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 setting an IV in the given transform Direction or if stream processing is not supported by the context
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 kAllowData Encryption for encryption, or kAllowDataDecryption for decryption, respectively
ara::crypto::CryptoErrc::kIncompatibleObjectrollback_semantics if type of the key is incompatible to the transformation or the transformation direction

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

Record
AUTOSAR/AP/record/SWS_CRYPT_23625
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_23625@rel:R25-11#bc649ea7
Content hash
bc649ea7
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_23625
Status: valid/unmigrated Version: rel:R25-11#608e87fd 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_23625@rel:R25-11#608e87fd
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#a536a6ca2026-09-30
  • R20-11rel:R20-11#6996665a2026-10-14
  • R21-11rel:R21-11#c2b5cf1e2026-10-14
  • R22-11rel:R22-11#25b4dab42026-10-14
  • R23-11rel:R23-11#e01d837d2026-10-14
  • R24-11rel:R24-11#26e85c6c2026-10-14
  • R25-11rel:R25-11#608e87fd2026-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_50044] Upstream: RS_CRYPTO_02302

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

Initialize the context for a new encryption or decryption. An IV is either not required for this context in this transformation direction, or set by the context itself.

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

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

Метод Start синхронно инициализирует экземпляр ara::crypto::cryp::SymmetricCipherCtx для предстоящего шифрования или дешифрования ([SWS_CRYPT_50044]). Он применяется, когда для направления преобразования, заданного через параметр transformDirection, вектор инициализации (IV) не требуется или контекст генерирует его самостоятельно ([SWS_CRYPT_50044]). Если же в выбранном направлении контекст требует явного IV, необходимо вызывать перегрузку с параметром IV ([SWS_CRYPT_23625]).

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

Операция специфицирована как потокобезопасная и безопасная к исключениям ([SWS_CRYPT_50044]). При ошибке функция возвращает ara::core::Result<void> с семантикой отката ([SWS_CRYPT_50044]). Соответствующими причинами ошибок являются:

  • ara::crypto::CryptoErrc::kUninitializedContext: Контексту предварительно не был назначен ключ ([SWS_CRYPT_50044]).
  • ara::crypto::CryptoErrc::kUnsupported: потоковая обработка не поддерживается или операция в этом направлении строго требует установки IV ([SWS_CRYPT_50044]).
  • ara::crypto::CryptoErrc::kUsageViolation: ключ не обладает необходимыми правами kAllowDataEncryption или kAllowDataDecryption ([SWS_CRYPT_50044]).
  • ara::crypto::CryptoErrc::kIncompatibleObject или ara::crypto::CryptoErrc::kEmptyKeySlot: тип ключа не подходит для преобразования либо сконфигурированный слот ключа пуст ([SWS_CRYPT_50044]).
  • ara::crypto::CryptoErrc::kBusyResource: требуемый ресурс в данный момент занят ([SWS_CRYPT_50044]).

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

После успешной инициализации поток данных при необходимости может быть позиционирован с помощью Seek ([SWS_CRYPT_23613]). Если IV был определен самим контекстом, он передается вызывающей стороне в конце шифрования через FinishEncrypt ([SWS_CRYPT_23618]).

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

Руководство разработчика реализации в подготовке (сложность I1)

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

Parameter (in)

ParameterBeschreibung
transformDirectionthe transformation direction, i.e., encryption or decryption

Rückgabewert

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

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUninitializedContextrollback_semantics if the context was not initialized by deploying a key
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the context requires setting an IV in the given transformDirection or if stream processing is not supported by the context
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 kAllowData Encryption for encryption, or kAllowDataDecryption for decryption, respectively
ara::crypto::CryptoErrc::kIncompatibleObjectrollback_semantics if type of the key is incompatible to the transformation or the transformation direction

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50044
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50044@rel:R25-11#1b7f88d6
Content hash
1b7f88d6
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50044
Status: valid/unmigrated Version: rel:R25-11#842f896d 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_50044@rel:R25-11#842f896d
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

функция Update [SWS_CRYPT_50139] Upstream: RS_CRYPTO_02302

virtual ara::core::Result< std::size_t > Update (ReadOnlyMemRegion in, ReadWriteMemRegion out) noexcept=0;

Encrypt or decrypt a data buffer.

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

Синхронный метод Update() служит в ara::crypto::cryp::SymmetricCipherCtx для пошагового шифрования или расшифрования частей потоков данных [SWS_CRYPT_50139]. Он обрабатывает входной буфер in (тип ReadOnlyMemRegion) с открытым или зашифрованным текстом и записывает преобразованные данные в выходной буфер out (тип ReadWriteMemRegion) [SWS_CRYPT_50139]. Возвращаемое значение ara::core::Result<std::size_t> в случае успеха предоставляет точное количество байтов, фактически записанных в out, которое может быть меньше общей емкости целевого буфера [SWS_CRYPT_50139].

Для вызова действуют установленные предварительные условия и правила работы с буферами:

  • Порядок выполнения: обработка данных должна быть предварительно обязательно инициирована с помощью метода Start(); в противном случае вызов завершается с ошибкой ara::crypto::CryptoErrc::kProcessingNotStarted [SWS_CRYPT_50139].
  • Определение размера буфера: максимально допустимый размер входных данных на один вызов может быть определен через GetMaximumChunkSize() [SWS_CRYPT_50050]; некорректные размеры буфера метод квитирует с ara::crypto::CryptoErrc::kInvalidInputSize [SWS_CRYPT_50139]. Требуемый выходной буфер можно запросить через GetRequiredOutputBufferSize() [SWS_CRYPT_50139]; слишком малый размер буфера приводит к ara::crypto::CryptoErrc::kInsufficientCapacity [SWS_CRYPT_50139].
  • Поддержка потоковой обработки: если конкретный контекст не поддерживает непрерывную потоковую обработку (stream processing), вызов завершается с ошибкой ara::crypto::CryptoErrc::kUnsupported [SWS_CRYPT_50139].

Интерфейс специфицирован как thread-safe, а также exception safe и гарантирует семантику отката при любой ошибке [SWS_CRYPT_50139]. В цикле обработки он взаимодействует с GetMaximumChunkSize(), а также с завершающими операциями, такими как Finish() или FinishEncrypt() [SWS_CRYPT_50050].

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

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

Parameter (in)

ParameterBeschreibung
inan input data buffer containing a part of the ciphertext or plaintext

Parameter (out)

ParameterBeschreibung
outan output data buffer that the encrypted or decrypted data will be written into. The required size of this buffer can be queried using GetRequiredOutputBufferSize()

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >a result containing the size of the output data or an error. The output data may be smaller than the size of the output buffer out.

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kProcessingNotStartedrollback_semantics if data processing was not started by a call of the Start() method
ara::crypto::CryptoErrc::kInsufficientCapacityrollback_semantics if the output buffer is too small
ara::crypto::CryptoErrc::kInvalidInputSizerollback_semantics if the size of the input buffer is invalid
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if stream processing is not supported by the context

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50139
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50139@rel:R25-11#2ce5deb6
Content hash
2ce5deb6
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50139
Status: valid/unmigrated Version: rel:R25-11#50161066 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_50139@rel:R25-11#50161066
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_50137] Upstream: RS_CRYPTO_02201

using Sptr = std::shared_ptr<SymmetricCipherCtx>;

Smart pointer of the interface.

Header-Datei#include "ara/crypto/cryp/symmetric_cipher_ctx.h"
Scopeclass ara::crypto::cryp::SymmetricCipherCtx
SymbolSptr

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

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