AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: a1dee2a3fcf5출처열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
무결성 보호를 통한 인증된 대칭 암호화 및 복호화를 위한 인터페이스를 제공합니다.
인터페이스 ara::crypto::cryp::AuthCipherCtx은 기밀성과 무결성을 유지하면서 데이터의 인증된 암호화 및 복호화를 수행하는 데 사용됩니다 [SWS_CRYPT_23911]. 키 구성 후 처리는 원자적 단일 호출로 수행되거나 초기화, 선택적 인증 데이터, 페이로드 업데이트 및 완료로 구성된 스트리밍 시퀀스로 수행됩니다. 중요한 보안 조건으로서 인증 태그가 유효하지 않으면 복호화가 실패하므로 복호화된 페이로드는 유효성 검사가 성공한 후에만 처리될 수 있습니다 [SWS_CRYPT_50075].
컨텍스트
인터페이스 ara::crypto::cryp::AuthCipherCtx은 AUTOSAR Adaptive Platform 내에서 인증된 암호화 작업(Authenticated Encryption with Associated Data, AEAD)을 위한 표준화된 프로그래밍 인터페이스를 정의합니다. 이 인터페이스는 페이로드의 실제 암호화 또는 복호화 외에도 항상 암호화 인증 태그를 생성하거나 검증함으로써 기밀성과 무결성 보호를 결합합니다. 호출 애플리케이션과 키 객체가 중앙 상호 작용 파트너 역할을 합니다. 컨텍스트는 사용 전에 SymmetricKey의 구체적인 인스턴스에 바인딩되거나 [SWS_CRYPT_23911], 영구화되거나 제공된 KeySlot으로 구성됩니다 [SWS_CRYPT_50072]. 점진적인 스트리밍 처리 외에도 이 클래스는 한 번의 단계로 완전한 메시지를 처리하기 위한 독립적인 단일 호출을 지원합니다 [SWS_CRYPT_50078].
수명 주기
컨텍스트는 애플리케이션 영역에서 공유 포인터 유형 ara::crypto::cryp::AuthCipherCtx::Sptr을 통해 관리됩니다 [SWS_CRYPT_20101]. (해석: AuthCipherCtx는 순수 인터페이스로 명시되어 있으므로 객체 생성은 일반적으로 상위 제공자 팩토리를 통해 수행됩니다). 질문 Q-23125789874cf2f3 (열림) 모든 멤버 함수는 예외 안전(exception safe) 및 스레드 안전(thread-safe)으로 선언되어 있습니다 [SWS_CRYPT_23911], [SWS_CRYPT_24715]. 기능적 수명 주기는 명확하게 정의된 상태를 거칩니다:
초기화되지 않음: 인스턴스화 직후의 상태입니다. 아직 키가 할당되지 않았으므로 데이터 처리 호출이 거부됩니다 [SWS_CRYPT_50081].
키 구성됨:SymmetricKey[SWS_CRYPT_23911] 또는 KeySlot[SWS_CRYPT_50072]을 사용하여 SetKey을 성공적으로 호출하면 컨텍스트가 사용 준비 상태로 전환됩니다. 이 상태에서는 단일 샷(Single-Shot) 작업을 직접 실행할 수 있습니다.
연관 데이터(AAD): 추가 일반 텍스트 데이터를 무결성 계산에 포함해야 하는 경우, UpdateAuthenticatedData을 통해 전달됩니다 [SWS_CRYPT_20313]. 허용되는 최대 AAD 크기는 GetMaxAssociatedDataSize을 통해 쿼리할 수 있습니다 [SWS_CRYPT_20103]. 중요: AAD 블록은 반드시 실제 페이로드 데이터보다 먼저 전송되어야 합니다.
페이로드 데이터 처리:UpdateConfidentialData을 통한 데이터 블록의 단계적 전달 [SWS_CRYPT_50074]. 복호화 시 인증 여부가 확인되기 전에 일반 텍스트가 반환되므로, 애플리케이션은 성공적으로 마무리된 후에만 이 데이터를 사용해야 합니다.
소형 페이로드를 위한 단일 호출 대안이 존재합니다. ProcessSingleCall은 IV 전달 없이 데이터를 처리하고 [SWS_CRYPT_50078], ProcessSingleCallWithInputIv는 외부 IV를 수락하며 [SWS_CRYPT_50079], EncryptSingleCallWithOutputIv는 컨텍스트에서 생성된 IV를 호출자에게 반환합니다 [SWS_CRYPT_50080].
Get the maximum input buffer size supported for processing in single calls to Update(), Finish(), FinishEncrypt() or ProcessSingleCall() by this context.
Get the maximum IV size required to be passed to the context in the functions Start() and ProcessSingleCallWithInputIv() for the given transformDirection.
Get the minimum input buffer size supported for processing in single calls to Update(), Finish(), FinishEncrypt() or ProcessSingleCall() by this context.
Get the minimum IV size required to be passed to the context in the functions Start() and ProcessSingleCallWithInputIv() for the given transformDirection.
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().
Encrypt or decrypt confidential data. When used for decryption, the plaintext is returned without verifying its authenticity. An application must not use the data before verifying its authenticity using Finish().
Cancel the ongoing streaming operation that has been initiated by Start() and has not yet been finished.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 739ac0d710b6출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
사용
인터페이스 ara::crypto::cryp::AuthCipherCtx의 메서드 Cancel()은 이전에 Start()를 통해 시작되었으나 아직 완료되지 않은 활성 스트리밍 연산을 취소합니다 [SWS_CRYPT_50077]. 이 함수는 헤더 ara/crypto/cryp/auth_cipher_ctx.h를 통해 제공되며 전달 매개변수 없이 동기적으로 동작합니다 [SWS_CRYPT_50077]. 성공 시 비어 있는 ara::core::Result<void>을 반환합니다.
오류 처리 및 제약 조건
취소는 데이터 처리가 실제로 이전에 Start()에 의해 시작되었음을 전제로 합니다. 스트리밍 연산이 시작되지 않은 경우 호출은 실패하고 롤백 시맨틱과 함께 오류 코드 ara::crypto::CryptoErrc::kProcessingNotStarted을 반환합니다 [SWS_CRYPT_50077].
동시성
이 연산은 noexcept(으)로 선언되어 있으며 사양에 따라 thread-safe 및 exception safe 둘 다로 분류되어 있습니다 [SWS_CRYPT_50077].
상호 작용
Cancel()에 의해 구현된 취소 패턴은 모듈 crypt에서 표준화되어 있습니다. 동일한 인터페이스 시맨틱과 동일한 오류 코드 ara::crypto::CryptoErrc::kProcessingNotStarted가 상응하는 스트리밍 컨텍스트에 대해 정의되어 있습니다:
virtual ara::core::Result< std::size_t > EncryptSingleCallWithOutputIv (ReadOnlyMemRegion dataIn, ReadWriteMemRegion dataOut, ReadWriteMem Region tag, ReadWriteMemRegion ivOut, ara::core::Optional< ReadOnlyMem Region > authenticatedData) noexcept=0;
Perform encryption and calculate/verify of the authentication tag in a single-call and return an IV generated by the context.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 6385ebfbc16d출처열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
인터페이스 ara::crypto::cryp::AuthCipherCtx의 동기 메서드 EncryptSingleCallWithOutputIv은(는) 단일 단계에서 인증된 암호화를 실행하고 이때 초기화 벡터를 자체적으로 생성합니다[SWS_CRYPT_50080]. 이 메서드는 dataIn의 입력 데이터와 선택적 추가 데이터 authenticatedData을(를) 처리하고 암호문을 버퍼 dataOut에 기록합니다. 생성된 초기화 벡터는 버퍼 ivOut에 저장되며, 인증 태그는 tag을(를) 통해 출력됩니다[SWS_CRYPT_50080]. ivOut의 버퍼 크기는 메서드 GetOutputIvSize을(를) 통해 미리 확인할 수 있습니다[SWS_CRYPT_50165]. 이름의 구성 요소 Encrypt에도 불구하고, 오류 사양에 transformDirection == kDecrypt에 대한 동작이 명시적으로 나열되어 있으므로 아마도 복호화에도 이 메서드를 사용할 수 있을 것으로 보입니다[SWS_CRYPT_50080]. 질문 Q-66618567b20f99b9 (열림)
호출에는 중요한 전제 조건과 제한 사항이 적용됩니다:
컨텍스트는 사전에 SetKey(으)로 성공적으로 초기화되었어야 합니다. 그렇지 않으면 kUninitializedContext이(가) 보고됩니다[SWS_CRYPT_50080].
구성된 키 슬롯의 키는 호환되어야 하고 적절한 권한(예: kAllowDataEncrypt)을 가져야 하며, 그렇지 않으면 kUsageViolation 또는 kIncompatibleObject이(가) 반환됩니다[SWS_CRYPT_50080].
출력 버퍼 dataOut 또는 ivOut이(가) 충분하지 않으면 호출이 kInsufficientCapacity(으)로 실패합니다[SWS_CRYPT_50080].
컨텍스트가 단일 단계 처리를 지원하지 않거나 외부 IV 지정을 필요로 하는 경우 kUnsupported이(가) 반환됩니다[SWS_CRYPT_50080].
이 연산은 thread-safe 및 예외 안전으로 명시되어 있으며 오류 발생 시 롤백 시맨틱을 보장합니다[SWS_CRYPT_50080]. 태그 처리가 없는 순수 대칭 암호화의 경우 SymmetricCipherCtx에 별도의 대응 기능이 존재합니다[SWS_CRYPT_50049].
an input data buffer containing the plaintext/ciphertext
authenticatedData
optional additional authenticated data
Parameter (out)
Parameter
Beschreibung
dataOut
an output data buffer that contains en-/decrypted data
ivOut
an output data buffer that the initialization vector (IV) generated by the context will be written to
Parameter (in/out)
Parameter
Beschreibung
tag
for decryption: an input data buffer that contains the authentication tag. for encryption: an output data buffer that the authentication tag is written to.
rollback_semantics if the allowed usage of the SymmetricKey deployed or contained in the provided KeySlot at the time of invocation of this interface does not include kAllowDataEncrypt for encryption, or kAllowData Decrypt for decryption, respectively
Finalize the en-/decryption and calculate/verify the authentication tag without returning an IV.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 8b946dd1de69출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
사용법 및 의미론
메서드 Finish은(는) ara::crypto::cryp::AuthCipherCtx 내에서 암호화 또는 복호화를 동기식으로 완료하고, 초기화 벡터(IV)를 반환하지 않고 인증 태그를 계산하거나 검사합니다[SWS_CRYPT_50075]. 호출자는 버퍼 in 및 대상 버퍼 out을(를) 통해 남은 데이터를 전달합니다. 버퍼 tag을(를) 통해 암호화 시에는 계산된 태그가 출력되고, 복호화 시에는 검사할 태그가 전달됩니다[SWS_CRYPT_50075]. 반환값 ara::core::Result<std::size_t>은(는) out에 실제로 기록된 바이트 수를 나타내며, 이는 출력 버퍼의 용량보다 작을 수 있습니다[SWS_CRYPT_50075].
순서 및 상호작용
호출 전에 데이터 처리는 반드시 Start()에 의해 시작되었어야 합니다[SWS_CRYPT_50075]. 이전에 데이터 블록이 UpdateConfidentialData을(를) 통해 처리된 경우, 애플리케이션은 복호화 시 Finish에 의한 인증이 성공한 후에만 결과 일반 텍스트를 사용할 수 있습니다[SWS_CRYPT_50074]. out에 필요한 최대 버퍼 크기는 isFinal = true을(를) 지정하여 GetRequiredOutputBufferSize을(를) 통해 미리 확인할 수 있습니다[SWS_CRYPT_50081].
an input data buffer that contains a part of the plaintext/ciphertext
Parameter (out)
Parameter
Beschreibung
out
an output data buffer that the en-/decrypted data is written to
Parameter (in/out)
Parameter
Beschreibung
tag
for decryption: an input data buffer that contains the authentication tag for encryption: an output data buffer that the authentication tag is written to
Finalize the encryption and calculate the authentication tag and return the IV generated by the context.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: fd75aa19665e출처열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
사용
FinishEncrypt 메서드는 ara::crypto::cryp::AuthCipherCtx에서 인증된 암호화 연산을 동기식으로 완료하고, 인증 태그를 계산하며, 컨텍스트에서 생성된 초기화 벡터를 ivOut를 통해 반환합니다[SWS_CRYPT_50076]. 호출은 스레드 안전 및 예외 안전(exception safe)으로 명세되어 있습니다[SWS_CRYPT_50076]. 결과로서 함수는 실제로 출력 버퍼 out에 기록된 바이트 수가 포함된 ara::core::Result<std::size_t>를 반환하며, 이때 출력 크기는 버퍼 용량보다 작을 수 있습니다[SWS_CRYPT_50076]. 해석: 이름은 암호화를 나타내지만, 매개변수 tag의 명세와 오류 코드 ara::crypto::CryptoErrc::kAuthTagNotValid은 이 시그니처가 컨텍스트에서 복호화 연산에도 대칭적으로 사용될 수 있음을 시사합니다. 질문 Q-6b924f12c32e0f33 (열림)
상호작용 및 버퍼 크기 산정
데이터 처리는 사전에 Start()로 반드시 시작되었어야 하며, 그렇지 않은 경우 함수는 오류 ProcessingNotStarted을(를) 보고합니다[SWS_CRYPT_50076]. 버퍼 크기 산정과 관련하여 다음 컨텍스트 함수들과의 상호작용에 유의해야 합니다:
out에 필요한 최대 용량은 오류 ara::crypto::CryptoErrc::kInsufficientCapacity을(를) 방지하기 위해 매개변수 isFinal = true와 함께 [SWS_CRYPT_50081]를 통해 사전에 계산될 수 있습니다[SWS_CRYPT_50076].
ivOut에서 생성된 초기화 벡터를 수용하는 데 필요한 버퍼 크기는 [SWS_CRYPT_50165]를 통해 쿼리할 수 있습니다.
오류 처리 및 제약 조건
오류 발생 시 모든 응답은 정의된 롤백 시맨틱을 갖습니다[SWS_CRYPT_50076]. 입력 데이터 또는 인증 태그의 유효하지 않은 버퍼 크기에 대해서는 ara::crypto::CryptoErrc::kInvalidInputSize이(가) 반환됩니다[SWS_CRYPT_50076]. 또한 스트림 처리가 지원되지 않거나, IV가 사용되지 않거나, 애플리케이션 시작 시 이미 IV가 지정된 경우 함수는 ara::crypto::CryptoErrc::kUnsupported를 반환합니다[SWS_CRYPT_50076].
an input data buffer that contains a part of the plaintext/ciphertext
Parameter (out)
Parameter
Beschreibung
out
an output data buffer that the en-/decrypted data is written to
ivOut
an output data buffer that contains the IV
Parameter (in/out)
Parameter
Beschreibung
tag
for decryption: an input data buffer that contains the authentication tag for encryption: an output data buffer that the authentication tag is written to
rollback_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.
Get the maximum input buffer size supported for processing in single calls to Update(), Finish(), FinishEncrypt() or ProcessSingleCall() by this context.
Get the maximum IV size required to be passed to the context in the functions Start() and ProcessSingleCallWithInputIv() for the given transformDirection.
Get the minimum input buffer size supported for processing in single calls to Update(), Finish(), FinishEncrypt() or ProcessSingleCall() by this context.
Get the minimum IV size required to be passed to the context in the functions Start() and ProcessSingleCallWithInputIv() for the given transformDirection.
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().
Perform en-/decryption and calculate/verify of the authentication tag in a single-call without setting or returning an IV.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: a5183289221a출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
ara::crypto::cryp::AuthCipherCtx의 동기식이며 스레드 안전한 것으로 정의된 메서드 ProcessSingleCall은(는) 초기화 벡터(IV) 없이 단일 연산으로 페이로드의 암호화 또는 복호화와 인증 태그의 동시 계산 또는 검증을 실행합니다 [SWS_CRYPT_50078]. 선택적 버퍼 authenticatedData을(를) 통해 추가 인증 데이터를 제공할 수 있습니다 [SWS_CRYPT_50078]. 버퍼 tag은(는) 복호화 시에는 검증을 위한 입력으로 사용되고, 암호화 시에는 생성된 인증 태그를 저장하기 위한 출력으로 사용됩니다 [SWS_CRYPT_50078]. 성공적으로 처리되면 ara::core::Result<std::size_t>은(는) 대상 버퍼의 용량보다 작을 수 있는 dataOut에 기록된 실제 바이트 수를 반환합니다 [SWS_CRYPT_50078].
호출 전에 SetKey의 성공적인 호출을 통해 암호화 컨텍스트가 초기화되었어야 합니다. 그렇지 않으면 함수가 ara::crypto::CryptoErrc::kUninitializedContext(으)로 실패합니다 [SWS_CRYPT_50078]. 또한 사용된 키가 요청된 변환 방향에 대해 승인되어 있어야 하며(kAllowDataEncrypt 또는 kAllowDataDecrypt), 그렇지 않으면 ara::crypto::CryptoErrc::kUsageViolation이(가) 보고됩니다 [SWS_CRYPT_50078]. 단일 단계 처리가 지원되지 않거나 컨텍스트에 IV가 필요한 경우 함수는 ara::crypto::CryptoErrc::kUnsupported을(를) 반환합니다 [SWS_CRYPT_50078]. 복호화 시 인증에 실패하면 ara::crypto::CryptoErrc::kAuthTagNotValid이(가) 트리거됩니다 [SWS_CRYPT_50078]. 할당된 키 슬롯의 오류는 EmptyKeySlot, ara::crypto::CryptoErrc::kBusyResource 또는 ara::crypto::CryptoErrc::kIncompatibleObject을(를) 통해 신호됩니다 [SWS_CRYPT_50078].
버퍼 관리를 위해 플래그 isFinal = true이(가) 설정된 상태에서 GetRequiredOutputBufferSize을(를) 통해 dataOut에 필요한 최대 출력 크기를 사전에 계산할 수 있습니다 [SWS_CRYPT_50081]. 출력 버퍼가 너무 작으면 ara::crypto::CryptoErrc::kInsufficientCapacity이(가) 발생합니다 [SWS_CRYPT_50078]. 또한 ara::crypto::CryptoErrc::kInvalidInputSize을(를) 방지하기 위해 dataIn의 크기는 GetMinimumChunkSize[SWS_CRYPT_50162] 및 GetMaximumChunkSize[SWS_CRYPT_50082]의 한계에 부합해야 합니다 [SWS_CRYPT_50078].
이 사용 지침은 AUTOSAR Adaptive R25-11 사양을 기반으로 자동 생성되었습니다.
an input data buffer containing the plaintext/ciphertext
transformDirection
the transformation direction, i.e., encryption or decryption
authenticatedData
optional additional authenticated data
Parameter (out)
Parameter
Beschreibung
dataOut
an output data buffer that contains en-/decrypted data
Parameter (in/out)
Parameter
Beschreibung
tag
for decryption: an input data buffer that contains the authentication tag. for encryption: an output data buffer that the authentication tag is written to.
rollback_semantics if the allowed usage of the SymmetricKey deployed or contained in the provided KeySlot at the time of invocation of this interface does not include kAllowDataEncrypt for encryption, or kAllowData Decrypt for decryption, respectively
Perform en-/decryption and calculate/verify of the authentication tag in a single-call, providing an IV to be used during en-/decryption.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 36312c01407d출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
ara::crypto::cryp::AuthCipherCtx 클래스의 메서드 [SWS_CRYPT_50079]은(는) 인증 태그를 동시에 계산하거나 검사하면서 데이터의 암호화 또는 복호화를 위한 동기식 단일 단계 처리(Single-Call)를 수행합니다.
호출 시 입력 데이터는 dataIn을(를) 통해 지정되고 방향은 transformDirection을(를) 통해 지정됩니다. 초기화 벡터는 iv을(를) 통해 전달되며, 선택적 인증 데이터는 authenticatedData을(를) 통해 제공될 수 있습니다[SWS_CRYPT_50079]. 버퍼 tag은(는) 암호화 시 계산된 태그의 출력으로, 복호화 시 검증을 위한 입력으로 사용됩니다[SWS_CRYPT_50079]. 반환값 ara::core::Result<std::size_t>은(는) 성공 시 dataOut에 기록된 바이트 수를 제공하며, 이는 버퍼 용량보다 작을 수 있습니다[SWS_CRYPT_50079].
ara::crypto::CryptoErrc::kUninitializedContext: 사전에 SetKey을(를) 통해 키가 구성되지 않았습니다[SWS_CRYPT_50079].
ara::crypto::CryptoErrc::kUsageViolation: 키에 필요한 권한(kAllowDataEncrypt 또는 kAllowDataDecrypt)이 없습니다[SWS_CRYPT_50079].
ara::crypto::CryptoErrc::kEmptyKeySlot, ara::crypto::CryptoErrc::kBusyResource 또는 ara::crypto::CryptoErrc::kIncompatibleObject: 구성된 KeySlot이 비어 있거나, 점유되어 있거나, 호환 가능한 SymmetricKey을(를) 포함하지 않습니다[SWS_CRYPT_50079].
ara::crypto::CryptoErrc::kInvalidInputSize 또는 ara::crypto::CryptoErrc::kInsufficientCapacity: 입력, 태그 또는 IV용 버퍼의 크기가 유효하지 않게 지정되었거나 dataOut의 용량이 충분하지 않습니다[SWS_CRYPT_50079].
ara::crypto::CryptoErrc::kAuthTagNotValid: 복호화 시 인증에 실패했습니다[SWS_CRYPT_50079].
ara::crypto::CryptoErrc::kUnsupported: 컨텍스트에서 단일 샷(Single-Shot) 처리를 지원하지 않거나 컨텍스트에서 IV 설정 또는 출력을 필요로 합니다[SWS_CRYPT_50079].
an input data buffer containing the plaintext/ciphertext
transformDirection
the transformation direction, i.e., encryption or decryption
iv
an Initialization Vector (IV) or "nonce" value
authenticatedData
optional additional authenticated data
Parameter (out)
Parameter
Beschreibung
dataOut
an output data buffer that contains en-/decrypted data
Parameter (in/out)
Parameter
Beschreibung
tag
for decryption: an input data buffer that contains the authentication tag. for encryption: an output data buffer that the authentication tag is written to.
rollback_semantics if the allowed usage of the SymmetricKey deployed or contained in the provided KeySlot at the time of invocation of this interface does not include kAllowDataEncrypt for encryption, or kAllowData Decrypt for decryption, respectively
rollback_semantics if the allowed usage of the provided SymmetricKey does not include kAllowDataEncrypt for encryption, or kAllowDataDecrypt for decryption, respectively
Request a governed re-review of this record. The record is not changed immediately.
The interface shall configure the context to use the key stored in the provided KeySlot when the authenticated encrypt or decrypt operation is executed.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 44d0d6c36fa2출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
ara::crypto::cryp::AuthCipherCtx 인터페이스의 SetKey 함수는 인증된 암호화 또는 복호화가 실행되는 즉시 제공된 키 슬롯에 저장된 대칭 키가 사용되도록 암호화 연산을 위한 컨텍스트를 구성합니다[SWS_CRYPT_50072].
사용법: 동기식 호출은 ara/crypto/cryp/auth_cipher_ctx.h의 인터페이스를 통해 수행됩니다. keySlot 매개변수로 대칭 키를 캡슐화하는 KeySlot::Sptr 인스턴스가 전달됩니다[SWS_CRYPT_50072]. 함수는 성공을 확인하거나 오류 코드를 포함하는 ara::core::Result<void>를 반환합니다[SWS_CRYPT_50072].
오류 처리: 컨텍스트의 구체적인 구현이 SymmetricKey 객체를 통한 직접 구성만을 지원하고 KeySlot을(를) 통한 설정을 제공하지 않는 경우 호출은 실패합니다. 이 경우 롤백 시맨틱과 함께 ara::crypto::CryptoErrc::kUnsupported 오류가 반환됩니다[SWS_CRYPT_50072].
동시성 및 제약 사항: 함수는 thread-safe 및 exception safe로 명세되어 있습니다[SWS_CRYPT_50072]. 동시 호출이 가능하며 예외 상황에서도 불일치한 상태가 남지 않도록 보장합니다.
상호작용: 기능적 대안으로 직접적인 SymmetricKey::Sptr을(를) 사용하는 오버로드 SetKey를 사용할 수 있습니다[SWS_CRYPT_23911]. 키 바인딩이 완료된 후 컨텍스트는 연산 방향 및 초기화 벡터와 함께 Start를 통해 초기화됩니다[SWS_CRYPT_24715]. KeySlot::Sptr를 사용하는 유사한 시그니처는 MessageAuthnCodeCtx[SWS_CRYPT_50026] 및 SymmetricKeyWrapperCtx[SWS_CRYPT_50034]에도 존재합니다.
Initialize the context for a new encryption or decryption and set the IV used by the context.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: da3f0fb3ff33출처열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
Start 메서드는 새로운 암호화 또는 복호화를 위해 컨텍스트 ara::crypto::cryp::AuthCipherCtx을 초기화하고 사용할 초기화 벡터(IV) 또는 nonce 값을 설정합니다 [SWS_CRYPT_24715]. transformDirection 매개변수를 통해 변환 방향이 지정되며, iv는 벡터를 ReadOnlyMemRegion로 전달합니다 [SWS_CRYPT_24715]. 허용되는 IV 크기는 GetMinimumInputIvSize() 및 GetMaximumInputIvSize()을 통해 확인할 수 있으며, 길이가 일치하지 않는 경우 함수는 오류 ara::crypto::CryptoErrc::kInvalidInputSize를 보고합니다 [SWS_CRYPT_24715].
호출 전에 SetKey이 성공적으로 실행되어 있어야 하며, 그렇지 않으면 ara::crypto::CryptoErrc::kUninitializedContext이 반환됩니다 [SWS_CRYPT_24715]. 구성된 KeySlot는 비어 있거나(EmptyKeySlot) 사용 중(ara::crypto::CryptoErrc::kBusyResource)이어서는 안 됩니다 [SWS_CRYPT_24715]. 또한 저장된 키는 적절한 SymmetricKey이어야 하고(그렇지 않으면 ara::crypto::CryptoErrc::kIncompatibleObject) 원하는 방향에 대한 권한이 있어야 합니다(kAllowDataEncrypt 또는 kAllowDataDecrypt, 그렇지 않으면 ara::crypto::CryptoErrc::kUsageViolation) [SWS_CRYPT_24715]. 스트림 처리에 대한 지원이 없거나 선택한 방향에서 IV 설정 지원이 누락된 경우 호출은 ara::crypto::CryptoErrc::kUnsupported과 함께 실패합니다 [SWS_CRYPT_24715]. 모든 오류는 롤백 시맨틱을 갖습니다 [SWS_CRYPT_24715].
the transformation direction, i.e., encryption or decryption
iv
an Initialization Vector (IV) or "nonce" value. The allowed size of the IV can be queried using the functions GetMinimumInputIvSize() and GetMaximumInputIvSize().
rollback_semantics if the allowed usage of the SymmetricKey deployed or contained in the provided KeySlot at the time of invocation of this interface does not include kAllowDataEncrypt for encryption, or kAllowData Decrypt for decryption, respectively
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.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: f698e30e2198출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
사용
ara::crypto::cryp::AuthCipherCtx 클래스의 순수 가상 메서드 Start는 향후 수행될 암호화 또는 복호화를 위해 컨텍스트를 동기식으로 초기화합니다[SWS_CRYPT_50073]. 매개변수 transformDirection를 통해 컨텍스트가 암호화를 위해 준비되는지 아니면 복호화를 위해 준비되는지 지정합니다. 초기화 벡터(IV)가 없는 이 오버로드는 암호화 컨텍스트가 선택한 변환 방향에서 IV를 요구하지 않거나 이를 직접 결정하는 경우에만 사용해야 합니다[SWS_CRYPT_50073]. 반환값은 성공 시 비어 있는 ara::core::Result<void>이거나 해당 오류 코드입니다.
오류 처리 및 사전 조건
호출 전에 컨텍스트는 SetKey를 통해 키로 성공적으로 구성되어 있어야 합니다. 그렇지 않으면 함수는 ara::crypto::CryptoErrc::kUninitializedContext 오류로 실패합니다[SWS_CRYPT_50073]. 또한 오류 발생 시 다음과 같은 반환값이 나타납니다:
스트림 처리가 컨텍스트에서 지원되지 않거나, 컨텍스트가 선택한 변환 방향에서 명시적인 IV 지정을 반드시 요구하는 경우 ara::crypto::CryptoErrc::kUnsupported[SWS_CRYPT_50073].
호출 시점에 구성된 KeySlot의 허용된 키 사용에 암호화를 위한 필수 권한 kAllowDataEncrypt 또는 복호화를 위한 필수 권한 kAllowDataDecrypt가 포함되지 않은 경우 ara::crypto::CryptoErrc::kUsageViolation[SWS_CRYPT_50073].
구성된 KeySlot이(가) 현재 비어 있거나 차단된 경우 EmptyKeySlot 또는 ara::crypto::CryptoErrc::kBusyResource[SWS_CRYPT_50073].
구성된 KeySlot에 SymmetricKey이(가) 포함되어 있지 않거나 해당 키 유형이 컨텍스트에서 지원되지 않는 경우 ara::crypto::CryptoErrc::kIncompatibleObject[SWS_CRYPT_50073].
이 함수는 noexcept=0(으)로 선언되어 예외 안전성을 보장하며 스레드 안전하도록 설계되었습니다[SWS_CRYPT_50073]. 알고리즘이 초기화 벡터의 외부 제공을 요구하는 경우 대신 오버로드 Start(CryptoTransform, ReadOnlyMemRegion)를 사용해야 합니다[SWS_CRYPT_24715]. 성공적으로 초기화된 후에는 UpdateAuthenticatedData를 통해 추가적인 인증 데이터를 인증 태그 계산에 포함시킬 수 있습니다[SWS_CRYPT_20313].
이 사용 지침은 AUTOSAR Adaptive R25-11 사양을 바탕으로 자동 생성되었습니다.
rollback_semantics if the allowed usage of the SymmetricKey deployed or contained in the provided KeySlot at the time of invocation of this interface does not include kAllowDataEncrypt for encryption, or kAllowData Decrypt for decryption, respectively
virtual ara::core::Result< void > UpdateAuthenticatedData (ReadOnlyMem Region authenticatedData) noexcept=0;
Update the tag calculation by a new chunk of additional authenticated data.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: f3852a997444출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
ara::crypto::cryp::AuthCipherCtx 인터페이스의 UpdateAuthenticatedData 메서드는 추가 인증 데이터(Additional Authenticated Data)의 추가 조각을 통해 인증 태그 계산을 점진적으로 업데이트하는 데 사용됩니다[SWS_CRYPT_20313]. 매개변수 authenticatedData을(를) 통해 해당 버퍼가 ReadOnlyMemRegion(으)로 전달됩니다[SWS_CRYPT_20313].
호출 컨텍스트 및 동시성과 관련하여 이 연산은 thread-safe 및 exception safe(으)로 정의되어 있습니다[SWS_CRYPT_20313]. 호출에는 엄격한 순서 조건이 적용됩니다:
변환은 사전에 Start() 메서드를 통해 시작되어야 하며, 그렇지 않으면 ara::crypto::CryptoErrc::kProcessingNotStarted이(가) 보고됩니다[SWS_CRYPT_20313].
UpdateConfidentialData이(가) 이미 실행된 경우에는 이 함수를 더 이상 호출해서는 안 되며, 준수하지 않을 경우 오류 ara::crypto::CryptoErrc::kInvalidUsageOrder이(가) 반환됩니다[SWS_CRYPT_20313].
Encrypt or decrypt confidential data. When used for decryption, the plaintext is returned without verifying its authenticity. An application must not use the data before verifying its authenticity using Finish().
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 0a7976c267f4출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
클래스 ara::crypto::cryp::AuthCipherCtx의 메서드 UpdateConfidentialData은(는) 인증된 암호화 컨텍스트의 프레임워크 내에서 기밀 페이로드를 점진적으로 암호화하거나 복호화하는 데 사용됩니다 [SWS_CRYPT_50074]. 평문 또는 암호문의 일부가 포함된 입력 버퍼 in(타입 ReadOnlyMemRegion) 및 출력 버퍼 out(타입 ReadWriteMemRegion)가 이 메서드에 전달됩니다 [SWS_CRYPT_50074]. 동기식 반환값으로 이 함수는 ara::core::Result<std::size_t>을(를) 반환하며, 이는 성공 시 실제로 기록된 바이트 수를 포함합니다. 이 값은 out의 용량보다 작을 수 있습니다 [SWS_CRYPT_50074].
동작 흐름 및 동시성과 관련하여 다음 조건이 적용됩니다:
실행 순서 및 무결성: 처리 전에 Start()을(를) 통해 작업이 시작되었어야 합니다 [SWS_CRYPT_50074]. 이 메서드가 복호화에 사용되는 경우 사전 인증 검증 없이 평문이 출력됩니다. 애플리케이션은 Finish()을(를) 통한 최종 검증 전에는 어떠한 경우에도 이 데이터를 사용해서는 안 됩니다 [SWS_CRYPT_50074]. 추가적인 인증 데이터는 UpdateAuthenticatedData을(를) 통해 태그 계산에 병렬로 반영될 수 있습니다 [SWS_CRYPT_20313].
스레드 및 예외 안전성: 해당 연산은 thread-safe 및 exception-safe로 선언되어 있으며 예외를 발생시키지 않습니다(noexcept) [SWS_CRYPT_50074].
처리가 실패하면 ara::core::Result에서 해당 오류 코드를 반환하면서 롤백 시맨틱이 적용됩니다 [SWS_CRYPT_50074]:
ara::crypto::CryptoErrc::kProcessingNotStarted: Start()을(를) 통한 처리가 아직 시작되지 않았습니다 [SWS_CRYPT_50074].
ara::crypto::CryptoErrc::kInsufficientCapacity: 출력 버퍼 out의 크기가 너무 작게 할당되었습니다 [SWS_CRYPT_50074].
ara::crypto::CryptoErrc::kInvalidInputSize: 버퍼 in의 크기가 유효하지 않습니다 [SWS_CRYPT_50074].
gemini-3.8-flash-low· 2026-10-13 · 독일어 원문