Lines Matching refs:hpka

297 uint32_t PKA_GetMode(const PKA_HandleTypeDef *hpka);
298 HAL_StatusTypeDef PKA_PollEndOfOperation(const PKA_HandleTypeDef *hpka, uint32_t Timeout, uint32_t …
299 uint32_t PKA_CheckError(const PKA_HandleTypeDef *hpka, uint32_t mode);
307 HAL_StatusTypeDef PKA_Process(PKA_HandleTypeDef *hpka, uint32_t mode, uint32_t Timeout);
308 HAL_StatusTypeDef PKA_Process_IT(PKA_HandleTypeDef *hpka, uint32_t mode);
309 void PKA_ModExp_Set(PKA_HandleTypeDef *hpka, PKA_ModExpInTypeDef *in);
310 void PKA_ModExpFastMode_Set(PKA_HandleTypeDef *hpka, PKA_ModExpFastModeInTypeDef *in);
311 void PKA_ModExpProtectMode_Set(PKA_HandleTypeDef *hpka, PKA_ModExpProtectModeInTypeDef *in);
312 void PKA_ECCMulEx_Set(PKA_HandleTypeDef *hpka, PKA_ECCMulExInTypeDef *in);
313 void PKA_ECDSASign_Set(PKA_HandleTypeDef *hpka, PKA_ECDSASignInTypeDef *in);
314 void PKA_ECDSAVerif_Set(PKA_HandleTypeDef *hpka, PKA_ECDSAVerifInTypeDef *in);
315 void PKA_RSACRTExp_Set(PKA_HandleTypeDef *hpka, PKA_RSACRTExpInTypeDef *in);
316 void PKA_PointCheck_Set(PKA_HandleTypeDef *hpka, PKA_PointCheckInTypeDef *in);
317 void PKA_ECCMul_Set(PKA_HandleTypeDef *hpka, PKA_ECCMulInTypeDef *in);
318 void PKA_ModRed_Set(PKA_HandleTypeDef *hpka, PKA_ModRedInTypeDef *in);
319 void PKA_ModInv_Set(PKA_HandleTypeDef *hpka, PKA_ModInvInTypeDef *in);
320 void PKA_MontgomeryParam_Set(PKA_HandleTypeDef *hpka, const uint32_t size, const uint8_t *pOp1);
321 void PKA_ARI_Set(PKA_HandleTypeDef *hpka, const uint32_t size, const uint32_t *pOp1, const uint32_t…
323 void PKA_ECCDoubleBaseLadder_Set(PKA_HandleTypeDef *hpka, PKA_ECCDoubleBaseLadderInTypeDef *in);
324 void PKA_ECCProjective2Affine_Set(PKA_HandleTypeDef *hpka, PKA_ECCProjective2AffineInTypeDef *in);
325 void PKA_ECCCompleteAddition_Set(PKA_HandleTypeDef *hpka, PKA_ECCCompleteAdditionInTypeDef *in);
326 HAL_StatusTypeDef PKA_WaitOnFlagUntilTimeout(PKA_HandleTypeDef *hpka, uint32_t Flag, FlagStatus Sta…
328 uint32_t PKA_Result_GetSize(const PKA_HandleTypeDef *hpka, uint32_t Startindex, uint32_t Maxsize);
367 HAL_StatusTypeDef HAL_PKA_Init(PKA_HandleTypeDef *hpka) in HAL_PKA_Init() argument
373 if (hpka != NULL) in HAL_PKA_Init()
376 assert_param(IS_PKA_ALL_INSTANCE(hpka->Instance)); in HAL_PKA_Init()
378 if (hpka->State == HAL_PKA_STATE_RESET) in HAL_PKA_Init()
383hpka->OperationCpltCallback = HAL_PKA_OperationCpltCallback; /* Legacy weak OperationCpltCallback … in HAL_PKA_Init()
384hpka->ErrorCallback = HAL_PKA_ErrorCallback; /* Legacy weak ErrorCallback … in HAL_PKA_Init()
386 if (hpka->MspInitCallback == NULL) in HAL_PKA_Init()
388 hpka->MspInitCallback = HAL_PKA_MspInit; /* Legacy weak MspInit */ in HAL_PKA_Init()
392 hpka->MspInitCallback(hpka); in HAL_PKA_Init()
395 HAL_PKA_MspInit(hpka); in HAL_PKA_Init()
400 hpka->State = HAL_PKA_STATE_BUSY; in HAL_PKA_Init()
403 hpka->Instance->CR = PKA_CR_EN; in HAL_PKA_Init()
409 if (PKA_WaitOnFlagUntilTimeout(hpka, PKA_SR_INITOK, RESET, tickstart, 5000) != HAL_OK) in HAL_PKA_Init()
415 …SET_BIT(hpka->Instance->CLRFR, PKA_CLRFR_PROCENDFC | PKA_CLRFR_RAMERRFC | PKA_CLRFR_ADDRERRFC | PK… in HAL_PKA_Init()
418 hpka->ErrorCode = HAL_PKA_ERROR_NONE; in HAL_PKA_Init()
421 hpka->State = HAL_PKA_STATE_READY; in HAL_PKA_Init()
436 HAL_StatusTypeDef HAL_PKA_DeInit(PKA_HandleTypeDef *hpka) in HAL_PKA_DeInit() argument
441 if (hpka != NULL) in HAL_PKA_DeInit()
444 assert_param(IS_PKA_ALL_INSTANCE(hpka->Instance)); in HAL_PKA_DeInit()
447 hpka->State = HAL_PKA_STATE_BUSY; in HAL_PKA_DeInit()
451 hpka->Instance->CR = 0; in HAL_PKA_DeInit()
454 …SET_BIT(hpka->Instance->CLRFR, PKA_CLRFR_PROCENDFC | PKA_CLRFR_RAMERRFC | PKA_CLRFR_ADDRERRFC | PK… in HAL_PKA_DeInit()
457 if (hpka->MspDeInitCallback == NULL) in HAL_PKA_DeInit()
459 hpka->MspDeInitCallback = HAL_PKA_MspDeInit; /* Legacy weak MspDeInit */ in HAL_PKA_DeInit()
463 hpka->MspDeInitCallback(hpka); in HAL_PKA_DeInit()
466 HAL_PKA_MspDeInit(hpka); in HAL_PKA_DeInit()
470 hpka->ErrorCode = HAL_PKA_ERROR_NONE; in HAL_PKA_DeInit()
473 hpka->State = HAL_PKA_STATE_RESET; in HAL_PKA_DeInit()
488 __weak void HAL_PKA_MspInit(PKA_HandleTypeDef *hpka) in HAL_PKA_MspInit() argument
491 UNUSED(hpka); in HAL_PKA_MspInit()
503 __weak void HAL_PKA_MspDeInit(PKA_HandleTypeDef *hpka) in HAL_PKA_MspDeInit() argument
506 UNUSED(hpka); in HAL_PKA_MspDeInit()
528 HAL_StatusTypeDef HAL_PKA_RegisterCallback(PKA_HandleTypeDef *hpka, HAL_PKA_CallbackIDTypeDef Callb… in HAL_PKA_RegisterCallback() argument
536 hpka->ErrorCode |= HAL_PKA_ERROR_INVALID_CALLBACK; in HAL_PKA_RegisterCallback()
541 if (HAL_PKA_STATE_READY == hpka->State) in HAL_PKA_RegisterCallback()
546 hpka->OperationCpltCallback = pCallback; in HAL_PKA_RegisterCallback()
550 hpka->ErrorCallback = pCallback; in HAL_PKA_RegisterCallback()
554 hpka->MspInitCallback = pCallback; in HAL_PKA_RegisterCallback()
558 hpka->MspDeInitCallback = pCallback; in HAL_PKA_RegisterCallback()
563 hpka->ErrorCode |= HAL_PKA_ERROR_INVALID_CALLBACK; in HAL_PKA_RegisterCallback()
570 else if (HAL_PKA_STATE_RESET == hpka->State) in HAL_PKA_RegisterCallback()
575 hpka->MspInitCallback = pCallback; in HAL_PKA_RegisterCallback()
579 hpka->MspDeInitCallback = pCallback; in HAL_PKA_RegisterCallback()
584 hpka->ErrorCode |= HAL_PKA_ERROR_INVALID_CALLBACK; in HAL_PKA_RegisterCallback()
594 hpka->ErrorCode |= HAL_PKA_ERROR_INVALID_CALLBACK; in HAL_PKA_RegisterCallback()
616 HAL_StatusTypeDef HAL_PKA_UnRegisterCallback(PKA_HandleTypeDef *hpka, HAL_PKA_CallbackIDTypeDef Cal… in HAL_PKA_UnRegisterCallback() argument
620 if (HAL_PKA_STATE_READY == hpka->State) in HAL_PKA_UnRegisterCallback()
625hpka->OperationCpltCallback = HAL_PKA_OperationCpltCallback; /* Legacy weak OperationCpltCallback … in HAL_PKA_UnRegisterCallback()
629hpka->ErrorCallback = HAL_PKA_ErrorCallback; /* Legacy weak ErrorCallback */ in HAL_PKA_UnRegisterCallback()
633hpka->MspInitCallback = HAL_PKA_MspInit; /* Legacy weak MspInit */ in HAL_PKA_UnRegisterCallback()
637hpka->MspDeInitCallback = HAL_PKA_MspDeInit; /* Legacy weak MspDeInit */ in HAL_PKA_UnRegisterCallback()
642 hpka->ErrorCode |= HAL_PKA_ERROR_INVALID_CALLBACK; in HAL_PKA_UnRegisterCallback()
649 else if (HAL_PKA_STATE_RESET == hpka->State) in HAL_PKA_UnRegisterCallback()
654hpka->MspInitCallback = HAL_PKA_MspInit; /* Legacy weak MspInit */ in HAL_PKA_UnRegisterCallback()
658hpka->MspDeInitCallback = HAL_PKA_MspDeInit; /* Legacy weak MspDeInit */ in HAL_PKA_UnRegisterCallback()
663 hpka->ErrorCode |= HAL_PKA_ERROR_INVALID_CALLBACK; in HAL_PKA_UnRegisterCallback()
673 hpka->ErrorCode |= HAL_PKA_ERROR_INVALID_CALLBACK; in HAL_PKA_UnRegisterCallback()
810 HAL_StatusTypeDef HAL_PKA_ModExp(PKA_HandleTypeDef *hpka, PKA_ModExpInTypeDef *in, uint32_t Timeout) in HAL_PKA_ModExp() argument
813 PKA_ModExp_Set(hpka, in); in HAL_PKA_ModExp()
818 return PKA_Process(hpka, PKA_MODE_MODULAR_EXP, Timeout); in HAL_PKA_ModExp()
827 HAL_StatusTypeDef HAL_PKA_ModExp_IT(PKA_HandleTypeDef *hpka, PKA_ModExpInTypeDef *in) in HAL_PKA_ModExp_IT() argument
830 PKA_ModExp_Set(hpka, in); in HAL_PKA_ModExp_IT()
835 return PKA_Process_IT(hpka, PKA_MODE_MODULAR_EXP); in HAL_PKA_ModExp_IT()
845 HAL_StatusTypeDef HAL_PKA_ModExpFastMode(PKA_HandleTypeDef *hpka, PKA_ModExpFastModeInTypeDef *in, … in HAL_PKA_ModExpFastMode() argument
848 PKA_ModExpFastMode_Set(hpka, in); in HAL_PKA_ModExpFastMode()
853 return PKA_Process(hpka, PKA_MODE_MODULAR_EXP_FAST_MODE, Timeout); in HAL_PKA_ModExpFastMode()
862 HAL_StatusTypeDef HAL_PKA_ModExpFastMode_IT(PKA_HandleTypeDef *hpka, PKA_ModExpFastModeInTypeDef *i… in HAL_PKA_ModExpFastMode_IT() argument
865 PKA_ModExpFastMode_Set(hpka, in); in HAL_PKA_ModExpFastMode_IT()
870 return PKA_Process_IT(hpka, PKA_MODE_MODULAR_EXP_FAST_MODE); in HAL_PKA_ModExpFastMode_IT()
881 HAL_StatusTypeDef HAL_PKA_ModExpProtectMode(PKA_HandleTypeDef *hpka, PKA_ModExpProtectModeInTypeDef… in HAL_PKA_ModExpProtectMode() argument
885 PKA_ModExpProtectMode_Set(hpka, in); in HAL_PKA_ModExpProtectMode()
889 return PKA_Process(hpka, PKA_MODE_MODULAR_EXP_PROTECT, Timeout); in HAL_PKA_ModExpProtectMode()
899 HAL_StatusTypeDef HAL_PKA_ModExpProtectMode_IT(PKA_HandleTypeDef *hpka, PKA_ModExpProtectModeInType… in HAL_PKA_ModExpProtectMode_IT() argument
902 PKA_ModExpProtectMode_Set(hpka, in); in HAL_PKA_ModExpProtectMode_IT()
906 return PKA_Process_IT(hpka, PKA_MODE_MODULAR_EXP_PROTECT); in HAL_PKA_ModExpProtectMode_IT()
916 void HAL_PKA_ModExp_GetResult(PKA_HandleTypeDef *hpka, uint8_t *pRes) in HAL_PKA_ModExp_GetResult() argument
924 PKA_Memcpy_u32_to_u8(pRes, &hpka->Instance->RAM[PKA_MODULAR_EXP_OUT_RESULT], size); in HAL_PKA_ModExp_GetResult()
934 HAL_StatusTypeDef HAL_PKA_ECDSASign(PKA_HandleTypeDef *hpka, PKA_ECDSASignInTypeDef *in, uint32_t T… in HAL_PKA_ECDSASign() argument
937 PKA_ECDSASign_Set(hpka, in); in HAL_PKA_ECDSASign()
942 return PKA_Process(hpka, PKA_MODE_ECDSA_SIGNATURE, Timeout); in HAL_PKA_ECDSASign()
951 HAL_StatusTypeDef HAL_PKA_ECDSASign_IT(PKA_HandleTypeDef *hpka, PKA_ECDSASignInTypeDef *in) in HAL_PKA_ECDSASign_IT() argument
954 PKA_ECDSASign_Set(hpka, in); in HAL_PKA_ECDSASign_IT()
959 return PKA_Process_IT(hpka, PKA_MODE_ECDSA_SIGNATURE); in HAL_PKA_ECDSASign_IT()
968 void HAL_PKA_ECDSASign_GetResult(PKA_HandleTypeDef *hpka, PKA_ECDSASignOutTypeDef *out, in HAL_PKA_ECDSASign_GetResult() argument
979 PKA_Memcpy_u32_to_u8(out->RSign, &hpka->Instance->RAM[PKA_ECDSA_SIGN_OUT_SIGNATURE_R], size); in HAL_PKA_ECDSASign_GetResult()
980 PKA_Memcpy_u32_to_u8(out->SSign, &hpka->Instance->RAM[PKA_ECDSA_SIGN_OUT_SIGNATURE_S], size); in HAL_PKA_ECDSASign_GetResult()
987 PKA_Memcpy_u32_to_u8(outExt->ptX, &hpka->Instance->RAM[PKA_ECDSA_SIGN_OUT_FINAL_POINT_X], size); in HAL_PKA_ECDSASign_GetResult()
988 PKA_Memcpy_u32_to_u8(outExt->ptY, &hpka->Instance->RAM[PKA_ECDSA_SIGN_OUT_FINAL_POINT_Y], size); in HAL_PKA_ECDSASign_GetResult()
999 HAL_StatusTypeDef HAL_PKA_ECDSAVerif(PKA_HandleTypeDef *hpka, PKA_ECDSAVerifInTypeDef *in, uint32_t… in HAL_PKA_ECDSAVerif() argument
1002 PKA_ECDSAVerif_Set(hpka, in); in HAL_PKA_ECDSAVerif()
1005 return PKA_Process(hpka, PKA_MODE_ECDSA_VERIFICATION, Timeout); in HAL_PKA_ECDSAVerif()
1015 HAL_StatusTypeDef HAL_PKA_ECDSAVerif_IT(PKA_HandleTypeDef *hpka, PKA_ECDSAVerifInTypeDef *in) in HAL_PKA_ECDSAVerif_IT() argument
1018 PKA_ECDSAVerif_Set(hpka, in); in HAL_PKA_ECDSAVerif_IT()
1021 return PKA_Process_IT(hpka, PKA_MODE_ECDSA_VERIFICATION); in HAL_PKA_ECDSAVerif_IT()
1029 uint32_t HAL_PKA_ECDSAVerif_IsValidSignature(PKA_HandleTypeDef const *const hpka) in HAL_PKA_ECDSAVerif_IsValidSignature() argument
1031 return (hpka->Instance->RAM[PKA_ECDSA_VERIF_OUT_RESULT] == 0xD60DU) ? 1UL : 0UL; in HAL_PKA_ECDSAVerif_IsValidSignature()
1041 HAL_StatusTypeDef HAL_PKA_RSACRTExp(PKA_HandleTypeDef *hpka, PKA_RSACRTExpInTypeDef *in, uint32_t T… in HAL_PKA_RSACRTExp() argument
1044 PKA_RSACRTExp_Set(hpka, in); in HAL_PKA_RSACRTExp()
1047 return PKA_Process(hpka, PKA_MODE_RSA_CRT_EXP, Timeout); in HAL_PKA_RSACRTExp()
1056 HAL_StatusTypeDef HAL_PKA_RSACRTExp_IT(PKA_HandleTypeDef *hpka, PKA_RSACRTExpInTypeDef *in) in HAL_PKA_RSACRTExp_IT() argument
1059 PKA_RSACRTExp_Set(hpka, in); in HAL_PKA_RSACRTExp_IT()
1062 return PKA_Process_IT(hpka, PKA_MODE_RSA_CRT_EXP); in HAL_PKA_RSACRTExp_IT()
1071 void HAL_PKA_RSACRTExp_GetResult(PKA_HandleTypeDef *hpka, uint8_t *pRes) in HAL_PKA_RSACRTExp_GetResult() argument
1076 size = (hpka->Instance->RAM[PKA_RSA_CRT_EXP_IN_MOD_NB_BITS] + 7UL) / 8UL; in HAL_PKA_RSACRTExp_GetResult()
1078 PKA_Memcpy_u32_to_u8(pRes, &hpka->Instance->RAM[PKA_RSA_CRT_EXP_OUT_RESULT], size); in HAL_PKA_RSACRTExp_GetResult()
1088 HAL_StatusTypeDef HAL_PKA_PointCheck(PKA_HandleTypeDef *hpka, PKA_PointCheckInTypeDef *in, uint32_t… in HAL_PKA_PointCheck() argument
1091 PKA_PointCheck_Set(hpka, in); in HAL_PKA_PointCheck()
1094 return PKA_Process(hpka, PKA_MODE_POINT_CHECK, Timeout); in HAL_PKA_PointCheck()
1103 HAL_StatusTypeDef HAL_PKA_PointCheck_IT(PKA_HandleTypeDef *hpka, PKA_PointCheckInTypeDef *in) in HAL_PKA_PointCheck_IT() argument
1106 PKA_PointCheck_Set(hpka, in); in HAL_PKA_PointCheck_IT()
1109 return PKA_Process_IT(hpka, PKA_MODE_POINT_CHECK); in HAL_PKA_PointCheck_IT()
1117 uint32_t HAL_PKA_PointCheck_IsOnCurve(PKA_HandleTypeDef const *const hpka) in HAL_PKA_PointCheck_IsOnCurve() argument
1121 return (hpka->Instance->RAM[PKA_POINT_CHECK_OUT_ERROR] == PKA_POINT_IS_ON_CURVE) ? 1UL : 0UL; in HAL_PKA_PointCheck_IsOnCurve()
1131 HAL_StatusTypeDef HAL_PKA_ECCMul(PKA_HandleTypeDef *hpka, PKA_ECCMulInTypeDef *in, uint32_t Timeout) in HAL_PKA_ECCMul() argument
1134 PKA_ECCMul_Set(hpka, in); in HAL_PKA_ECCMul()
1139 return PKA_Process(hpka, PKA_MODE_ECC_MUL, Timeout); in HAL_PKA_ECCMul()
1148 HAL_StatusTypeDef HAL_PKA_ECCMul_IT(PKA_HandleTypeDef *hpka, PKA_ECCMulInTypeDef *in) in HAL_PKA_ECCMul_IT() argument
1151 PKA_ECCMul_Set(hpka, in); in HAL_PKA_ECCMul_IT()
1156 return PKA_Process_IT(hpka, PKA_MODE_ECC_MUL); in HAL_PKA_ECCMul_IT()
1165 HAL_StatusTypeDef HAL_PKA_ECCMulEx(PKA_HandleTypeDef *hpka, PKA_ECCMulExInTypeDef *in, uint32_t Tim… in HAL_PKA_ECCMulEx() argument
1168 PKA_ECCMulEx_Set(hpka, in); in HAL_PKA_ECCMulEx()
1173 return PKA_Process(hpka, PKA_MODE_ECC_MUL, Timeout); in HAL_PKA_ECCMulEx()
1182 HAL_StatusTypeDef HAL_PKA_ECCMulEx_IT(PKA_HandleTypeDef *hpka, PKA_ECCMulExInTypeDef *in) in HAL_PKA_ECCMulEx_IT() argument
1185 PKA_ECCMulEx_Set(hpka, in); in HAL_PKA_ECCMulEx_IT()
1190 return PKA_Process_IT(hpka, PKA_MODE_ECC_MUL); in HAL_PKA_ECCMulEx_IT()
1198 void HAL_PKA_ECCMul_GetResult(PKA_HandleTypeDef *hpka, PKA_ECCMulOutTypeDef *out) in HAL_PKA_ECCMul_GetResult() argument
1209 PKA_Memcpy_u32_to_u8(out->ptX, &hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_OUT_RESULT_X], size); in HAL_PKA_ECCMul_GetResult()
1210 PKA_Memcpy_u32_to_u8(out->ptY, &hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_OUT_RESULT_Y], size); in HAL_PKA_ECCMul_GetResult()
1221 HAL_StatusTypeDef HAL_PKA_Add(PKA_HandleTypeDef *hpka, PKA_AddInTypeDef *in, uint32_t Timeout) in HAL_PKA_Add() argument
1224 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, NULL); in HAL_PKA_Add()
1227 return PKA_Process(hpka, PKA_MODE_ARITHMETIC_ADD, Timeout); in HAL_PKA_Add()
1236 HAL_StatusTypeDef HAL_PKA_Add_IT(PKA_HandleTypeDef *hpka, PKA_AddInTypeDef *in) in HAL_PKA_Add_IT() argument
1239 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, NULL); in HAL_PKA_Add_IT()
1242 return PKA_Process_IT(hpka, PKA_MODE_ARITHMETIC_ADD); in HAL_PKA_Add_IT()
1252 HAL_StatusTypeDef HAL_PKA_Sub(PKA_HandleTypeDef *hpka, PKA_SubInTypeDef *in, uint32_t Timeout) in HAL_PKA_Sub() argument
1255 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, NULL); in HAL_PKA_Sub()
1258 return PKA_Process(hpka, PKA_MODE_ARITHMETIC_SUB, Timeout); in HAL_PKA_Sub()
1267 HAL_StatusTypeDef HAL_PKA_Sub_IT(PKA_HandleTypeDef *hpka, PKA_SubInTypeDef *in) in HAL_PKA_Sub_IT() argument
1270 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, NULL); in HAL_PKA_Sub_IT()
1273 return PKA_Process_IT(hpka, PKA_MODE_ARITHMETIC_SUB); in HAL_PKA_Sub_IT()
1283 HAL_StatusTypeDef HAL_PKA_Mul(PKA_HandleTypeDef *hpka, PKA_MulInTypeDef *in, uint32_t Timeout) in HAL_PKA_Mul() argument
1286 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, NULL); in HAL_PKA_Mul()
1289 return PKA_Process(hpka, PKA_MODE_ARITHMETIC_MUL, Timeout); in HAL_PKA_Mul()
1298 HAL_StatusTypeDef HAL_PKA_Mul_IT(PKA_HandleTypeDef *hpka, PKA_MulInTypeDef *in) in HAL_PKA_Mul_IT() argument
1301 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, NULL); in HAL_PKA_Mul_IT()
1304 return PKA_Process_IT(hpka, PKA_MODE_ARITHMETIC_MUL); in HAL_PKA_Mul_IT()
1314 HAL_StatusTypeDef HAL_PKA_Cmp(PKA_HandleTypeDef *hpka, PKA_CmpInTypeDef *in, uint32_t Timeout) in HAL_PKA_Cmp() argument
1317 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, NULL); in HAL_PKA_Cmp()
1320 return PKA_Process(hpka, PKA_MODE_COMPARISON, Timeout); in HAL_PKA_Cmp()
1329 HAL_StatusTypeDef HAL_PKA_Cmp_IT(PKA_HandleTypeDef *hpka, PKA_CmpInTypeDef *in) in HAL_PKA_Cmp_IT() argument
1332 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, NULL); in HAL_PKA_Cmp_IT()
1335 return PKA_Process_IT(hpka, PKA_MODE_COMPARISON); in HAL_PKA_Cmp_IT()
1345 HAL_StatusTypeDef HAL_PKA_ModAdd(PKA_HandleTypeDef *hpka, PKA_ModAddInTypeDef *in, uint32_t Timeout) in HAL_PKA_ModAdd() argument
1348 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, in->pOp3); in HAL_PKA_ModAdd()
1351 return PKA_Process(hpka, PKA_MODE_MODULAR_ADD, Timeout); in HAL_PKA_ModAdd()
1360 HAL_StatusTypeDef HAL_PKA_ModAdd_IT(PKA_HandleTypeDef *hpka, PKA_ModAddInTypeDef *in) in HAL_PKA_ModAdd_IT() argument
1363 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, in->pOp3); in HAL_PKA_ModAdd_IT()
1366 return PKA_Process_IT(hpka, PKA_MODE_MODULAR_ADD); in HAL_PKA_ModAdd_IT()
1376 HAL_StatusTypeDef HAL_PKA_ModInv(PKA_HandleTypeDef *hpka, PKA_ModInvInTypeDef *in, uint32_t Timeout) in HAL_PKA_ModInv() argument
1379 PKA_ModInv_Set(hpka, in); in HAL_PKA_ModInv()
1382 return PKA_Process(hpka, PKA_MODE_MODULAR_INV, Timeout); in HAL_PKA_ModInv()
1391 HAL_StatusTypeDef HAL_PKA_ModInv_IT(PKA_HandleTypeDef *hpka, PKA_ModInvInTypeDef *in) in HAL_PKA_ModInv_IT() argument
1394 PKA_ModInv_Set(hpka, in); in HAL_PKA_ModInv_IT()
1397 return PKA_Process_IT(hpka, PKA_MODE_MODULAR_INV); in HAL_PKA_ModInv_IT()
1407 HAL_StatusTypeDef HAL_PKA_ModSub(PKA_HandleTypeDef *hpka, PKA_ModSubInTypeDef *in, uint32_t Timeout) in HAL_PKA_ModSub() argument
1410 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, in->pOp3); in HAL_PKA_ModSub()
1413 return PKA_Process(hpka, PKA_MODE_MODULAR_SUB, Timeout); in HAL_PKA_ModSub()
1422 HAL_StatusTypeDef HAL_PKA_ModSub_IT(PKA_HandleTypeDef *hpka, PKA_ModSubInTypeDef *in) in HAL_PKA_ModSub_IT() argument
1425 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, in->pOp3); in HAL_PKA_ModSub_IT()
1428 return PKA_Process_IT(hpka, PKA_MODE_MODULAR_SUB); in HAL_PKA_ModSub_IT()
1438 HAL_StatusTypeDef HAL_PKA_ModRed(PKA_HandleTypeDef *hpka, PKA_ModRedInTypeDef *in, uint32_t Timeout) in HAL_PKA_ModRed() argument
1441 PKA_ModRed_Set(hpka, in); in HAL_PKA_ModRed()
1444 return PKA_Process(hpka, PKA_MODE_MODULAR_RED, Timeout); in HAL_PKA_ModRed()
1453 HAL_StatusTypeDef HAL_PKA_ModRed_IT(PKA_HandleTypeDef *hpka, PKA_ModRedInTypeDef *in) in HAL_PKA_ModRed_IT() argument
1456 PKA_ModRed_Set(hpka, in); in HAL_PKA_ModRed_IT()
1459 return PKA_Process_IT(hpka, PKA_MODE_MODULAR_RED); in HAL_PKA_ModRed_IT()
1469 HAL_StatusTypeDef HAL_PKA_MontgomeryMul(PKA_HandleTypeDef *hpka, PKA_MontgomeryMulInTypeDef *in, ui… in HAL_PKA_MontgomeryMul() argument
1472 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, in->pOp3); in HAL_PKA_MontgomeryMul()
1475 return PKA_Process(hpka, PKA_MODE_MONTGOMERY_MUL, Timeout); in HAL_PKA_MontgomeryMul()
1484 HAL_StatusTypeDef HAL_PKA_MontgomeryMul_IT(PKA_HandleTypeDef *hpka, PKA_MontgomeryMulInTypeDef *in) in HAL_PKA_MontgomeryMul_IT() argument
1487 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, in->pOp3); in HAL_PKA_MontgomeryMul_IT()
1490 return PKA_Process_IT(hpka, PKA_MODE_MONTGOMERY_MUL); in HAL_PKA_MontgomeryMul_IT()
1498 void HAL_PKA_Arithmetic_GetResult(PKA_HandleTypeDef *hpka, uint32_t *pRes) in HAL_PKA_Arithmetic_GetResult() argument
1500 uint32_t mode = (hpka->Instance->CR & PKA_CR_MODE_Msk) >> PKA_CR_MODE_Pos; in HAL_PKA_Arithmetic_GetResult()
1512 size = hpka->Instance->RAM[2] / 32UL; in HAL_PKA_Arithmetic_GetResult()
1516 size = hpka->Instance->RAM[PKA_ARITHMETIC_ALL_OPS_NB_BITS] / 32UL; in HAL_PKA_Arithmetic_GetResult()
1519 if (hpka->Instance->RAM[PKA_ARITHMETIC_ALL_OPS_OUT_RESULT + size] != 0UL) in HAL_PKA_Arithmetic_GetResult()
1529 size = hpka->Instance->RAM[PKA_ARITHMETIC_MUL_NB_BITS] / 32UL * 2UL; in HAL_PKA_Arithmetic_GetResult()
1548 PKA_Memcpy_u32_to_u32(pRes, &hpka->Instance->RAM[PKA_ARITHMETIC_ALL_OPS_OUT_RESULT], size); in HAL_PKA_Arithmetic_GetResult()
1563 HAL_StatusTypeDef HAL_PKA_MontgomeryParam(PKA_HandleTypeDef *hpka, PKA_MontgomeryParamInTypeDef *in… in HAL_PKA_MontgomeryParam() argument
1566 PKA_MontgomeryParam_Set(hpka, in->size, in->pOp1); in HAL_PKA_MontgomeryParam()
1569 return PKA_Process(hpka, PKA_MODE_MONTGOMERY_PARAM, Timeout); in HAL_PKA_MontgomeryParam()
1578 HAL_StatusTypeDef HAL_PKA_MontgomeryParam_IT(PKA_HandleTypeDef *hpka, PKA_MontgomeryParamInTypeDef … in HAL_PKA_MontgomeryParam_IT() argument
1581 PKA_MontgomeryParam_Set(hpka, in->size, in->pOp1); in HAL_PKA_MontgomeryParam_IT()
1584 return PKA_Process_IT(hpka, PKA_MODE_MONTGOMERY_PARAM); in HAL_PKA_MontgomeryParam_IT()
1594 HAL_StatusTypeDef HAL_PKA_ECCDoubleBaseLadder(PKA_HandleTypeDef *hpka, PKA_ECCDoubleBaseLadderInTyp… in HAL_PKA_ECCDoubleBaseLadder() argument
1598 PKA_ECCDoubleBaseLadder_Set(hpka, in); in HAL_PKA_ECCDoubleBaseLadder()
1600 return PKA_Process(hpka, PKA_MODE_DOUBLE_BASE_LADDER, Timeout); in HAL_PKA_ECCDoubleBaseLadder()
1609 HAL_StatusTypeDef HAL_PKA_ECCDoubleBaseLadder_IT(PKA_HandleTypeDef *hpka, PKA_ECCDoubleBaseLadderIn… in HAL_PKA_ECCDoubleBaseLadder_IT() argument
1612 PKA_ECCDoubleBaseLadder_Set(hpka, in); in HAL_PKA_ECCDoubleBaseLadder_IT()
1614 return PKA_Process_IT(hpka, PKA_MODE_DOUBLE_BASE_LADDER); in HAL_PKA_ECCDoubleBaseLadder_IT()
1624 HAL_StatusTypeDef HAL_PKA_ECCProjective2Affine(PKA_HandleTypeDef *hpka, PKA_ECCProjective2AffineInT… in HAL_PKA_ECCProjective2Affine() argument
1628 PKA_ECCProjective2Affine_Set(hpka, in); in HAL_PKA_ECCProjective2Affine()
1630 return PKA_Process(hpka, PKA_MODE_ECC_PROJECTIVE_AFF, Timeout); in HAL_PKA_ECCProjective2Affine()
1639 HAL_StatusTypeDef HAL_PKA_ECCProjective2Affine_IT(PKA_HandleTypeDef *hpka, PKA_ECCProjective2Affine… in HAL_PKA_ECCProjective2Affine_IT() argument
1642 PKA_ECCProjective2Affine_Set(hpka, in); in HAL_PKA_ECCProjective2Affine_IT()
1644 return PKA_Process_IT(hpka, PKA_MODE_ECC_PROJECTIVE_AFF); in HAL_PKA_ECCProjective2Affine_IT()
1654 HAL_StatusTypeDef HAL_PKA_ECCCompleteAddition(PKA_HandleTypeDef *hpka, PKA_ECCCompleteAdditionInTyp… in HAL_PKA_ECCCompleteAddition() argument
1658 PKA_ECCCompleteAddition_Set(hpka, in); in HAL_PKA_ECCCompleteAddition()
1660 return PKA_Process(hpka, PKA_MODE_ECC_COMPLETE_ADD, Timeout); in HAL_PKA_ECCCompleteAddition()
1669 HAL_StatusTypeDef HAL_PKA_ECCCompleteAddition_IT(PKA_HandleTypeDef *hpka, PKA_ECCCompleteAdditionIn… in HAL_PKA_ECCCompleteAddition_IT() argument
1672 PKA_ECCCompleteAddition_Set(hpka, in); in HAL_PKA_ECCCompleteAddition_IT()
1674 return PKA_Process_IT(hpka, PKA_MODE_ECC_COMPLETE_ADD); in HAL_PKA_ECCCompleteAddition_IT()
1683 void HAL_PKA_MontgomeryParam_GetResult(PKA_HandleTypeDef *hpka, uint32_t *pRes) in HAL_PKA_MontgomeryParam_GetResult() argument
1688 size = (hpka->Instance->RAM[PKA_MONTGOMERY_PARAM_IN_MOD_NB_BITS] + 31UL) / 32UL; in HAL_PKA_MontgomeryParam_GetResult()
1691 PKA_Memcpy_u32_to_u32(pRes, &hpka->Instance->RAM[PKA_MONTGOMERY_PARAM_OUT_PARAMETER], size); in HAL_PKA_MontgomeryParam_GetResult()
1699 HAL_StatusTypeDef HAL_PKA_Abort(PKA_HandleTypeDef *hpka) in HAL_PKA_Abort() argument
1705 CLEAR_BIT(hpka->Instance->CR, PKA_CR_EN); in HAL_PKA_Abort()
1706 SET_BIT(hpka->Instance->CR, PKA_CR_EN); in HAL_PKA_Abort()
1709 …SET_BIT(hpka->Instance->CLRFR, PKA_CLRFR_PROCENDFC | PKA_CLRFR_RAMERRFC | PKA_CLRFR_ADDRERRFC | PK… in HAL_PKA_Abort()
1712 hpka->ErrorCode = HAL_PKA_ERROR_NONE; in HAL_PKA_Abort()
1715 hpka->State = HAL_PKA_STATE_READY; in HAL_PKA_Abort()
1725 void HAL_PKA_RAMReset(PKA_HandleTypeDef *hpka) in HAL_PKA_RAMReset() argument
1733 hpka->Instance->RAM[index] = 0UL; in HAL_PKA_RAMReset()
1742 void HAL_PKA_IRQHandler(PKA_HandleTypeDef *hpka) in HAL_PKA_IRQHandler() argument
1744 uint32_t mode = PKA_GetMode(hpka); in HAL_PKA_IRQHandler()
1745 uint32_t itsource = READ_REG(hpka->Instance->CR); in HAL_PKA_IRQHandler()
1746 uint32_t flag = READ_REG(hpka->Instance->SR); in HAL_PKA_IRQHandler()
1751 hpka->ErrorCode |= HAL_PKA_ERROR_ADDRERR; in HAL_PKA_IRQHandler()
1754 __HAL_PKA_CLEAR_FLAG(hpka, PKA_FLAG_ADDRERR); in HAL_PKA_IRQHandler()
1760 hpka->ErrorCode |= HAL_PKA_ERROR_RAMERR; in HAL_PKA_IRQHandler()
1763 __HAL_PKA_CLEAR_FLAG(hpka, PKA_FLAG_RAMERR); in HAL_PKA_IRQHandler()
1769 hpka->ErrorCode |= HAL_PKA_ERROR_OPERATION; in HAL_PKA_IRQHandler()
1772 __HAL_PKA_CLEAR_FLAG(hpka, PKA_FLAG_OPERR); in HAL_PKA_IRQHandler()
1780 if (hpka->Instance->RAM[PKA_ECDSA_SIGN_OUT_ERROR] != PKA_NO_ERROR) in HAL_PKA_IRQHandler()
1782 hpka->ErrorCode |= HAL_PKA_ERROR_OPERATION; in HAL_PKA_IRQHandler()
1788 if (hpka->Instance->RAM[PKA_ECC_DOUBLE_LADDER_OUT_ERROR] != PKA_NO_ERROR) in HAL_PKA_IRQHandler()
1790 hpka->ErrorCode |= HAL_PKA_ERROR_OPERATION; in HAL_PKA_IRQHandler()
1796 if (hpka->Instance->RAM[PKA_ECC_PROJECTIVE_AFF_OUT_ERROR] != PKA_NO_ERROR) in HAL_PKA_IRQHandler()
1798 hpka->ErrorCode |= HAL_PKA_ERROR_OPERATION; in HAL_PKA_IRQHandler()
1804 if (hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_OUT_ERROR] != PKA_NO_ERROR) in HAL_PKA_IRQHandler()
1806 hpka->ErrorCode |= HAL_PKA_ERROR_OPERATION; in HAL_PKA_IRQHandler()
1812 if (hpka->Instance->RAM[PKA_MODULAR_EXP_OUT_ERROR] != PKA_NO_ERROR) in HAL_PKA_IRQHandler()
1814 hpka->ErrorCode |= HAL_PKA_ERROR_OPERATION; in HAL_PKA_IRQHandler()
1821 if (hpka->ErrorCode != HAL_PKA_ERROR_NONE) in HAL_PKA_IRQHandler()
1824 hpka->ErrorCallback(hpka); in HAL_PKA_IRQHandler()
1826 HAL_PKA_ErrorCallback(hpka); in HAL_PKA_IRQHandler()
1834 __HAL_PKA_CLEAR_FLAG(hpka, PKA_FLAG_PROCEND); in HAL_PKA_IRQHandler()
1837 hpka->State = HAL_PKA_STATE_READY; in HAL_PKA_IRQHandler()
1840 hpka->OperationCpltCallback(hpka); in HAL_PKA_IRQHandler()
1842 HAL_PKA_OperationCpltCallback(hpka); in HAL_PKA_IRQHandler()
1852 __weak void HAL_PKA_OperationCpltCallback(PKA_HandleTypeDef *hpka) in HAL_PKA_OperationCpltCallback() argument
1855 UNUSED(hpka); in HAL_PKA_OperationCpltCallback()
1867 __weak void HAL_PKA_ErrorCallback(PKA_HandleTypeDef *hpka) in HAL_PKA_ErrorCallback() argument
1870 UNUSED(hpka); in HAL_PKA_ErrorCallback()
1900 HAL_PKA_StateTypeDef HAL_PKA_GetState(const PKA_HandleTypeDef *hpka) in HAL_PKA_GetState() argument
1903 return hpka->State; in HAL_PKA_GetState()
1911 uint32_t HAL_PKA_GetError(const PKA_HandleTypeDef *hpka) in HAL_PKA_GetError() argument
1914 return hpka->ErrorCode; in HAL_PKA_GetError()
1934 uint32_t PKA_GetMode(const PKA_HandleTypeDef *hpka) in PKA_GetMode() argument
1937 return (uint32_t)(READ_BIT(hpka->Instance->CR, PKA_CR_MODE) >> PKA_CR_MODE_Pos); in PKA_GetMode()
1947 HAL_StatusTypeDef PKA_PollEndOfOperation(const PKA_HandleTypeDef *hpka, uint32_t Timeout, uint32_t … in PKA_PollEndOfOperation() argument
1950 while ((hpka->Instance->SR & PKA_SR_PROCENDF) == 0UL) in PKA_PollEndOfOperation()
1970 uint32_t PKA_CheckError(const PKA_HandleTypeDef *hpka, uint32_t mode) in PKA_CheckError() argument
1975 if (__HAL_PKA_GET_FLAG(hpka, PKA_FLAG_RAMERR) == SET) in PKA_CheckError()
1981 if (__HAL_PKA_GET_FLAG(hpka, PKA_FLAG_ADDRERR) == SET) in PKA_CheckError()
1987 if (__HAL_PKA_GET_FLAG(hpka, PKA_FLAG_OPERR) == SET) in PKA_CheckError()
1997 if (hpka->Instance->RAM[PKA_ECDSA_SIGN_OUT_ERROR] != EDCSA_SIGN_NOERROR) in PKA_CheckError()
2007 if (hpka->Instance->RAM[PKA_ECC_DOUBLE_LADDER_OUT_ERROR] != PKA_NO_ERROR) in PKA_CheckError()
2017 if (hpka->Instance->RAM[PKA_ECC_PROJECTIVE_AFF_OUT_ERROR] != PKA_NO_ERROR) in PKA_CheckError()
2027 if (hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_OUT_ERROR] != PKA_NO_ERROR) in PKA_CheckError()
2037 if (hpka->Instance->RAM[PKA_MODULAR_EXP_OUT_ERROR] != PKA_NO_ERROR) in PKA_CheckError()
2222 HAL_StatusTypeDef PKA_Process(PKA_HandleTypeDef *hpka, uint32_t mode, uint32_t Timeout) in PKA_Process() argument
2227 if (hpka->State == HAL_PKA_STATE_READY) in PKA_Process()
2230 hpka->State = HAL_PKA_STATE_BUSY; in PKA_Process()
2233 hpka->ErrorCode = HAL_PKA_ERROR_NONE; in PKA_Process()
2239 …MODIFY_REG(hpka->Instance->CR, PKA_CR_MODE | PKA_CR_PROCENDIE | PKA_CR_RAMERRIE | PKA_CR_ADDRERRIE… in PKA_Process()
2243 hpka->Instance->CR |= PKA_CR_START; in PKA_Process()
2246 if (PKA_PollEndOfOperation(hpka, Timeout, tickstart) != HAL_OK) in PKA_Process()
2249 CLEAR_BIT(hpka->Instance->CR, PKA_CR_EN); in PKA_Process()
2251 hpka->ErrorCode |= HAL_PKA_ERROR_TIMEOUT; in PKA_Process()
2254 SET_BIT(hpka->Instance->CR, PKA_CR_EN); in PKA_Process()
2258 hpka->ErrorCode |= PKA_CheckError(hpka, mode); in PKA_Process()
2261hpka->Instance->CLRFR |= (PKA_CLRFR_PROCENDFC | PKA_CLRFR_RAMERRFC | PKA_CLRFR_ADDRERRFC | PKA_CLR… in PKA_Process()
2264 hpka->State = HAL_PKA_STATE_READY; in PKA_Process()
2267 if (hpka->ErrorCode != HAL_PKA_ERROR_NONE) in PKA_Process()
2285 HAL_StatusTypeDef PKA_Process_IT(PKA_HandleTypeDef *hpka, uint32_t mode) in PKA_Process_IT() argument
2289 if (hpka->State == HAL_PKA_STATE_READY) in PKA_Process_IT()
2292 hpka->State = HAL_PKA_STATE_BUSY; in PKA_Process_IT()
2295 hpka->ErrorCode = HAL_PKA_ERROR_NONE; in PKA_Process_IT()
2298 …MODIFY_REG(hpka->Instance->CR, PKA_CR_MODE | PKA_CR_PROCENDIE | PKA_CR_RAMERRIE | PKA_CR_ADDRERRIE… in PKA_Process_IT()
2302 hpka->Instance->CR |= PKA_CR_START; in PKA_Process_IT()
2316 void PKA_ModExp_Set(PKA_HandleTypeDef *hpka, PKA_ModExpInTypeDef *in) in PKA_ModExp_Set() argument
2319 hpka->Instance->RAM[PKA_MODULAR_EXP_IN_OP_NB_BITS] = PKA_GetBitSize_u8(in->OpSize); in PKA_ModExp_Set()
2322 hpka->Instance->RAM[PKA_MODULAR_EXP_IN_EXP_NB_BITS] = PKA_GetBitSize_u8(in->expSize); in PKA_ModExp_Set()
2325 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_MODULAR_EXP_IN_EXPONENT_BASE], in->pOp1, in->OpSize); in PKA_ModExp_Set()
2326 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MODULAR_EXP_IN_EXPONENT_BASE + ((in->OpSize + 3UL) / … in PKA_ModExp_Set()
2329 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_MODULAR_EXP_IN_EXPONENT], in->pExp, in->expSize); in PKA_ModExp_Set()
2330 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MODULAR_EXP_IN_EXPONENT + ((in->expSize + 3UL) / 4UL)… in PKA_ModExp_Set()
2333 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_MODULAR_EXP_IN_MODULUS], in->pMod, in->OpSize); in PKA_ModExp_Set()
2334 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MODULAR_EXP_IN_MODULUS + ((in->OpSize + 3UL) / 4UL)); in PKA_ModExp_Set()
2342 void PKA_ModExpFastMode_Set(PKA_HandleTypeDef *hpka, PKA_ModExpFastModeInTypeDef *in) in PKA_ModExpFastMode_Set() argument
2345 hpka->Instance->RAM[PKA_MODULAR_EXP_IN_OP_NB_BITS] = PKA_GetBitSize_u8(in->OpSize); in PKA_ModExpFastMode_Set()
2348 hpka->Instance->RAM[PKA_MODULAR_EXP_IN_EXP_NB_BITS] = PKA_GetBitSize_u8(in->expSize); in PKA_ModExpFastMode_Set()
2351 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_MODULAR_EXP_IN_EXPONENT_BASE], in->pOp1, in->OpSize); in PKA_ModExpFastMode_Set()
2352 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MODULAR_EXP_IN_EXPONENT_BASE + (in->OpSize / 4UL)); in PKA_ModExpFastMode_Set()
2355 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_MODULAR_EXP_IN_EXPONENT], in->pExp, in->expSize); in PKA_ModExpFastMode_Set()
2356 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MODULAR_EXP_IN_EXPONENT + (in->expSize / 4UL)); in PKA_ModExpFastMode_Set()
2359 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_MODULAR_EXP_IN_MODULUS], in->pMod, in->OpSize); in PKA_ModExpFastMode_Set()
2360 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MODULAR_EXP_IN_MODULUS + (in->OpSize / 4UL)); in PKA_ModExpFastMode_Set()
2363 …PKA_Memcpy_u32_to_u32(&hpka->Instance->RAM[PKA_MODULAR_EXP_IN_MONTGOMERY_PARAM], in->pMontgomeryPa… in PKA_ModExpFastMode_Set()
2365 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MODULAR_EXP_IN_MONTGOMERY_PARAM + (in->OpSize / 4UL)); in PKA_ModExpFastMode_Set()
2373 void PKA_ModExpProtectMode_Set(PKA_HandleTypeDef *hpka, PKA_ModExpProtectModeInTypeDef *in) in PKA_ModExpProtectMode_Set() argument
2376 hpka->Instance->RAM[PKA_MODULAR_EXP_IN_OP_NB_BITS] = PKA_GetBitSize_u8(in->OpSize); in PKA_ModExpProtectMode_Set()
2379 hpka->Instance->RAM[PKA_MODULAR_EXP_IN_EXP_NB_BITS] = PKA_GetBitSize_u8(in->expSize); in PKA_ModExpProtectMode_Set()
2382 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_MODULAR_EXP_PROTECT_IN_EXPONENT_BASE], in->pOp1, in-… in PKA_ModExpProtectMode_Set()
2383 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MODULAR_EXP_PROTECT_IN_EXPONENT_BASE + (in->OpSize / … in PKA_ModExpProtectMode_Set()
2386 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_MODULAR_EXP_PROTECT_IN_EXPONENT], in->pExp, in->expS… in PKA_ModExpProtectMode_Set()
2387 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MODULAR_EXP_PROTECT_IN_EXPONENT + (in->expSize / 4UL)… in PKA_ModExpProtectMode_Set()
2390 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_MODULAR_EXP_PROTECT_IN_MODULUS], in->pMod, in->OpSiz… in PKA_ModExpProtectMode_Set()
2391 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MODULAR_EXP_PROTECT_IN_MODULUS + (in->OpSize / 4UL)); in PKA_ModExpProtectMode_Set()
2394 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_MODULAR_EXP_PROTECT_IN_PHI], in->pPhi, in->OpSize); in PKA_ModExpProtectMode_Set()
2395 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MODULAR_EXP_PROTECT_IN_PHI + (in->OpSize / 4UL)); in PKA_ModExpProtectMode_Set()
2405 void PKA_ECDSASign_Set(PKA_HandleTypeDef *hpka, PKA_ECDSASignInTypeDef *in) in PKA_ECDSASign_Set() argument
2408hpka->Instance->RAM[PKA_ECDSA_SIGN_IN_ORDER_NB_BITS] = PKA_GetOptBitSize_u8(in->primeOrderSize, *(… in PKA_ECDSASign_Set()
2411hpka->Instance->RAM[PKA_ECDSA_SIGN_IN_MOD_NB_BITS] = PKA_GetOptBitSize_u8(in->modulusSize, *(in->m… in PKA_ECDSASign_Set()
2414 hpka->Instance->RAM[PKA_ECDSA_SIGN_IN_A_COEFF_SIGN] = in->coefSign; in PKA_ECDSASign_Set()
2417 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_SIGN_IN_A_COEFF], in->coef, in->modulusSize); in PKA_ECDSASign_Set()
2418 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_SIGN_IN_A_COEFF + ((in->modulusSize + 3UL) / 4U… in PKA_ECDSASign_Set()
2421 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_SIGN_IN_B_COEFF], in->coefB, in->modulusSize); in PKA_ECDSASign_Set()
2422 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_SIGN_IN_B_COEFF + ((in->modulusSize + 3UL) / 4U… in PKA_ECDSASign_Set()
2425 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_SIGN_IN_MOD_GF], in->modulus, in->modulusSize); in PKA_ECDSASign_Set()
2426 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_SIGN_IN_MOD_GF + ((in->modulusSize + 3UL) / 4UL… in PKA_ECDSASign_Set()
2429 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_SIGN_IN_K], in->integer, in->primeOrderSize); in PKA_ECDSASign_Set()
2430 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_SIGN_IN_K + ((in->primeOrderSize + 3UL) / 4UL)); in PKA_ECDSASign_Set()
2433 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_SIGN_IN_INITIAL_POINT_X], in->basePointX, in->… in PKA_ECDSASign_Set()
2434 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_SIGN_IN_INITIAL_POINT_X + ((in->modulusSize + 3… in PKA_ECDSASign_Set()
2437 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_SIGN_IN_INITIAL_POINT_Y], in->basePointY, in->… in PKA_ECDSASign_Set()
2438 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_SIGN_IN_INITIAL_POINT_Y + ((in->modulusSize + 3… in PKA_ECDSASign_Set()
2441 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_SIGN_IN_HASH_E], in->hash, in->primeOrderSize); in PKA_ECDSASign_Set()
2442 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_SIGN_IN_HASH_E + ((in->primeOrderSize + 3UL) / … in PKA_ECDSASign_Set()
2445 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_SIGN_IN_PRIVATE_KEY_D], in->privateKey, in->pr… in PKA_ECDSASign_Set()
2446 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_SIGN_IN_PRIVATE_KEY_D + ((in->primeOrderSize + … in PKA_ECDSASign_Set()
2449 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_SIGN_IN_ORDER_N], in->primeOrder, in->primeOrd… in PKA_ECDSASign_Set()
2450 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_SIGN_IN_ORDER_N + ((in->primeOrderSize + 3UL) /… in PKA_ECDSASign_Set()
2458 void PKA_ECDSAVerif_Set(PKA_HandleTypeDef *hpka, PKA_ECDSAVerifInTypeDef *in) in PKA_ECDSAVerif_Set() argument
2461hpka->Instance->RAM[PKA_ECDSA_VERIF_IN_ORDER_NB_BITS] = PKA_GetOptBitSize_u8(in->primeOrderSize, *… in PKA_ECDSAVerif_Set()
2464hpka->Instance->RAM[PKA_ECDSA_VERIF_IN_MOD_NB_BITS] = PKA_GetOptBitSize_u8(in->modulusSize, *(in->… in PKA_ECDSAVerif_Set()
2467 hpka->Instance->RAM[PKA_ECDSA_VERIF_IN_A_COEFF_SIGN] = in->coefSign; in PKA_ECDSAVerif_Set()
2470 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_VERIF_IN_A_COEFF], in->coef, in->modulusSize); in PKA_ECDSAVerif_Set()
2471 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_VERIF_IN_A_COEFF + ((in->modulusSize + 3UL) / 4… in PKA_ECDSAVerif_Set()
2474 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_VERIF_IN_MOD_GF], in->modulus, in->modulusSize… in PKA_ECDSAVerif_Set()
2475 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_VERIF_IN_MOD_GF + ((in->modulusSize + 3UL) / 4U… in PKA_ECDSAVerif_Set()
2478 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_VERIF_IN_INITIAL_POINT_X], in->basePointX, in-… in PKA_ECDSAVerif_Set()
2479 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_VERIF_IN_INITIAL_POINT_X + ((in->modulusSize + … in PKA_ECDSAVerif_Set()
2482 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_VERIF_IN_INITIAL_POINT_Y], in->basePointY, in-… in PKA_ECDSAVerif_Set()
2483 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_VERIF_IN_INITIAL_POINT_Y + ((in->modulusSize + … in PKA_ECDSAVerif_Set()
2486 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_VERIF_IN_PUBLIC_KEY_POINT_X], in->pPubKeyCurve… in PKA_ECDSAVerif_Set()
2488 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_VERIF_IN_PUBLIC_KEY_POINT_X + ((in->modulusSize… in PKA_ECDSAVerif_Set()
2491 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_VERIF_IN_PUBLIC_KEY_POINT_Y], in->pPubKeyCurve… in PKA_ECDSAVerif_Set()
2493 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_VERIF_IN_PUBLIC_KEY_POINT_Y + ((in->modulusSize… in PKA_ECDSAVerif_Set()
2496 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_VERIF_IN_SIGNATURE_R], in->RSign, in->primeOrd… in PKA_ECDSAVerif_Set()
2497 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_VERIF_IN_SIGNATURE_R + ((in->primeOrderSize + 3… in PKA_ECDSAVerif_Set()
2500 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_VERIF_IN_SIGNATURE_S], in->SSign, in->primeOrd… in PKA_ECDSAVerif_Set()
2501 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_VERIF_IN_SIGNATURE_S + ((in->primeOrderSize + 3… in PKA_ECDSAVerif_Set()
2504 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_VERIF_IN_HASH_E], in->hash, in->primeOrderSize… in PKA_ECDSAVerif_Set()
2505 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_VERIF_IN_HASH_E + ((in->primeOrderSize + 3UL) /… in PKA_ECDSAVerif_Set()
2508 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_VERIF_IN_ORDER_N], in->primeOrder, in->primeOr… in PKA_ECDSAVerif_Set()
2509 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_VERIF_IN_ORDER_N + ((in->primeOrderSize + 3UL) … in PKA_ECDSAVerif_Set()
2517 void PKA_RSACRTExp_Set(PKA_HandleTypeDef *hpka, PKA_RSACRTExpInTypeDef *in) in PKA_RSACRTExp_Set() argument
2520 hpka->Instance->RAM[PKA_RSA_CRT_EXP_IN_MOD_NB_BITS] = PKA_GetBitSize_u8(in->size); in PKA_RSACRTExp_Set()
2523 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_RSA_CRT_EXP_IN_DP_CRT], in->pOpDp, in->size / 2UL); in PKA_RSACRTExp_Set()
2524 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_RSA_CRT_EXP_IN_DP_CRT + (in->size / 8UL)); in PKA_RSACRTExp_Set()
2527 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_RSA_CRT_EXP_IN_DQ_CRT], in->pOpDq, in->size / 2UL); in PKA_RSACRTExp_Set()
2528 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_RSA_CRT_EXP_IN_DQ_CRT + (in->size / 8UL)); in PKA_RSACRTExp_Set()
2531 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_RSA_CRT_EXP_IN_QINV_CRT], in->pOpQinv, in->size / 2U… in PKA_RSACRTExp_Set()
2532 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_RSA_CRT_EXP_IN_QINV_CRT + (in->size / 8UL)); in PKA_RSACRTExp_Set()
2535 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_RSA_CRT_EXP_IN_PRIME_P], in->pPrimeP, in->size / 2UL… in PKA_RSACRTExp_Set()
2536 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_RSA_CRT_EXP_IN_PRIME_P + (in->size / 8UL)); in PKA_RSACRTExp_Set()
2539 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_RSA_CRT_EXP_IN_PRIME_Q], in->pPrimeQ, in->size / 2UL… in PKA_RSACRTExp_Set()
2540 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_RSA_CRT_EXP_IN_PRIME_Q + (in->size / 8UL)); in PKA_RSACRTExp_Set()
2543 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_RSA_CRT_EXP_IN_EXPONENT_BASE], in->popA, in->size); in PKA_RSACRTExp_Set()
2544 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_RSA_CRT_EXP_IN_EXPONENT_BASE + (in->size / 4UL)); in PKA_RSACRTExp_Set()
2552 void PKA_PointCheck_Set(PKA_HandleTypeDef *hpka, PKA_PointCheckInTypeDef *in) in PKA_PointCheck_Set() argument
2555hpka->Instance->RAM[PKA_POINT_CHECK_IN_MOD_NB_BITS] = PKA_GetOptBitSize_u8(in->modulusSize, *(in->… in PKA_PointCheck_Set()
2558 hpka->Instance->RAM[PKA_POINT_CHECK_IN_A_COEFF_SIGN] = in->coefSign; in PKA_PointCheck_Set()
2561 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_POINT_CHECK_IN_A_COEFF], in->coefA, in->modulusSize); in PKA_PointCheck_Set()
2562 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_POINT_CHECK_IN_A_COEFF + ((in->modulusSize + 3UL) / 4… in PKA_PointCheck_Set()
2565 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_POINT_CHECK_IN_B_COEFF], in->coefB, in->modulusSize); in PKA_PointCheck_Set()
2566 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_POINT_CHECK_IN_B_COEFF + ((in->modulusSize + 3UL) / 4… in PKA_PointCheck_Set()
2569 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_POINT_CHECK_IN_MOD_GF], in->modulus, in->modulusSize… in PKA_PointCheck_Set()
2570 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_POINT_CHECK_IN_MOD_GF + ((in->modulusSize + 3UL) / 4U… in PKA_PointCheck_Set()
2573 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_POINT_CHECK_IN_INITIAL_POINT_X], in->pointX, in->mod… in PKA_PointCheck_Set()
2574 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_POINT_CHECK_IN_INITIAL_POINT_X + ((in->modulusSize + … in PKA_PointCheck_Set()
2577 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_POINT_CHECK_IN_INITIAL_POINT_Y], in->pointY, in->mod… in PKA_PointCheck_Set()
2578 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_POINT_CHECK_IN_INITIAL_POINT_Y + ((in->modulusSize + … in PKA_PointCheck_Set()
2581 …PKA_Memcpy_u32_to_u32(&hpka->Instance->RAM[PKA_POINT_CHECK_IN_MONTGOMERY_PARAM], in->pMontgomeryPa… in PKA_PointCheck_Set()
2583 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_POINT_CHECK_IN_MONTGOMERY_PARAM + ((in->modulusSize +… in PKA_PointCheck_Set()
2591 void PKA_ECCMul_Set(PKA_HandleTypeDef *hpka, PKA_ECCMulInTypeDef *in) in PKA_ECCMul_Set() argument
2594hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_EXP_NB_BITS] = PKA_GetOptBitSize_u8(in->scalarMulSize, *… in PKA_ECCMul_Set()
2597hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_OP_NB_BITS] = PKA_GetOptBitSize_u8(in->modulusSize, *(in… in PKA_ECCMul_Set()
2600 hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_A_COEFF_SIGN] = in->coefSign; in PKA_ECCMul_Set()
2603 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_A_COEFF], in->coefA, in->modulusSi… in PKA_ECCMul_Set()
2604 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_SCALAR_MUL_IN_A_COEFF + ((in->modulusSize + 3UL) … in PKA_ECCMul_Set()
2607 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_B_COEFF], in->coefB, in->modulusSi… in PKA_ECCMul_Set()
2608 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_SCALAR_MUL_IN_B_COEFF + ((in->modulusSize + 3UL) … in PKA_ECCMul_Set()
2611 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_MOD_GF], in->modulus, in->modulusS… in PKA_ECCMul_Set()
2612 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_SCALAR_MUL_IN_MOD_GF + ((in->modulusSize + 3UL) /… in PKA_ECCMul_Set()
2615 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_K], in->scalarMul, in->scalarMulSi… in PKA_ECCMul_Set()
2616 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_SCALAR_MUL_IN_K + ((in->scalarMulSize + 3UL) / 4U… in PKA_ECCMul_Set()
2619 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_INITIAL_POINT_X], in->pointX, in->… in PKA_ECCMul_Set()
2620 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_SCALAR_MUL_IN_INITIAL_POINT_X + ((in->modulusSize… in PKA_ECCMul_Set()
2623 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_INITIAL_POINT_Y], in->pointY, in->… in PKA_ECCMul_Set()
2624 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_SCALAR_MUL_IN_INITIAL_POINT_Y + ((in->modulusSize… in PKA_ECCMul_Set()
2627 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_N_PRIME_ORDER], in->primeOrder, in… in PKA_ECCMul_Set()
2628 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_SCALAR_MUL_IN_N_PRIME_ORDER + ((in->modulusSize +… in PKA_ECCMul_Set()
2635 void PKA_ECCMulEx_Set(PKA_HandleTypeDef *hpka, PKA_ECCMulExInTypeDef *in) in PKA_ECCMulEx_Set() argument
2638hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_EXP_NB_BITS] = PKA_GetOptBitSize_u8(in->primeOrderSize, … in PKA_ECCMulEx_Set()
2641hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_OP_NB_BITS] = PKA_GetOptBitSize_u8(in->modulusSize, *(in… in PKA_ECCMulEx_Set()
2644 hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_A_COEFF_SIGN] = in->coefSign; in PKA_ECCMulEx_Set()
2647 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_A_COEFF], in->coefA, in->modulusSi… in PKA_ECCMulEx_Set()
2648 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_SCALAR_MUL_IN_A_COEFF + ((in->modulusSize + 3UL) … in PKA_ECCMulEx_Set()
2651 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_B_COEFF], in->coefB, in->modulusSi… in PKA_ECCMulEx_Set()
2652 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_SCALAR_MUL_IN_B_COEFF + ((in->modulusSize + 3UL) … in PKA_ECCMulEx_Set()
2655 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_MOD_GF], in->modulus, in->modulusS… in PKA_ECCMulEx_Set()
2656 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_SCALAR_MUL_IN_MOD_GF + ((in->modulusSize + 3UL) /… in PKA_ECCMulEx_Set()
2659 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_K], in->scalarMul, in->scalarMulSi… in PKA_ECCMulEx_Set()
2660 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_SCALAR_MUL_IN_K + ((in->scalarMulSize + 3UL) / 4U… in PKA_ECCMulEx_Set()
2663 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_INITIAL_POINT_X], in->pointX, in->… in PKA_ECCMulEx_Set()
2664 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_SCALAR_MUL_IN_INITIAL_POINT_X + ((in->modulusSize… in PKA_ECCMulEx_Set()
2667 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_INITIAL_POINT_Y], in->pointY, in->… in PKA_ECCMulEx_Set()
2668 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_SCALAR_MUL_IN_INITIAL_POINT_Y + ((in->modulusSize… in PKA_ECCMulEx_Set()
2671 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_N_PRIME_ORDER], in->primeOrder, in… in PKA_ECCMulEx_Set()
2672 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_SCALAR_MUL_IN_N_PRIME_ORDER + ((in->modulusSize +… in PKA_ECCMulEx_Set()
2680 void PKA_ModInv_Set(PKA_HandleTypeDef *hpka, PKA_ModInvInTypeDef *in) in PKA_ModInv_Set() argument
2683 hpka->Instance->RAM[PKA_MODULAR_INV_NB_BITS] = PKA_GetBitSize_u32(in->size); in PKA_ModInv_Set()
2686 PKA_Memcpy_u32_to_u32(&hpka->Instance->RAM[PKA_MODULAR_INV_IN_OP1], in->pOp1, in->size); in PKA_ModInv_Set()
2687 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MODULAR_INV_IN_OP1 + in->size); in PKA_ModInv_Set()
2690 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_MODULAR_INV_IN_OP2_MOD], in->pMod, in->size * 4UL); in PKA_ModInv_Set()
2691 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MODULAR_INV_IN_OP2_MOD + in->size); in PKA_ModInv_Set()
2699 void PKA_ModRed_Set(PKA_HandleTypeDef *hpka, PKA_ModRedInTypeDef *in) in PKA_ModRed_Set() argument
2702 hpka->Instance->RAM[PKA_MODULAR_REDUC_IN_OP_LENGTH] = PKA_GetBitSize_u32(in->OpSize); in PKA_ModRed_Set()
2705 hpka->Instance->RAM[PKA_MODULAR_REDUC_IN_MOD_LENGTH] = PKA_GetBitSize_u8(in->modSize); in PKA_ModRed_Set()
2708 PKA_Memcpy_u32_to_u32(&hpka->Instance->RAM[PKA_MODULAR_REDUC_IN_OPERAND], in->pOp1, in->OpSize); in PKA_ModRed_Set()
2709 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MODULAR_REDUC_IN_OPERAND + in->OpSize); in PKA_ModRed_Set()
2712 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_MODULAR_REDUC_IN_MODULUS], in->pMod, in->modSize); in PKA_ModRed_Set()
2713 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MODULAR_REDUC_IN_MODULUS + ((in->modSize + 3UL) / 4UL… in PKA_ModRed_Set()
2722 void PKA_MontgomeryParam_Set(PKA_HandleTypeDef *hpka, const uint32_t size, const uint8_t *pOp1) in PKA_MontgomeryParam_Set() argument
2739hpka->Instance->RAM[PKA_MONTGOMERY_PARAM_IN_MOD_NB_BITS] = PKA_GetOptBitSize_u8(newSize, pOp1[byte… in PKA_MontgomeryParam_Set()
2742 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_MONTGOMERY_PARAM_IN_MODULUS], pOp1, size); in PKA_MontgomeryParam_Set()
2743 … __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MONTGOMERY_PARAM_IN_MODULUS + ((size + 3UL) / 4UL)); in PKA_MontgomeryParam_Set()
2752 void PKA_ECCDoubleBaseLadder_Set(PKA_HandleTypeDef *hpka, PKA_ECCDoubleBaseLadderInTypeDef *in) in PKA_ECCDoubleBaseLadder_Set() argument
2755hpka->Instance->RAM[PKA_ECC_DOUBLE_LADDER_IN_PRIME_ORDER_NB_BITS] = PKA_GetBitSize_u8(in->primeOrd… in PKA_ECCDoubleBaseLadder_Set()
2758 hpka->Instance->RAM[PKA_ECC_DOUBLE_LADDER_IN_MOD_NB_BITS] = PKA_GetBitSize_u8(in->modulusSize); in PKA_ECCDoubleBaseLadder_Set()
2761 hpka->Instance->RAM[PKA_ECC_DOUBLE_LADDER_IN_A_COEFF_SIGN] = in->coefSign; in PKA_ECCDoubleBaseLadder_Set()
2764 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_DOUBLE_LADDER_IN_A_COEFF], in->coefA, in->modulu… in PKA_ECCDoubleBaseLadder_Set()
2765 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_DOUBLE_LADDER_IN_A_COEFF + (in->modulusSize / 4UL… in PKA_ECCDoubleBaseLadder_Set()
2768 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_DOUBLE_LADDER_IN_MOD_P], in->modulus, in->modulu… in PKA_ECCDoubleBaseLadder_Set()
2769 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_DOUBLE_LADDER_IN_MOD_P + (in->modulusSize / 4UL)); in PKA_ECCDoubleBaseLadder_Set()
2772 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_DOUBLE_LADDER_IN_K_INTEGER], in->integerK, in->m… in PKA_ECCDoubleBaseLadder_Set()
2773 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_DOUBLE_LADDER_IN_K_INTEGER + (in->modulusSize / 4… in PKA_ECCDoubleBaseLadder_Set()
2776 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_DOUBLE_LADDER_IN_M_INTEGER], in->integerM, in->m… in PKA_ECCDoubleBaseLadder_Set()
2777 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_DOUBLE_LADDER_IN_M_INTEGER + (in->modulusSize / 4… in PKA_ECCDoubleBaseLadder_Set()
2780 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_DOUBLE_LADDER_IN_POINT1_X], in->basePointX1, in-… in PKA_ECCDoubleBaseLadder_Set()
2781 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_DOUBLE_LADDER_IN_POINT1_X + (in->modulusSize / 4U… in PKA_ECCDoubleBaseLadder_Set()
2784 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_DOUBLE_LADDER_IN_POINT1_Y], in->basePointY1, in-… in PKA_ECCDoubleBaseLadder_Set()
2785 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_DOUBLE_LADDER_IN_POINT1_Y + (in->modulusSize / 4U… in PKA_ECCDoubleBaseLadder_Set()
2788 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_DOUBLE_LADDER_IN_POINT1_Z], in->basePointZ1, in-… in PKA_ECCDoubleBaseLadder_Set()
2789 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_DOUBLE_LADDER_IN_POINT1_Z + (in->modulusSize / 4U… in PKA_ECCDoubleBaseLadder_Set()
2792 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_DOUBLE_LADDER_IN_POINT2_X], in->basePointX2, in-… in PKA_ECCDoubleBaseLadder_Set()
2793 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_DOUBLE_LADDER_IN_POINT2_X + (in->modulusSize / 4U… in PKA_ECCDoubleBaseLadder_Set()
2796 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_DOUBLE_LADDER_IN_POINT2_Y], in->basePointY2, in-… in PKA_ECCDoubleBaseLadder_Set()
2797 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_DOUBLE_LADDER_IN_POINT2_Y + (in->modulusSize / 4U… in PKA_ECCDoubleBaseLadder_Set()
2800 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_DOUBLE_LADDER_IN_POINT2_Z], in->basePointZ2, in-… in PKA_ECCDoubleBaseLadder_Set()
2801 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_DOUBLE_LADDER_IN_POINT2_Z + (in->modulusSize / 4U… in PKA_ECCDoubleBaseLadder_Set()
2810 void HAL_PKA_ECCDoubleBaseLadder_GetResult(PKA_HandleTypeDef *hpka, PKA_ECCDoubleBaseLadderOutTypeD… in HAL_PKA_ECCDoubleBaseLadder_GetResult() argument
2815 size = hpka->Instance->RAM[PKA_ECC_DOUBLE_LADDER_IN_MOD_NB_BITS] / 8UL; in HAL_PKA_ECCDoubleBaseLadder_GetResult()
2818 PKA_Memcpy_u32_to_u8(out->ptX, &hpka->Instance->RAM[PKA_ECC_DOUBLE_LADDER_OUT_RESULT_X], size); in HAL_PKA_ECCDoubleBaseLadder_GetResult()
2819 PKA_Memcpy_u32_to_u8(out->ptY, &hpka->Instance->RAM[PKA_ECC_DOUBLE_LADDER_OUT_RESULT_Y], size); in HAL_PKA_ECCDoubleBaseLadder_GetResult()
2828 void PKA_ECCProjective2Affine_Set(PKA_HandleTypeDef *hpka, PKA_ECCProjective2AffineInTypeDef *in) in PKA_ECCProjective2Affine_Set() argument
2831 hpka->Instance->RAM[PKA_ECC_PROJECTIVE_AFF_IN_MOD_NB_BITS] = PKA_GetBitSize_u8(in->modulusSize); in PKA_ECCProjective2Affine_Set()
2834 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_PROJECTIVE_AFF_IN_MOD_P], in->modulus, in->modul… in PKA_ECCProjective2Affine_Set()
2835 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_PROJECTIVE_AFF_IN_MOD_P + (in->modulusSize / 4UL)… in PKA_ECCProjective2Affine_Set()
2838 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_PROJECTIVE_AFF_IN_POINT_X], in->basePointX, in->… in PKA_ECCProjective2Affine_Set()
2839 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_PROJECTIVE_AFF_IN_POINT_X + (in->modulusSize / 4U… in PKA_ECCProjective2Affine_Set()
2842 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_PROJECTIVE_AFF_IN_POINT_Y], in->basePointY, in->… in PKA_ECCProjective2Affine_Set()
2843 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_PROJECTIVE_AFF_IN_POINT_Y + (in->modulusSize / 4U… in PKA_ECCProjective2Affine_Set()
2846 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_PROJECTIVE_AFF_IN_POINT_Z], in->basePointZ, in->… in PKA_ECCProjective2Affine_Set()
2847 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_PROJECTIVE_AFF_IN_POINT_Z + (in->modulusSize / 4U… in PKA_ECCProjective2Affine_Set()
2850 …PKA_Memcpy_u32_to_u32(&hpka->Instance->RAM[PKA_ECC_PROJECTIVE_AFF_IN_MONTGOMERY_PARAM_R2], in->pMo… in PKA_ECCProjective2Affine_Set()
2852 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_PROJECTIVE_AFF_IN_MONTGOMERY_PARAM_R2 + (in->modu… in PKA_ECCProjective2Affine_Set()
2861 void HAL_PKA_ECCProjective2Affine_GetResult(PKA_HandleTypeDef *hpka, PKA_ECCProjective2AffineOutTyp… in HAL_PKA_ECCProjective2Affine_GetResult() argument
2866 size = hpka->Instance->RAM[PKA_ECC_PROJECTIVE_AFF_IN_MOD_NB_BITS] / 8UL; in HAL_PKA_ECCProjective2Affine_GetResult()
2869 PKA_Memcpy_u32_to_u8(out->ptX, &hpka->Instance->RAM[PKA_ECC_PROJECTIVE_AFF_OUT_RESULT_X], size); in HAL_PKA_ECCProjective2Affine_GetResult()
2870 PKA_Memcpy_u32_to_u8(out->ptY, &hpka->Instance->RAM[PKA_ECC_PROJECTIVE_AFF_OUT_RESULT_Y], size); in HAL_PKA_ECCProjective2Affine_GetResult()
2879 void PKA_ECCCompleteAddition_Set(PKA_HandleTypeDef *hpka, PKA_ECCCompleteAdditionInTypeDef *in) in PKA_ECCCompleteAddition_Set() argument
2882 hpka->Instance->RAM[PKA_ECC_COMPLETE_ADD_IN_MOD_NB_BITS] = PKA_GetBitSize_u8(in->modulusSize); in PKA_ECCCompleteAddition_Set()
2885 hpka->Instance->RAM[PKA_ECC_DOUBLE_LADDER_IN_A_COEFF_SIGN] = in->coefSign; in PKA_ECCCompleteAddition_Set()
2888 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_COMPLETE_ADD_IN_MOD_P], in->modulus, in->modulus… in PKA_ECCCompleteAddition_Set()
2889 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_COMPLETE_ADD_IN_MOD_P + (in->modulusSize / 4UL)); in PKA_ECCCompleteAddition_Set()
2892 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_COMPLETE_ADD_IN_A_COEFF], in->coefA, in->modulus… in PKA_ECCCompleteAddition_Set()
2893 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_COMPLETE_ADD_IN_A_COEFF + (in->modulusSize / 4UL)… in PKA_ECCCompleteAddition_Set()
2896 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_COMPLETE_ADD_IN_POINT1_X], in->basePointX1, in->… in PKA_ECCCompleteAddition_Set()
2897 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_COMPLETE_ADD_IN_POINT1_X + (in->modulusSize / 4UL… in PKA_ECCCompleteAddition_Set()
2900 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_COMPLETE_ADD_IN_POINT1_Y], in->basePointY1, in->… in PKA_ECCCompleteAddition_Set()
2901 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_COMPLETE_ADD_IN_POINT1_Y + (in->modulusSize / 4UL… in PKA_ECCCompleteAddition_Set()
2904 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_COMPLETE_ADD_IN_POINT1_Z], in->basePointZ1, in->… in PKA_ECCCompleteAddition_Set()
2905 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_COMPLETE_ADD_IN_POINT1_Z + (in->modulusSize / 4UL… in PKA_ECCCompleteAddition_Set()
2908 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_COMPLETE_ADD_IN_POINT2_X], in->basePointX2, in->… in PKA_ECCCompleteAddition_Set()
2909 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_COMPLETE_ADD_IN_POINT2_X + (in->modulusSize / 4UL… in PKA_ECCCompleteAddition_Set()
2912 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_COMPLETE_ADD_IN_POINT2_Y], in->basePointY2, in->… in PKA_ECCCompleteAddition_Set()
2913 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_COMPLETE_ADD_IN_POINT2_Y + (in->modulusSize / 4UL… in PKA_ECCCompleteAddition_Set()
2916 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_COMPLETE_ADD_IN_POINT2_Z], in->basePointZ2, in->… in PKA_ECCCompleteAddition_Set()
2917 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_COMPLETE_ADD_IN_POINT2_Z + (in->modulusSize / 4UL… in PKA_ECCCompleteAddition_Set()
2926 void HAL_PKA_ECCCompleteAddition_GetResult(PKA_HandleTypeDef *hpka, PKA_ECCCompleteAdditionOutTypeD… in HAL_PKA_ECCCompleteAddition_GetResult() argument
2931 size = (hpka->Instance->RAM[PKA_ECC_COMPLETE_ADD_IN_MOD_NB_BITS] + 7UL) / 8UL; in HAL_PKA_ECCCompleteAddition_GetResult()
2934 PKA_Memcpy_u32_to_u8(out->ptX, &hpka->Instance->RAM[PKA_ECC_COMPLETE_ADD_OUT_RESULT_X], size); in HAL_PKA_ECCCompleteAddition_GetResult()
2935 PKA_Memcpy_u32_to_u8(out->ptY, &hpka->Instance->RAM[PKA_ECC_COMPLETE_ADD_OUT_RESULT_Y], size); in HAL_PKA_ECCCompleteAddition_GetResult()
2936 PKA_Memcpy_u32_to_u8(out->ptZ, &hpka->Instance->RAM[PKA_ECC_COMPLETE_ADD_OUT_RESULT_Z], size); in HAL_PKA_ECCCompleteAddition_GetResult()
2947 void PKA_ARI_Set(PKA_HandleTypeDef *hpka, const uint32_t size, const uint32_t *pOp1, const uint32_t… in PKA_ARI_Set() argument
2951 hpka->Instance->RAM[PKA_ARITHMETIC_ALL_OPS_NB_BITS] = PKA_GetBitSize_u32(size); in PKA_ARI_Set()
2956 PKA_Memcpy_u32_to_u32(&hpka->Instance->RAM[PKA_ARITHMETIC_ALL_OPS_IN_OP1], pOp1, size); in PKA_ARI_Set()
2957 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ARITHMETIC_ALL_OPS_IN_OP1 + size); in PKA_ARI_Set()
2963 PKA_Memcpy_u32_to_u32(&hpka->Instance->RAM[PKA_ARITHMETIC_ALL_OPS_IN_OP2], pOp2, size); in PKA_ARI_Set()
2964 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ARITHMETIC_ALL_OPS_IN_OP2 + size); in PKA_ARI_Set()
2970 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ARITHMETIC_ALL_OPS_IN_OP3], pOp3, size * 4UL); in PKA_ARI_Set()
2971 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ARITHMETIC_ALL_OPS_IN_OP3 + size); in PKA_ARI_Set()
2983 HAL_StatusTypeDef PKA_WaitOnFlagUntilTimeout(PKA_HandleTypeDef *hpka, uint32_t Flag, FlagStatus Sta… in PKA_WaitOnFlagUntilTimeout() argument
2987 while (__HAL_PKA_GET_FLAG(hpka, Flag) == Status) in PKA_WaitOnFlagUntilTimeout()
2995 hpka->State = HAL_PKA_STATE_READY; in PKA_WaitOnFlagUntilTimeout()
2998 hpka->ErrorCode = HAL_PKA_ERROR_TIMEOUT; in PKA_WaitOnFlagUntilTimeout()
3014 uint32_t PKA_Result_GetSize(const PKA_HandleTypeDef *hpka, uint32_t Startindex, uint32_t Maxsize) in PKA_Result_GetSize() argument
3020 while ((hpka->Instance->RAM[Startindex + current_index] == 0UL) && (current_index != 0UL)) in PKA_Result_GetSize()