DEENESPTFRRUARHIKOZHNL

Crypto Interface (CryIf)

ModulCryIf (Crypto Interface)
BSW-Modul-ID112
Standard-Header#include "CryIf.h"
SWS-SpezifikationAUTOSAR_SWS_CryptoInterface.pdf
ClusterCrypto Services

모듈 가이드AI 생성

구성된 채널을 통해 CSM의 암호화 작업 및 키 호출을 담당 Crypto 드라이버로 전달합니다.
AI 생성 미검증 모델: claude-opus-5-5 · 노력: high · 온도: 제어 불가 · 프롬프트: 6b37c73ee677 출처 열린 질문 (4)
인과 앵커: R20-11 R20-11부터 유효 이 사양 릴리스용으로 새로 합성되었습니다.
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

구성된 채널을 통해 CSM의 암호화 작업 및 키 호출을 담당 Crypto 드라이버로 전달합니다.

CryIf는 Classic 암호화 스택에서 CSM과 Crypto Driver 사이를 중재하며, 구성된 채널을 통해 작업 및 키 호출을 담당 Crypto Driver Object로 전달합니다 SWS CSM 26쪽. 핵심 인터페이스는 CryIf_ProcessJob이며, 구성에 따라 동기식 또는 비동기식으로 작동합니다 [SWS_CryIf_91003]. 비동기 결과는 드라이버가 콜백을 통해 CryIf에 보고하고, CryIf는 이를 CSM으로 전달합니다. 전달하기 전에 CryIf는 자체 키 ID를 드라이버의 키 ID에 매핑하고 해당 범위를 확인합니다. R20-11의 경우, 이후 릴리스에서 오류 코드와 동기성 규칙이 변경되었음에 유의해야 합니다.

CryIf는 Classic 암호화 스택에서 Service Layer의 CSM과 MCAL의 Crypto Driver 사이를 중재합니다. 애플리케이션의 요청은 논리 채널을 통해 HSM의 하드웨어 엔진까지 전달됩니다 SWS CSM 그림 7.4 27쪽. 채널은 CSM 큐에서 CryIf를 거쳐 Crypto Driver Object로 이어지는 경로이며, 각 CSM 큐는 정확히 하나의 채널에 할당됩니다 SWS CSM 26쪽. 채널은 SWS CryIf 51쪽의 CryIfChannelId 및 CryIfDriverObjectRef와 함께 컨테이너 CryIfChannel에서 구성됩니다. 매 사용 전에 CryIf_Init은 구현별 구성으로 모듈을 초기화합니다 [SWS_CryIf_91000].

kontext cluster_app Application Layer cluster_srv Service Layer cluster_ecu ECU Abstraction Layer cluster_mcal MCAL cluster_hw Microcontroller (HSM) app1 App1 (AES) rte RTE app1->rte app2 App2 (AES) app2->rte app3 App3 (RSA) app3->rte csm CSM Queue je Kanal rte->csm Krypto-Dienste cryif CryIf CryIfChannel csm->cryif CryIf_ProcessJob, CryIf_CancelJob, CryIf_Key… cryif->csm Csm_CallbackNotification crypto Crypto Driver Crypto Driver Objects cryif->crypto Weiterleitung je Kanal an Crypto Driver Object det DET cryif->det Det_ReportError, Det_ReportRuntimeError crypto->cryif CryIf_CallbackNotification hwaes HW-AES crypto->hwaes Kanal AES hwrsa HW-RSA crypto->hwrsa Kanal RSA

컨텍스트 다이어그램: CryIf는 CSM의 작업을 채널별로 Crypto Driver Objects에 전달하고 결과를 CSM에 다시 보고합니다. 출처: SWS CSM 그림 7.4 27쪽, [SWS_CryIf_91100]

핵심 인터페이스는 CryIf_ProcessJob입니다. 이 함수는 재진입 가능하며 구성에 따라 동기식 또는 비동기식으로 작동합니다 [SWS_CryIf_91003]. START, UPDATE 및 FINISH 작동 모드를 결합할 수 있어 동일한 함수가 단일 호출과 스트리밍을 모두 처리합니다 SWS CryIf 22쪽. 비동기 결과는 드라이버가 CryIf_CallbackNotification을 통해 보고합니다 [SWS_CryIf_91013]. CryIf는 이를 Csm_CallbackNotification를 통해 CSM으로 전달합니다 [SWS_CryIf_91100]. 진행 중인 작업은 CryIf_CancelJob이 드라이버에서 중단합니다 [SWS_CryIf_91014].

CryIf_ProcessJob을 통한 Job 처리CSMCryIfCrypto Driver ObjectDETCryIf_ProcessJob(channelId, job)키 ID 확인및 드라이버 ID로 매핑opt키 ID가 범위를 벗어남CRYPTO_E_PARAM_HANDLE meldenE_NOT_OKCrypto_ProcessJob(…, job)altsynchron konfiguriertBerechnungErgebnis (E_OK / CRYPTO_E_…)반환값 그대로 전달asynchron konfiguriert전달의 반환값반환값 그대로 전달Berechnung,예: Main 함수로부터CryIf_CallbackNotification(job, result)Csm_CallbackNotification(job, result)

시퀀스 다이어그램: CryIf가 키 ID를 확인한 다음 작업을 전달합니다. 결과는 반환값으로 동기식으로 반환되거나 2단계 콜백을 통해 비동기식으로 반환됩니다. 출처: [SWS_CryIf_91003], [SWS_CryIf_91013], SWS Crypto 27쪽

전달하기 전에 CryIf는 자체 키 ID를 드라이버의 ID에 매핑합니다. 범위에서 벗어난 경우 DET에 CRYPTO_E_PARAM_HANDLE을 보고하고 E_NOT_OK을 반환합니다 [SWS_CryIf_00133] [SWS_CryIf_00134]. 그 외에도 CryIf는 키의 설정, 유효화, 무효화, 읽기, 생성, 파생, 교환 및 복사를 위한 동기 함수를 제공합니다. 부분 복사 시 소스와 대상이 서로 다른 드라이버에 있는 경우, CryIf가 요소를 읽어 대상에 직접 씁니다 [SWS_CryIf_00140].

CRYIF_E_UNINIT 또는 CRYIF_E_PARAM_POINTER과 같은 개발 오류는 DET로 전달됩니다 [SWS_CryIf_00009]. CRYPTO_E_BUSY 또는 CRYPTO_E_KEY_NOT_VALID와 같은 런타임 오류는 반환값으로 반환됩니다 [SWS_CryIf_91020]. 이후 릴리스는 R20-11과 차이가 있습니다. 즉, CRYIF_E_PARAM_HANDLE을 통일하고 CryIf_RandomSeed 및 CryIf_KeyGenerate을 동기식으로 지정합니다 SWS CryIf 1쪽.

Crypto Service Manager와 Crypto Driver 사이에서 CryIf의 역할

Crypto Interface(CryIf)는 Classic 암호화 스택의 ECU Abstraction Layer에 위치합니다. 애플리케이션은 RTE 및 CSM을 통해 암호화 서비스를 요청합니다. 이러한 요청은 논리 채널을 통해 CryIf를 거쳐 MCAL의 Crypto Driver로 전달되고, 나아가 HSM 내의 HW-AES 및 HW-RSA와 같은 하드웨어 엔진으로 전달됩니다 SWS CSM 그림 7.4 27쪽. Crypto Driver Object는 하드웨어 또는 소프트웨어의 독립적인 암호화 "장치", 예를 들어 AES 가속기나 소프트웨어의 RSA 구현을 나타냅니다 SWS CSM 26쪽. CryIf는 자체적으로 연산을 수행하지 않습니다. 해당 함수들은 각각의 호출을 구성된 Crypto Driver Object로 전달하며, [SWS_CryIf_91005], [SWS_CryIf_91007], [SWS_CryIf_91009] 및 [SWS_CryIf_91014]가 그 예입니다.

상위 방향으로 CryIf는 세 그룹의 인터페이스를 제공합니다:

“ACTIVE” 상태의 Job에 대해 CSM은 CryIf_ProcessJob을 호출하고 해당 반환값을 변경 없이 전달합니다 SWS CSM 22쪽. 하위 방향으로 CryIf는 CryIf_CallbackNotification [SWS_CryIf_91013]을 통해 드라이버의 완료 알림을 수신합니다 SWS Crypto 27쪽. 다른 모듈로부터는 Csm_CallbackNotification 및 Det_ReportRuntimeError [SWS_CryIf_91100]이 필요하며, 선택적으로 Det_ReportError [SWS_CryIf_91101]이 추가로 필요합니다.

kontext cluster_app Application Layer cluster_srv Service Layer cluster_ecu ECU Abstraction Layer cluster_mcal MCAL cluster_hw Microcontroller (HSM) app1 App1 (AES) rte RTE app1->rte app2 App2 (AES) app2->rte app3 App3 (RSA) app3->rte csm CSM Queue je Kanal rte->csm Krypto-Dienste cryif CryIf CryIfChannel csm->cryif CryIf_ProcessJob, CryIf_CancelJob, CryIf_Key… cryif->csm Csm_CallbackNotification crypto Crypto Driver Crypto Driver Objects cryif->crypto Weiterleitung je Kanal an Crypto Driver Object det DET cryif->det Det_ReportError, Det_ReportRuntimeError crypto->cryif CryIf_CallbackNotification hwaes HW-AES crypto->hwaes Kanal AES hwrsa HW-RSA crypto->hwrsa Kanal RSA

컨텍스트 다이어그램: CryIf는 CSM 큐를 채널별로 Crypto Driver Object에 연결하고 결과를 CSM에 다시 보고합니다. 출처: SWS CSM 그림 7.4 27쪽, [SWS_CryIf_91100], [SWS_CryIf_91013]

채널, 구성 및 초기화

채널은 CSM 큐에서 CryIf를 거쳐 Crypto Driver Object로 이어지는 경로입니다. CSM의 각 큐는 정확히 하나의 채널에 할당되며, 선택적으로 Crypto Driver 또한 자체 큐를 가질 수 있습니다 SWS CSM 26쪽. 채널은 모든 variant에서 다중도 0..* 및 Pre-compile 구성과 함께 컨테이너 CryIfChannel에서 구성됩니다. 이 컨테이너는 매개변수 CryIfChannelId 및 CryIfDriverObjectRef을 포함합니다 SWS CryIf 51쪽. CryIfChannelId은 CSM 큐가 어떤 채널과 연결되는지 결정합니다. 런타임에는 [SWS_CryIf_91003] 및 [SWS_CryIf_91014]의 매개변수 channelId 또한 암호화 채널을 지정합니다. 해석: CryIfDriverObjectRef는 해당 채널의 작업을 실행하는 Crypto Driver Object에 채널을 바인딩할 것으로 추정됩니다. 질문 Q-5f8f778dc8552b7f (열림)

매 사용 전에는 CryIf_Init을 호출해야 합니다 [SWS_CryIf_91000]. 이 함수는 동기식이며 재진입이 불가능합니다(non-reentrant). 이 함수는 내용이 구현별로 상이한 CryIf_ConfigType 타입의 선택된 구성에 대한 포인터를 전달받습니다 [SWS_CryIf_91118] SWS CryIf 20쪽. 초기화 실패에 대해 오류 목록은 CRYIF_E_INIT_FAILED(0x01)을 규정합니다 [SWS_CryIf_00009]. CryIf_GetVersionInfo은 재진입 가능(reentrant)하며 모듈의 버전 정보를 제공합니다 [SWS_CryIf_91001].

채널 외에도 CryIf는 자체 키 식별자(cryIfKeyId)를 관리합니다. CryIf는 이를 담당 드라이버의 키 ID에 매핑합니다 [SWS_CryIf_00133]. Job이 작업 처리 리디렉션(job processing redirection)을 사용하는 경우, CryIf는 들어오는 키 및 키 요소 참조를 드라이버의 참조에 맞게 추가로 조정합니다 [SWS_CryIf_00136]. 키는 키 자료, 초기화 벡터 또는 시드와 같은 하나 이상의 키 요소로 구성됩니다 SWS CSM 30쪽.

CryIf_ProcessJob부터 피드백까지의 Job 처리

단일 호출과 스트리밍은 동일한 함수 CryIf_ProcessJob을 통해 실행됩니다. job->jobPrimitiveInputOutput.mode 필드는 조합 가능한 동작 모드인 “START”, “UPDATE” 및 “FINISH”를 포함합니다. 단일 호출로 이루어지는 완전한 서비스는 이 세 가지 모드의 조합에 해당합니다 SWS CryIf 22쪽. 이 함수는 재진입 가능하며 구성에 따라 동기식 또는 비동기식으로 작동합니다 [SWS_CryIf_91003]. Job의 상태 전이는 CSM이 아니라 Crypto Driver가 수행합니다 SWS CSM 22쪽.

비동기적인 경우 드라이버는 필요한 정보만을 프리미티브에 전달합니다. 그런 다음 Main 함수에서 계산을 트리거할 수 있습니다. 완료 후 드라이버는 CryIf_CallbackNotification을 통해 CryIf에 Job과 결과를 보고합니다 SWS Crypto 27쪽. 이 함수는 동기식이며 재진입할 수 없습니다. 전달된 Job에는 이를 식별하는 콜백 ID가 포함되어 있습니다 [SWS_CryIf_91013]. 그런 다음 CryIf는 Csm_CallbackNotification을 통해 CSM에 완료를 보고하며, 이 함수는 하위 계층인 CRYIF 전용으로 명시되어 있습니다 [SWS_CryIf_91100]. FINISH 비트가 설정되어 있으면 CSM은 구성된 콜백을 호출합니다 SWS CSM 82쪽.

CryIf_ProcessJob을 통한 Job 처리CSMCryIfCrypto Driver ObjectDETCryIf_ProcessJob(channelId, job)키 ID 확인및 드라이버 ID로 매핑opt키 ID가 범위를 벗어남CRYPTO_E_PARAM_HANDLE meldenE_NOT_OKCrypto_ProcessJob(…, job)altsynchron konfiguriertBerechnungErgebnis (E_OK / CRYPTO_E_…)반환값 그대로 전달asynchron konfiguriert전달의 반환값반환값 그대로 전달Berechnung,예: Main 함수로부터CryIf_CallbackNotification(job, result)Csm_CallbackNotification(job, result)

시퀀스 다이어그램: CryIf는 먼저 키 ID를 검사한 후 Job을 전달합니다. 결과는 동기식으로 반환값으로 오거나 두 단계 콜백을 통해 비동기식으로 반환됩니다. 출처: [SWS_CryIf_91003], [SWS_CryIf_00134], [SWS_CryIf_91013], [SWS_CryIf_91100], SWS Crypto 27쪽

실행 중인 비동기 Job 및 스트리밍 Job은 취소할 수 있습니다. 이를 위해 CSM은 자체 큐에서 Job을 제거하거나 CryIf_CancelJob을 호출합니다 SWS CSM 80쪽. CryIf_CancelJob는 동기식이며 재진입 가능하고 구성을 마친 Crypto Driver Object로 취소를 전달합니다. E_OK은 Job이 제거되었음을 의미하며, E_NOT_OK는 그것이 불가능했음을 의미합니다 [SWS_CryIf_91014] SWS CryIf 24쪽. 후속 릴리스(R24-11/R25-11)의 문서 위치에서는 추가로 CRYPTO_E_JOB_CANCELED을 언급합니다. 이 경우 취소는 다음의 적절한 처리 단계에서 비로소 수행되며 부정적인 완료 콜백을 통해 보고됩니다 SWS CSM 80쪽.

Job 취소애플리케이션CSMCryIfCrypto Driver ObjectCsm_CancelJob(job, mode)altJob이 아직 CSM 큐에 있음자체 큐에서 Job 제거Job이 이미 드라이버에 전달됨CryIf_CancelJob(channelId, job)Abbruch weiterleiten(Crypto_CancelJob)E_OK / E_NOT_OK(나중에 CRYPTO_E_JOB_CANCELED도 포함)반환 값E_OK: CSM이 Job의 완료 콜백을 호출함CRYPTO_E_JOB_CANCELED: 다음 작업 시 취소geeigneten Schritt, negativer Abschluss-Callback반환 값

시퀀스 다이어그램: 취소는 CSM 큐에서 이미 끝나거나 CryIf를 통해 Crypto Driver Object로 전달됩니다. 출처: [SWS_CryIf_91014], SWS CSM 80쪽, SWS CryIf 45쪽

Job 내 키 ID 매핑 및 검사

일부 Job은 CRYPTO_KEYSETVALID, CRYPTO_KEYSETINVALID, CRYPTO_RANDOMSEED, CRYPTO_KEYGENERATE, CRYPTO_KEYDERIVE, CRYPTO_KEYEXCHANGECALCPUBVAL 또는 CRYPTO_KEYEXCHANGECALCSECRET과 같은 키 관리 서비스를 포함합니다. 이에 대해 CryIf는 job->jobPrimitiveInputOutput->cryIfKeyId 및 해당되는 경우 targetCryIfKeyId이 유효한 범위 내에 있는지 검사합니다. 유효한 경우 CryIf는 job->cryptoKeyId 또는 job->targetCryptoKeyId을 드라이버의 키 ID로 설정합니다 [SWS_CryIf_00133] [SWS_CryIf_00141]. 소스 ID가 범위를 벗어나면 CryIf_ProcessJob은 DET에 CRYPTO_E_PARAM_HANDLE를 보고하고 E_NOT_OK를 반환합니다 [SWS_CryIf_00134]. CRYPTO_KEYDERIVE의 경우 대상 ID에 대해서도 동일하게 적용됩니다 [SWS_CryIf_00135].

키 관련 프리미티브 역시 검사됩니다. CRYPTO_MACGENERATE, CRYPTO_MACVERIFY, CRYPTO_ENCRYPT, CRYPTO_DECRYPT, CRYPTO_AEADENCRYPT, CRYPTO_AEADDECRYPT, CRYPTO_RANDOMGENERATE, CRYPTO_SIGNATUREGENERATE 및 CRYPTO_SIGNATUREVERIFY의 경우 job->jobPrimitiveInfo->cryIfKeyId가 유효한 범위에 있는지 검사됩니다 [SWS_CryIf_00143].

keyid start CryIf_ProcessJob(channelId, job) d1 키 관리 서비스인가? KEYSETVALID, KEYSETINVALID, RANDOMSEED, KEYGENERATE, KEYDERIVE, KEYEXCHANGECALCPUBVAL, KEYEXCHANGECALCSECRET start->d1 c1 jobPrimitiveInputOutput->cryIfKeyId가 유효 범위 내에 있는가? d1->c1 예 d3 키가 있는 프리미티브인가? MACGENERATE/-VERIFY, (AEAD)ENCRYPT/DECRYPT, RANDOMGENERATE, SIGNATUREGENERATE/-VERIFY d1->d3 아니요 d2 Dienst = CRYPTO_KEYDERIVE? c1->d2 예 err DET에 CRYPTO_E_PARAM_HANDLE 전달 E_NOT_OK 반환 c1->err 아니요 c2 targetCryIfKeyId가 유효 범위 내에 있는가? d2->c2 예 map job->cryptoKeyId (해당하는 경우 job->targetCryptoKeyId)를 드라이버 키 ID로 설정 d2->map 아니요 c2->map 예 c2->err 아니요 fwd 해당 채널의 Crypto Driver Object로 전달 map->fwd c3 jobPrimitiveInfo->cryIfKeyId가 유효 범위 내에 있는가? d3->c3 예 d3->fwd 아니요 c3->err 아니요 c3->fwd 예

액티비티 다이어그램: CryIf는 서비스 유형에 따라 키 ID를 검사하고 드라이버 ID로 매핑한 후 Job을 전달합니다. 출처: [SWS_CryIf_00133], [SWS_CryIf_00134], [SWS_CryIf_00135], [SWS_CryIf_00143]

이 영역은 릴리스 간에 변경되었습니다. R20-11은 검사에서 CRYPTO_E_PARAM_HANDLE을 명시하는 반면, 모듈의 오류 목록은 CRYIF_E_PARAM_HANDLE(0x03)을 정의합니다 [SWS_CryIf_00009]. 변경 이력에 따르면 이는 R22-11에서 비로소 CRYIF_E_PARAM_HANDLE으로 통일되었습니다 SWS CryIf 1쪽. 동일한 변경으로 DET 보고 후의 반환값이 제거되었습니다. 또한 서비스 CRYPTO_CUSTOM가 추가되었으며, 이는 후속 문서 위치의 목록에 이미 포함되어 있습니다 SWS CryIf 23쪽. R20-11의 경우 여기에 인용된 형식의 요구사항이 적용됩니다.

키 관리: 자료, 상태, 생성 및 교환

직접적인 키 API는 동기식입니다. 재진입이 불가능한 항목은 CryIf_KeyElementSet [SWS_CryIf_91004], CryIf_KeySetValid [SWS_CryIf_91005], CryIf_KeySetInvalid [SWS_CryIf_91021] 및 CryIf_KeyGetStatus [SWS_CryIf_91012]입니다. 변경 이력에 따르면 키 상태를 위한 기능은 R20-11에 추가되었습니다 SWS CryIf 1쪽. 요소 설정이 실패하면 CSM 명세에 따라 해당 상태는 알 수 없음으로 간주됩니다 SWS CSM 62쪽. 상태는 Csm_KeyGetStatus으로 확인할 수 있으며, 이는 내부적으로 CryIf_KeyGetStatus을 호출합니다 SWS CSM 63쪽.

CryIf_KeyElementGet은 재진입 가능합니다 [SWS_CryIf_91006]. 매개변수 resultLengthPtr는 입력 및 출력으로 사용됩니다. 호출 시에는 버퍼 크기를 포함하며, 부분 접근 요소의 경우에는 읽을 양을 포함합니다. 완료 후에는 실제로 저장된 데이터 양을 포함합니다 SWS CryIf 30쪽.

schluesselstatus start Start gesetzt 요소 설정됨 (아직 유효한 것으로 선언되지 않음, 해석) start->gesetzt CryIf_KeyElementSet valid 유효함 (valid) gesetzt->valid CryIf_KeySetValid valid->valid Nutzung in Jobs, CryIf_KeyGetStatus invalid 유효하지 않음 (invalid) valid->invalid CryIf_KeySetInvalid invalid->valid CryIf_KeySetValid invalid->invalid Nutzung scheitert: CRYPTO_E_KEY_NOT_VALID

상태 다이어그램: 키는 해당 요소를 설정한 후 유효한 것으로 선언되며 다시 유효하지 않게 설정될 수 있습니다. 키가 유효하지 않은 경우 CRYPTO_E_KEY_NOT_VALID을 사용한 작업은 실패합니다. CryIf_KeySetValid 이전의 초기 상태는 해석입니다. 출처: [SWS_CryIf_91004], [SWS_CryIf_91005], [SWS_CryIf_91021], [SWS_CryIf_91012], SWS CSM 70쪽

키 생성을 위해 CryIf_RandomSeed [SWS_CryIf_91007]이 시작값을 제공하고, CryIf_KeyGenerate [SWS_CryIf_91008]이 키를 생성합니다. CSM 명세에 따르면 키는 요소 CRYPTO_KE_KEYGENERATE_KEY에서 생성됩니다. 그 기반은 CRYPTO_KE_KEYGENERATE_SEED의 시드와 CRYPTO_KE_KEYGENERATE_ALGORITHM SWS CSM 67쪽의 알고리즘입니다. R20-11에서 두 함수는 구성에 따라 동기식 또는 비동기식으로 작동합니다 [SWS_CryIf_91007] [SWS_CryIf_91008]. R21-11에 이르러서야 이들이 동기식으로 확정되었습니다 SWS CryIf 1쪽. CryIf_KeyDerive은 동기식이며 재진입 가능하고, 소스 키로부터 키를 도출하여 대상 키에 저장합니다 [SWS_CryIf_91009] SWS CryIf 42쪽.

Diffie-Hellman 키 교환을 위해 두 개의 함수가 존재합니다. CryIf_KeyExchangeCalcPubVal [SWS_CryIf_91010]은 자체 공개 값을 계산합니다. CryIf_KeyExchangeCalcSecret [SWS_CryIf_91011]은 상대방의 값으로부터 공유 비밀을 계산합니다. 키 자료는 요소 CRYPTO_KE_KEYEXCHANGE_BASE, CRYPTO_KE_KEYEXCHANGE_PRIVKEY 및 CRYPTO_KE_KEYEXCHANGE_OWNPUBKEY에 있습니다 SWS CSM 70쪽. 드라이버는 비밀을 동일한 키의 요소로 저장합니다 SWS Crypto 84쪽. 해석: 직접 키 API의 경우에도 CryIf는 Job 경로에서와 마찬가지로 cryIfKeyId를 드라이버의 키 ID로 매핑할 것으로 추정됩니다 [SWS_CryIf_00133]. 질문 Q-f146ad33e972fa97 (열림)

CryIf를 통한 키 교환Anwendung / CSMCryIfCrypto Driver ObjectKommunikationspartnerUse Case: 자체 공개 값 계산CryIf_KeyExchangeCalcPubVal(cryIfKeyId,publicValuePtr, publicValueLengthPtr)an konfiguriertes Crypto Driver Object weiterleiten공개 값, 반환값공개 값, 반환값Use Case: CryIf 외부에서의 교환자체 공개 값 전송상대방의 공개 값 전송Use Case: Gemeinsames Geheimnis berechnenCryIf_KeyExchangeCalcSecret(cryIfKeyId,partnerPublicValuePtr, partnerPublicValueLength)Crypto_KeyExchangeCalcSecret(…)비밀(secret)을 키 요소로동일한 키에 저장반환 값반환 값

시퀀스 다이어그램: 키 교환은 두 번의 CryIf 호출로 진행됩니다. 그 사이에 애플리케이션은 CryIf 외부에서 상대방과 공개 값을 교환합니다. 출처: [SWS_CryIf_91010], [SWS_CryIf_91011], SWS CSM 70쪽, SWS Crypto 84쪽

Crypto Driver 내부 및 드라이버 간 키 복사

복사를 위해 CryIf_KeyElementCopy [SWS_CryIf_91015], CryIf_KeyCopy [SWS_CryIf_91016] 및 CryIf_KeyElementCopyPartial [SWS_CryIf_91018]가 제공됩니다. 세 함수 모두 동기식이며 재진입 가능하지만, 동일한 cryIfKeyId에 대해서는 재진입할 수 없습니다. E_OK 및 E_NOT_OK 외에도 이들은 무엇보다 CRYPTO_E_KEY_READ_FAIL, CRYPTO_E_KEY_WRITE_FAIL, CRYPTO_E_KEY_SIZE_MISMATCH 및 CRYPTO_E_KEY_EMPTY를 반환할 수 있습니다 SWS CryIf 35쪽.

부분 복사 시 명세는 두 가지 사례를 구분합니다:

  • 소스 키와 대상 키가 동일한 Crypto Driver에 있는 경우: CryIf는 할당된 드라이버의 Crypto_<vi>_<ai>_KeyElementCopyPartial()을 호출하고 그 반환값을 전달합니다 [SWS_CryIf_00139].
  • 키가 서로 다른 드라이버에 있는 경우: CryIf는 Crypto_<vi>_<ai>_KeyElementGet()으로 요소를 읽고 부분 데이터를 대상 위치로 복사한 다음 Crypto_<vi>_<ai>_KeyElementSet()을 사용하여 대상 요소를 씁니다 [SWS_CryIf_00140].

드라이버의 복사 함수는 선택적 인터페이스입니다. 요소가 Flash에 직접 위치하는 경우 호출에 훨씬 더 오랜 시간이 걸릴 수 있습니다 SWS CryIf 45쪽.

copypartial start CryIf_KeyElementCopyPartial(…) fehler Fehler durch CryIf erkannt? start->fehler abbruch 전달하지 않음 (오류 발생 시 동작 참조) fehler->abbruch 예 gleich cryIfKeyId 및 targetCryIfKeyId가 동일한 Crypto Driver에 있는가? fehler->gleich 아니요 ende Ende abbruch->ende partial Crypto_<vi>_<ai>_KeyElementCopyPartial() 호출, 반환값 그대로 전달 gleich->partial 예 lesen Crypto_<vi>_<ai>_KeyElementGet()으로 소스 요소 읽기 gleich->lesen 아니요 partial->ende kopieren Teildaten an Zielposition kopieren lesen->kopieren schreiben Crypto_<vi>_<ai>_KeyElementSet()으로 대상 요소 쓰기 kopieren->schreiben schreiben->ende

액티비티 다이어그램: CryIf가 드라이버에 직접 위임할지 또는 읽기와 쓰기를 통해 자체 복사할지는 키가 동일한 드라이버에 있는지 여부에 따라 달라집니다. 출처: [SWS_CryIf_00139], [SWS_CryIf_00140]

오류가 발생한 경우의 동작

CryIf는 개발 오류를 DET에 보고합니다. 모듈의 오류 목록은 [SWS_CryIf_00009]을 포함합니다:

오류 코드값발생 원인
CRYIF_E_UNINIT0x00초기화 전 API 호출
CRYIF_E_INIT_FAILED0x01초기화 실패
CRYIF_E_PARAM_POINTER0x02매개변수로 널 포인터 전달
CRYIF_E_PARAM_HANDLE0x03매개변수 범위 초과
CRYIF_E_PARAM_VALUE0x04유효하지 않은 매개변수 값
CRYIF_E_KEY_SIZE_MISMATCH0x05소스 요소와 대상 요소의 크기 불일치

초기화 전 CRYIF_E_UNINIT 보고는 여러 함수에 대해 입증되어 있습니다: CryIf_KeyDerive SWS CryIf 42쪽, CryIf_RandomSeed SWS CryIf 37쪽, CryIf_CancelJob SWS CryIf 24쪽, CryIf_KeyGetStatus SWS CryIf 29쪽 및 CryIf_CallbackNotification SWS CryIf 44쪽. 나머지 서비스에 대해서도 아마 동일하게 적용될 것입니다. 추가적인 검사 역시 입증되어 있습니다. CryIf_CancelJob은 허용되지 않는 channelId에 대해 CRYIF_E_PARAM_HANDLE를 보고하고, 허용되지 않는 cryIfKeyId에 대해 CryIf_KeyGetStatus를 보고합니다. CryIf_CallbackNotification은 포인터를 검사하여 필요한 경우 CRYIF_E_PARAM_POINTER을 보고합니다 SWS CryIf 44쪽. 질문 (열림)

런타임 오류는 드라이버로부터 반환값으로 전달됩니다. 예를 들어 부분 복사에 대해 [SWS_CryIf_00139]이 명시하는 바와 같이 CryIf는 이를 그대로 전달합니다. CSM 역시 CryIf_ProcessJob의 반환값을 전달합니다 SWS CSM 22쪽. 값 범위는 무엇보다 다음을 포함합니다 [SWS_CryIf_91020]:

  • CRYPTO_E_BUSY (0x02): 서비스가 아직 바쁨
  • CRYPTO_E_ENTROPY_EXHAUSTED (0x04)
  • CRYPTO_E_KEY_READ_FAIL (0x06)
  • CRYPTO_E_KEY_WRITE_FAIL (0x07)
  • CRYPTO_E_KEY_NOT_AVAILABLE (0x08)
  • CRYPTO_E_KEY_NOT_VALID (0x09)

CSM 큐가 가득 찬 경우, CSM이 이미 CRYPTO_E_BUSY을 반환하며 작업을 거부합니다 SWS CSM 22쪽.

반환값과 관련하여 릴리스 이력을 살펴볼 가치가 있습니다. CRYPTO_E_QUEUE_FULL은 R23-11에 이르러서야 [SWS_CryIf_91003]에서 제거되었습니다. CRYPTO_E_KEY_EMPTY는 R24-11에서 비로소 CryIf_RandomSeed에 추가되었습니다 SWS CryIf 1쪽. 따라서 R20-11의 경우에는 이후 날짜의 문서 위치가 아니라 해당 릴리스의 API 요구사항이 기준이 됩니다.

더 자세한 증거

R20-11의 요구사항 및 일부 후속 릴리스에서 가져온 관련 문서 위치를 기반으로 생성된 AI 가이드입니다. 기준이 되는 문서는 AUTOSAR 명세입니다.

Crypto Interface (CryIf)

Abstracts cryptographic hardware and software acceleration engines.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

함수 CryIf_Init [SWS_CryIf_91000] 📄 PDF

void CryIf_Init (const CryIf_ConfigType* configPtr);

Initializes the CRYIF module. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_CryptoInterface

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 2b39ab06c8cb 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용

동기 함수 CryIf_Init은(는) AUTOSAR Classic Platform에 따라 Crypto Interface (CryIf) 모듈을 완전히 초기화하는 역할을 합니다 [SWS_CryIf_91000]. 이 함수는 헤더 파일 CryIf.h에 선언되어 있으며 서비스 ID는 0x00입니다 [SWS_CryIf_91000]. 인터페이스는 유일한 입력 매개변수로 선택된 CryIf_ConfigType 타입 구성 구조체에 대한 포인터인 configPtr을(를) 기대합니다 [SWS_CryIf_91000]. 이 함수는 반환값을 반환하지 않으며(void), Inout 매개변수나 Out 매개변수도 없습니다 [SWS_CryIf_91000].

시맨틱 및 동시성

CryIf_Init의 호출은 동기식으로 실행됩니다 [SWS_CryIf_91000]. 따라서 모듈은 실행 권한을 호출자에게 반환하기 전에 필요한 모든 초기화 작업을 완료합니다. 동시성과 관련하여 이 함수는 재진입 불가(Non Reentrant)로 분류됩니다 [SWS_CryIf_91000]. 따라서 이 루틴은 어떠한 시점에도 병렬로 또는 중첩되어 호출되어서는 안 됩니다.

제약 사항 및 통합

해석: CryIf_Init의 호출은 일반적으로 하위 암호화 인터페이스 서비스를 호출하기 전에, 기본 소프트웨어 초기화 단계의 일환으로 시스템 시작 중에 중앙에서 수행될 것으로 추정됩니다. 질문 Q-31b82ca9b144c843 (열림) 페이로드에는 특정 오류 처리, DET 메시지 또는 DEM 이벤트가 언급되어 있지 않으므로 호출자는 사전에 구성에 대한 유효한 포인터를 확보해야 합니다. 관련 요구사항은 페이로드에 정의되어 있지 않습니다.

이 사용 지침은 자동으로 생성되었으며 SWS_CryIf_91000에 대한 명세 데이터만을 기반으로 합니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 CryIf_ProcessJob [SWS_CryIf_91003] 📄 PDF

Std_ReturnType CryIf_ProcessJob (uint32 channelId, Crypto_JobType* job);

Service CryIf_ProcessJob.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 7b2b73dd3704 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

헤더 CryIf.h을(를) 통해 제공되는 함수 CryIf_ProcessJob(서비스 ID 0x03)은(는) 각각 구성된 Crypto 드라이버 객체로 암호화 처리 작업을 전달합니다 [SWS_CryIf_91003]. 매개변수로 암호화 채널의 식별자(channelId) 및 작업 구성에 대한 포인터(job)를 받습니다 [SWS_CryIf_91003]. 여기서 구조체 job은(는) 사용자 및 특정 암호화 프리미티브와 관련된 모든 정보를 포함합니다 [SWS_CryIf_91003]. 작업 처리는 구성에 따라 동기식 또는 비동기식으로 수행되며, 인터페이스는 재진입 가능하도록 구현되어 있습니다 [SWS_CryIf_91003].

오류 없이 수락된 경우 함수는 E_OK을(를) 반환합니다 [SWS_CryIf_91003]. 요청이 실패하면 반환값은 E_NOT_OK 또는 드라이버의 특정 오류 상태를 나타냅니다: CRYPTO_E_BUSY(드라이버 객체 사용 중), CRYPTO_E_QUEUE_FULL(큐 가득 참), CRYPTO_E_KEY_NOT_VALID, CRYPTO_E_KEY_SIZE_MISMATCH, CRYPTO_E_KEY_NOT_AVAILABLE, CRYPTO_E_KEY_EMPTY, CRYPTO_E_KEY_READ_FAIL 또는 CRYPTO_E_KEY_WRITE_FAIL과(와) 같은 키 상태 관련 오류, 동기 작업 취소 시의 CRYPTO_E_JOB_CANCELED, 그리고 CRYPTO_E_ENTROPY_EXHAUSTED [SWS_CryIf_91003].

또한 인터페이스는 키 식별자에 대한 사전 검사를 수행합니다:

  • job->jobPrimitiveInfo->primitiveInfo->service이(가) CRYPTO_KEYSETVALID, CRYPTO_KEYSETINVALID, CRYPTO_RANDOMSEED, CRYPTO_KEYGENERATE, CRYPTO_KEYDERIVE, CRYPTO_KEYEXCHANGECALCPUBVAL 또는 CRYPTO_KEYEXCHANGECALCSECRET(으)로 설정된 경우, job->cryIfKeyId은(는) 유효한 값 범위 내에 있어야 합니다 [SWS_CryIf_00134]. 그렇지 않으면 함수는 DET에 오류 CRYPTO_E_PARAM_HANDLE을(를) 보고하고 E_NOT_OK(으)로 중단됩니다 [SWS_CryIf_00134].
  • 서비스 CRYPTO_KEYDERIVE이(가) 요청된 경우, 대상 키 식별자 job->cryIfTargetKeyId 역시 유효 범위 내에 있어야 합니다. 그렇지 않으면 마찬가지로 DET에 CRYPTO_E_PARAM_HANDLE이(가) 보고되고 E_NOT_OK이(가) 반환됩니다 [SWS_CryIf_00135].

이 텍스트는 AI에 의해 작성되었으며 AUTOSAR CP R20-11 규격을 기반으로 합니다.

함수 CryIf_CancelJob [SWS_CryIf_91014] 📄 PDF

Std_ReturnType CryIf_CancelJob (uint32 channelId, Crypto_JobType* job);

This interface dispatches the job cancellation function to the configured crypto driver object.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: feb9ccdcc6c2 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

함수 CryIf_CancelJob은(는) Crypto 작업에 대한 취소 요청을 구성된 Crypto 드라이버 객체로 전달하는 역할을 합니다 [SWS_CryIf_91014]. Crypto Interface의 표준화된 인터페이스를 제공하며, 헤더 CryIf.h을(를) 통해 선언되고 서비스 ID 0x0e을(를) 갖습니다 [SWS_CryIf_91014].

호출을 위해 대상 채널의 식별자 및 작업 구성이 전달되어야 합니다 [SWS_CryIf_91014]:

  • channelId (입력, uint32): 각 Crypto 채널의 식별자를 보유합니다 [SWS_CryIf_91014].
  • job (입출력, Crypto_JobType*): 사용자 및 프리미티브 관련 정보를 포함하는 구조체로 구성된 작업 구성에 대한 포인터입니다 [SWS_CryIf_91014].

실행은 동기식으로 이루어지며 호출자에게 Std_ReturnType 타입의 상태를 반환합니다 [SWS_CryIf_91014]:

  • E_OK: 요청이 성공하였으며 작업이 드라이버에서 제거되었습니다 [SWS_CryIf_91014].
  • E_NOT_OK: 작업을 제거할 수 없어 요청이 실패했습니다 [SWS_CryIf_91014].
  • CRYPTO_E_JOB_CANCELED: 작업 취소를 확인하기 위해 지정된 암호화 반환값입니다 [SWS_CryIf_91014].

동시성 동작과 관련하여 CryIf_CancelJob은(는) 재진입 가능하도록 명시되어 있습니다 [SWS_CryIf_91014]. 이를 통해 작업 취소에 대한 병렬 호출이 허용되며, 처리는 기본 드라이버 객체에 블로킹 방식으로 위임됩니다 [SWS_CryIf_91014].

이 텍스트는 AUTOSAR 사양 R20-11을 기반으로 AI에 의해 생성되었습니다.

함수 CryIf_KeyElementSet [SWS_CryIf_91004] 📄 PDF

Std_ReturnType CryIf_KeyElementSet (uint32 cryIfKeyId, uint32 keyElementId, const uint8* keyPtr, uint32 keyLength);

This function shall dispatch the set key element function to the configured crypto driver object.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: b1d8a6a46a48 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

동기 함수 CryIf_KeyElementSet(서비스 ID 0x04)은(는) 키 엘리먼트 설정 요청을 구성된 암호화 드라이버 객체로 전달합니다 [SWS_CryIf_91004]. 함수 선언은 헤더 파일 CryIf.h을(를) 통해 제공됩니다 [SWS_CryIf_91004].

호출은 네 개의 입력 매개변수를 통해 이루어집니다 [SWS_CryIf_91004]:

  • cryIfKeyId: 키 엘리먼트를 업데이트할 키의 식별자를 나타냅니다.
  • keyElementId: 설정할 구체적인 키 엘리먼트의 식별자를 나타냅니다.
  • keyPtr: 엘리먼트로 적용할 키 데이터가 포함된 버퍼에 대한 포인터입니다.
  • keyLength: 설정할 키 엘리먼트의 길이를 바이트 단위로 지정합니다.

이 함수는 재진입 불가(Non Reentrant)로 명시되어 있습니다 [SWS_CryIf_91004]. 따라서 호출자는 호출이 조정되지 않은 상태에서 동시에 발생하지 않도록 해야 합니다.

Std_ReturnType 타입의 반환값은 전달 또는 실행 결과를 나타냅니다 [SWS_CryIf_91004]:

  • E_OK: 요청이 성공했습니다.
  • E_NOT_OK: 요청이 실패했습니다.
  • CRYPTO_E_BUSY: 할당된 암호화 드라이버 객체가 현재 사용 중입니다.
  • CRYPTO_E_KEY_WRITE_FAIL: 키 엘리먼트에 대한 쓰기 액세스가 거부되었습니다.
  • CRYPTO_E_KEY_NOT_AVAILABLE: 요청된 키를 사용할 수 없습니다.
  • CRYPTO_E_KEY_SIZE_MISMATCH: 키 엘리먼트의 크기가 제공된 데이터의 길이와 일치하지 않습니다.

본 사용 지침은 AUTOSAR R20-11 명세를 기반으로 AI에 의해 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 CryIf_KeySetValid [SWS_CryIf_91005] 📄 PDF

Std_ReturnType CryIf_KeySetValid (uint32 cryIfKeyId);

This function shall dispatch the set key valid function to the configured crypto driver object.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: f4147bfa82e2 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용

동기 인터페이스 CryIf_KeySetValid(서비스 ID 0x05)은(는) 헤더 파일 CryIf.h을(를) 통해 제공되며, 키를 유효화하라는 요청을 각각 구성된 암호화 드라이버 객체로 전달합니다 [SWS_CryIf_91005]. 유일한 매개변수로 키 엘리먼트를 유효한 것으로 표시할 대상 키를 지정하는 식별자 cryIfKeyId이(가) 전달됩니다 [SWS_CryIf_91005]. 이 함수에 대한 추가적인 입출력 또는 출력 매개변수는 존재하지 않습니다 [SWS_CryIf_91005].

반환값 및 오류 처리

Std_ReturnType 타입의 반환값은 호출자에게 드라이버에서의 전달 및 처리 결과에 대한 정보를 제공합니다 [SWS_CryIf_91005]:

  • E_OK: 작업이 암호화 드라이버 객체에 성공적으로 전달되었으며 성공적으로 완료되었습니다 [SWS_CryIf_91005].
  • E_NOT_OK: 요청의 전달 또는 실행이 실패했습니다 [SWS_CryIf_91005].
  • CRYPTO_E_BUSY: 담당 암호화 드라이버 객체가 현재 사용 중이므로 요청을 실행할 수 없습니다 [SWS_CryIf_91005].

동시성 및 제약사항

이 함수는 명세서에 명시적으로 재진입 불가(Non Reentrant)로 명시되어 있습니다 [SWS_CryIf_91005]. 따라서 호출 인스턴스는 드라이버 객체로의 전달 시 충돌을 안정적으로 방지하기 위해 CryIf_KeySetValid의 호출이 결코 동시적으로 또는 인터럽트 방식으로 실행되지 않도록 해야 합니다.

이 사용 지침은 명세를 기반으로 자동 생성되었습니다.

함수 CryIf_KeySetInvalid [SWS_CryIf_91021] 📄 PDF

Std_ReturnType CryIf_KeySetInvalid (uint32 cryIfKeyId);

Sets invalid for the status of the key identifi ed by cry If Key Id.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: de4f767c5cce 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

동기 인터페이스 CryIf_KeySetInvalid(서비스 ID 0x14)은 매개변수 cryIfKeyId를 통해 식별된 키의 상태를 무효로 설정합니다[SWS_CryIf_91021]. 함수의 선언은 헤더 파일 CryIf.h를 통해 제공됩니다[SWS_CryIf_91021].

함수 사용에는 다음 매개변수 및 반환값이 적용됩니다[SWS_CryIf_91021]:

  • 전달 매개변수: uint32 타입의 입력 매개변수 cryIfKeyId을 통해 유효성을 취소할 키의 식별자가 전달됩니다. 입출력 매개변수는 존재하지 않습니다.
  • 반환 값(Std_ReturnType):
    • E_OK: 상태 변경 요청이 성공했습니다.
    • E_NOT_OK: 요청이 실패했습니다.
    • CRYPTO_E_BUSY: 담당 Crypto Driver Object가 사용 중이므로 실행이 실패했습니다.

동시성 및 실행 컨텍스트와 관련하여 CryIf_KeySetInvalid은 비-재진입(Non Reentrant)으로 지정되어 있습니다[SWS_CryIf_91021]. 따라서 호출 인스턴스는 호출이 순차적으로 실행되고 서로 중첩되지 않도록 보장해야 합니다. 반환값 CRYPTO_E_BUSY가 발생하는 경우 Crypto Driver Object가 일시적으로 차단된 상태입니다[SWS_CryIf_91021]. 이 경우 호출자가 향후 상태 무효화를 재시도할 책임이 있을 것으로 보입니다. 질문 Q-4377065d4d4eecab (열림)

이 텍스트는 AI에 의해 작성되었으며 AUTOSAR R20-11의 사양 데이터만을 기반으로 합니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 CryIf_KeyGetStatus [SWS_CryIf_91012] 📄 PDF

Std_ReturnType CryIf_KeyGetStatus (uint32 cryIfKeyId, Crypto_KeyStatusType* keyStatusPtr);

Returns the key state of the key identified by cry If Key Id.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 5bef488620f3 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용법 및 호출 컨텍스트

함수 CryIf_KeyGetStatus은(는) Crypto Interface 내에서 암호화 키의 상태를 동기식으로 조회하는 역할을 합니다 [SWS_CryIf_91012]. 서비스 ID 0x13을(를) 갖는 헤더 CryIf.h을(를) 통해 제공됩니다 [SWS_CryIf_91012]. 호출 시 다음 매개변수가 전달됩니다:

  • cryIfKeyId (입력): 상태를 확인할 키의 고유 식별자입니다 [SWS_CryIf_91012].
  • keyStatusPtr (출력): 키 상태가 기록될 Crypto_KeyStatusType 타입 변수에 대한 포인터입니다 [SWS_CryIf_91012].

오류 처리 및 반환값

Std_ReturnType 타입의 반환값은 실행 결과를 나타냅니다 [SWS_CryIf_91012]:

  • E_OK: 상태 조회가 성공하였으며 상태가 대상 메모리에 저장되었습니다 [SWS_CryIf_91012].
  • E_NOT_OK: 요청이 실패했습니다[SWS_CryIf_91012].

특정 오류 코드, DET 보고 또는 DEM 이벤트는 요소 규격에 명시되어 있지 않습니다. 호출자 측의 오류 처리는 주로 반환값 평가에 의존합니다.

동시성 및 제약사항

이 함수는 비재진입(Non Reentrant)(으)로 명시되어 있습니다 [SWS_CryIf_91012]. 따라서 호출자는 동일하거나 서로 다른 키 인스턴스에 대해 동시 호출 또는 인터럽트성 호출이 발생하지 않도록 해야 합니다. 또한 함수가 출력 포인터 keyStatusPtr에 직접 값을 쓰므로, 호출자는 해당 포인터에 유효한 메모리 영역을 제공해야 할 것으로 보입니다. 질문 Q-da3a034d4f2e9442 (열림)

이 텍스트는 AUTOSAR 사양 R20-11을 기반으로 AI에 의해 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 CryIf_KeyElementGet [SWS_CryIf_91006] 📄 PDF

Std_ReturnType CryIf_KeyElementGet (uint32 cryIfKeyId, uint32 keyElementId, uint8* resultPtr, uint32* resultLengthPtr);

This function shall dispatch the get key ele ment function to the configured crypto driver object.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: ab8ed66ea380 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

동기 함수 CryIf_KeyElementGet은(는) 키 엘리먼트 조회 요청을 구성된 Crypto Driver Object로 전달합니다 [SWS_CryIf_91006]. 이 함수는 헤더 파일 CryIf.h을(를) 통해 선언되며 재진입 가능(reentrant)하도록 명시되어 있습니다 [SWS_CryIf_91006].

사용법 및 매개변수

호출 시 cryIfKeyId은(는) 해당 키를 식별하고 keyElementId은(는) 검색할 키 엘리먼트를 식별합니다 [SWS_CryIf_91006]. 페이로드 데이터는 버퍼 resultPtr에 저장됩니다 [SWS_CryIf_91006]. 포인터 resultLengthPtr은(는) 길이 제어를 위한 결합된 입출력 매개변수 역할을 합니다 [SWS_CryIf_91006]:

  • 실행 전에 호출자는 여기에 resultPtr의 사용 가능한 버퍼 크기를 전달합니다 [SWS_CryIf_91006].
  • 키 엘리먼트가 부분 액세스를 허용하는 경우, 이 값은 버퍼 크기와 일치할 필요가 없는 검색 대상 데이터 양을 대신 정의합니다 [SWS_CryIf_91006].
  • 작업이 완료된 후 함수는 실제로 기록된 데이터 양을 이 메모리 위치에 저장합니다 [SWS_CryIf_91006].

오류 처리 및 반환값

Std_ReturnType 타입의 반환값은 성공 또는 오류 상태를 나타냅니다 [SWS_CryIf_91006]:

이 사용 지침은 AUTOSAR R20-11 사양을 바탕으로 자동 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 CryIf_KeyElementCopy [SWS_CryIf_91015] 📄 PDF

Std_ReturnType CryIf_KeyElementCopy (uint32 cryIfKeyId, uint32 keyElementId, uint32 targetCryIfKeyId, uint32 targetKeyElementId);

Service CryIf_KeyElementCopy.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 98ca892724e4 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

동기 함수 CryIf_KeyElementCopy은(는) [SWS_CryIf_91015]에 따라 소스 키에서 대상 키로 키 요소를 복사하는 역할을 합니다. 이 서비스는 헤더 파일 CryIf.h을(를) 통해 제공됩니다.

호출을 위해 입력 매개변수를 통해 소스 키(cryIfKeyId), 복사할 소스 요소(keyElementId), 그리고 대상 키(targetCryIfKeyId) 및 대상 요소(targetKeyElementId)가 전달됩니다 [SWS_CryIf_91015]. 함수는 재진입 가능하도록 설계되었으나 동일한 cryIfKeyId에 대해서는 명시적으로 재진입이 불가합니다 [SWS_CryIf_91015]. 해석하자면 데이터 충돌을 방지하기 위해 동일한 대상 키(targetCryIfKeyId)에 대한 동시 쓰기 액세스 역시 호출자에 의해 동기화되어야 할 것으로 보입니다. 질문 Q-cba3554c537dd498 (열림)

Std_ReturnType 타입의 반환값은 작업 결과를 나타냅니다 [SWS_CryIf_91015]:

  • E_OK: 복사 프로세스가 성공했습니다.
  • E_NOT_OK: 요청이 실패했습니다.
  • CRYPTO_E_BUSY: 관련 Crypto Driver Object가 사용 중입니다.
  • CRYPTO_E_KEY_NOT_AVAILABLE: 요청된 키 요소를 사용할 수 없습니다.
  • CRYPTO_E_KEY_READ_FAIL: 소스 키 요소 읽기가 허용되지 않습니다.
  • CRYPTO_E_KEY_WRITE_FAIL: 대상 키 요소 쓰기가 허용되지 않습니다.
  • CRYPTO_E_KEY_SIZE_MISMATCH: 관련된 키 요소들의 크기가 호환되지 않습니다.
  • CRYPTO_E_KEY_EMPTY: 소스 키 요소가 초기화되지 않았습니다.

본 사용 지침은 AUTOSAR R20-11을 기반으로 자동 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 CryIf_KeyElementCopyPartial [SWS_CryIf_91018] 📄 PDF

Std_ReturnType CryIf_KeyElementCopyPartial (uint32 cryIfKeyId, uint32 keyElementId, uint32 keyElementSourceOffset, uint32 keyElementTargetOffset, uint32 keyElementCopyLength, uint32 targetCryIfKeyId, uint32 targetKeyElementId);

Service CryIf_KeyElementCopyPartial.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 1703918a24fa 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

헤더 CryIf.h을 통해 제공되는 동기 함수 CryIf_KeyElementCopyPartial은 한 키 요소의 일부 영역을 다른 키 요소로 복사합니다[SWS_CryIf_91018]. 소스 및 대상 키와 각각의 요소는 매개변수 cryIfKeyId, keyElementId, targetCryIfKeyId, targetKeyElementId을 통해 지정됩니다[SWS_CryIf_91018]. 두 요소 내의 시작 위치는 keyElementSourceOffset 및 keyElementTargetOffset에 의해 정의되며, keyElementCopyLength은 전송할 정확한 바이트 수를 결정합니다[SWS_CryIf_91018].

동시성과 관련하여 이 루틴은 reentrant로 설계되었으나, 동일한 소스 키(cryIfKeyId)에 대해서는 명시적으로 그렇지 않습니다[SWS_CryIf_91018]. 따라서 동일한 소스 키 ID를 사용한 병렬 호출은 호출자에 의해 동기화되거나 방지되어야 합니다.

반환값은 동기 요청의 세부 실행 상태를 보고합니다[SWS_CryIf_91018]:

  • E_OK: 복사 작업이 성공적으로 수행되었습니다.
  • E_NOT_OK: 요청이 실패했습니다.
  • CRYPTO_E_BUSY: 담당 Crypto Driver Object가 사용 중입니다.
  • CRYPTO_E_KEY_NOT_AVAILABLE: 요청된 소스 또는 대상 키 요소를 사용할 수 없습니다.
  • CRYPTO_E_KEY_READ_FAIL: 소스 키 요소 읽기가 허용되지 않습니다.
  • CRYPTO_E_KEY_WRITE_FAIL: 대상 키 요소에 쓰기가 허용되지 않습니다.
  • CRYPTO_E_KEY_SIZE_MISMATCH: 요소 크기 또는 오프셋 및 길이 지정이 호환되지 않습니다.
  • CRYPTO_E_KEY_EMPTY: 소스 키 요소가 초기화되지 않았습니다.

이 사용 지침은 AUTOSAR R20-11 명세를 기반으로 자동 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 CryIf_KeyCopy [SWS_CryIf_91016] 📄 PDF

Std_ReturnType CryIf_KeyCopy (uint32 cryIfKeyId, uint32 targetCryIfKeyId);

This function shall co py all key elements from the source key to a target key.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: e2c4b04b20c3 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용

동기 함수 CryIf_KeyCopy은(는) 모든 키 엘리먼트를 소스 키에서 지정된 대상 키로 복사합니다([SWS_CryIf_91016]). 이 함수는 헤더 파일 CryIf.h을(를) 통해 제공되며 서비스 ID 0x10을(를) 가집니다([SWS_CryIf_91016]).

이 함수는 두 개의 입력 매개변수를 기대합니다([SWS_CryIf_91016]):

  • cryIfKeyId: 키 요소가 소스로 사용되는 키의 식별자입니다.
  • targetCryIfKeyId: 키 요소를 대상으로 수신하는 키의 식별자입니다.

동시성 및 제약사항

이 인터페이스는 reentrant로 지정되어 있지만, 동일한 소스 키 식별자(cryIfKeyId)에 대해 동시에 호출되어서는 안 됩니다([SWS_CryIf_91016]).

오류 처리

Std_ReturnType 타입의 반환값은 작업의 결과를 나타냅니다([SWS_CryIf_91016]):

  • E_OK: 복사 작업이 성공적으로 완료되었습니다.
  • E_NOT_OK: 요청이 실패했습니다.
  • CRYPTO_E_BUSY: 기반 Crypto Driver Object가 사용 중이어서 실패했습니다.
  • CRYPTO_E_KEY_NOT_AVAILABLE: 요청된 키 요소를 사용할 수 없습니다.
  • CRYPTO_E_KEY_READ_FAIL: 키 요소 읽기가 허용되지 않습니다.
  • CRYPTO_E_KEY_WRITE_FAIL: 대상 키 요소 쓰기가 허용되지 않습니다.
  • CRYPTO_E_KEY_SIZE_MISMATCH: 키 엘리먼트들의 크기가 서로 호환되지 않습니다.
  • CRYPTO_E_KEY_EMPTY: 소스 키 요소가 초기화되지 않았습니다.

이 사용 지침은 명세를 기반으로 자동 생성되었습니다.

함수 CryIf_RandomSeed [SWS_CryIf_91007] 📄 PDF

Std_ReturnType CryIf_RandomSeed (uint32 cryIfKeyId, const uint8* seedPtr, uint32 seedLength);

This function shall dispatch the random seed function to the configured crypto driver object.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: cb0539e3124c 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

함수 CryIf_RandomSeed은 난수 시드(Random Seed)의 생성 또는 주입을 구성된 암호화 드라이버 객체로 전달하는 역할을 합니다 [SWS_CryIf_91007]. 이 함수는 헤더 파일 CryIf.h를 통해 제공되며 서비스 ID 0x07을 갖습니다 [SWS_CryIf_91007].

이 인터페이스는 세 개의 입력 매개변수를 필요로 합니다 [SWS_CryIf_91007]:

  • cryIfKeyId: 새로운 시드가 생성될 키의 식별자입니다.
  • seedPtr: 시드 주입을 위한 데이터가 있는 메모리 영역을 가리키는 포인터입니다.
  • seedLength: 시드의 길이(바이트 단위)입니다.

실행 동작(동기식 또는 비동기식)은 고정되어 있지 않으며 각 구성에 따라 달라집니다 [SWS_CryIf_91007]. 동시성과 관련하여 이 함수는 재진입 가능하도록 명시되어 있습니다 [SWS_CryIf_91007].

반환값으로 이 함수는 다음과 같은 상태값을 갖는 Std_ReturnType을 반환합니다 [SWS_CryIf_91007]:

  • E_OK: 요청이 성공했습니다.
  • E_NOT_OK: 요청이 실패했습니다.
  • CRYPTO_E_KEY_NOT_VALID: 키의 키 상태가 "invalid"이므로 요청이 실패했습니다.

해석: CRYPTO_E_KEY_NOT_VALID 반환 시 검사는 비록 사양 텍스트에서 cryptoKeyId를 언급하고 있더라도 전달된 키 cryIfKeyId을 참조하는 것으로 보입니다 [SWS_CryIf_91007]. 질문 Q-22b20256f21f131b (열림)

본 텍스트는 AI에 의해 생성되었으며 AUTOSAR CP R20-11 사양을 기반으로 합니다.

함수 CryIf_KeyGenerate [SWS_CryIf_91008] 📄 PDF

Std_ReturnType CryIf_KeyGenerate (uint32 cryIfKeyId);

This function shall dispatch the key generate function to the configured crypto driver object.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: d582a843edfa 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용

함수 CryIf_KeyGenerate은(는) 키 생성을 위한 함수 호출을 구성된 Crypto-Driver-Objekt로 전달합니다 [SWS_CryIf_91008]. 입력 매개변수 cryIfKeyId을(를) 통해 새로 생성된 키 값으로 업데이트할 키의 고유 식별자가 전달됩니다 [SWS_CryIf_91008]. 이 인터페이스의 선언은 헤더 CryIf.h을(를) 통해 제공됩니다 [SWS_CryIf_91008].

동기화 동작 및 동시성

실행은 기본 구성에 따라 동기식 또는 비동기식으로 수행됩니다 [SWS_CryIf_91008]. 호출 컨텍스트 및 동시성과 관련하여 이 함수는 재진입 가능(reentrant)한 것으로 명시되어 있습니다 [SWS_CryIf_91008].

반환값 및 오류 처리

호출 시 타입 Std_ReturnType의 상태 값을 반환합니다 [SWS_CryIf_91008]:

  • E_OK: 키 생성 요청이 성공적으로 실행되었습니다 [SWS_CryIf_91008].
  • E_NOT_OK: 요청이 실패했습니다[SWS_CryIf_91008].
  • CRYPTO_E_BUSY: 대상 Crypto-Driver-Objekt가 현재 사용 중이므로 요청이 실패했습니다 [SWS_CryIf_91008].
  • CRYPTO_E_KEY_EMPTY: 필요한 소스 키 엘리먼트가 초기화되지 않았으므로 요청이 실패했습니다 [SWS_CryIf_91008].
  • CRYPTO_E_KEY_NOT_VALID: 키 식별자가 참조하는 키의 상태가 유효하지 않으므로 요청이 실패했습니다 [SWS_CryIf_91008].

이 사용 지침은 AUTOSAR Release R20-11의 사양을 기반으로 자동 생성되었습니다.

함수 CryIf_KeyDerive [SWS_CryIf_91009] 📄 PDF

Std_ReturnType CryIf_KeyDerive (uint32 cryIfKeyId, uint32 targetCryIfKeyId);

This function shall dispatch th e key derive function to the configured crypto driver object.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: e0c725352dab 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용

함수 CryIf_KeyDerive은(는) 키 파생 요청을 각각 구성된 Crypto Driver Object로 동기 전달하는 역할을 합니다 [SWS_CryIf_91009]. 이 인터페이스는 서비스 ID 0x09을(를) 갖는 헤더 파일 CryIf.h을(를) 통해 선언됩니다 [SWS_CryIf_91009].

호출 시 두 개의 키 식별자가 전달됩니다 [SWS_CryIf_91009]:

  • cryIfKeyId: 파생의 기반으로 사용되는 키의 식별자입니다.
  • targetCryIfKeyId: 파생된 키가 저장되는 키의 식별자입니다.

오류 처리 및 반환값

작업 결과는 반환 타입 Std_ReturnType을(를) 통해 전달됩니다 [SWS_CryIf_91009]:

  • E_OK: 요청이 성공적으로 실행되었습니다 [SWS_CryIf_91009].
  • E_NOT_OK: 실행에 실패했습니다 [SWS_CryIf_91009].
  • CRYPTO_E_KEY_EMPTY: 소스 키 요소가 초기화되지 않았습니다[SWS_CryIf_91009].
  • CRYPTO_E_KEY_NOT_VALID: 참조된 키의 키 상태가 유효하지 않습니다 [SWS_CryIf_91009].
  • CRYPTO_E_BUSY: 하위 Crypto Driver Object가 CRYPTO_E_BUSY을(를) 보고했습니다 [SWS_CryIf_91009].

동시성 및 제약 조건

이 인터페이스는 재진입 가능(reentrant)하도록 명시되어 있습니다 [SWS_CryIf_91009]. 처리가 동기식으로 진행되므로 호출자는 각 호출 컨텍스트에서 드라이버의 실행 시간을 고려해야 할 것으로 보입니다. 질문 Q-2b2fd50249878177 (열림)

이 사용 지침은 AUTOSAR 명세 R20-11을 기반으로 자동 생성되었습니다.

함수 CryIf_KeyExchangeCalcPubVal [SWS_CryIf_91010] 📄 PDF

Std_ReturnType CryIf_KeyExchangeCalcPubVal (uint32 cryIfKeyId, uint8* publicValuePtr, uint32* publicValueLengthPtr);

This function shall dispatch the key exchange public value calculation function to the configured crypto driver object. Available

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 5f03ab0336af 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

동기식 및 재진입 가능한 함수 CryIf_KeyExchangeCalcPubVal은(는) 공개 키 교환 값 계산을 구성된 Crypto-Driver-Objekt로 전달합니다 [SWS_CryIf_91010]. 서비스는 헤더 CryIf.h을(를) 통해 사용할 수 있습니다 [SWS_CryIf_91010].

함수 호출 시 다음 매개변수가 처리됩니다 [SWS_CryIf_91010]:

  • cryIfKeyId: 키 교환 프로토콜에 사용할 키의 식별자.
  • publicValuePtr: 계산된 공개 값이 저장될 메모리 영역에 대한 포인터.
  • publicValueLengthPtr: 길이 정보에 대한 포인터. 호출 시 이 매개변수는 제공된 버퍼 크기를 포함해야 하며, 완료 후에는 계산된 값의 실제 길이를 저장합니다.

이 함수는 Std_ReturnType 타입의 상태를 반환합니다[SWS_CryIf_91010]:

  • E_OK: 요청이 성공했습니다.
  • E_NOT_OK: 요청이 실패했습니다.
  • CRYPTO_E_BUSY: 담당 Crypto-Driver-Objekt가 사용 중이어서 발생한 오류.
  • CRYPTO_E_KEY_EMPTY: 초기화되지 않은 소스 키 엘리먼트로 인한 오류.
  • CRYPTO_E_KEY_NOT_VALID: 지정된 키가 유효하지 않은 상태에 있어 발생한 오류.

이 텍스트는 AI 지원 시스템을 통해 생성되었으며 AUTOSAR R20-11의 명세 데이터만을 기반으로 합니다.

함수 CryIf_KeyExchangeCalcSecret [SWS_CryIf_91011] 📄 PDF

Std_ReturnType CryIf_KeyExchangeCalcSecret (uint32 cryIfKeyId, const uint8* partnerPublicValuePtr, uint32 partnerPublicValueLength);

This function shall dispatch the key exchange common shared secret calculation function to the configured crypto driver object.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: ecfeb27c89f0 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

동기 함수 CryIf_KeyExchangeCalcSecret은(는) 키 교환 시 공유 비밀 계산을 구성된 Crypto-Driver-Objekt로 전달합니다 [SWS_CryIf_91011]. 서비스에는 키 식별자(cryIfKeyId), 통신 상대의 공개 키 값에 대한 포인터(partnerPublicValuePtr) 및 바이트 단위의 길이(partnerPublicValueLength)가 전달됩니다 [SWS_CryIf_91011].

오류 처리: 함수는 Std_ReturnType을(를) 통해 결과를 반환합니다 [SWS_CryIf_91011]:

동시성: 이 인터페이스는 재진입 가능(reentrant)하도록 명시되어 있습니다 [SWS_CryIf_91011]. 실행이 동기식으로 수행되므로 호출은 일반적으로 태스크 컨텍스트에서 발생할 것으로 보입니다. 질문 Q-b3bca3645b0ef468 (열림) 서비스는 헤더 파일 CryIf.h을(를) 통해 제공됩니다 [SWS_CryIf_91011].

이 사용 지침은 AUTOSAR R20-11 명세서를 기반으로 자동 생성되었습니다.

함수 CryIf_CallbackNotification [SWS_CryIf_91013] 📄 PDF

void CryIf_CallbackNotification (Crypto_JobType* job, Crypto_ResultType result);

Notifies the CRYIF about the completion of the request with the result of the cryptographic operation.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 781636a3f50e 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

함수 CryIf_CallbackNotification은(는) [SWS_CryIf_91013]에 따라 Crypto Interface(CryIf)에 암호화 작업의 완료 및 해당 결과를 알리는 역할을 합니다. 선언은 헤더 CryIf.h을(를) 통해 제공되며 서비스 ID 0x0d을(를) 갖습니다 [SWS_CryIf_91013].

호출은 동기식으로 수행되며 두 개의 필수 입력 매개변수를 처리합니다 [SWS_CryIf_91013]:

  • job (입력, Crypto_JobType*): 완료된 작업의 정보 구조체를 가리키며 완료된 작업을 매핑하기 위한 콜백 ID를 포함합니다 [SWS_CryIf_91013].
  • result (입력, Crypto_ResultType): 실행된 암호화 작업의 결과를 전달합니다 [SWS_CryIf_91013].

이 서비스에는 특정 오류 코드 또는 오류 보고(DET/DEM)가 정의되어 있지 않습니다. 기능적 오류 검사는 작업의 성공 또는 오류 상태를 반영하는 매개변수 result을(를) 통해 수행됩니다 [SWS_CryIf_91013].

동시성과 관련하여 이 함수는 [SWS_CryIf_91013]에 따라 비재진입(Non Reentrant)으로 명시되어 있으며 반환값이 없습니다(void). 따라서 호출자는 호출이 순차적으로 실행되고 중첩되거나 병렬로 실행되지 않도록 해야 합니다. 해석: 이 알림은 일반적으로 비동기식으로 처리된 암호화 작업의 결과를 Crypto Interface로 반환하기 위해 하위 Crypto 드라이버에 의해 호출되는 것으로 보입니다. 질문 Q-ae17af188a970e00 (열림)

이 사용 지침은 AUTOSAR R20-11 사양을 바탕으로 자동 생성되었습니다.

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

Record
AUTOSAR/AP/record/CP_MOD_CryIf
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_CryIf@rel:R20-11#b37892d9
Content hash
b37892d9
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_CryptoInterface.pdf#nameddest=SWS_CryIf_91000

초기화 및 상태

Returns the version information of this module.

void CryIf_GetVersionInfo (Std_VersionInfoType* versioninfo);
CryIf_Init 함수

Initializes the CRYIF module. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_CryptoInterface

void CryIf_Init (const CryIf_ConfigType* configPtr);

서비스 · KeyElement…

Service CryIf_KeyElementCopy.

Std_ReturnType CryIf_KeyElementCopy (uint32 cryIfKeyId, uint32 keyElementId, uint32 targetCryIfKeyId, uint32 targetKeyElementId);

Service CryIf_KeyElementCopyPartial.

Std_ReturnType CryIf_KeyElementCopyPartial (uint32 cryIfKeyId, uint32 keyElementId, uint32 keyElementSourceOffset, uint32 keyElementTargetOffset, uint32 keyElementCopyLength, uint32 targetCryIfKeyId, uint32 targetKeyElementId);

This function shall dispatch the get key ele ment function to the configured crypto driver object.

Std_ReturnType CryIf_KeyElementGet (uint32 cryIfKeyId, uint32 keyElementId, uint8* resultPtr, uint32* resultLengthPtr);

This function shall dispatch the set key element function to the configured crypto driver object.

Std_ReturnType CryIf_KeyElementSet (uint32 cryIfKeyId, uint32 keyElementId, const uint8* keyPtr, uint32 keyLength);

서비스 · Key…

This function shall co py all key elements from the source key to a target key.

Std_ReturnType CryIf_KeyCopy (uint32 cryIfKeyId, uint32 targetCryIfKeyId);

This function shall dispatch th e key derive function to the configured crypto driver object.

Std_ReturnType CryIf_KeyDerive (uint32 cryIfKeyId, uint32 targetCryIfKeyId);

This function shall dispatch the key exchange public value calculation function to the configured crypto driver object. Available

Std_ReturnType CryIf_KeyExchangeCalcPubVal (uint32 cryIfKeyId, uint8* publicValuePtr, uint32* publicValueLengthPtr);

This function shall dispatch the key exchange common shared secret calculation function to the configured crypto driver object.

Std_ReturnType CryIf_KeyExchangeCalcSecret (uint32 cryIfKeyId, const uint8* partnerPublicValuePtr, uint32 partnerPublicValueLength);

This function shall dispatch the key generate function to the configured crypto driver object.

Std_ReturnType CryIf_KeyGenerate (uint32 cryIfKeyId);

Returns the key state of the key identified by cry If Key Id.

Std_ReturnType CryIf_KeyGetStatus (uint32 cryIfKeyId, Crypto_KeyStatusType* keyStatusPtr);

Sets invalid for the status of the key identifi ed by cry If Key Id.

Std_ReturnType CryIf_KeySetInvalid (uint32 cryIfKeyId);

This function shall dispatch the set key valid function to the configured crypto driver object.

Std_ReturnType CryIf_KeySetValid (uint32 cryIfKeyId);

서비스 · 기타

Notifies the CRYIF about the completion of the request with the result of the cryptographic operation.

void CryIf_CallbackNotification (Crypto_JobType* job, Crypto_ResultType result);

This interface dispatches the job cancellation function to the configured crypto driver object.

Std_ReturnType CryIf_CancelJob (uint32 channelId, Crypto_JobType* job);

Service CryIf_ProcessJob.

Std_ReturnType CryIf_ProcessJob (uint32 channelId, Crypto_JobType* job);

This function shall dispatch the random seed function to the configured crypto driver object.

Std_ReturnType CryIf_RandomSeed (uint32 cryIfKeyId, const uint8* seedPtr, uint32 seedLength);

타입

Configuration data structure of Cry If module