Lines Matching refs:hpka
308 HAL_StatusTypeDef PKA_PollEndOfOperation(const PKA_HandleTypeDef *hpka, uint32_t Timeout, uint32_t …
309 uint32_t PKA_CheckError(const PKA_HandleTypeDef *hpka, uint32_t mode);
317 HAL_StatusTypeDef PKA_Process(PKA_HandleTypeDef *hpka, uint32_t mode, uint32_t Timeout);
318 HAL_StatusTypeDef PKA_Process_IT(PKA_HandleTypeDef *hpka, uint32_t mode);
319 void PKA_ECCMul_Set(PKA_HandleTypeDef *hpka, PKA_ECCMulInTypeDef *in);
321 uint32_t PKA_GetMode(const PKA_HandleTypeDef *hpka);
322 void PKA_ModExp_Set(PKA_HandleTypeDef *hpka, PKA_ModExpInTypeDef *in);
323 void PKA_ModExpFastMode_Set(PKA_HandleTypeDef *hpka, PKA_ModExpFastModeInTypeDef *in);
324 void PKA_ECDSASign_Set(PKA_HandleTypeDef *hpka, PKA_ECDSASignInTypeDef *in);
325 void PKA_ECDSAVerif_Set(PKA_HandleTypeDef *hpka, PKA_ECDSAVerifInTypeDef *in);
326 void PKA_RSACRTExp_Set(PKA_HandleTypeDef *hpka, PKA_RSACRTExpInTypeDef *in);
327 void PKA_PointCheck_Set(PKA_HandleTypeDef *hpka, PKA_PointCheckInTypeDef *in);
328 void PKA_ECCMulFastMode_Set(PKA_HandleTypeDef *hpka, PKA_ECCMulFastModeInTypeDef *in);
329 void PKA_ModRed_Set(PKA_HandleTypeDef *hpka, PKA_ModRedInTypeDef *in);
330 void PKA_ModInv_Set(PKA_HandleTypeDef *hpka, PKA_ModInvInTypeDef *in);
331 void PKA_MontgomeryParam_Set(PKA_HandleTypeDef *hpka, const uint32_t size, const uint8_t *pOp1);
332 void PKA_ARI_Set(PKA_HandleTypeDef *hpka, const uint32_t size, const uint32_t *pOp1, const uint32_t…
336 void PKA_ECCDoubleBaseLadder_Set(PKA_HandleTypeDef *hpka, PKA_ECCDoubleBaseLadderInTypeDef *in);
337 void PKA_ECCCompleteAddition_Set(PKA_HandleTypeDef *hpka, PKA_ECCCompleteAdditionInTypeDef *in);
338 HAL_StatusTypeDef PKA_WaitOnFlagUntilTimeout(PKA_HandleTypeDef *hpka, uint32_t Flag, FlagStatus Sta…
340 uint32_t PKA_Result_GetSize(const PKA_HandleTypeDef *hpka, uint32_t Startindex, uint32_t Maxsize);
380 HAL_StatusTypeDef HAL_PKA_Init(PKA_HandleTypeDef *hpka) in HAL_PKA_Init() argument
387 if (hpka != NULL) in HAL_PKA_Init()
390 assert_param(IS_PKA_ALL_INSTANCE(hpka->Instance)); in HAL_PKA_Init()
392 if (hpka->State == HAL_PKA_STATE_RESET) in HAL_PKA_Init()
397 …hpka->OperationCpltCallback = HAL_PKA_OperationCpltCallback; /* Legacy weak OperationCpltCallback … in HAL_PKA_Init()
398 …hpka->ErrorCallback = HAL_PKA_ErrorCallback; /* Legacy weak ErrorCallback … in HAL_PKA_Init()
400 if (hpka->MspInitCallback == NULL) in HAL_PKA_Init()
402 hpka->MspInitCallback = HAL_PKA_MspInit; /* Legacy weak MspInit */ in HAL_PKA_Init()
406 hpka->MspInitCallback(hpka); in HAL_PKA_Init()
409 HAL_PKA_MspInit(hpka); in HAL_PKA_Init()
417 hpka->State = HAL_PKA_STATE_BUSY; in HAL_PKA_Init()
421 SET_BIT(hpka->Instance->CSR, PKA_CSR_SFT_RST); in HAL_PKA_Init()
422 CLEAR_BIT(hpka->Instance->CSR, PKA_CSR_SFT_RST); in HAL_PKA_Init()
426 while ((hpka->Instance->CR & PKA_CR_EN) != PKA_CR_EN) in HAL_PKA_Init()
428 hpka->Instance->CR = PKA_CR_EN; in HAL_PKA_Init()
441 … SET_BIT(hpka->Instance->CLRFR, PKA_CLRFR_PROCENDFC | PKA_CLRFR_RAMERRFC | PKA_CLRFR_ADDRERRFC); in HAL_PKA_Init()
444 hpka->ErrorCode = HAL_PKA_ERROR_NONE; in HAL_PKA_Init()
447 hpka->State = HAL_PKA_STATE_READY; in HAL_PKA_Init()
452 hpka->ErrorCode = HAL_PKA_ERROR_TIMEOUT; in HAL_PKA_Init()
455 hpka->State = HAL_PKA_STATE_ERROR; in HAL_PKA_Init()
460 SET_BIT(hpka->Instance->ISR, PKA_ISR_PROC_END | PKA_ISR_RAM_ERR | PKA_ISR_ADD_ERR); in HAL_PKA_Init()
461 CLEAR_BIT(hpka->Instance->ISR, PKA_ISR_PROC_END | PKA_ISR_RAM_ERR | PKA_ISR_ADD_ERR); in HAL_PKA_Init()
463 hpka->ErrorCode = HAL_PKA_ERROR_NONE; in HAL_PKA_Init()
466 hpka->State = HAL_PKA_STATE_READY; in HAL_PKA_Init()
483 HAL_StatusTypeDef HAL_PKA_DeInit(PKA_HandleTypeDef *hpka) in HAL_PKA_DeInit() argument
488 if (hpka != NULL) in HAL_PKA_DeInit()
491 assert_param(IS_PKA_ALL_INSTANCE(hpka->Instance)); in HAL_PKA_DeInit()
494 hpka->State = HAL_PKA_STATE_BUSY; in HAL_PKA_DeInit()
498 SET_BIT(hpka->Instance->CSR, PKA_CSR_SFT_RST); in HAL_PKA_DeInit()
499 CLEAR_BIT(hpka->Instance->CSR, PKA_CSR_SFT_RST); in HAL_PKA_DeInit()
503 hpka->Instance->CR = 0; in HAL_PKA_DeInit()
507 SET_BIT(hpka->Instance->ISR, PKA_ISR_PROC_END | PKA_ISR_RAM_ERR | PKA_ISR_ADD_ERR); in HAL_PKA_DeInit()
508 CLEAR_BIT(hpka->Instance->ISR, PKA_ISR_PROC_END | PKA_ISR_RAM_ERR | PKA_ISR_ADD_ERR); in HAL_PKA_DeInit()
511 SET_BIT(hpka->Instance->CLRFR, PKA_CLRFR_PROCENDFC | PKA_CLRFR_RAMERRFC | PKA_CLRFR_ADDRERRFC); in HAL_PKA_DeInit()
514 if (hpka->MspDeInitCallback == NULL) in HAL_PKA_DeInit()
516 hpka->MspDeInitCallback = HAL_PKA_MspDeInit; /* Legacy weak MspDeInit */ in HAL_PKA_DeInit()
520 hpka->MspDeInitCallback(hpka); in HAL_PKA_DeInit()
523 HAL_PKA_MspDeInit(hpka); in HAL_PKA_DeInit()
527 hpka->ErrorCode = HAL_PKA_ERROR_NONE; in HAL_PKA_DeInit()
530 hpka->State = HAL_PKA_STATE_RESET; in HAL_PKA_DeInit()
545 __weak void HAL_PKA_MspInit(PKA_HandleTypeDef *hpka) in HAL_PKA_MspInit() argument
548 UNUSED(hpka); in HAL_PKA_MspInit()
560 __weak void HAL_PKA_MspDeInit(PKA_HandleTypeDef *hpka) in HAL_PKA_MspDeInit() argument
563 UNUSED(hpka); in HAL_PKA_MspDeInit()
585 HAL_StatusTypeDef HAL_PKA_RegisterCallback(PKA_HandleTypeDef *hpka, HAL_PKA_CallbackIDTypeDef Callb… in HAL_PKA_RegisterCallback() argument
593 hpka->ErrorCode |= HAL_PKA_ERROR_INVALID_CALLBACK; in HAL_PKA_RegisterCallback()
598 if (HAL_PKA_STATE_READY == hpka->State) in HAL_PKA_RegisterCallback()
603 hpka->OperationCpltCallback = pCallback; in HAL_PKA_RegisterCallback()
607 hpka->ErrorCallback = pCallback; in HAL_PKA_RegisterCallback()
611 hpka->MspInitCallback = pCallback; in HAL_PKA_RegisterCallback()
615 hpka->MspDeInitCallback = pCallback; in HAL_PKA_RegisterCallback()
620 hpka->ErrorCode |= HAL_PKA_ERROR_INVALID_CALLBACK; in HAL_PKA_RegisterCallback()
627 else if (HAL_PKA_STATE_RESET == hpka->State) in HAL_PKA_RegisterCallback()
632 hpka->MspInitCallback = pCallback; in HAL_PKA_RegisterCallback()
636 hpka->MspDeInitCallback = pCallback; in HAL_PKA_RegisterCallback()
641 hpka->ErrorCode |= HAL_PKA_ERROR_INVALID_CALLBACK; in HAL_PKA_RegisterCallback()
651 hpka->ErrorCode |= HAL_PKA_ERROR_INVALID_CALLBACK; in HAL_PKA_RegisterCallback()
673 HAL_StatusTypeDef HAL_PKA_UnRegisterCallback(PKA_HandleTypeDef *hpka, HAL_PKA_CallbackIDTypeDef Cal… in HAL_PKA_UnRegisterCallback() argument
677 if (HAL_PKA_STATE_READY == hpka->State) in HAL_PKA_UnRegisterCallback()
682 …hpka->OperationCpltCallback = HAL_PKA_OperationCpltCallback; /* Legacy weak OperationCpltCallback … in HAL_PKA_UnRegisterCallback()
686 …hpka->ErrorCallback = HAL_PKA_ErrorCallback; /* Legacy weak ErrorCallback */ in HAL_PKA_UnRegisterCallback()
690 …hpka->MspInitCallback = HAL_PKA_MspInit; /* Legacy weak MspInit */ in HAL_PKA_UnRegisterCallback()
694 …hpka->MspDeInitCallback = HAL_PKA_MspDeInit; /* Legacy weak MspDeInit */ in HAL_PKA_UnRegisterCallback()
699 hpka->ErrorCode |= HAL_PKA_ERROR_INVALID_CALLBACK; in HAL_PKA_UnRegisterCallback()
706 else if (HAL_PKA_STATE_RESET == hpka->State) in HAL_PKA_UnRegisterCallback()
711 … hpka->MspInitCallback = HAL_PKA_MspInit; /* Legacy weak MspInit */ in HAL_PKA_UnRegisterCallback()
715 … hpka->MspDeInitCallback = HAL_PKA_MspDeInit; /* Legacy weak MspDeInit */ in HAL_PKA_UnRegisterCallback()
720 hpka->ErrorCode |= HAL_PKA_ERROR_INVALID_CALLBACK; in HAL_PKA_UnRegisterCallback()
730 hpka->ErrorCode |= HAL_PKA_ERROR_INVALID_CALLBACK; in HAL_PKA_UnRegisterCallback()
872 HAL_StatusTypeDef HAL_PKA_ECCMul(PKA_HandleTypeDef *hpka, PKA_ECCMulInTypeDef *in, uint32_t Timeout) in HAL_PKA_ECCMul() argument
875 PKA_ECCMul_Set(hpka, in); in HAL_PKA_ECCMul()
880 return PKA_Process(hpka, PKA_MODE_ECC_MUL, Timeout); in HAL_PKA_ECCMul()
890 HAL_StatusTypeDef HAL_PKA_ECCMul_IT(PKA_HandleTypeDef *hpka, PKA_ECCMulInTypeDef *in) in HAL_PKA_ECCMul_IT() argument
893 PKA_ECCMul_Set(hpka, in); in HAL_PKA_ECCMul_IT()
898 return PKA_Process_IT(hpka, PKA_MODE_ECC_MUL); in HAL_PKA_ECCMul_IT()
907 void HAL_PKA_ECCMul_GetResult(PKA_HandleTypeDef *hpka, PKA_ECCMulOutTypeDef *out) in HAL_PKA_ECCMul_GetResult() argument
917 size = (hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_OP_NB_BITS] + 7UL) / 8UL; in HAL_PKA_ECCMul_GetResult()
923 PKA_Memcpy_u32_to_u8(out->ptX, &hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_OUT_RESULT_X], size); in HAL_PKA_ECCMul_GetResult()
924 PKA_Memcpy_u32_to_u8(out->ptY, &hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_OUT_RESULT_Y], size); in HAL_PKA_ECCMul_GetResult()
935 HAL_StatusTypeDef HAL_PKA_ModExp(PKA_HandleTypeDef *hpka, PKA_ModExpInTypeDef *in, uint32_t Timeout) in HAL_PKA_ModExp() argument
938 PKA_ModExp_Set(hpka, in); in HAL_PKA_ModExp()
941 return PKA_Process(hpka, PKA_MODE_MODULAR_EXP, Timeout); in HAL_PKA_ModExp()
950 HAL_StatusTypeDef HAL_PKA_ModExp_IT(PKA_HandleTypeDef *hpka, PKA_ModExpInTypeDef *in) in HAL_PKA_ModExp_IT() argument
953 PKA_ModExp_Set(hpka, in); in HAL_PKA_ModExp_IT()
956 return PKA_Process_IT(hpka, PKA_MODE_MODULAR_EXP); in HAL_PKA_ModExp_IT()
966 HAL_StatusTypeDef HAL_PKA_ModExpFastMode(PKA_HandleTypeDef *hpka, PKA_ModExpFastModeInTypeDef *in, … in HAL_PKA_ModExpFastMode() argument
969 PKA_ModExpFastMode_Set(hpka, in); in HAL_PKA_ModExpFastMode()
972 return PKA_Process(hpka, PKA_MODE_MODULAR_EXP_FAST_MODE, Timeout); in HAL_PKA_ModExpFastMode()
981 HAL_StatusTypeDef HAL_PKA_ModExpFastMode_IT(PKA_HandleTypeDef *hpka, PKA_ModExpFastModeInTypeDef *i… in HAL_PKA_ModExpFastMode_IT() argument
984 PKA_ModExpFastMode_Set(hpka, in); in HAL_PKA_ModExpFastMode_IT()
987 return PKA_Process_IT(hpka, PKA_MODE_MODULAR_EXP_FAST_MODE); in HAL_PKA_ModExpFastMode_IT()
996 void HAL_PKA_ModExp_GetResult(PKA_HandleTypeDef *hpka, uint8_t *pRes) in HAL_PKA_ModExp_GetResult() argument
1002 size = (hpka->Instance->RAM[PKA_MODULAR_EXP_IN_OP_NB_BITS] + 7UL) / 8UL; in HAL_PKA_ModExp_GetResult()
1006 PKA_Memcpy_u32_to_u8(pRes, &hpka->Instance->RAM[PKA_MODULAR_EXP_OUT_SM_ALGO_ACC1], size); in HAL_PKA_ModExp_GetResult()
1009 PKA_Memcpy_u32_to_u8(pRes, &hpka->Instance->RAM[PKA_MODULAR_EXP_OUT_RESULT], size); in HAL_PKA_ModExp_GetResult()
1020 HAL_StatusTypeDef HAL_PKA_ECDSASign(PKA_HandleTypeDef *hpka, PKA_ECDSASignInTypeDef *in, uint32_t T… in HAL_PKA_ECDSASign() argument
1023 PKA_ECDSASign_Set(hpka, in); in HAL_PKA_ECDSASign()
1026 return PKA_Process(hpka, PKA_MODE_ECDSA_SIGNATURE, Timeout); in HAL_PKA_ECDSASign()
1035 HAL_StatusTypeDef HAL_PKA_ECDSASign_IT(PKA_HandleTypeDef *hpka, PKA_ECDSASignInTypeDef *in) in HAL_PKA_ECDSASign_IT() argument
1038 PKA_ECDSASign_Set(hpka, in); in HAL_PKA_ECDSASign_IT()
1041 return PKA_Process_IT(hpka, PKA_MODE_ECDSA_SIGNATURE); in HAL_PKA_ECDSASign_IT()
1050 void HAL_PKA_ECDSASign_GetResult(PKA_HandleTypeDef *hpka, PKA_ECDSASignOutTypeDef *out, in HAL_PKA_ECDSASign_GetResult() argument
1057 size = (hpka->Instance->RAM[PKA_ECDSA_SIGN_IN_MOD_NB_BITS] + 7UL) / 8UL; in HAL_PKA_ECDSASign_GetResult()
1061 PKA_Memcpy_u32_to_u8(out->RSign, &hpka->Instance->RAM[PKA_ECDSA_SIGN_OUT_SIGNATURE_R], size); in HAL_PKA_ECDSASign_GetResult()
1062 PKA_Memcpy_u32_to_u8(out->SSign, &hpka->Instance->RAM[PKA_ECDSA_SIGN_OUT_SIGNATURE_S], size); in HAL_PKA_ECDSASign_GetResult()
1069 PKA_Memcpy_u32_to_u8(outExt->ptX, &hpka->Instance->RAM[PKA_ECDSA_SIGN_OUT_FINAL_POINT_X], size); in HAL_PKA_ECDSASign_GetResult()
1070 PKA_Memcpy_u32_to_u8(outExt->ptY, &hpka->Instance->RAM[PKA_ECDSA_SIGN_OUT_FINAL_POINT_Y], size); in HAL_PKA_ECDSASign_GetResult()
1081 HAL_StatusTypeDef HAL_PKA_ECDSAVerif(PKA_HandleTypeDef *hpka, PKA_ECDSAVerifInTypeDef *in, uint32_t… in HAL_PKA_ECDSAVerif() argument
1084 PKA_ECDSAVerif_Set(hpka, in); in HAL_PKA_ECDSAVerif()
1087 return PKA_Process(hpka, PKA_MODE_ECDSA_VERIFICATION, Timeout); in HAL_PKA_ECDSAVerif()
1097 HAL_StatusTypeDef HAL_PKA_ECDSAVerif_IT(PKA_HandleTypeDef *hpka, PKA_ECDSAVerifInTypeDef *in) in HAL_PKA_ECDSAVerif_IT() argument
1100 PKA_ECDSAVerif_Set(hpka, in); in HAL_PKA_ECDSAVerif_IT()
1103 return PKA_Process_IT(hpka, PKA_MODE_ECDSA_VERIFICATION); in HAL_PKA_ECDSAVerif_IT()
1111 uint32_t HAL_PKA_ECDSAVerif_IsValidSignature(PKA_HandleTypeDef const *const hpka) in HAL_PKA_ECDSAVerif_IsValidSignature() argument
1115 return (hpka->Instance->RAM[PKA_ECDSA_VERIF_OUT_RESULT] == 0xd60dUL) ? 1UL : 0UL; in HAL_PKA_ECDSAVerif_IsValidSignature()
1118 return (hpka->Instance->RAM[PKA_ECDSA_VERIF_OUT_RESULT] == 0UL) ? 1UL : 0UL; in HAL_PKA_ECDSAVerif_IsValidSignature()
1129 HAL_StatusTypeDef HAL_PKA_RSACRTExp(PKA_HandleTypeDef *hpka, PKA_RSACRTExpInTypeDef *in, uint32_t T… in HAL_PKA_RSACRTExp() argument
1132 PKA_RSACRTExp_Set(hpka, in); in HAL_PKA_RSACRTExp()
1135 return PKA_Process(hpka, PKA_MODE_RSA_CRT_EXP, Timeout); in HAL_PKA_RSACRTExp()
1144 HAL_StatusTypeDef HAL_PKA_RSACRTExp_IT(PKA_HandleTypeDef *hpka, PKA_RSACRTExpInTypeDef *in) in HAL_PKA_RSACRTExp_IT() argument
1147 PKA_RSACRTExp_Set(hpka, in); in HAL_PKA_RSACRTExp_IT()
1150 return PKA_Process_IT(hpka, PKA_MODE_RSA_CRT_EXP); in HAL_PKA_RSACRTExp_IT()
1159 void HAL_PKA_RSACRTExp_GetResult(PKA_HandleTypeDef *hpka, uint8_t *pRes) in HAL_PKA_RSACRTExp_GetResult() argument
1164 size = (hpka->Instance->RAM[PKA_RSA_CRT_EXP_IN_MOD_NB_BITS] + 7UL) / 8UL; in HAL_PKA_RSACRTExp_GetResult()
1166 PKA_Memcpy_u32_to_u8(pRes, &hpka->Instance->RAM[PKA_RSA_CRT_EXP_OUT_RESULT], size); in HAL_PKA_RSACRTExp_GetResult()
1176 HAL_StatusTypeDef HAL_PKA_PointCheck(PKA_HandleTypeDef *hpka, PKA_PointCheckInTypeDef *in, uint32_t… in HAL_PKA_PointCheck() argument
1179 PKA_PointCheck_Set(hpka, in); in HAL_PKA_PointCheck()
1182 return PKA_Process(hpka, PKA_MODE_POINT_CHECK, Timeout); in HAL_PKA_PointCheck()
1191 HAL_StatusTypeDef HAL_PKA_PointCheck_IT(PKA_HandleTypeDef *hpka, PKA_PointCheckInTypeDef *in) in HAL_PKA_PointCheck_IT() argument
1194 PKA_PointCheck_Set(hpka, in); in HAL_PKA_PointCheck_IT()
1197 return PKA_Process_IT(hpka, PKA_MODE_POINT_CHECK); in HAL_PKA_PointCheck_IT()
1205 uint32_t HAL_PKA_PointCheck_IsOnCurve(PKA_HandleTypeDef const *const hpka) in HAL_PKA_PointCheck_IsOnCurve() argument
1213 return (hpka->Instance->RAM[PKA_POINT_CHECK_OUT_ERROR] == PKA_POINT_IS_ON_CURVE) ? 1UL : 0UL; in HAL_PKA_PointCheck_IsOnCurve()
1223 HAL_StatusTypeDef HAL_PKA_ECCMulFastMode(PKA_HandleTypeDef *hpka, PKA_ECCMulFastModeInTypeDef *in, … in HAL_PKA_ECCMulFastMode() argument
1226 PKA_ECCMulFastMode_Set(hpka, in); in HAL_PKA_ECCMulFastMode()
1229 return PKA_Process(hpka, PKA_MODE_ECC_MUL_FAST_MODE, Timeout); in HAL_PKA_ECCMulFastMode()
1238 HAL_StatusTypeDef HAL_PKA_ECCMulFastMode_IT(PKA_HandleTypeDef *hpka, PKA_ECCMulFastModeInTypeDef *i… in HAL_PKA_ECCMulFastMode_IT() argument
1241 PKA_ECCMulFastMode_Set(hpka, in); in HAL_PKA_ECCMulFastMode_IT()
1244 return PKA_Process_IT(hpka, PKA_MODE_ECC_MUL_FAST_MODE); in HAL_PKA_ECCMulFastMode_IT()
1254 HAL_StatusTypeDef HAL_PKA_Add(PKA_HandleTypeDef *hpka, PKA_AddInTypeDef *in, uint32_t Timeout) in HAL_PKA_Add() argument
1257 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, NULL); in HAL_PKA_Add()
1260 return PKA_Process(hpka, PKA_MODE_ARITHMETIC_ADD, Timeout); in HAL_PKA_Add()
1269 HAL_StatusTypeDef HAL_PKA_Add_IT(PKA_HandleTypeDef *hpka, PKA_AddInTypeDef *in) in HAL_PKA_Add_IT() argument
1272 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, NULL); in HAL_PKA_Add_IT()
1275 return PKA_Process_IT(hpka, PKA_MODE_ARITHMETIC_ADD); in HAL_PKA_Add_IT()
1285 HAL_StatusTypeDef HAL_PKA_Sub(PKA_HandleTypeDef *hpka, PKA_SubInTypeDef *in, uint32_t Timeout) in HAL_PKA_Sub() argument
1288 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, NULL); in HAL_PKA_Sub()
1291 return PKA_Process(hpka, PKA_MODE_ARITHMETIC_SUB, Timeout); in HAL_PKA_Sub()
1300 HAL_StatusTypeDef HAL_PKA_Sub_IT(PKA_HandleTypeDef *hpka, PKA_SubInTypeDef *in) in HAL_PKA_Sub_IT() argument
1303 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, NULL); in HAL_PKA_Sub_IT()
1306 return PKA_Process_IT(hpka, PKA_MODE_ARITHMETIC_SUB); in HAL_PKA_Sub_IT()
1316 HAL_StatusTypeDef HAL_PKA_Mul(PKA_HandleTypeDef *hpka, PKA_MulInTypeDef *in, uint32_t Timeout) in HAL_PKA_Mul() argument
1319 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, NULL); in HAL_PKA_Mul()
1322 return PKA_Process(hpka, PKA_MODE_ARITHMETIC_MUL, Timeout); in HAL_PKA_Mul()
1331 HAL_StatusTypeDef HAL_PKA_Mul_IT(PKA_HandleTypeDef *hpka, PKA_MulInTypeDef *in) in HAL_PKA_Mul_IT() argument
1334 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, NULL); in HAL_PKA_Mul_IT()
1337 return PKA_Process_IT(hpka, PKA_MODE_ARITHMETIC_MUL); in HAL_PKA_Mul_IT()
1347 HAL_StatusTypeDef HAL_PKA_Cmp(PKA_HandleTypeDef *hpka, PKA_CmpInTypeDef *in, uint32_t Timeout) in HAL_PKA_Cmp() argument
1350 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, NULL); in HAL_PKA_Cmp()
1353 return PKA_Process(hpka, PKA_MODE_COMPARISON, Timeout); in HAL_PKA_Cmp()
1362 HAL_StatusTypeDef HAL_PKA_Cmp_IT(PKA_HandleTypeDef *hpka, PKA_CmpInTypeDef *in) in HAL_PKA_Cmp_IT() argument
1365 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, NULL); in HAL_PKA_Cmp_IT()
1368 return PKA_Process_IT(hpka, PKA_MODE_COMPARISON); in HAL_PKA_Cmp_IT()
1378 HAL_StatusTypeDef HAL_PKA_ModAdd(PKA_HandleTypeDef *hpka, PKA_ModAddInTypeDef *in, uint32_t Timeout) in HAL_PKA_ModAdd() argument
1381 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, in->pOp3); in HAL_PKA_ModAdd()
1384 return PKA_Process(hpka, PKA_MODE_MODULAR_ADD, Timeout); in HAL_PKA_ModAdd()
1393 HAL_StatusTypeDef HAL_PKA_ModAdd_IT(PKA_HandleTypeDef *hpka, PKA_ModAddInTypeDef *in) in HAL_PKA_ModAdd_IT() argument
1396 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, in->pOp3); in HAL_PKA_ModAdd_IT()
1399 return PKA_Process_IT(hpka, PKA_MODE_MODULAR_ADD); in HAL_PKA_ModAdd_IT()
1409 HAL_StatusTypeDef HAL_PKA_ModInv(PKA_HandleTypeDef *hpka, PKA_ModInvInTypeDef *in, uint32_t Timeout) in HAL_PKA_ModInv() argument
1412 PKA_ModInv_Set(hpka, in); in HAL_PKA_ModInv()
1415 return PKA_Process(hpka, PKA_MODE_MODULAR_INV, Timeout); in HAL_PKA_ModInv()
1424 HAL_StatusTypeDef HAL_PKA_ModInv_IT(PKA_HandleTypeDef *hpka, PKA_ModInvInTypeDef *in) in HAL_PKA_ModInv_IT() argument
1427 PKA_ModInv_Set(hpka, in); in HAL_PKA_ModInv_IT()
1430 return PKA_Process_IT(hpka, PKA_MODE_MODULAR_INV); in HAL_PKA_ModInv_IT()
1440 HAL_StatusTypeDef HAL_PKA_ModSub(PKA_HandleTypeDef *hpka, PKA_ModSubInTypeDef *in, uint32_t Timeout) in HAL_PKA_ModSub() argument
1443 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, in->pOp3); in HAL_PKA_ModSub()
1446 return PKA_Process(hpka, PKA_MODE_MODULAR_SUB, Timeout); in HAL_PKA_ModSub()
1455 HAL_StatusTypeDef HAL_PKA_ModSub_IT(PKA_HandleTypeDef *hpka, PKA_ModSubInTypeDef *in) in HAL_PKA_ModSub_IT() argument
1458 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, in->pOp3); in HAL_PKA_ModSub_IT()
1461 return PKA_Process_IT(hpka, PKA_MODE_MODULAR_SUB); in HAL_PKA_ModSub_IT()
1471 HAL_StatusTypeDef HAL_PKA_ModRed(PKA_HandleTypeDef *hpka, PKA_ModRedInTypeDef *in, uint32_t Timeout) in HAL_PKA_ModRed() argument
1474 PKA_ModRed_Set(hpka, in); in HAL_PKA_ModRed()
1477 return PKA_Process(hpka, PKA_MODE_MODULAR_RED, Timeout); in HAL_PKA_ModRed()
1486 HAL_StatusTypeDef HAL_PKA_ModRed_IT(PKA_HandleTypeDef *hpka, PKA_ModRedInTypeDef *in) in HAL_PKA_ModRed_IT() argument
1489 PKA_ModRed_Set(hpka, in); in HAL_PKA_ModRed_IT()
1492 return PKA_Process_IT(hpka, PKA_MODE_MODULAR_RED); in HAL_PKA_ModRed_IT()
1502 HAL_StatusTypeDef HAL_PKA_MontgomeryMul(PKA_HandleTypeDef *hpka, PKA_MontgomeryMulInTypeDef *in, ui… in HAL_PKA_MontgomeryMul() argument
1505 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, in->pOp3); in HAL_PKA_MontgomeryMul()
1508 return PKA_Process(hpka, PKA_MODE_MONTGOMERY_MUL, Timeout); in HAL_PKA_MontgomeryMul()
1517 HAL_StatusTypeDef HAL_PKA_MontgomeryMul_IT(PKA_HandleTypeDef *hpka, PKA_MontgomeryMulInTypeDef *in) in HAL_PKA_MontgomeryMul_IT() argument
1520 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, in->pOp3); in HAL_PKA_MontgomeryMul_IT()
1523 return PKA_Process_IT(hpka, PKA_MODE_MONTGOMERY_MUL); in HAL_PKA_MontgomeryMul_IT()
1531 void HAL_PKA_Arithmetic_GetResult(PKA_HandleTypeDef *hpka, uint32_t *pRes) in HAL_PKA_Arithmetic_GetResult() argument
1533 uint32_t mode = (hpka->Instance->CR & PKA_CR_MODE_Msk) >> PKA_CR_MODE_Pos; in HAL_PKA_Arithmetic_GetResult()
1547 size = hpka->Instance->RAM[1] / 32UL; in HAL_PKA_Arithmetic_GetResult()
1550 size = hpka->Instance->RAM[2] / 32UL; in HAL_PKA_Arithmetic_GetResult()
1554 size = hpka->Instance->RAM[PKA_ARITHMETIC_ALL_OPS_NB_BITS] / 32UL; in HAL_PKA_Arithmetic_GetResult()
1557 if (hpka->Instance->RAM[PKA_ARITHMETIC_ALL_OPS_OUT_RESULT + size] != 0UL) in HAL_PKA_Arithmetic_GetResult()
1567 size = hpka->Instance->RAM[PKA_ARITHMETIC_MUL_NB_BITS] / 32UL * 2UL; in HAL_PKA_Arithmetic_GetResult()
1586 PKA_Memcpy_u32_to_u32(pRes, &hpka->Instance->RAM[PKA_ARITHMETIC_ALL_OPS_OUT_RESULT], size); in HAL_PKA_Arithmetic_GetResult()
1601 HAL_StatusTypeDef HAL_PKA_MontgomeryParam(PKA_HandleTypeDef *hpka, PKA_MontgomeryParamInTypeDef *in… in HAL_PKA_MontgomeryParam() argument
1604 PKA_MontgomeryParam_Set(hpka, in->size, in->pOp1); in HAL_PKA_MontgomeryParam()
1607 return PKA_Process(hpka, PKA_MODE_MONTGOMERY_PARAM, Timeout); in HAL_PKA_MontgomeryParam()
1616 HAL_StatusTypeDef HAL_PKA_MontgomeryParam_IT(PKA_HandleTypeDef *hpka, PKA_MontgomeryParamInTypeDef … in HAL_PKA_MontgomeryParam_IT() argument
1619 PKA_MontgomeryParam_Set(hpka, in->size, in->pOp1); in HAL_PKA_MontgomeryParam_IT()
1622 return PKA_Process_IT(hpka, PKA_MODE_MONTGOMERY_PARAM); in HAL_PKA_MontgomeryParam_IT()
1631 void HAL_PKA_MontgomeryParam_GetResult(PKA_HandleTypeDef *hpka, uint32_t *pRes) in HAL_PKA_MontgomeryParam_GetResult() argument
1636 size = (hpka->Instance->RAM[PKA_MONTGOMERY_PARAM_IN_MOD_NB_BITS] + 31UL) / 32UL; in HAL_PKA_MontgomeryParam_GetResult()
1639 PKA_Memcpy_u32_to_u32(pRes, &hpka->Instance->RAM[PKA_MONTGOMERY_PARAM_OUT_PARAMETER], size); in HAL_PKA_MontgomeryParam_GetResult()
1650 HAL_StatusTypeDef HAL_PKA_ECCDoubleBaseLadder(PKA_HandleTypeDef *hpka, PKA_ECCDoubleBaseLadderInTyp… in HAL_PKA_ECCDoubleBaseLadder() argument
1654 PKA_ECCDoubleBaseLadder_Set(hpka, in); in HAL_PKA_ECCDoubleBaseLadder()
1656 return PKA_Process(hpka, PKA_MODE_DOUBLE_BASE_LADDER, Timeout); in HAL_PKA_ECCDoubleBaseLadder()
1665 HAL_StatusTypeDef HAL_PKA_ECCDoubleBaseLadder_IT(PKA_HandleTypeDef *hpka, PKA_ECCDoubleBaseLadderIn… in HAL_PKA_ECCDoubleBaseLadder_IT() argument
1668 PKA_ECCDoubleBaseLadder_Set(hpka, in); in HAL_PKA_ECCDoubleBaseLadder_IT()
1670 return PKA_Process_IT(hpka, PKA_MODE_DOUBLE_BASE_LADDER); in HAL_PKA_ECCDoubleBaseLadder_IT()
1680 HAL_StatusTypeDef HAL_PKA_ECCCompleteAddition(PKA_HandleTypeDef *hpka, PKA_ECCCompleteAdditionInTyp… in HAL_PKA_ECCCompleteAddition() argument
1684 PKA_ECCCompleteAddition_Set(hpka, in); in HAL_PKA_ECCCompleteAddition()
1686 return PKA_Process(hpka, PKA_MODE_ECC_COMPLETE_ADD, Timeout); in HAL_PKA_ECCCompleteAddition()
1695 HAL_StatusTypeDef HAL_PKA_ECCCompleteAddition_IT(PKA_HandleTypeDef *hpka, PKA_ECCCompleteAdditionIn… in HAL_PKA_ECCCompleteAddition_IT() argument
1698 PKA_ECCCompleteAddition_Set(hpka, in); in HAL_PKA_ECCCompleteAddition_IT()
1700 return PKA_Process_IT(hpka, PKA_MODE_ECC_COMPLETE_ADD); in HAL_PKA_ECCCompleteAddition_IT()
1709 HAL_StatusTypeDef HAL_PKA_Abort(PKA_HandleTypeDef *hpka) in HAL_PKA_Abort() argument
1715 SET_BIT(hpka->Instance->CSR, PKA_CSR_SFT_RST); in HAL_PKA_Abort()
1716 CLEAR_BIT(hpka->Instance->CSR, PKA_CSR_SFT_RST); in HAL_PKA_Abort()
1719 CLEAR_BIT(hpka->Instance->CR, PKA_CR_EN); in HAL_PKA_Abort()
1720 SET_BIT(hpka->Instance->CR, PKA_CR_EN); in HAL_PKA_Abort()
1724 SET_BIT(hpka->Instance->ISR, PKA_ISR_PROC_END | PKA_ISR_RAM_ERR | PKA_ISR_ADD_ERR); in HAL_PKA_Abort()
1725 CLEAR_BIT(hpka->Instance->ISR, PKA_ISR_PROC_END | PKA_ISR_RAM_ERR | PKA_ISR_ADD_ERR); in HAL_PKA_Abort()
1728 SET_BIT(hpka->Instance->CLRFR, PKA_CLRFR_PROCENDFC | PKA_CLRFR_RAMERRFC | PKA_CLRFR_ADDRERRFC); in HAL_PKA_Abort()
1731 hpka->ErrorCode = HAL_PKA_ERROR_NONE; in HAL_PKA_Abort()
1734 hpka->State = HAL_PKA_STATE_READY; in HAL_PKA_Abort()
1744 void HAL_PKA_RAMReset(PKA_HandleTypeDef *hpka) in HAL_PKA_RAMReset() argument
1752 hpka->Instance->RAM[index] = 0UL; in HAL_PKA_RAMReset()
1761 void HAL_PKA_IRQHandler(PKA_HandleTypeDef *hpka) in HAL_PKA_IRQHandler() argument
1764 uint32_t itsource = READ_REG(hpka->Instance->IEN); in HAL_PKA_IRQHandler()
1765 uint32_t flag = READ_REG(hpka->Instance->ISR); in HAL_PKA_IRQHandler()
1768 uint32_t mode = PKA_GetMode(hpka); in HAL_PKA_IRQHandler()
1769 uint32_t itsource = READ_REG(hpka->Instance->CR); in HAL_PKA_IRQHandler()
1770 uint32_t flag = READ_REG(hpka->Instance->SR); in HAL_PKA_IRQHandler()
1776 hpka->ErrorCode |= HAL_PKA_ERROR_ADDRERR; in HAL_PKA_IRQHandler()
1779 __HAL_PKA_CLEAR_FLAG(hpka, PKA_FLAG_ADDRERR); in HAL_PKA_IRQHandler()
1785 hpka->ErrorCode |= HAL_PKA_ERROR_RAMERR; in HAL_PKA_IRQHandler()
1788 __HAL_PKA_CLEAR_FLAG(hpka, PKA_FLAG_RAMERR); in HAL_PKA_IRQHandler()
1795 if (hpka->Instance->RAM[PKA_ECDSA_SIGN_OUT_ERROR] != 0UL) in HAL_PKA_IRQHandler()
1797 hpka->ErrorCode |= HAL_PKA_ERROR_OPERATION; in HAL_PKA_IRQHandler()
1806 if (hpka->Instance->RAM[PKA_ECDSA_SIGN_OUT_ERROR] != 0xD60DUL) in HAL_PKA_IRQHandler()
1808 hpka->ErrorCode |= HAL_PKA_ERROR_OPERATION; in HAL_PKA_IRQHandler()
1814 if (hpka->ErrorCode != HAL_PKA_ERROR_NONE) in HAL_PKA_IRQHandler()
1817 hpka->ErrorCallback(hpka); in HAL_PKA_IRQHandler()
1819 HAL_PKA_ErrorCallback(hpka); in HAL_PKA_IRQHandler()
1827 __HAL_PKA_CLEAR_FLAG(hpka, PKA_FLAG_PROCEND); in HAL_PKA_IRQHandler()
1830 hpka->State = HAL_PKA_STATE_READY; in HAL_PKA_IRQHandler()
1833 hpka->OperationCpltCallback(hpka); in HAL_PKA_IRQHandler()
1835 HAL_PKA_OperationCpltCallback(hpka); in HAL_PKA_IRQHandler()
1845 __weak void HAL_PKA_OperationCpltCallback(PKA_HandleTypeDef *hpka) in HAL_PKA_OperationCpltCallback() argument
1848 UNUSED(hpka); in HAL_PKA_OperationCpltCallback()
1860 __weak void HAL_PKA_ErrorCallback(PKA_HandleTypeDef *hpka) in HAL_PKA_ErrorCallback() argument
1863 UNUSED(hpka); in HAL_PKA_ErrorCallback()
1893 HAL_PKA_StateTypeDef HAL_PKA_GetState(const PKA_HandleTypeDef *hpka) in HAL_PKA_GetState() argument
1896 return hpka->State; in HAL_PKA_GetState()
1904 uint32_t HAL_PKA_GetError(const PKA_HandleTypeDef *hpka) in HAL_PKA_GetError() argument
1907 return hpka->ErrorCode; in HAL_PKA_GetError()
1927 uint32_t PKA_GetMode(const PKA_HandleTypeDef *hpka) in PKA_GetMode() argument
1930 return (uint32_t)(READ_BIT(hpka->Instance->CR, PKA_CR_MODE) >> PKA_CR_MODE_Pos); in PKA_GetMode()
1941 HAL_StatusTypeDef PKA_PollEndOfOperation(const PKA_HandleTypeDef *hpka, uint32_t Timeout, uint32_t … in PKA_PollEndOfOperation() argument
1945 while ((hpka->Instance->CSR & PKA_CSR_READY) != PKA_CSR_READY) in PKA_PollEndOfOperation()
1958 while ((hpka->Instance->SR & PKA_SR_PROCENDF) == 0UL) in PKA_PollEndOfOperation()
1980 uint32_t PKA_CheckError(const PKA_HandleTypeDef *hpka, uint32_t mode) in PKA_CheckError() argument
1991 if (__HAL_PKA_GET_FLAG(hpka, PKA_FLAG_RAMERR) == SET) in PKA_CheckError()
1997 if (__HAL_PKA_GET_FLAG(hpka, PKA_FLAG_ADDRERR) == SET) in PKA_CheckError()
2006 if (hpka->Instance->RAM[PKA_ECDSA_SIGN_OUT_ERROR] != EDCSA_SIGN_NOERROR) in PKA_CheckError()
2018 if (hpka->Instance->RAM[PKA_ECC_DB_LADDER_OUT_ERROR] != ECC_DB_LADDER_NOERROR) in PKA_CheckError()
2197 HAL_StatusTypeDef PKA_Process(PKA_HandleTypeDef *hpka, uint32_t mode, uint32_t Timeout) in PKA_Process() argument
2202 if (hpka->State == HAL_PKA_STATE_READY) in PKA_Process()
2205 hpka->State = HAL_PKA_STATE_BUSY; in PKA_Process()
2208 hpka->ErrorCode = HAL_PKA_ERROR_NONE; in PKA_Process()
2216 …MODIFY_REG(hpka->Instance->CR, PKA_CR_MODE | PKA_CR_PROCENDIE | PKA_CR_RAMERRIE | PKA_CR_ADDRERRIE, in PKA_Process()
2222 CLEAR_BIT(hpka->Instance->IEN, PKA_IEN_READY_EN | PKA_IEN_RAMERR_EN | PKA_IEN_ADDERR_EN); in PKA_Process()
2227 hpka->Instance->CR |= PKA_CR_START; in PKA_Process()
2230 SET_BIT(hpka->Instance->CSR, PKA_CSR_GO); in PKA_Process()
2231 CLEAR_BIT(hpka->Instance->CSR, PKA_CSR_GO); in PKA_Process()
2236 if (PKA_PollEndOfOperation(hpka, Timeout, tickstart) != HAL_OK) in PKA_Process()
2240 CLEAR_BIT(hpka->Instance->CR, PKA_CR_EN); in PKA_Process()
2242 hpka->ErrorCode |= HAL_PKA_ERROR_TIMEOUT; in PKA_Process()
2245 SET_BIT(hpka->Instance->CR, PKA_CR_EN); in PKA_Process()
2253 hpka->ErrorCode |= PKA_CheckError(hpka, mode); in PKA_Process()
2257 hpka->Instance->CLRFR |= (PKA_CLRFR_PROCENDFC | PKA_CLRFR_RAMERRFC | PKA_CLRFR_ADDRERRFC); in PKA_Process()
2260 SET_BIT(hpka->Instance->ISR, PKA_ISR_PROC_END | PKA_ISR_RAM_ERR | PKA_ISR_ADD_ERR); in PKA_Process()
2261 CLEAR_BIT(hpka->Instance->ISR, PKA_ISR_PROC_END | PKA_ISR_RAM_ERR | PKA_ISR_ADD_ERR); 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()
2304 SET_BIT(hpka->Instance->IEN, PKA_IEN_READY_EN | PKA_IEN_RAMERR_EN | PKA_IEN_ADDERR_EN); in PKA_Process_IT()
2308 hpka->Instance->CR |= PKA_CR_START; in PKA_Process_IT()
2311 SET_BIT(hpka->Instance->CSR, PKA_CSR_GO); in PKA_Process_IT()
2312 CLEAR_BIT(hpka->Instance->CSR, PKA_CSR_GO); in PKA_Process_IT()
2327 void PKA_ECCMul_Set(PKA_HandleTypeDef *hpka, PKA_ECCMulInTypeDef *in) in PKA_ECCMul_Set() argument
2331 …hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_EXP_NB_BITS] = PKA_GetOptBitSize_u8(in->scalarMulSize, *… in PKA_ECCMul_Set()
2334 …hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_OP_NB_BITS] = PKA_GetOptBitSize_u8(in->modulusSize, *(in… in PKA_ECCMul_Set()
2337 hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_A_COEFF_SIGN] = in->coefSign; in PKA_ECCMul_Set()
2340 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_A_COEFF], in->coefA, in->modulusSi… in PKA_ECCMul_Set()
2341 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_SCALAR_MUL_IN_A_COEFF + ((in->modulusSize + 3UL) … in PKA_ECCMul_Set()
2344 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_MOD_GF], in->modulus, in->modulusS… in PKA_ECCMul_Set()
2345 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_SCALAR_MUL_IN_MOD_GF + ((in->modulusSize + 3UL) /… in PKA_ECCMul_Set()
2348 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_K], in->scalarMul, in->scalarMulSi… in PKA_ECCMul_Set()
2349 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_SCALAR_MUL_IN_K + ((in->scalarMulSize + 3UL) / 4U… in PKA_ECCMul_Set()
2352 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_INITIAL_POINT_X], in->pointX, in->… in PKA_ECCMul_Set()
2353 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_SCALAR_MUL_IN_INITIAL_POINT_X + ((in->modulusSize… in PKA_ECCMul_Set()
2356 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_INITIAL_POINT_Y], in->pointY, in->… in PKA_ECCMul_Set()
2357 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_SCALAR_MUL_IN_INITIAL_POINT_Y + ((in->modulusSize… in PKA_ECCMul_Set()
2366 void PKA_ModExp_Set(PKA_HandleTypeDef *hpka, PKA_ModExpInTypeDef *in) in PKA_ModExp_Set() argument
2369 hpka->Instance->RAM[PKA_MODULAR_EXP_IN_OP_NB_BITS] = PKA_GetBitSize_u8(in->OpSize); in PKA_ModExp_Set()
2372 hpka->Instance->RAM[PKA_MODULAR_EXP_IN_EXP_NB_BITS] = PKA_GetBitSize_u8(in->expSize); in PKA_ModExp_Set()
2375 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_MODULAR_EXP_IN_EXPONENT_BASE], in->pOp1, in->OpSize); in PKA_ModExp_Set()
2376 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MODULAR_EXP_IN_EXPONENT_BASE + ((in->OpSize + 3UL) / … in PKA_ModExp_Set()
2379 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_MODULAR_EXP_IN_EXPONENT], in->pExp, in->expSize); in PKA_ModExp_Set()
2380 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MODULAR_EXP_IN_EXPONENT + ((in->expSize + 3UL) / 4UL)… in PKA_ModExp_Set()
2383 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_MODULAR_EXP_IN_MODULUS], in->pMod, in->OpSize); in PKA_ModExp_Set()
2384 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MODULAR_EXP_IN_MODULUS + ((in->OpSize + 3UL) / 4UL)); in PKA_ModExp_Set()
2392 void PKA_ModExpFastMode_Set(PKA_HandleTypeDef *hpka, PKA_ModExpFastModeInTypeDef *in) in PKA_ModExpFastMode_Set() argument
2395 hpka->Instance->RAM[PKA_MODULAR_EXP_IN_OP_NB_BITS] = PKA_GetBitSize_u8(in->OpSize); in PKA_ModExpFastMode_Set()
2398 hpka->Instance->RAM[PKA_MODULAR_EXP_IN_EXP_NB_BITS] = PKA_GetBitSize_u8(in->expSize); in PKA_ModExpFastMode_Set()
2401 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_MODULAR_EXP_IN_EXPONENT_BASE], in->pOp1, in->OpSize); in PKA_ModExpFastMode_Set()
2402 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MODULAR_EXP_IN_EXPONENT_BASE + (in->OpSize / 4UL)); in PKA_ModExpFastMode_Set()
2405 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_MODULAR_EXP_IN_EXPONENT], in->pExp, in->expSize); in PKA_ModExpFastMode_Set()
2406 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MODULAR_EXP_IN_EXPONENT + (in->expSize / 4UL)); in PKA_ModExpFastMode_Set()
2409 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_MODULAR_EXP_IN_MODULUS], in->pMod, in->OpSize); in PKA_ModExpFastMode_Set()
2410 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MODULAR_EXP_IN_MODULUS + (in->OpSize / 4UL)); in PKA_ModExpFastMode_Set()
2413 …PKA_Memcpy_u32_to_u32(&hpka->Instance->RAM[PKA_MODULAR_EXP_IN_MONTGOMERY_PARAM], in->pMontgomeryPa… in PKA_ModExpFastMode_Set()
2415 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MODULAR_EXP_IN_MONTGOMERY_PARAM + (in->OpSize / 4UL)); in PKA_ModExpFastMode_Set()
2425 void PKA_ECDSASign_Set(PKA_HandleTypeDef *hpka, PKA_ECDSASignInTypeDef *in) in PKA_ECDSASign_Set() argument
2428 …hpka->Instance->RAM[PKA_ECDSA_SIGN_IN_ORDER_NB_BITS] = PKA_GetOptBitSize_u8(in->primeOrderSize, *(… in PKA_ECDSASign_Set()
2431 …hpka->Instance->RAM[PKA_ECDSA_SIGN_IN_MOD_NB_BITS] = PKA_GetOptBitSize_u8(in->modulusSize, *(in->m… in PKA_ECDSASign_Set()
2434 hpka->Instance->RAM[PKA_ECDSA_SIGN_IN_A_COEFF_SIGN] = in->coefSign; in PKA_ECDSASign_Set()
2437 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_SIGN_IN_A_COEFF], in->coef, in->modulusSize); in PKA_ECDSASign_Set()
2438 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_SIGN_IN_A_COEFF + ((in->modulusSize + 3UL) / 4U… in PKA_ECDSASign_Set()
2441 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_SIGN_IN_MOD_GF], in->modulus, in->modulusSize); in PKA_ECDSASign_Set()
2442 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_SIGN_IN_MOD_GF + ((in->modulusSize + 3UL) / 4UL… in PKA_ECDSASign_Set()
2445 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_SIGN_IN_K], in->integer, in->primeOrderSize); in PKA_ECDSASign_Set()
2446 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_SIGN_IN_K + ((in->primeOrderSize + 3UL) / 4UL)); in PKA_ECDSASign_Set()
2449 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_SIGN_IN_INITIAL_POINT_X], in->basePointX, in->… in PKA_ECDSASign_Set()
2450 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_SIGN_IN_INITIAL_POINT_X + ((in->modulusSize + 3… in PKA_ECDSASign_Set()
2453 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_SIGN_IN_INITIAL_POINT_Y], in->basePointY, in->… in PKA_ECDSASign_Set()
2454 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_SIGN_IN_INITIAL_POINT_Y + ((in->modulusSize + 3… in PKA_ECDSASign_Set()
2457 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_SIGN_IN_HASH_E], in->hash, in->primeOrderSize); in PKA_ECDSASign_Set()
2458 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_SIGN_IN_HASH_E + ((in->primeOrderSize + 3UL) / … in PKA_ECDSASign_Set()
2461 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_SIGN_IN_PRIVATE_KEY_D], in->privateKey, in->pr… in PKA_ECDSASign_Set()
2462 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_SIGN_IN_PRIVATE_KEY_D + ((in->primeOrderSize + … in PKA_ECDSASign_Set()
2465 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_SIGN_IN_ORDER_N], in->primeOrder, in->primeOrd… in PKA_ECDSASign_Set()
2466 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_SIGN_IN_ORDER_N + ((in->primeOrderSize + 3UL) /… in PKA_ECDSASign_Set()
2474 void PKA_ECDSAVerif_Set(PKA_HandleTypeDef *hpka, PKA_ECDSAVerifInTypeDef *in) in PKA_ECDSAVerif_Set() argument
2477 …hpka->Instance->RAM[PKA_ECDSA_VERIF_IN_ORDER_NB_BITS] = PKA_GetOptBitSize_u8(in->primeOrderSize, *… in PKA_ECDSAVerif_Set()
2480 …hpka->Instance->RAM[PKA_ECDSA_VERIF_IN_MOD_NB_BITS] = PKA_GetOptBitSize_u8(in->modulusSize, *(in->… in PKA_ECDSAVerif_Set()
2483 hpka->Instance->RAM[PKA_ECDSA_VERIF_IN_A_COEFF_SIGN] = in->coefSign; in PKA_ECDSAVerif_Set()
2486 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_VERIF_IN_A_COEFF], in->coef, in->modulusSize); in PKA_ECDSAVerif_Set()
2487 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_VERIF_IN_A_COEFF + ((in->modulusSize + 3UL) / 4… in PKA_ECDSAVerif_Set()
2490 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_VERIF_IN_MOD_GF], in->modulus, in->modulusSize… in PKA_ECDSAVerif_Set()
2491 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_VERIF_IN_MOD_GF + ((in->modulusSize + 3UL) / 4U… in PKA_ECDSAVerif_Set()
2494 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_VERIF_IN_INITIAL_POINT_X], in->basePointX, in-… in PKA_ECDSAVerif_Set()
2495 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_VERIF_IN_INITIAL_POINT_X + ((in->modulusSize + … in PKA_ECDSAVerif_Set()
2498 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_VERIF_IN_INITIAL_POINT_Y], in->basePointY, in-… in PKA_ECDSAVerif_Set()
2499 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_VERIF_IN_INITIAL_POINT_Y + ((in->modulusSize + … in PKA_ECDSAVerif_Set()
2502 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_VERIF_IN_PUBLIC_KEY_POINT_X], in->pPubKeyCurve… in PKA_ECDSAVerif_Set()
2504 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_VERIF_IN_PUBLIC_KEY_POINT_X + ((in->modulusSize… in PKA_ECDSAVerif_Set()
2507 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_VERIF_IN_PUBLIC_KEY_POINT_Y], in->pPubKeyCurve… in PKA_ECDSAVerif_Set()
2509 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_VERIF_IN_PUBLIC_KEY_POINT_Y + ((in->modulusSize… in PKA_ECDSAVerif_Set()
2512 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_VERIF_IN_SIGNATURE_R], in->RSign, in->primeOrd… in PKA_ECDSAVerif_Set()
2513 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_VERIF_IN_SIGNATURE_R + ((in->primeOrderSize + 3… in PKA_ECDSAVerif_Set()
2516 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_VERIF_IN_SIGNATURE_S], in->SSign, in->primeOrd… in PKA_ECDSAVerif_Set()
2517 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_VERIF_IN_SIGNATURE_S + ((in->primeOrderSize + 3… in PKA_ECDSAVerif_Set()
2520 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_VERIF_IN_HASH_E], in->hash, in->primeOrderSize… in PKA_ECDSAVerif_Set()
2521 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_VERIF_IN_HASH_E + ((in->primeOrderSize + 3UL) /… in PKA_ECDSAVerif_Set()
2524 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_VERIF_IN_ORDER_N], in->primeOrder, in->primeOr… in PKA_ECDSAVerif_Set()
2525 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_VERIF_IN_ORDER_N + ((in->primeOrderSize + 3UL) … in PKA_ECDSAVerif_Set()
2533 void PKA_RSACRTExp_Set(PKA_HandleTypeDef *hpka, PKA_RSACRTExpInTypeDef *in) in PKA_RSACRTExp_Set() argument
2536 hpka->Instance->RAM[PKA_RSA_CRT_EXP_IN_MOD_NB_BITS] = PKA_GetBitSize_u8(in->size); in PKA_RSACRTExp_Set()
2539 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_RSA_CRT_EXP_IN_DP_CRT], in->pOpDp, in->size / 2UL); in PKA_RSACRTExp_Set()
2540 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_RSA_CRT_EXP_IN_DP_CRT + (in->size / 8UL)); in PKA_RSACRTExp_Set()
2543 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_RSA_CRT_EXP_IN_DQ_CRT], in->pOpDq, in->size / 2UL); in PKA_RSACRTExp_Set()
2544 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_RSA_CRT_EXP_IN_DQ_CRT + (in->size / 8UL)); in PKA_RSACRTExp_Set()
2547 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_RSA_CRT_EXP_IN_QINV_CRT], in->pOpQinv, in->size / 2U… in PKA_RSACRTExp_Set()
2548 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_RSA_CRT_EXP_IN_QINV_CRT + (in->size / 8UL)); in PKA_RSACRTExp_Set()
2551 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_RSA_CRT_EXP_IN_PRIME_P], in->pPrimeP, in->size / 2UL… in PKA_RSACRTExp_Set()
2552 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_RSA_CRT_EXP_IN_PRIME_P + (in->size / 8UL)); in PKA_RSACRTExp_Set()
2555 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_RSA_CRT_EXP_IN_PRIME_Q], in->pPrimeQ, in->size / 2UL… in PKA_RSACRTExp_Set()
2556 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_RSA_CRT_EXP_IN_PRIME_Q + (in->size / 8UL)); in PKA_RSACRTExp_Set()
2559 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_RSA_CRT_EXP_IN_EXPONENT_BASE], in->popA, in->size); in PKA_RSACRTExp_Set()
2560 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_RSA_CRT_EXP_IN_EXPONENT_BASE + (in->size / 4UL)); in PKA_RSACRTExp_Set()
2568 void PKA_PointCheck_Set(PKA_HandleTypeDef *hpka, PKA_PointCheckInTypeDef *in) in PKA_PointCheck_Set() argument
2571 …hpka->Instance->RAM[PKA_POINT_CHECK_IN_MOD_NB_BITS] = PKA_GetOptBitSize_u8(in->modulusSize, *(in->… in PKA_PointCheck_Set()
2574 hpka->Instance->RAM[PKA_POINT_CHECK_IN_A_COEFF_SIGN] = in->coefSign; in PKA_PointCheck_Set()
2577 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_POINT_CHECK_IN_A_COEFF], in->coefA, in->modulusSize); in PKA_PointCheck_Set()
2578 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_POINT_CHECK_IN_A_COEFF + ((in->modulusSize + 3UL) / 4… in PKA_PointCheck_Set()
2581 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_POINT_CHECK_IN_B_COEFF], in->coefB, in->modulusSize); in PKA_PointCheck_Set()
2582 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_POINT_CHECK_IN_B_COEFF + ((in->modulusSize + 3UL) / 4… in PKA_PointCheck_Set()
2585 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_POINT_CHECK_IN_MOD_GF], in->modulus, in->modulusSize… in PKA_PointCheck_Set()
2586 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_POINT_CHECK_IN_MOD_GF + ((in->modulusSize + 3UL) / 4U… in PKA_PointCheck_Set()
2589 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_POINT_CHECK_IN_INITIAL_POINT_X], in->pointX, in->mod… in PKA_PointCheck_Set()
2590 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_POINT_CHECK_IN_INITIAL_POINT_X + ((in->modulusSize + … in PKA_PointCheck_Set()
2593 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_POINT_CHECK_IN_INITIAL_POINT_Y], in->pointY, in->mod… in PKA_PointCheck_Set()
2594 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_POINT_CHECK_IN_INITIAL_POINT_Y + ((in->modulusSize + … in PKA_PointCheck_Set()
2598 PKA_Memcpy_u32_to_u32(&hpka->Instance->RAM[PKA_POINT_CHECK_IN_MONTGOMERY], in->pMontgomeryParam, in PKA_PointCheck_Set()
2600 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_POINT_CHECK_IN_MONTGOMERY + ((in->modulusSize + 3UL) … in PKA_PointCheck_Set()
2609 void PKA_ECCMulFastMode_Set(PKA_HandleTypeDef *hpka, PKA_ECCMulFastModeInTypeDef *in) in PKA_ECCMulFastMode_Set() argument
2612 …hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_EXP_NB_BITS] = PKA_GetOptBitSize_u8(in->scalarMulSize, *… in PKA_ECCMulFastMode_Set()
2615 …hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_OP_NB_BITS] = PKA_GetOptBitSize_u8(in->modulusSize, *(in… in PKA_ECCMulFastMode_Set()
2618 hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_A_COEFF_SIGN] = in->coefSign; in PKA_ECCMulFastMode_Set()
2621 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_A_COEFF], in->coefA, in->modulusSi… in PKA_ECCMulFastMode_Set()
2622 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_SCALAR_MUL_IN_A_COEFF + ((in->modulusSize + 3UL) … in PKA_ECCMulFastMode_Set()
2625 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_MOD_GF], in->modulus, in->modulusS… in PKA_ECCMulFastMode_Set()
2626 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_SCALAR_MUL_IN_MOD_GF + ((in->modulusSize + 3UL) /… in PKA_ECCMulFastMode_Set()
2629 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_K], in->scalarMul, in->scalarMulSi… in PKA_ECCMulFastMode_Set()
2630 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_SCALAR_MUL_IN_K + ((in->scalarMulSize + 3UL) / 4U… in PKA_ECCMulFastMode_Set()
2633 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_POINT_CHECK_IN_INITIAL_POINT_X], in->pointX, in->mod… in PKA_ECCMulFastMode_Set()
2634 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_POINT_CHECK_IN_INITIAL_POINT_X + ((in->modulusSize + … in PKA_ECCMulFastMode_Set()
2637 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_POINT_CHECK_IN_INITIAL_POINT_Y], in->pointY, in->mod… in PKA_ECCMulFastMode_Set()
2638 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_POINT_CHECK_IN_INITIAL_POINT_Y + ((in->modulusSize + … in PKA_ECCMulFastMode_Set()
2641 …PKA_Memcpy_u32_to_u32(&hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_MONTGOMERY_PARAM], in->pMontgomer… in PKA_ECCMulFastMode_Set()
2643 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_SCALAR_MUL_IN_MONTGOMERY_PARAM + ((in->modulusSiz… in PKA_ECCMulFastMode_Set()
2651 void PKA_ModInv_Set(PKA_HandleTypeDef *hpka, PKA_ModInvInTypeDef *in) in PKA_ModInv_Set() argument
2654 hpka->Instance->RAM[PKA_MODULAR_INV_NB_BITS] = PKA_GetBitSize_u32(in->size); in PKA_ModInv_Set()
2657 PKA_Memcpy_u32_to_u32(&hpka->Instance->RAM[PKA_MODULAR_INV_IN_OP1], in->pOp1, in->size); in PKA_ModInv_Set()
2658 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MODULAR_INV_IN_OP1 + in->size); in PKA_ModInv_Set()
2661 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_MODULAR_INV_IN_OP2_MOD], in->pMod, in->size * 4UL); in PKA_ModInv_Set()
2662 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MODULAR_INV_IN_OP2_MOD + in->size); in PKA_ModInv_Set()
2670 void PKA_ModRed_Set(PKA_HandleTypeDef *hpka, PKA_ModRedInTypeDef *in) in PKA_ModRed_Set() argument
2673 hpka->Instance->RAM[PKA_MODULAR_REDUC_IN_OP_LENGTH] = PKA_GetBitSize_u32(in->OpSize); in PKA_ModRed_Set()
2676 hpka->Instance->RAM[PKA_MODULAR_REDUC_IN_MOD_LENGTH] = PKA_GetBitSize_u8(in->modSize); in PKA_ModRed_Set()
2679 PKA_Memcpy_u32_to_u32(&hpka->Instance->RAM[PKA_MODULAR_REDUC_IN_OPERAND], in->pOp1, in->OpSize); in PKA_ModRed_Set()
2680 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MODULAR_REDUC_IN_OPERAND + in->OpSize); in PKA_ModRed_Set()
2683 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_MODULAR_REDUC_IN_MODULUS], in->pMod, in->modSize); in PKA_ModRed_Set()
2684 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MODULAR_REDUC_IN_MODULUS + ((in->modSize + 3UL) / 4UL… in PKA_ModRed_Set()
2693 void PKA_MontgomeryParam_Set(PKA_HandleTypeDef *hpka, const uint32_t size, const uint8_t *pOp1) in PKA_MontgomeryParam_Set() argument
2710 …hpka->Instance->RAM[PKA_MONTGOMERY_PARAM_IN_MOD_NB_BITS] = PKA_GetOptBitSize_u8(newSize, pOp1[byte… in PKA_MontgomeryParam_Set()
2713 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_MONTGOMERY_PARAM_IN_MODULUS], pOp1, size); in PKA_MontgomeryParam_Set()
2714 … __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MONTGOMERY_PARAM_IN_MODULUS + ((size + 3UL) / 4UL)); in PKA_MontgomeryParam_Set()
2726 void PKA_ARI_Set(PKA_HandleTypeDef *hpka, const uint32_t size, const uint32_t *pOp1, const uint32_t… in PKA_ARI_Set() argument
2730 hpka->Instance->RAM[PKA_ARITHMETIC_ALL_OPS_NB_BITS] = PKA_GetBitSize_u32(size); in PKA_ARI_Set()
2735 PKA_Memcpy_u32_to_u32(&hpka->Instance->RAM[PKA_ARITHMETIC_ALL_OPS_IN_OP1], pOp1, size); in PKA_ARI_Set()
2736 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ARITHMETIC_ALL_OPS_IN_OP1 + size); in PKA_ARI_Set()
2742 PKA_Memcpy_u32_to_u32(&hpka->Instance->RAM[PKA_ARITHMETIC_ALL_OPS_IN_OP2], pOp2, size); in PKA_ARI_Set()
2743 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ARITHMETIC_ALL_OPS_IN_OP2 + size); in PKA_ARI_Set()
2749 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ARITHMETIC_ALL_OPS_IN_OP3], pOp3, size * 4UL); in PKA_ARI_Set()
2750 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ARITHMETIC_ALL_OPS_IN_OP3 + size); in PKA_ARI_Set()
2761 void PKA_ECCDoubleBaseLadder_Set(PKA_HandleTypeDef *hpka, PKA_ECCDoubleBaseLadderInTypeDef *in) in PKA_ECCDoubleBaseLadder_Set() argument
2764 hpka->Instance->RAM[PKA_ECC_DB_LADDER_IN_ORDER_NB_BITS] = PKA_GetBitSize_u8(in->primeOrderSize); in PKA_ECCDoubleBaseLadder_Set()
2767 hpka->Instance->RAM[PKA_ECC_DB_LADDER_IN_MOD_NB_BITS] = PKA_GetBitSize_u8(in->modulusSize); in PKA_ECCDoubleBaseLadder_Set()
2770 hpka->Instance->RAM[PKA_ECC_DB_LADDER_IN_A_COEFF_SIGN] = in->coefSign; in PKA_ECCDoubleBaseLadder_Set()
2773 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_DB_LADDER_IN_A_COEFF], in->coefA, in->modulusSiz… in PKA_ECCDoubleBaseLadder_Set()
2774 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_DB_LADDER_IN_A_COEFF + (in->modulusSize / 4UL)); in PKA_ECCDoubleBaseLadder_Set()
2777 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_DB_LADDER_IN_MOD_P], in->modulus, in->modulusSiz… in PKA_ECCDoubleBaseLadder_Set()
2778 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_DB_LADDER_IN_MOD_P + (in->modulusSize / 4UL)); in PKA_ECCDoubleBaseLadder_Set()
2781 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_DB_LADDER_IN_SCALAR_K], in->integerK, in->modulu… in PKA_ECCDoubleBaseLadder_Set()
2782 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_DB_LADDER_IN_SCALAR_K + (in->modulusSize / 4UL)); in PKA_ECCDoubleBaseLadder_Set()
2785 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_DB_LADDER_IN_SCALAR_M], in->integerM, in->modulu… in PKA_ECCDoubleBaseLadder_Set()
2786 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_DB_LADDER_IN_SCALAR_M + (in->modulusSize / 4UL)); in PKA_ECCDoubleBaseLadder_Set()
2789 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_DB_LADDER_IN_FIRST_POINT_X], in->basePointX1, in… in PKA_ECCDoubleBaseLadder_Set()
2790 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_DB_LADDER_IN_FIRST_POINT_X + (in->modulusSize / 4… in PKA_ECCDoubleBaseLadder_Set()
2793 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_DB_LADDER_IN_FIRST_POINT_Y], in->basePointY1, in… in PKA_ECCDoubleBaseLadder_Set()
2794 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_DB_LADDER_IN_FIRST_POINT_Y + (in->modulusSize / 4… in PKA_ECCDoubleBaseLadder_Set()
2797 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_DB_LADDER_IN_SECOND_POINT_X], in->basePointX2, i… in PKA_ECCDoubleBaseLadder_Set()
2798 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_DB_LADDER_IN_SECOND_POINT_X + (in->modulusSize / … in PKA_ECCDoubleBaseLadder_Set()
2801 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_DB_LADDER_IN_SECOND_POINT_Y], in->basePointY2, i… in PKA_ECCDoubleBaseLadder_Set()
2802 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_DB_LADDER_IN_SECOND_POINT_Y + (in->modulusSize / … in PKA_ECCDoubleBaseLadder_Set()
2812 void HAL_PKA_ECCDoubleBaseLadder_GetResult(PKA_HandleTypeDef *hpka, PKA_ECCDoubleBaseLadderOutTypeD… in HAL_PKA_ECCDoubleBaseLadder_GetResult() argument
2817 size = hpka->Instance->RAM[PKA_ECC_DB_LADDER_IN_MOD_NB_BITS] / 8UL; in HAL_PKA_ECCDoubleBaseLadder_GetResult()
2820 … PKA_Memcpy_u32_to_u8(out->ptX, &hpka->Instance->RAM[PKA_ECC_DB_LADDER_OUT_RESULT_POINT_X], size); in HAL_PKA_ECCDoubleBaseLadder_GetResult()
2821 … PKA_Memcpy_u32_to_u8(out->ptY, &hpka->Instance->RAM[PKA_ECC_DB_LADDER_OUT_RESULT_POINT_Y], size); in HAL_PKA_ECCDoubleBaseLadder_GetResult()
2830 void PKA_ECCCompleteAddition_Set(PKA_HandleTypeDef *hpka, PKA_ECCCompleteAdditionInTypeDef *in) in PKA_ECCCompleteAddition_Set() argument
2833 …hpka->Instance->RAM[PKA_ECC_COMPLETE_ADDITION_IN_MOD_NB_BITS] = PKA_GetBitSize_u8(in->modulusSize); in PKA_ECCCompleteAddition_Set()
2836 hpka->Instance->RAM[PKA_ECC_COMPLETE_ADDITION_IN_A_COEFF_SIGN] = in->coefSign; in PKA_ECCCompleteAddition_Set()
2839 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_COMPLETE_ADDITION_IN_MOD_P], in->modulus, in->mo… in PKA_ECCCompleteAddition_Set()
2840 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_COMPLETE_ADDITION_IN_MOD_P + (in->modulusSize / 4… in PKA_ECCCompleteAddition_Set()
2843 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_COMPLETE_ADDITION_IN_A_COEFF], in->coefA, in->mo… in PKA_ECCCompleteAddition_Set()
2844 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_COMPLETE_ADDITION_IN_A_COEFF + (in->modulusSize /… in PKA_ECCCompleteAddition_Set()
2847 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_COMPLETE_ADDITION_IN_FIRST_POINT_X], in->basePoi… in PKA_ECCCompleteAddition_Set()
2849 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_COMPLETE_ADDITION_IN_FIRST_POINT_X + (in->modulus… in PKA_ECCCompleteAddition_Set()
2852 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_COMPLETE_ADDITION_IN_FIRST_POINT_Y], in->basePoi… in PKA_ECCCompleteAddition_Set()
2854 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_COMPLETE_ADDITION_IN_FIRST_POINT_Y + (in->modulus… in PKA_ECCCompleteAddition_Set()
2857 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_COMPLETE_ADDITION_IN_FIRST_POINT_Z], in->basePoi… in PKA_ECCCompleteAddition_Set()
2859 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_COMPLETE_ADDITION_IN_FIRST_POINT_Z + (in->modulus… in PKA_ECCCompleteAddition_Set()
2862 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_COMPLETE_ADDITION_IN_SECOND_POINT_X], in->basePo… in PKA_ECCCompleteAddition_Set()
2864 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_COMPLETE_ADDITION_IN_SECOND_POINT_X + (in->modulu… in PKA_ECCCompleteAddition_Set()
2867 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_COMPLETE_ADDITION_IN_SECOND_POINT_Y], in->basePo… in PKA_ECCCompleteAddition_Set()
2869 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_COMPLETE_ADDITION_IN_SECOND_POINT_Y + (in->modulu… in PKA_ECCCompleteAddition_Set()
2872 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_COMPLETE_ADDITION_IN_SECOND_POINT_Z], in->basePo… in PKA_ECCCompleteAddition_Set()
2874 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_COMPLETE_ADDITION_IN_SECOND_POINT_Z + (in->modulu… in PKA_ECCCompleteAddition_Set()
2883 void HAL_PKA_ECCCompleteAddition_GetResult(PKA_HandleTypeDef *hpka, PKA_ECCCompleteAdditionOutTypeD… in HAL_PKA_ECCCompleteAddition_GetResult() argument
2888 size = (hpka->Instance->RAM[PKA_ECC_COMPLETE_ADDITION_IN_MOD_NB_BITS] + 7UL) / 8UL; in HAL_PKA_ECCCompleteAddition_GetResult()
2891 …PKA_Memcpy_u32_to_u8(out->ptX, &hpka->Instance->RAM[PKA_ECC_COMPLETE_ADDITION_OUT_RESULT_POINT_X],… in HAL_PKA_ECCCompleteAddition_GetResult()
2892 …PKA_Memcpy_u32_to_u8(out->ptY, &hpka->Instance->RAM[PKA_ECC_COMPLETE_ADDITION_OUT_RESULT_POINT_Y],… in HAL_PKA_ECCCompleteAddition_GetResult()
2893 …PKA_Memcpy_u32_to_u8(out->ptZ, &hpka->Instance->RAM[PKA_ECC_COMPLETE_ADDITION_OUT_RESULT_POINT_Z],… in HAL_PKA_ECCCompleteAddition_GetResult()
2906 HAL_StatusTypeDef PKA_WaitOnFlagUntilTimeout(PKA_HandleTypeDef *hpka, uint32_t Flag, FlagStatus Sta… in PKA_WaitOnFlagUntilTimeout() argument
2910 while (__HAL_PKA_GET_FLAG(hpka, Flag) == Status) in PKA_WaitOnFlagUntilTimeout()
2918 hpka->State = HAL_PKA_STATE_READY; in PKA_WaitOnFlagUntilTimeout()
2921 hpka->ErrorCode = HAL_PKA_ERROR_TIMEOUT; in PKA_WaitOnFlagUntilTimeout()
2937 uint32_t PKA_Result_GetSize(const PKA_HandleTypeDef *hpka, uint32_t Startindex, uint32_t Maxsize) in PKA_Result_GetSize() argument
2943 while ((hpka->Instance->RAM[Startindex + current_index] == 0UL) && (current_index != 0UL)) in PKA_Result_GetSize()