Crypto Interface (CryIf)
Abstracts cryptographic hardware and software acceleration engines.
Funktionen — Übersicht
void CryIf_Init (const CryIf_ConfigType* configPtr);Initializes the CRYIF module.void CryIf_GetVersionInfo (Std_VersionInfoType* versioninfo);Returns the version information of this module.Std_ReturnType CryIf_ProcessJob (uint32 channelId, Crypto_JobType* job);Service CryIf_ProcessJob.Std_ReturnType CryIf_CancelJob (uint32 channelId, Crypto_JobType* job);This interface dispatches the job cancellation function to the configured crypto driver object.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.Std_ReturnType CryIf_KeySetValid (uint32 cryIfKeyId);This function shall dispatch the set key valid function to the configured crypto driver object.Std_ReturnType CryIf_KeySetInvalid (uint32 cryIfKeyId);Sets invalid for the status of the key identifi ed by cry If Key Id.Std_ReturnType CryIf_KeyGetStatus (uint32 cryIfKeyId, Crypto_KeyStatusType* keyStatusPtr);Returns the key state of the key identified by cry If Key Id.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.Std_ReturnType CryIf_KeyElementCopy (uint32 cryIfKeyId, uint32 keyElementId, uint32 targetCryIfKeyId, uint32 targetKeyElementId);Service CryIf_KeyElementCopy.Std_ReturnType CryIf_KeyElementCopyPartial (uint32 cryIfKeyId, uint32 keyElementId, uint32 keyElementSourceOffset, uint32 keyElementTargetOffset, uint32 keyElementCopyLength, uint32 targetCryIfKeyId, uint32 targetKeyElementId);Service CryIf_KeyElementCopyPartial.Std_ReturnType CryIf_KeyCopy (uint32 cryIfKeyId, uint32 targetCryIfKeyId);This function shall co py all key elements from the source key to a target key.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.Std_ReturnType CryIf_KeyGenerate (uint32 cryIfKeyId);This function shall dispatch the key generate function to the configured crypto driver object.Std_ReturnType CryIf_KeyDerive (uint32 cryIfKeyId, uint32 targetCryIfKeyId);This function shall dispatch th e key derive function to the configured crypto driver object.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.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.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.
Typen — Übersicht
struct CryIf_ConfigTypeConfiguration data structure of Cry If module
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
사용
동기 함수 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_GetVersionInfo [SWS_CryIf_91001] 📄 PDF
void CryIf_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module.
함수 CryIf_ProcessJob [SWS_CryIf_91003] 📄 PDF
Std_ReturnType CryIf_ProcessJob (uint32 channelId, Crypto_JobType* job);
Service CryIf_ProcessJob.
헤더 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.
함수 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.
동기 함수 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.
사용
동기 인터페이스 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.
동기 인터페이스 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.
사용법 및 호출 컨텍스트
함수 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.
동기 함수 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]:
E_OK: 요청이 성공적으로 완료되었습니다 [SWS_CryIf_91006].E_NOT_OK: 실행에 실패했습니다 [SWS_CryIf_91006].CRYPTO_E_BUSY: Crypto Driver Object가 사용 중입니다 [SWS_CryIf_91006].CRYPTO_E_KEY_NOT_AVAILABLE: 요청된 키 요소를 사용할 수 없습니다[SWS_CryIf_91006].CRYPTO_E_KEY_READ_FAIL: 키 요소에 대한 읽기 접근이 거부되었습니다 [SWS_CryIf_91006].CRYPTO_E_KEY_EMPTY: 소스 키 요소가 초기화되지 않았습니다[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.
동기 함수 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.
헤더 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.
사용
동기 함수 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.
함수 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.
사용
함수 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.
사용
함수 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
동기식 및 재진입 가능한 함수 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.
동기 함수 CryIf_KeyExchangeCalcSecret은(는) 키 교환 시 공유 비밀 계산을 구성된 Crypto-Driver-Objekt로 전달합니다 [SWS_CryIf_91011]. 서비스에는 키 식별자(cryIfKeyId), 통신 상대의 공개 키 값에 대한 포인터(partnerPublicValuePtr) 및 바이트 단위의 길이(partnerPublicValueLength)가 전달됩니다 [SWS_CryIf_91011].
오류 처리: 함수는 Std_ReturnType을(를) 통해 결과를 반환합니다 [SWS_CryIf_91011]:
E_OK: 계산이 성공적으로 수행되었습니다 [SWS_CryIf_91011].CRYPTO_E_BUSY: Crypto-Driver-Objekt가 사용 중입니다 [SWS_CryIf_91011].CRYPTO_E_KEY_EMPTY: 소스 키 엘리먼트가 초기화되지 않았습니다 [SWS_CryIf_91011].CRYPTO_E_KEY_NOT_VALID: 지정된 키의 키 상태가 유효하지 않습니다 [SWS_CryIf_91011].E_NOT_OK: 요청이 실패했습니다[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.
함수 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 사양을 바탕으로 자동 생성되었습니다.
타입 CryIf_ConfigType [SWS_CryIf_91118] 📄 PDF
Configuration data structure of Cry If module
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
gemini-3.8-flash-low· 2026-10-13 · 독일어 원문