Lines Matching refs:hpka
279 uint32_t PKA_GetMode(PKA_HandleTypeDef *hpka);
280 HAL_StatusTypeDef PKA_PollEndOfOperation(PKA_HandleTypeDef *hpka, uint32_t Timeout, uint32_t Tickst…
281 uint32_t PKA_CheckError(PKA_HandleTypeDef *hpka, uint32_t mode);
289 HAL_StatusTypeDef PKA_Process(PKA_HandleTypeDef *hpka, uint32_t mode, uint32_t Timeout);
290 HAL_StatusTypeDef PKA_Process_IT(PKA_HandleTypeDef *hpka, uint32_t mode);
291 void PKA_ModExp_Set(PKA_HandleTypeDef *hpka, PKA_ModExpInTypeDef *in);
292 void PKA_ModExpFastMode_Set(PKA_HandleTypeDef *hpka, PKA_ModExpFastModeInTypeDef *in);
293 void PKA_ECDSASign_Set(PKA_HandleTypeDef *hpka, PKA_ECDSASignInTypeDef *in);
294 void PKA_ECDSAVerif_Set(PKA_HandleTypeDef *hpka, PKA_ECDSAVerifInTypeDef *in);
295 void PKA_RSACRTExp_Set(PKA_HandleTypeDef *hpka, PKA_RSACRTExpInTypeDef *in);
296 void PKA_PointCheck_Set(PKA_HandleTypeDef *hpka, PKA_PointCheckInTypeDef *in);
297 void PKA_ECCMul_Set(PKA_HandleTypeDef *hpka, PKA_ECCMulInTypeDef *in);
298 void PKA_ECCMulFastMode_Set(PKA_HandleTypeDef *hpka, PKA_ECCMulFastModeInTypeDef *in);
299 void PKA_ModRed_Set(PKA_HandleTypeDef *hpka, PKA_ModRedInTypeDef *in);
300 void PKA_ModInv_Set(PKA_HandleTypeDef *hpka, PKA_ModInvInTypeDef *in);
301 void PKA_MontgomeryParam_Set(PKA_HandleTypeDef *hpka, const uint32_t size, const uint8_t *pOp1);
302 void PKA_ARI_Set(PKA_HandleTypeDef *hpka, const uint32_t size, const uint32_t *pOp1, const uint32_t…
342 HAL_StatusTypeDef HAL_PKA_Init(PKA_HandleTypeDef *hpka) in HAL_PKA_Init() argument
347 if (hpka != NULL) in HAL_PKA_Init()
350 assert_param(IS_PKA_ALL_INSTANCE(hpka->Instance)); in HAL_PKA_Init()
352 if (hpka->State == HAL_PKA_STATE_RESET) in HAL_PKA_Init()
357 …hpka->OperationCpltCallback = HAL_PKA_OperationCpltCallback; /* Legacy weak OperationCpltCallback … in HAL_PKA_Init()
358 …hpka->ErrorCallback = HAL_PKA_ErrorCallback; /* Legacy weak ErrorCallback … in HAL_PKA_Init()
360 if (hpka->MspInitCallback == NULL) in HAL_PKA_Init()
362 hpka->MspInitCallback = HAL_PKA_MspInit; /* Legacy weak MspInit */ in HAL_PKA_Init()
366 hpka->MspInitCallback(hpka); in HAL_PKA_Init()
369 HAL_PKA_MspInit(hpka); in HAL_PKA_Init()
374 hpka->State = HAL_PKA_STATE_BUSY; in HAL_PKA_Init()
377 hpka->Instance->CR = PKA_CR_EN; in HAL_PKA_Init()
380 SET_BIT(hpka->Instance->CLRFR, PKA_CLRFR_PROCENDFC | PKA_CLRFR_RAMERRFC | PKA_CLRFR_ADDRERRFC); in HAL_PKA_Init()
383 hpka->ErrorCode = HAL_PKA_ERROR_NONE; in HAL_PKA_Init()
386 hpka->State = HAL_PKA_STATE_READY; in HAL_PKA_Init()
401 HAL_StatusTypeDef HAL_PKA_DeInit(PKA_HandleTypeDef *hpka) in HAL_PKA_DeInit() argument
406 if (hpka != NULL) in HAL_PKA_DeInit()
409 assert_param(IS_PKA_ALL_INSTANCE(hpka->Instance)); in HAL_PKA_DeInit()
412 hpka->State = HAL_PKA_STATE_BUSY; in HAL_PKA_DeInit()
416 hpka->Instance->CR = 0; in HAL_PKA_DeInit()
419 SET_BIT(hpka->Instance->CLRFR, PKA_CLRFR_PROCENDFC | PKA_CLRFR_RAMERRFC | PKA_CLRFR_ADDRERRFC); in HAL_PKA_DeInit()
422 if (hpka->MspDeInitCallback == NULL) in HAL_PKA_DeInit()
424 hpka->MspDeInitCallback = HAL_PKA_MspDeInit; /* Legacy weak MspDeInit */ in HAL_PKA_DeInit()
428 hpka->MspDeInitCallback(hpka); in HAL_PKA_DeInit()
431 HAL_PKA_MspDeInit(hpka); in HAL_PKA_DeInit()
435 hpka->ErrorCode = HAL_PKA_ERROR_NONE; in HAL_PKA_DeInit()
438 hpka->State = HAL_PKA_STATE_RESET; in HAL_PKA_DeInit()
453 __weak void HAL_PKA_MspInit(PKA_HandleTypeDef *hpka) in HAL_PKA_MspInit() argument
456 UNUSED(hpka); in HAL_PKA_MspInit()
468 __weak void HAL_PKA_MspDeInit(PKA_HandleTypeDef *hpka) in HAL_PKA_MspDeInit() argument
471 UNUSED(hpka); in HAL_PKA_MspDeInit()
493 HAL_StatusTypeDef HAL_PKA_RegisterCallback(PKA_HandleTypeDef *hpka, HAL_PKA_CallbackIDTypeDef Callb… in HAL_PKA_RegisterCallback() argument
501 hpka->ErrorCode |= HAL_PKA_ERROR_INVALID_CALLBACK; in HAL_PKA_RegisterCallback()
506 if (HAL_PKA_STATE_READY == hpka->State) in HAL_PKA_RegisterCallback()
511 hpka->OperationCpltCallback = pCallback; in HAL_PKA_RegisterCallback()
515 hpka->ErrorCallback = pCallback; in HAL_PKA_RegisterCallback()
519 hpka->MspInitCallback = pCallback; in HAL_PKA_RegisterCallback()
523 hpka->MspDeInitCallback = pCallback; in HAL_PKA_RegisterCallback()
528 hpka->ErrorCode |= HAL_PKA_ERROR_INVALID_CALLBACK; in HAL_PKA_RegisterCallback()
535 else if (HAL_PKA_STATE_RESET == hpka->State) in HAL_PKA_RegisterCallback()
540 hpka->MspInitCallback = pCallback; in HAL_PKA_RegisterCallback()
544 hpka->MspDeInitCallback = pCallback; in HAL_PKA_RegisterCallback()
549 hpka->ErrorCode |= HAL_PKA_ERROR_INVALID_CALLBACK; in HAL_PKA_RegisterCallback()
559 hpka->ErrorCode |= HAL_PKA_ERROR_INVALID_CALLBACK; in HAL_PKA_RegisterCallback()
581 HAL_StatusTypeDef HAL_PKA_UnRegisterCallback(PKA_HandleTypeDef *hpka, HAL_PKA_CallbackIDTypeDef Cal… in HAL_PKA_UnRegisterCallback() argument
585 if (HAL_PKA_STATE_READY == hpka->State) in HAL_PKA_UnRegisterCallback()
590 …hpka->OperationCpltCallback = HAL_PKA_OperationCpltCallback; /* Legacy weak OperationCpltCallback … in HAL_PKA_UnRegisterCallback()
594 …hpka->ErrorCallback = HAL_PKA_ErrorCallback; /* Legacy weak ErrorCallback */ in HAL_PKA_UnRegisterCallback()
598 …hpka->MspInitCallback = HAL_PKA_MspInit; /* Legacy weak MspInit */ in HAL_PKA_UnRegisterCallback()
602 …hpka->MspDeInitCallback = HAL_PKA_MspDeInit; /* Legacy weak MspDeInit */ in HAL_PKA_UnRegisterCallback()
607 hpka->ErrorCode |= HAL_PKA_ERROR_INVALID_CALLBACK; in HAL_PKA_UnRegisterCallback()
614 else if (HAL_PKA_STATE_RESET == hpka->State) in HAL_PKA_UnRegisterCallback()
619 … hpka->MspInitCallback = HAL_PKA_MspInit; /* Legacy weak MspInit */ in HAL_PKA_UnRegisterCallback()
623 … hpka->MspDeInitCallback = HAL_PKA_MspDeInit; /* Legacy weak MspDeInit */ in HAL_PKA_UnRegisterCallback()
628 hpka->ErrorCode |= HAL_PKA_ERROR_INVALID_CALLBACK; in HAL_PKA_UnRegisterCallback()
638 hpka->ErrorCode |= HAL_PKA_ERROR_INVALID_CALLBACK; in HAL_PKA_UnRegisterCallback()
759 HAL_StatusTypeDef HAL_PKA_ModExp(PKA_HandleTypeDef *hpka, PKA_ModExpInTypeDef *in, uint32_t Timeout) in HAL_PKA_ModExp() argument
762 PKA_ModExp_Set(hpka, in); in HAL_PKA_ModExp()
765 return PKA_Process(hpka, PKA_MODE_MODULAR_EXP, Timeout); in HAL_PKA_ModExp()
774 HAL_StatusTypeDef HAL_PKA_ModExp_IT(PKA_HandleTypeDef *hpka, PKA_ModExpInTypeDef *in) in HAL_PKA_ModExp_IT() argument
777 PKA_ModExp_Set(hpka, in); in HAL_PKA_ModExp_IT()
780 return PKA_Process_IT(hpka, PKA_MODE_MODULAR_EXP); in HAL_PKA_ModExp_IT()
790 HAL_StatusTypeDef HAL_PKA_ModExpFastMode(PKA_HandleTypeDef *hpka, PKA_ModExpFastModeInTypeDef *in, … in HAL_PKA_ModExpFastMode() argument
793 PKA_ModExpFastMode_Set(hpka, in); in HAL_PKA_ModExpFastMode()
796 return PKA_Process(hpka, PKA_MODE_MODULAR_EXP_FAST_MODE, Timeout); in HAL_PKA_ModExpFastMode()
805 HAL_StatusTypeDef HAL_PKA_ModExpFastMode_IT(PKA_HandleTypeDef *hpka, PKA_ModExpFastModeInTypeDef *i… in HAL_PKA_ModExpFastMode_IT() argument
808 PKA_ModExpFastMode_Set(hpka, in); in HAL_PKA_ModExpFastMode_IT()
811 return PKA_Process_IT(hpka, PKA_MODE_MODULAR_EXP_FAST_MODE); in HAL_PKA_ModExpFastMode_IT()
821 void HAL_PKA_ModExp_GetResult(PKA_HandleTypeDef *hpka, uint8_t *pRes) in HAL_PKA_ModExp_GetResult() argument
826 size = (hpka->Instance->RAM[PKA_MODULAR_EXP_IN_OP_NB_BITS] + 7UL) / 8UL; in HAL_PKA_ModExp_GetResult()
829 PKA_Memcpy_u32_to_u8(pRes, &hpka->Instance->RAM[PKA_MODULAR_EXP_OUT_SM_ALGO_ACC1], size); in HAL_PKA_ModExp_GetResult()
839 HAL_StatusTypeDef HAL_PKA_ECDSASign(PKA_HandleTypeDef *hpka, PKA_ECDSASignInTypeDef *in, uint32_t T… in HAL_PKA_ECDSASign() argument
842 PKA_ECDSASign_Set(hpka, in); in HAL_PKA_ECDSASign()
845 return PKA_Process(hpka, PKA_MODE_ECDSA_SIGNATURE, Timeout); in HAL_PKA_ECDSASign()
854 HAL_StatusTypeDef HAL_PKA_ECDSASign_IT(PKA_HandleTypeDef *hpka, PKA_ECDSASignInTypeDef *in) in HAL_PKA_ECDSASign_IT() argument
857 PKA_ECDSASign_Set(hpka, in); in HAL_PKA_ECDSASign_IT()
860 return PKA_Process_IT(hpka, PKA_MODE_ECDSA_SIGNATURE); in HAL_PKA_ECDSASign_IT()
869 void HAL_PKA_ECDSASign_GetResult(PKA_HandleTypeDef *hpka, PKA_ECDSASignOutTypeDef *out, in HAL_PKA_ECDSASign_GetResult() argument
874 size = (hpka->Instance->RAM[PKA_ECDSA_SIGN_IN_MOD_NB_BITS] + 7UL) / 8UL; in HAL_PKA_ECDSASign_GetResult()
878 PKA_Memcpy_u32_to_u8(out->RSign, &hpka->Instance->RAM[PKA_ECDSA_SIGN_OUT_SIGNATURE_R], size); in HAL_PKA_ECDSASign_GetResult()
879 PKA_Memcpy_u32_to_u8(out->SSign, &hpka->Instance->RAM[PKA_ECDSA_SIGN_OUT_SIGNATURE_S], size); in HAL_PKA_ECDSASign_GetResult()
886 PKA_Memcpy_u32_to_u8(outExt->ptX, &hpka->Instance->RAM[PKA_ECDSA_SIGN_OUT_FINAL_POINT_X], size); in HAL_PKA_ECDSASign_GetResult()
887 PKA_Memcpy_u32_to_u8(outExt->ptY, &hpka->Instance->RAM[PKA_ECDSA_SIGN_OUT_FINAL_POINT_Y], size); in HAL_PKA_ECDSASign_GetResult()
898 HAL_StatusTypeDef HAL_PKA_ECDSAVerif(PKA_HandleTypeDef *hpka, PKA_ECDSAVerifInTypeDef *in, uint32_t… in HAL_PKA_ECDSAVerif() argument
901 PKA_ECDSAVerif_Set(hpka, in); in HAL_PKA_ECDSAVerif()
904 return PKA_Process(hpka, PKA_MODE_ECDSA_VERIFICATION, Timeout); in HAL_PKA_ECDSAVerif()
914 HAL_StatusTypeDef HAL_PKA_ECDSAVerif_IT(PKA_HandleTypeDef *hpka, PKA_ECDSAVerifInTypeDef *in) in HAL_PKA_ECDSAVerif_IT() argument
917 PKA_ECDSAVerif_Set(hpka, in); in HAL_PKA_ECDSAVerif_IT()
920 return PKA_Process_IT(hpka, PKA_MODE_ECDSA_VERIFICATION); in HAL_PKA_ECDSAVerif_IT()
928 uint32_t HAL_PKA_ECDSAVerif_IsValidSignature(PKA_HandleTypeDef const *const hpka) in HAL_PKA_ECDSAVerif_IsValidSignature() argument
931 return (hpka->Instance->RAM[PKA_ECDSA_VERIF_OUT_RESULT] == 0UL) ? 1UL : 0UL; in HAL_PKA_ECDSAVerif_IsValidSignature()
941 HAL_StatusTypeDef HAL_PKA_RSACRTExp(PKA_HandleTypeDef *hpka, PKA_RSACRTExpInTypeDef *in, uint32_t T… in HAL_PKA_RSACRTExp() argument
944 PKA_RSACRTExp_Set(hpka, in); in HAL_PKA_RSACRTExp()
947 return PKA_Process(hpka, PKA_MODE_RSA_CRT_EXP, Timeout); in HAL_PKA_RSACRTExp()
956 HAL_StatusTypeDef HAL_PKA_RSACRTExp_IT(PKA_HandleTypeDef *hpka, PKA_RSACRTExpInTypeDef *in) in HAL_PKA_RSACRTExp_IT() argument
959 PKA_RSACRTExp_Set(hpka, in); in HAL_PKA_RSACRTExp_IT()
962 return PKA_Process_IT(hpka, PKA_MODE_RSA_CRT_EXP); in HAL_PKA_RSACRTExp_IT()
971 void HAL_PKA_RSACRTExp_GetResult(PKA_HandleTypeDef *hpka, uint8_t *pRes) in HAL_PKA_RSACRTExp_GetResult() argument
976 size = (hpka->Instance->RAM[PKA_RSA_CRT_EXP_IN_MOD_NB_BITS] + 7UL) / 8UL; in HAL_PKA_RSACRTExp_GetResult()
978 PKA_Memcpy_u32_to_u8(pRes, &hpka->Instance->RAM[PKA_RSA_CRT_EXP_OUT_RESULT], size); in HAL_PKA_RSACRTExp_GetResult()
988 HAL_StatusTypeDef HAL_PKA_PointCheck(PKA_HandleTypeDef *hpka, PKA_PointCheckInTypeDef *in, uint32_t… in HAL_PKA_PointCheck() argument
991 PKA_PointCheck_Set(hpka, in); in HAL_PKA_PointCheck()
994 return PKA_Process(hpka, PKA_MODE_POINT_CHECK, Timeout); in HAL_PKA_PointCheck()
1003 HAL_StatusTypeDef HAL_PKA_PointCheck_IT(PKA_HandleTypeDef *hpka, PKA_PointCheckInTypeDef *in) in HAL_PKA_PointCheck_IT() argument
1006 PKA_PointCheck_Set(hpka, in); in HAL_PKA_PointCheck_IT()
1009 return PKA_Process_IT(hpka, PKA_MODE_POINT_CHECK); in HAL_PKA_PointCheck_IT()
1017 uint32_t HAL_PKA_PointCheck_IsOnCurve(PKA_HandleTypeDef const *const hpka) in HAL_PKA_PointCheck_IsOnCurve() argument
1021 return (hpka->Instance->RAM[PKA_POINT_CHECK_OUT_ERROR] == PKA_POINT_IS_ON_CURVE) ? 1UL : 0UL; in HAL_PKA_PointCheck_IsOnCurve()
1031 HAL_StatusTypeDef HAL_PKA_ECCMul(PKA_HandleTypeDef *hpka, PKA_ECCMulInTypeDef *in, uint32_t Timeout) in HAL_PKA_ECCMul() argument
1034 PKA_ECCMul_Set(hpka, in); in HAL_PKA_ECCMul()
1037 return PKA_Process(hpka, PKA_MODE_ECC_MUL, Timeout); in HAL_PKA_ECCMul()
1046 HAL_StatusTypeDef HAL_PKA_ECCMul_IT(PKA_HandleTypeDef *hpka, PKA_ECCMulInTypeDef *in) in HAL_PKA_ECCMul_IT() argument
1049 PKA_ECCMul_Set(hpka, in); in HAL_PKA_ECCMul_IT()
1052 return PKA_Process_IT(hpka, PKA_MODE_ECC_MUL); in HAL_PKA_ECCMul_IT()
1061 HAL_StatusTypeDef HAL_PKA_ECCMulFastMode(PKA_HandleTypeDef *hpka, PKA_ECCMulFastModeInTypeDef *in, … in HAL_PKA_ECCMulFastMode() argument
1064 PKA_ECCMulFastMode_Set(hpka, in); in HAL_PKA_ECCMulFastMode()
1067 return PKA_Process(hpka, PKA_MODE_ECC_MUL_FAST_MODE, Timeout); in HAL_PKA_ECCMulFastMode()
1076 HAL_StatusTypeDef HAL_PKA_ECCMulFastMode_IT(PKA_HandleTypeDef *hpka, PKA_ECCMulFastModeInTypeDef *i… in HAL_PKA_ECCMulFastMode_IT() argument
1079 PKA_ECCMulFastMode_Set(hpka, in); in HAL_PKA_ECCMulFastMode_IT()
1082 return PKA_Process_IT(hpka, PKA_MODE_ECC_MUL_FAST_MODE); in HAL_PKA_ECCMulFastMode_IT()
1090 void HAL_PKA_ECCMul_GetResult(PKA_HandleTypeDef *hpka, PKA_ECCMulOutTypeDef *out) in HAL_PKA_ECCMul_GetResult() argument
1095 size = (hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_OP_NB_BITS] + 7UL) / 8UL; in HAL_PKA_ECCMul_GetResult()
1101 PKA_Memcpy_u32_to_u8(out->ptX, &hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_OUT_RESULT_X], size); in HAL_PKA_ECCMul_GetResult()
1102 PKA_Memcpy_u32_to_u8(out->ptY, &hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_OUT_RESULT_Y], size); in HAL_PKA_ECCMul_GetResult()
1113 HAL_StatusTypeDef HAL_PKA_Add(PKA_HandleTypeDef *hpka, PKA_AddInTypeDef *in, uint32_t Timeout) in HAL_PKA_Add() argument
1116 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, NULL); in HAL_PKA_Add()
1119 return PKA_Process(hpka, PKA_MODE_ARITHMETIC_ADD, Timeout); in HAL_PKA_Add()
1128 HAL_StatusTypeDef HAL_PKA_Add_IT(PKA_HandleTypeDef *hpka, PKA_AddInTypeDef *in) in HAL_PKA_Add_IT() argument
1131 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, NULL); in HAL_PKA_Add_IT()
1134 return PKA_Process_IT(hpka, PKA_MODE_ARITHMETIC_ADD); in HAL_PKA_Add_IT()
1144 HAL_StatusTypeDef HAL_PKA_Sub(PKA_HandleTypeDef *hpka, PKA_SubInTypeDef *in, uint32_t Timeout) in HAL_PKA_Sub() argument
1147 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, NULL); in HAL_PKA_Sub()
1150 return PKA_Process(hpka, PKA_MODE_ARITHMETIC_SUB, Timeout); in HAL_PKA_Sub()
1159 HAL_StatusTypeDef HAL_PKA_Sub_IT(PKA_HandleTypeDef *hpka, PKA_SubInTypeDef *in) in HAL_PKA_Sub_IT() argument
1162 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, NULL); in HAL_PKA_Sub_IT()
1165 return PKA_Process_IT(hpka, PKA_MODE_ARITHMETIC_SUB); in HAL_PKA_Sub_IT()
1175 HAL_StatusTypeDef HAL_PKA_Mul(PKA_HandleTypeDef *hpka, PKA_MulInTypeDef *in, uint32_t Timeout) in HAL_PKA_Mul() argument
1178 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, NULL); in HAL_PKA_Mul()
1181 return PKA_Process(hpka, PKA_MODE_ARITHMETIC_MUL, Timeout); in HAL_PKA_Mul()
1190 HAL_StatusTypeDef HAL_PKA_Mul_IT(PKA_HandleTypeDef *hpka, PKA_MulInTypeDef *in) in HAL_PKA_Mul_IT() argument
1193 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, NULL); in HAL_PKA_Mul_IT()
1196 return PKA_Process_IT(hpka, PKA_MODE_ARITHMETIC_MUL); in HAL_PKA_Mul_IT()
1206 HAL_StatusTypeDef HAL_PKA_Cmp(PKA_HandleTypeDef *hpka, PKA_CmpInTypeDef *in, uint32_t Timeout) in HAL_PKA_Cmp() argument
1209 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, NULL); in HAL_PKA_Cmp()
1212 return PKA_Process(hpka, PKA_MODE_COMPARISON, Timeout); in HAL_PKA_Cmp()
1221 HAL_StatusTypeDef HAL_PKA_Cmp_IT(PKA_HandleTypeDef *hpka, PKA_CmpInTypeDef *in) in HAL_PKA_Cmp_IT() argument
1224 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, NULL); in HAL_PKA_Cmp_IT()
1227 return PKA_Process_IT(hpka, PKA_MODE_COMPARISON); in HAL_PKA_Cmp_IT()
1237 HAL_StatusTypeDef HAL_PKA_ModAdd(PKA_HandleTypeDef *hpka, PKA_ModAddInTypeDef *in, uint32_t Timeout) in HAL_PKA_ModAdd() argument
1240 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, in->pOp3); in HAL_PKA_ModAdd()
1243 return PKA_Process(hpka, PKA_MODE_MODULAR_ADD, Timeout); in HAL_PKA_ModAdd()
1252 HAL_StatusTypeDef HAL_PKA_ModAdd_IT(PKA_HandleTypeDef *hpka, PKA_ModAddInTypeDef *in) in HAL_PKA_ModAdd_IT() argument
1255 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, in->pOp3); in HAL_PKA_ModAdd_IT()
1258 return PKA_Process_IT(hpka, PKA_MODE_MODULAR_ADD); in HAL_PKA_ModAdd_IT()
1268 HAL_StatusTypeDef HAL_PKA_ModInv(PKA_HandleTypeDef *hpka, PKA_ModInvInTypeDef *in, uint32_t Timeout) in HAL_PKA_ModInv() argument
1271 PKA_ModInv_Set(hpka, in); in HAL_PKA_ModInv()
1274 return PKA_Process(hpka, PKA_MODE_MODULAR_INV, Timeout); in HAL_PKA_ModInv()
1283 HAL_StatusTypeDef HAL_PKA_ModInv_IT(PKA_HandleTypeDef *hpka, PKA_ModInvInTypeDef *in) in HAL_PKA_ModInv_IT() argument
1286 PKA_ModInv_Set(hpka, in); in HAL_PKA_ModInv_IT()
1289 return PKA_Process_IT(hpka, PKA_MODE_MODULAR_INV); in HAL_PKA_ModInv_IT()
1299 HAL_StatusTypeDef HAL_PKA_ModSub(PKA_HandleTypeDef *hpka, PKA_ModSubInTypeDef *in, uint32_t Timeout) in HAL_PKA_ModSub() argument
1302 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, in->pOp3); in HAL_PKA_ModSub()
1305 return PKA_Process(hpka, PKA_MODE_MODULAR_SUB, Timeout); in HAL_PKA_ModSub()
1314 HAL_StatusTypeDef HAL_PKA_ModSub_IT(PKA_HandleTypeDef *hpka, PKA_ModSubInTypeDef *in) in HAL_PKA_ModSub_IT() argument
1317 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, in->pOp3); in HAL_PKA_ModSub_IT()
1320 return PKA_Process_IT(hpka, PKA_MODE_MODULAR_SUB); in HAL_PKA_ModSub_IT()
1330 HAL_StatusTypeDef HAL_PKA_ModRed(PKA_HandleTypeDef *hpka, PKA_ModRedInTypeDef *in, uint32_t Timeout) in HAL_PKA_ModRed() argument
1333 PKA_ModRed_Set(hpka, in); in HAL_PKA_ModRed()
1336 return PKA_Process(hpka, PKA_MODE_MODULAR_RED, Timeout); in HAL_PKA_ModRed()
1345 HAL_StatusTypeDef HAL_PKA_ModRed_IT(PKA_HandleTypeDef *hpka, PKA_ModRedInTypeDef *in) in HAL_PKA_ModRed_IT() argument
1348 PKA_ModRed_Set(hpka, in); in HAL_PKA_ModRed_IT()
1351 return PKA_Process_IT(hpka, PKA_MODE_MODULAR_RED); in HAL_PKA_ModRed_IT()
1361 HAL_StatusTypeDef HAL_PKA_MontgomeryMul(PKA_HandleTypeDef *hpka, PKA_MontgomeryMulInTypeDef *in, ui… in HAL_PKA_MontgomeryMul() argument
1364 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, in->pOp3); in HAL_PKA_MontgomeryMul()
1367 return PKA_Process(hpka, PKA_MODE_MONTGOMERY_MUL, Timeout); in HAL_PKA_MontgomeryMul()
1376 HAL_StatusTypeDef HAL_PKA_MontgomeryMul_IT(PKA_HandleTypeDef *hpka, PKA_MontgomeryMulInTypeDef *in) in HAL_PKA_MontgomeryMul_IT() argument
1379 PKA_ARI_Set(hpka, in->size, in->pOp1, in->pOp2, in->pOp3); in HAL_PKA_MontgomeryMul_IT()
1382 return PKA_Process_IT(hpka, PKA_MODE_MONTGOMERY_MUL); in HAL_PKA_MontgomeryMul_IT()
1390 void HAL_PKA_Arithmetic_GetResult(PKA_HandleTypeDef *hpka, uint32_t *pRes) in HAL_PKA_Arithmetic_GetResult() argument
1392 uint32_t mode = (hpka->Instance->CR & PKA_CR_MODE_Msk) >> PKA_CR_MODE_Pos; in HAL_PKA_Arithmetic_GetResult()
1404 size = hpka->Instance->RAM[1] / 32UL; in HAL_PKA_Arithmetic_GetResult()
1407 size = hpka->Instance->RAM[1] / 32UL; in HAL_PKA_Arithmetic_GetResult()
1410 if (hpka->Instance->RAM[500U + size] != 0UL) in HAL_PKA_Arithmetic_GetResult()
1420 size = hpka->Instance->RAM[1] / 32UL * 2UL; in HAL_PKA_Arithmetic_GetResult()
1439 PKA_Memcpy_u32_to_u32(pRes, &hpka->Instance->RAM[PKA_ARITHMETIC_ALL_OPS_OUT_RESULT], size); in HAL_PKA_Arithmetic_GetResult()
1454 HAL_StatusTypeDef HAL_PKA_MontgomeryParam(PKA_HandleTypeDef *hpka, PKA_MontgomeryParamInTypeDef *in… in HAL_PKA_MontgomeryParam() argument
1457 PKA_MontgomeryParam_Set(hpka, in->size, in->pOp1); in HAL_PKA_MontgomeryParam()
1460 return PKA_Process(hpka, PKA_MODE_MONTGOMERY_PARAM, Timeout); in HAL_PKA_MontgomeryParam()
1469 HAL_StatusTypeDef HAL_PKA_MontgomeryParam_IT(PKA_HandleTypeDef *hpka, PKA_MontgomeryParamInTypeDef … in HAL_PKA_MontgomeryParam_IT() argument
1472 PKA_MontgomeryParam_Set(hpka, in->size, in->pOp1); in HAL_PKA_MontgomeryParam_IT()
1475 return PKA_Process_IT(hpka, PKA_MODE_MONTGOMERY_PARAM); in HAL_PKA_MontgomeryParam_IT()
1485 void HAL_PKA_MontgomeryParam_GetResult(PKA_HandleTypeDef *hpka, uint32_t *pRes) in HAL_PKA_MontgomeryParam_GetResult() argument
1490 size = (hpka->Instance->RAM[PKA_MONTGOMERY_PARAM_IN_MOD_NB_BITS] + 31UL) / 32UL; in HAL_PKA_MontgomeryParam_GetResult()
1493 PKA_Memcpy_u32_to_u32(pRes, &hpka->Instance->RAM[PKA_MONTGOMERY_PARAM_OUT_PARAMETER], size); in HAL_PKA_MontgomeryParam_GetResult()
1501 HAL_StatusTypeDef HAL_PKA_Abort(PKA_HandleTypeDef *hpka) in HAL_PKA_Abort() argument
1507 CLEAR_BIT(hpka->Instance->CR, PKA_CR_EN); in HAL_PKA_Abort()
1508 SET_BIT(hpka->Instance->CR, PKA_CR_EN); in HAL_PKA_Abort()
1511 SET_BIT(hpka->Instance->CLRFR, PKA_CLRFR_PROCENDFC | PKA_CLRFR_RAMERRFC | PKA_CLRFR_ADDRERRFC); in HAL_PKA_Abort()
1514 hpka->ErrorCode = HAL_PKA_ERROR_NONE; in HAL_PKA_Abort()
1517 hpka->State = HAL_PKA_STATE_READY; in HAL_PKA_Abort()
1527 void HAL_PKA_RAMReset(PKA_HandleTypeDef *hpka) in HAL_PKA_RAMReset() argument
1535 hpka->Instance->RAM[index] = 0UL; in HAL_PKA_RAMReset()
1544 void HAL_PKA_IRQHandler(PKA_HandleTypeDef *hpka) in HAL_PKA_IRQHandler() argument
1546 uint32_t mode = PKA_GetMode(hpka); in HAL_PKA_IRQHandler()
1547 FlagStatus addErrFlag = __HAL_PKA_GET_FLAG(hpka, PKA_FLAG_ADDRERR); in HAL_PKA_IRQHandler()
1548 FlagStatus ramErrFlag = __HAL_PKA_GET_FLAG(hpka, PKA_FLAG_RAMERR); in HAL_PKA_IRQHandler()
1549 FlagStatus procEndFlag = __HAL_PKA_GET_FLAG(hpka, PKA_FLAG_PROCEND); in HAL_PKA_IRQHandler()
1552 if ((__HAL_PKA_GET_IT_SOURCE(hpka, PKA_IT_ADDRERR) == SET) && (addErrFlag == SET)) in HAL_PKA_IRQHandler()
1554 hpka->ErrorCode |= HAL_PKA_ERROR_ADDRERR; in HAL_PKA_IRQHandler()
1557 __HAL_PKA_CLEAR_FLAG(hpka, PKA_FLAG_ADDRERR); in HAL_PKA_IRQHandler()
1561 if ((__HAL_PKA_GET_IT_SOURCE(hpka, PKA_IT_RAMERR) == SET) && (ramErrFlag == SET)) in HAL_PKA_IRQHandler()
1563 hpka->ErrorCode |= HAL_PKA_ERROR_RAMERR; in HAL_PKA_IRQHandler()
1566 __HAL_PKA_CLEAR_FLAG(hpka, PKA_FLAG_RAMERR); in HAL_PKA_IRQHandler()
1573 if (hpka->Instance->RAM[PKA_ECDSA_SIGN_OUT_ERROR] != 0UL) in HAL_PKA_IRQHandler()
1575 hpka->ErrorCode |= HAL_PKA_ERROR_OPERATION; in HAL_PKA_IRQHandler()
1579 if (hpka->ErrorCode != HAL_PKA_ERROR_NONE) in HAL_PKA_IRQHandler()
1582 hpka->ErrorCallback(hpka); in HAL_PKA_IRQHandler()
1584 HAL_PKA_ErrorCallback(hpka); in HAL_PKA_IRQHandler()
1589 if ((__HAL_PKA_GET_IT_SOURCE(hpka, PKA_IT_PROCEND) == SET) && (procEndFlag == SET)) in HAL_PKA_IRQHandler()
1592 __HAL_PKA_CLEAR_FLAG(hpka, PKA_FLAG_PROCEND); in HAL_PKA_IRQHandler()
1595 hpka->State = HAL_PKA_STATE_READY; in HAL_PKA_IRQHandler()
1598 hpka->OperationCpltCallback(hpka); in HAL_PKA_IRQHandler()
1600 HAL_PKA_OperationCpltCallback(hpka); in HAL_PKA_IRQHandler()
1610 __weak void HAL_PKA_OperationCpltCallback(PKA_HandleTypeDef *hpka) in HAL_PKA_OperationCpltCallback() argument
1613 UNUSED(hpka); in HAL_PKA_OperationCpltCallback()
1625 __weak void HAL_PKA_ErrorCallback(PKA_HandleTypeDef *hpka) in HAL_PKA_ErrorCallback() argument
1628 UNUSED(hpka); in HAL_PKA_ErrorCallback()
1658 HAL_PKA_StateTypeDef HAL_PKA_GetState(PKA_HandleTypeDef *hpka) in HAL_PKA_GetState() argument
1661 return hpka->State; in HAL_PKA_GetState()
1669 uint32_t HAL_PKA_GetError(PKA_HandleTypeDef *hpka) in HAL_PKA_GetError() argument
1672 return hpka->ErrorCode; in HAL_PKA_GetError()
1692 uint32_t PKA_GetMode(PKA_HandleTypeDef *hpka) in PKA_GetMode() argument
1695 return (uint32_t)(READ_BIT(hpka->Instance->CR, PKA_CR_MODE) >> PKA_CR_MODE_Pos); in PKA_GetMode()
1705 HAL_StatusTypeDef PKA_PollEndOfOperation(PKA_HandleTypeDef *hpka, uint32_t Timeout, uint32_t Tickst… in PKA_PollEndOfOperation() argument
1708 while ((hpka->Instance->SR & PKA_SR_PROCENDF) == 0UL) in PKA_PollEndOfOperation()
1728 uint32_t PKA_CheckError(PKA_HandleTypeDef *hpka, uint32_t mode) in PKA_CheckError() argument
1733 if (__HAL_PKA_GET_FLAG(hpka, PKA_FLAG_RAMERR) == SET) in PKA_CheckError()
1739 if (__HAL_PKA_GET_FLAG(hpka, PKA_FLAG_ADDRERR) == SET) in PKA_CheckError()
1749 if (hpka->Instance->RAM[PKA_ECDSA_SIGN_OUT_ERROR] != EDCSA_SIGN_NOERROR) in PKA_CheckError()
1934 HAL_StatusTypeDef PKA_Process(PKA_HandleTypeDef *hpka, uint32_t mode, uint32_t Timeout) in PKA_Process() argument
1939 if (hpka->State == HAL_PKA_STATE_READY) in PKA_Process()
1942 hpka->State = HAL_PKA_STATE_BUSY; in PKA_Process()
1945 hpka->ErrorCode = HAL_PKA_ERROR_NONE; in PKA_Process()
1951 …MODIFY_REG(hpka->Instance->CR, PKA_CR_MODE | PKA_CR_PROCENDIE | PKA_CR_RAMERRIE | PKA_CR_ADDRERRIE, in PKA_Process()
1955 hpka->Instance->CR |= PKA_CR_START; in PKA_Process()
1958 if (PKA_PollEndOfOperation(hpka, Timeout, tickstart) != HAL_OK) in PKA_Process()
1961 CLEAR_BIT(hpka->Instance->CR, PKA_CR_EN); in PKA_Process()
1963 hpka->ErrorCode |= HAL_PKA_ERROR_TIMEOUT; in PKA_Process()
1966 SET_BIT(hpka->Instance->CR, PKA_CR_EN); in PKA_Process()
1970 hpka->ErrorCode |= PKA_CheckError(hpka, mode); in PKA_Process()
1973 hpka->Instance->CLRFR |= (PKA_CLRFR_PROCENDFC | PKA_CLRFR_RAMERRFC | PKA_CLRFR_ADDRERRFC); in PKA_Process()
1976 hpka->State = HAL_PKA_STATE_READY; in PKA_Process()
1979 if (hpka->ErrorCode != HAL_PKA_ERROR_NONE) in PKA_Process()
1997 HAL_StatusTypeDef PKA_Process_IT(PKA_HandleTypeDef *hpka, uint32_t mode) in PKA_Process_IT() argument
2001 if (hpka->State == HAL_PKA_STATE_READY) in PKA_Process_IT()
2004 hpka->State = HAL_PKA_STATE_BUSY; in PKA_Process_IT()
2007 hpka->ErrorCode = HAL_PKA_ERROR_NONE; in PKA_Process_IT()
2010 …MODIFY_REG(hpka->Instance->CR, PKA_CR_MODE | PKA_CR_PROCENDIE | PKA_CR_RAMERRIE | PKA_CR_ADDRERRIE, in PKA_Process_IT()
2014 hpka->Instance->CR |= PKA_CR_START; in PKA_Process_IT()
2028 void PKA_ModExp_Set(PKA_HandleTypeDef *hpka, PKA_ModExpInTypeDef *in) in PKA_ModExp_Set() argument
2031 hpka->Instance->RAM[PKA_MODULAR_EXP_IN_OP_NB_BITS] = PKA_GetBitSize_u8(in->OpSize); in PKA_ModExp_Set()
2034 hpka->Instance->RAM[PKA_MODULAR_EXP_IN_EXP_NB_BITS] = PKA_GetBitSize_u8(in->expSize); in PKA_ModExp_Set()
2037 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_MODULAR_EXP_IN_EXPONENT_BASE], in->pOp1, in->OpSize); in PKA_ModExp_Set()
2038 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MODULAR_EXP_IN_EXPONENT_BASE + ((in->OpSize + 3UL) / … in PKA_ModExp_Set()
2041 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_MODULAR_EXP_IN_EXPONENT], in->pExp, in->expSize); in PKA_ModExp_Set()
2042 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MODULAR_EXP_IN_EXPONENT + ((in->expSize + 3UL) / 4UL)… in PKA_ModExp_Set()
2045 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_MODULAR_EXP_IN_MODULUS], in->pMod, in->OpSize); in PKA_ModExp_Set()
2046 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MODULAR_EXP_IN_MODULUS + ((in->OpSize + 3UL) / 4UL)); in PKA_ModExp_Set()
2054 void PKA_ModExpFastMode_Set(PKA_HandleTypeDef *hpka, PKA_ModExpFastModeInTypeDef *in) in PKA_ModExpFastMode_Set() argument
2057 hpka->Instance->RAM[PKA_MODULAR_EXP_IN_OP_NB_BITS] = PKA_GetBitSize_u8(in->OpSize); in PKA_ModExpFastMode_Set()
2060 hpka->Instance->RAM[PKA_MODULAR_EXP_IN_EXP_NB_BITS] = PKA_GetBitSize_u8(in->expSize); in PKA_ModExpFastMode_Set()
2063 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_MODULAR_EXP_IN_EXPONENT_BASE], in->pOp1, in->OpSize); in PKA_ModExpFastMode_Set()
2064 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MODULAR_EXP_IN_EXPONENT_BASE + (in->OpSize / 4UL)); in PKA_ModExpFastMode_Set()
2067 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_MODULAR_EXP_IN_EXPONENT], in->pExp, in->expSize); in PKA_ModExpFastMode_Set()
2068 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MODULAR_EXP_IN_EXPONENT + (in->expSize / 4UL)); in PKA_ModExpFastMode_Set()
2071 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_MODULAR_EXP_IN_MODULUS], in->pMod, in->OpSize); in PKA_ModExpFastMode_Set()
2072 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MODULAR_EXP_IN_MODULUS + (in->OpSize / 4UL)); in PKA_ModExpFastMode_Set()
2075 …PKA_Memcpy_u32_to_u32(&hpka->Instance->RAM[PKA_MODULAR_EXP_IN_MONTGOMERY_PARAM], in->pMontgomeryPa… in PKA_ModExpFastMode_Set()
2077 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MODULAR_EXP_IN_MONTGOMERY_PARAM + (in->OpSize / 4UL)); in PKA_ModExpFastMode_Set()
2086 void PKA_ECDSASign_Set(PKA_HandleTypeDef *hpka, PKA_ECDSASignInTypeDef *in) in PKA_ECDSASign_Set() argument
2089 …hpka->Instance->RAM[PKA_ECDSA_SIGN_IN_ORDER_NB_BITS] = PKA_GetOptBitSize_u8(in->primeOrderSize, *(… in PKA_ECDSASign_Set()
2092 …hpka->Instance->RAM[PKA_ECDSA_SIGN_IN_MOD_NB_BITS] = PKA_GetOptBitSize_u8(in->modulusSize, *(in->m… in PKA_ECDSASign_Set()
2095 hpka->Instance->RAM[PKA_ECDSA_SIGN_IN_A_COEFF_SIGN] = in->coefSign; in PKA_ECDSASign_Set()
2098 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_SIGN_IN_A_COEFF], in->coef, in->modulusSize); in PKA_ECDSASign_Set()
2099 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_SIGN_IN_A_COEFF + ((in->modulusSize + 3UL) / 4U… in PKA_ECDSASign_Set()
2102 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_SIGN_IN_MOD_GF], in->modulus, in->modulusSize); in PKA_ECDSASign_Set()
2103 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_SIGN_IN_MOD_GF + ((in->modulusSize + 3UL) / 4UL… in PKA_ECDSASign_Set()
2106 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_SIGN_IN_K], in->integer, in->primeOrderSize); in PKA_ECDSASign_Set()
2107 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_SIGN_IN_K + ((in->primeOrderSize + 3UL) / 4UL)); in PKA_ECDSASign_Set()
2110 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_SIGN_IN_INITIAL_POINT_X], in->basePointX, in->… in PKA_ECDSASign_Set()
2111 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_SIGN_IN_INITIAL_POINT_X + ((in->modulusSize + 3… in PKA_ECDSASign_Set()
2114 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_SIGN_IN_INITIAL_POINT_Y], in->basePointY, in->… in PKA_ECDSASign_Set()
2115 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_SIGN_IN_INITIAL_POINT_Y + ((in->modulusSize + 3… in PKA_ECDSASign_Set()
2118 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_SIGN_IN_HASH_E], in->hash, in->primeOrderSize); in PKA_ECDSASign_Set()
2119 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_SIGN_IN_HASH_E + ((in->primeOrderSize + 3UL) / … in PKA_ECDSASign_Set()
2122 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_SIGN_IN_PRIVATE_KEY_D], in->privateKey, in->pr… in PKA_ECDSASign_Set()
2123 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_SIGN_IN_PRIVATE_KEY_D + ((in->primeOrderSize + … in PKA_ECDSASign_Set()
2126 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_SIGN_IN_ORDER_N], in->primeOrder, in->primeOrd… in PKA_ECDSASign_Set()
2127 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_SIGN_IN_ORDER_N + ((in->primeOrderSize + 3UL) /… in PKA_ECDSASign_Set()
2135 void PKA_ECDSAVerif_Set(PKA_HandleTypeDef *hpka, PKA_ECDSAVerifInTypeDef *in) in PKA_ECDSAVerif_Set() argument
2138 …hpka->Instance->RAM[PKA_ECDSA_VERIF_IN_ORDER_NB_BITS] = PKA_GetOptBitSize_u8(in->primeOrderSize, *… in PKA_ECDSAVerif_Set()
2141 …hpka->Instance->RAM[PKA_ECDSA_VERIF_IN_MOD_NB_BITS] = PKA_GetOptBitSize_u8(in->modulusSize, *(in->… in PKA_ECDSAVerif_Set()
2144 hpka->Instance->RAM[PKA_ECDSA_VERIF_IN_A_COEFF_SIGN] = in->coefSign; in PKA_ECDSAVerif_Set()
2147 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_VERIF_IN_A_COEFF], in->coef, in->modulusSize); in PKA_ECDSAVerif_Set()
2148 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_VERIF_IN_A_COEFF + ((in->modulusSize + 3UL) / 4… in PKA_ECDSAVerif_Set()
2151 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_VERIF_IN_MOD_GF], in->modulus, in->modulusSize… in PKA_ECDSAVerif_Set()
2152 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_VERIF_IN_MOD_GF + ((in->modulusSize + 3UL) / 4U… in PKA_ECDSAVerif_Set()
2155 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_VERIF_IN_INITIAL_POINT_X], in->basePointX, in-… in PKA_ECDSAVerif_Set()
2156 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_VERIF_IN_INITIAL_POINT_X + ((in->modulusSize + … in PKA_ECDSAVerif_Set()
2159 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_VERIF_IN_INITIAL_POINT_Y], in->basePointY, in-… in PKA_ECDSAVerif_Set()
2160 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_VERIF_IN_INITIAL_POINT_Y + ((in->modulusSize + … in PKA_ECDSAVerif_Set()
2163 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_VERIF_IN_PUBLIC_KEY_POINT_X], in->pPubKeyCurve… in PKA_ECDSAVerif_Set()
2165 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_VERIF_IN_PUBLIC_KEY_POINT_X + ((in->modulusSize… in PKA_ECDSAVerif_Set()
2168 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_VERIF_IN_PUBLIC_KEY_POINT_Y], in->pPubKeyCurve… in PKA_ECDSAVerif_Set()
2170 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_VERIF_IN_PUBLIC_KEY_POINT_Y + ((in->modulusSize… in PKA_ECDSAVerif_Set()
2173 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_VERIF_IN_SIGNATURE_R], in->RSign, in->primeOrd… in PKA_ECDSAVerif_Set()
2174 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_VERIF_IN_SIGNATURE_R + ((in->primeOrderSize + 3… in PKA_ECDSAVerif_Set()
2177 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_VERIF_IN_SIGNATURE_S], in->SSign, in->primeOrd… in PKA_ECDSAVerif_Set()
2178 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_VERIF_IN_SIGNATURE_S + ((in->primeOrderSize + 3… in PKA_ECDSAVerif_Set()
2181 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_VERIF_IN_HASH_E], in->hash, in->primeOrderSize… in PKA_ECDSAVerif_Set()
2182 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_VERIF_IN_HASH_E + ((in->primeOrderSize + 3UL) /… in PKA_ECDSAVerif_Set()
2185 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECDSA_VERIF_IN_ORDER_N], in->primeOrder, in->primeOr… in PKA_ECDSAVerif_Set()
2186 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECDSA_VERIF_IN_ORDER_N + ((in->primeOrderSize + 3UL) … in PKA_ECDSAVerif_Set()
2194 void PKA_RSACRTExp_Set(PKA_HandleTypeDef *hpka, PKA_RSACRTExpInTypeDef *in) in PKA_RSACRTExp_Set() argument
2197 hpka->Instance->RAM[PKA_RSA_CRT_EXP_IN_MOD_NB_BITS] = PKA_GetBitSize_u8(in->size); in PKA_RSACRTExp_Set()
2200 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_RSA_CRT_EXP_IN_DP_CRT], in->pOpDp, in->size / 2UL); in PKA_RSACRTExp_Set()
2201 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_RSA_CRT_EXP_IN_DP_CRT + (in->size / 8UL)); in PKA_RSACRTExp_Set()
2204 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_RSA_CRT_EXP_IN_DQ_CRT], in->pOpDq, in->size / 2UL); in PKA_RSACRTExp_Set()
2205 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_RSA_CRT_EXP_IN_DQ_CRT + (in->size / 8UL)); in PKA_RSACRTExp_Set()
2208 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_RSA_CRT_EXP_IN_QINV_CRT], in->pOpQinv, in->size / 2U… in PKA_RSACRTExp_Set()
2209 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_RSA_CRT_EXP_IN_QINV_CRT + (in->size / 8UL)); in PKA_RSACRTExp_Set()
2212 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_RSA_CRT_EXP_IN_PRIME_P], in->pPrimeP, in->size / 2UL… in PKA_RSACRTExp_Set()
2213 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_RSA_CRT_EXP_IN_PRIME_P + (in->size / 8UL)); in PKA_RSACRTExp_Set()
2216 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_RSA_CRT_EXP_IN_PRIME_Q], in->pPrimeQ, in->size / 2UL… in PKA_RSACRTExp_Set()
2217 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_RSA_CRT_EXP_IN_PRIME_Q + (in->size / 8UL)); in PKA_RSACRTExp_Set()
2220 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_RSA_CRT_EXP_IN_EXPONENT_BASE], in->popA, in->size); in PKA_RSACRTExp_Set()
2221 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_RSA_CRT_EXP_IN_EXPONENT_BASE + (in->size / 4UL)); in PKA_RSACRTExp_Set()
2229 void PKA_PointCheck_Set(PKA_HandleTypeDef *hpka, PKA_PointCheckInTypeDef *in) in PKA_PointCheck_Set() argument
2232 …hpka->Instance->RAM[PKA_POINT_CHECK_IN_MOD_NB_BITS] = PKA_GetOptBitSize_u8(in->modulusSize, *(in->… in PKA_PointCheck_Set()
2235 hpka->Instance->RAM[PKA_POINT_CHECK_IN_A_COEFF_SIGN] = in->coefSign; in PKA_PointCheck_Set()
2238 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_POINT_CHECK_IN_A_COEFF], in->coefA, in->modulusSize); in PKA_PointCheck_Set()
2239 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_POINT_CHECK_IN_A_COEFF + ((in->modulusSize + 3UL) / 4… in PKA_PointCheck_Set()
2242 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_POINT_CHECK_IN_B_COEFF], in->coefB, in->modulusSize); in PKA_PointCheck_Set()
2243 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_POINT_CHECK_IN_B_COEFF + ((in->modulusSize + 3UL) / 4… in PKA_PointCheck_Set()
2246 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_POINT_CHECK_IN_MOD_GF], in->modulus, in->modulusSize… in PKA_PointCheck_Set()
2247 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_POINT_CHECK_IN_MOD_GF + ((in->modulusSize + 3UL) / 4U… in PKA_PointCheck_Set()
2250 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_POINT_CHECK_IN_INITIAL_POINT_X], in->pointX, in->mod… in PKA_PointCheck_Set()
2251 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_POINT_CHECK_IN_INITIAL_POINT_X + ((in->modulusSize + … in PKA_PointCheck_Set()
2254 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_POINT_CHECK_IN_INITIAL_POINT_Y], in->pointY, in->mod… in PKA_PointCheck_Set()
2255 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_POINT_CHECK_IN_INITIAL_POINT_Y + ((in->modulusSize + … in PKA_PointCheck_Set()
2263 void PKA_ECCMul_Set(PKA_HandleTypeDef *hpka, PKA_ECCMulInTypeDef *in) in PKA_ECCMul_Set() argument
2266 …hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_EXP_NB_BITS] = PKA_GetOptBitSize_u8(in->scalarMulSize, *… in PKA_ECCMul_Set()
2269 …hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_OP_NB_BITS] = PKA_GetOptBitSize_u8(in->modulusSize, *(in… in PKA_ECCMul_Set()
2272 hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_A_COEFF_SIGN] = in->coefSign; in PKA_ECCMul_Set()
2275 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_A_COEFF], in->coefA, in->modulusSi… in PKA_ECCMul_Set()
2276 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_SCALAR_MUL_IN_A_COEFF + ((in->modulusSize + 3UL) … in PKA_ECCMul_Set()
2280 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_MOD_GF], in->modulus, in->modulusS… in PKA_ECCMul_Set()
2281 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_SCALAR_MUL_IN_MOD_GF + ((in->modulusSize + 3UL) /… in PKA_ECCMul_Set()
2284 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_K], in->scalarMul, in->scalarMulSi… in PKA_ECCMul_Set()
2285 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_SCALAR_MUL_IN_K + ((in->scalarMulSize + 3UL) / 4U… in PKA_ECCMul_Set()
2288 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_INITIAL_POINT_X], in->pointX, in->… in PKA_ECCMul_Set()
2289 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_SCALAR_MUL_IN_INITIAL_POINT_X + ((in->modulusSize… in PKA_ECCMul_Set()
2292 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_INITIAL_POINT_Y], in->pointY, in->… in PKA_ECCMul_Set()
2293 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_SCALAR_MUL_IN_INITIAL_POINT_Y + ((in->modulusSize… in PKA_ECCMul_Set()
2303 void PKA_ECCMulFastMode_Set(PKA_HandleTypeDef *hpka, PKA_ECCMulFastModeInTypeDef *in) in PKA_ECCMulFastMode_Set() argument
2306 …hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_EXP_NB_BITS] = PKA_GetOptBitSize_u8(in->scalarMulSize, *… in PKA_ECCMulFastMode_Set()
2309 …hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_OP_NB_BITS] = PKA_GetOptBitSize_u8(in->modulusSize, *(in… in PKA_ECCMulFastMode_Set()
2312 hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_A_COEFF_SIGN] = in->coefSign; in PKA_ECCMulFastMode_Set()
2315 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_A_COEFF], in->coefA, in->modulusSi… in PKA_ECCMulFastMode_Set()
2316 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_SCALAR_MUL_IN_A_COEFF + ((in->modulusSize + 3UL) … in PKA_ECCMulFastMode_Set()
2319 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_MOD_GF], in->modulus, in->modulusS… in PKA_ECCMulFastMode_Set()
2320 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_SCALAR_MUL_IN_MOD_GF + ((in->modulusSize + 3UL) /… in PKA_ECCMulFastMode_Set()
2323 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_K], in->scalarMul, in->scalarMulSi… in PKA_ECCMulFastMode_Set()
2324 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_SCALAR_MUL_IN_K + ((in->scalarMulSize + 3UL) / 4U… in PKA_ECCMulFastMode_Set()
2327 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_POINT_CHECK_IN_INITIAL_POINT_X], in->pointX, in->mod… in PKA_ECCMulFastMode_Set()
2328 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_POINT_CHECK_IN_INITIAL_POINT_X + ((in->modulusSize + … in PKA_ECCMulFastMode_Set()
2331 …PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_POINT_CHECK_IN_INITIAL_POINT_Y], in->pointY, in->mod… in PKA_ECCMulFastMode_Set()
2332 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_POINT_CHECK_IN_INITIAL_POINT_Y + ((in->modulusSize + … in PKA_ECCMulFastMode_Set()
2335 …PKA_Memcpy_u32_to_u32(&hpka->Instance->RAM[PKA_ECC_SCALAR_MUL_IN_MONTGOMERY_PARAM], in->pMontgomer… in PKA_ECCMulFastMode_Set()
2337 …__PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ECC_SCALAR_MUL_IN_MONTGOMERY_PARAM + ((in->modulusSiz… in PKA_ECCMulFastMode_Set()
2344 void PKA_ModInv_Set(PKA_HandleTypeDef *hpka, PKA_ModInvInTypeDef *in) in PKA_ModInv_Set() argument
2347 hpka->Instance->RAM[PKA_MODULAR_INV_NB_BITS] = PKA_GetBitSize_u32(in->size); in PKA_ModInv_Set()
2350 PKA_Memcpy_u32_to_u32(&hpka->Instance->RAM[PKA_MODULAR_INV_IN_OP1], in->pOp1, in->size); in PKA_ModInv_Set()
2351 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MODULAR_INV_IN_OP1 + in->size); in PKA_ModInv_Set()
2354 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_MODULAR_INV_IN_OP2_MOD], in->pMod, in->size * 4UL); in PKA_ModInv_Set()
2355 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MODULAR_INV_IN_OP2_MOD + in->size); in PKA_ModInv_Set()
2363 void PKA_ModRed_Set(PKA_HandleTypeDef *hpka, PKA_ModRedInTypeDef *in) in PKA_ModRed_Set() argument
2366 hpka->Instance->RAM[PKA_MODULAR_REDUC_IN_OP_LENGTH] = PKA_GetBitSize_u32(in->OpSize); in PKA_ModRed_Set()
2369 hpka->Instance->RAM[PKA_MODULAR_REDUC_IN_MOD_LENGTH] = PKA_GetBitSize_u8(in->modSize); in PKA_ModRed_Set()
2372 PKA_Memcpy_u32_to_u32(&hpka->Instance->RAM[PKA_MODULAR_REDUC_IN_OPERAND], in->pOp1, in->OpSize); in PKA_ModRed_Set()
2373 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MODULAR_REDUC_IN_OPERAND + in->OpSize); in PKA_ModRed_Set()
2376 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_MODULAR_REDUC_IN_MODULUS], in->pMod, in->modSize); in PKA_ModRed_Set()
2377 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MODULAR_REDUC_IN_MODULUS + (in->modSize / 4UL)); in PKA_ModRed_Set()
2386 void PKA_MontgomeryParam_Set(PKA_HandleTypeDef *hpka, const uint32_t size, const uint8_t *pOp1) in PKA_MontgomeryParam_Set() argument
2403 …hpka->Instance->RAM[PKA_MONTGOMERY_PARAM_IN_MOD_NB_BITS] = PKA_GetOptBitSize_u8(newSize, pOp1[byte… in PKA_MontgomeryParam_Set()
2406 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_MONTGOMERY_PARAM_IN_MODULUS], pOp1, size); in PKA_MontgomeryParam_Set()
2407 … __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_MONTGOMERY_PARAM_IN_MODULUS + ((size + 3UL) / 4UL)); in PKA_MontgomeryParam_Set()
2419 void PKA_ARI_Set(PKA_HandleTypeDef *hpka, const uint32_t size, const uint32_t *pOp1, const uint32_t… in PKA_ARI_Set() argument
2423 hpka->Instance->RAM[PKA_ARITHMETIC_ALL_OPS_NB_BITS] = PKA_GetBitSize_u32(size); in PKA_ARI_Set()
2428 PKA_Memcpy_u32_to_u32(&hpka->Instance->RAM[PKA_ARITHMETIC_ALL_OPS_IN_OP1], pOp1, size); in PKA_ARI_Set()
2429 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ARITHMETIC_ALL_OPS_IN_OP1 + size); in PKA_ARI_Set()
2435 PKA_Memcpy_u32_to_u32(&hpka->Instance->RAM[PKA_ARITHMETIC_ALL_OPS_IN_OP2], pOp2, size); in PKA_ARI_Set()
2436 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ARITHMETIC_ALL_OPS_IN_OP2 + size); in PKA_ARI_Set()
2442 PKA_Memcpy_u8_to_u32(&hpka->Instance->RAM[PKA_ARITHMETIC_ALL_OPS_IN_OP3], pOp3, size * 4UL); in PKA_ARI_Set()
2443 __PKA_RAM_PARAM_END(hpka->Instance->RAM, PKA_ARITHMETIC_ALL_OPS_IN_OP3 + size); in PKA_ARI_Set()