lib/sw_services/xilsecure/src/common/xsecure_rsa.c
int XSecure_RsaPublicEncrypt_64Bit(XSecure_Rsa *InstancePtr, u64 Input,
	u32 Size, u64 Result)
{
	int Status = XST_FAILURE;

	/* Validate the input arguments */
	if ((InstancePtr == NULL) || (Result == 0x00U) || (Input == 0x00U) ||
		(Size == 0x00U)) {
		Status = (int)XSECURE_RSA_INVALID_PARAM;
		goto END;
	}

	if (InstancePtr->RsaState != XSECURE_RSA_INITIALIZED) {
		Status = (int)XSECURE_RSA_STATE_MISMATCH_ERROR;
		goto END;
	}

#ifdef versal
	Status = XSecure_RsaOperation(InstancePtr, Input, Result,
			XSECURE_RSA_SIGN_ENC, Size);
#else
	Status = (int)XSecure_RsaOperation(InstancePtr, (u8 *)(UINTPTR)Input,
			(u8 *)(UINTPTR)Result, XSECURE_RSA_SIGN_ENC, Size);
#endif


END:
	return Status;
}
/*****************************************************************************/
/**
 * @brief	This function handles the RSA encryption for data available at
 *  		64-bit address with the public key components provided when
 *  		initializing the RSA cryptographic core with the
 *  		XSecure_RsaInitialize function
 *
 * @param	InstancePtr	- Pointer to the XSecure_Rsa instance
 * @param	Input		- Address of the buffer which contains the input
 *				  data to be encrypted
 * @param	Size		- Key size in bytes, Input size also should be
 * 				  same as Key size mentioned. Inputs supported are
 * 				- XSECURE_RSA_4096_KEY_SIZE
 * 				- XSECURE_RSA_2048_KEY_SIZE
 * 				- XSECURE_RSA_3072_KEY_SIZE
 * @param	Result		- Address of buffer where resultant decrypted
 *				  data to be stored
 *
 * @return	- XST_SUCCESS - If encryption was successful
 *		- XSECURE_RSA_INVALID_PARAM - On invalid arguments
 *		- XSECURE_RSA_STATE_MISMATCH_ERROR - If State mismatch is occurred
 *
 * @note	The Size passed here needs to match the key size used in the
 * 		XSecure_RsaInitialize function
 *
******************************************************************************/
@brief       This function handles the RSA encryption for data available at
64-bit address with the public key components provided when
initializing the RSA cryptographic core with the
XSecure_RsaInitialize function

@param       InstancePtr     - Pointer to the XSecure_Rsa instance
@param       Input           - Address of the buffer which contains the input
data to be encrypted
@param       Size            - Key size in bytes, Input size also should be
same as Key size mentioned. Inputs supported are
- XSECURE_RSA_4096_KEY_SIZE
- XSECURE_RSA_2048_KEY_SIZE
- XSECURE_RSA_3072_KEY_SIZE
@param       Result          - Address of buffer where resultant decrypted
data to be stored



@note        The Size passed here needs to match the key size used in the
XSecure_RsaInitialize function
@brief This function handles the RSA encryption for data available at 64 - bit address with the public key components provided when initializing the RSA cryptographic core with the XSecure_RsaInitialize function @param InstancePtr - Pointer to the XSecure_Rsa instance @param Input - Address of the buffer which contains the input data to be encrypted @param Size - Key size in bytes Input size also should be same as Key size mentioned . Inputs supported are - XSECURE_RSA_4096_KEY_SIZE - XSECURE_RSA_2048_KEY_SIZE - XSECURE_RSA_3072_KEY_SIZE @param Result - Address of buffer where resultant decrypted data to be stored @note The Size passed here needs to match the key size used in the XSecure_RsaInitialize function
int XSecure_RsaPublicEncrypt_64Bit(XSecure_Rsa *InstancePtr, u64 Input,
	u32 Size, u64 Result)
{
	int Status = XST_FAILURE;
	if ((InstancePtr == NULL) || (Result == 0x00U) || (Input == 0x00U) ||
		(Size == 0x00U)) {
		Status = (int)XSECURE_RSA_INVALID_PARAM;
		goto END;
	}
	if (InstancePtr->RsaState != XSECURE_RSA_INITIALIZED) {
		Status = (int)XSECURE_RSA_STATE_MISMATCH_ERROR;
		goto END;
	}
#ifdef versal
	Status = XSecure_RsaOperation(InstancePtr, Input, Result,
			XSECURE_RSA_SIGN_ENC, Size);
#else
	Status = (int)XSecure_RsaOperation(InstancePtr, (u8 *)(UINTPTR)Input,
			(u8 *)(UINTPTR)Result, XSECURE_RSA_SIGN_ENC, Size);
#endif
END:
	return Status;
}
int XSecure_RsaPublicEncrypt_64Bit ( XSecure_Rsa * InstancePtr , u64 Input , u32 Size , u64 Result ) { int Status = XST_FAILURE ; if ( ( InstancePtr == NULL ) || ( Result == 0x00U ) || ( Input == 0x00U ) || ( Size == 0x00U ) ) { Status = ( int ) XSECURE_RSA_INVALID_PARAM ; goto END ; } if ( InstancePtr -> RsaState != XSECURE_RSA_INITIALIZED ) { Status = ( int ) XSECURE_RSA_STATE_MISMATCH_ERROR ; goto END ; } #ifdef versal Status = XSecure_RsaOperation ( InstancePtr , Input , Result , XSECURE_RSA_SIGN_ENC , Size ) ; #else Status = ( int ) XSecure_RsaOperation ( InstancePtr , ( u8 * ) ( UINTPTR ) Input , ( u8 * ) ( UINTPTR ) Result , XSECURE_RSA_SIGN_ENC , Size ) ; #endif END : return Status ; }
@brief       This function handles the RSA encryption for data available at
              64-bit address with the public key components provided when
              initializing the RSA cryptographic core with the
              XSecure_RsaInitialize function
@brief This function handles the RSA encryption for data available at 64 - bit address with the public key components provided when initializing the RSA cryptographic core with the XSecure_RsaInitialize function
/* Validate the input arguments */