mbed library sources

Dependents:   frdm_kl05z_gpio_test

Fork of mbed-src by mbed official

Revision:
226:b062af740e40
Parent:
106:ced8cbb51063
--- a/targets/cmsis/TARGET_STM/TARGET_NUCLEO_F401RE/stm32f4xx_hal_cryp.c	Wed Jun 11 09:30:07 2014 +0100
+++ b/targets/cmsis/TARGET_STM/TARGET_NUCLEO_F401RE/stm32f4xx_hal_cryp.c	Wed Jun 11 09:45:09 2014 +0100
@@ -2,8 +2,8 @@
   ******************************************************************************
   * @file    stm32f4xx_hal_cryp.c
   * @author  MCD Application Team
-  * @version V1.0.0
-  * @date    18-February-2014
+  * @version V1.1.0RC2
+  * @date    14-May-2014
   * @brief   CRYP HAL module driver.
   *          This file provides firmware functions to manage the following 
   *          functionalities of the Cryptography (CRYP) peripheral:
@@ -29,18 +29,15 @@
              (+++) Enable the CRYP IRQ handler using HAL_NVIC_EnableIRQ()
              (+++) In CRYP IRQ handler, call HAL_CRYP_IRQHandler()
          (##) In case of using DMA to control data transfer (e.g. HAL_CRYP_AESECB_Encrypt_DMA())
-             (++) Enable the DMAx interface clock using 
-                 (+++) __DMAx_CLK_ENABLE()
-             (++) Configure and enable two DMA streams one for managing data transfer from
+             (+++) Enable the DMAx interface clock using __DMAx_CLK_ENABLE()
+             (+++) Configure and enable two DMA streams one for managing data transfer from
                  memory to peripheral (input stream) and another stream for managing data
                  transfer from peripheral to memory (output stream)
-             (++) Associate the initilalized DMA handle to the CRYP DMA handle
+             (+++) Associate the initilalized DMA handle to the CRYP DMA handle
                  using  __HAL_LINKDMA()
-             (++) Configure the priority and enable the NVIC for the transfer complete
+             (+++) Configure the priority and enable the NVIC for the transfer complete
                  interrupt on the two DMA Streams. The output stream should have higher
-                 priority than the input stream.
-                 (+++) HAL_NVIC_SetPriority()
-                 (+++) HAL_NVIC_EnableIRQ()
+                 priority than the input stream HAL_NVIC_SetPriority() and HAL_NVIC_EnableIRQ()
     
       (#)Initialize the CRYP HAL using HAL_CRYP_Init(). This function configures mainly:
          (##) The data type: 1-bit, 8-bit, 16-bit and 32-bit
@@ -51,13 +48,13 @@
     
       (#)Three processing (encryption/decryption) functions are available:
          (##) Polling mode: encryption and decryption APIs are blocking functions
-              i.e. they process the data and wait till the processing is finished
+              i.e. they process the data and wait till the processing is finished,
               e.g. HAL_CRYP_AESCBC_Encrypt()
          (##) Interrupt mode: encryption and decryption APIs are not blocking functions
-              i.e. they process the data under interrupt
+              i.e. they process the data under interrupt,
               e.g. HAL_CRYP_AESCBC_Encrypt_IT()
          (##) DMA mode: encryption and decryption APIs are not blocking functions
-              i.e. the data transfer is ensured by DMA
+              i.e. the data transfer is ensured by DMA,
               e.g. HAL_CRYP_AESCBC_Encrypt_DMA()
     
       (#)When the processing function is called at first time after HAL_CRYP_Init()
@@ -161,7 +158,8 @@
 /**
   * @brief  Initializes the CRYP according to the specified
   *         parameters in the CRYP_InitTypeDef and creates the associated handle.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @retval HAL status
   */
 HAL_StatusTypeDef HAL_CRYP_Init(CRYP_HandleTypeDef *hcryp)
@@ -204,7 +202,8 @@
 
 /**
   * @brief  DeInitializes the CRYP peripheral. 
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @retval HAL status
   */
 HAL_StatusTypeDef HAL_CRYP_DeInit(CRYP_HandleTypeDef *hcryp)
@@ -243,7 +242,8 @@
 
 /**
   * @brief  Initializes the CRYP MSP.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @retval None
   */
 __weak void HAL_CRYP_MspInit(CRYP_HandleTypeDef *hcryp)
@@ -255,7 +255,8 @@
 
 /**
   * @brief  DeInitializes CRYP MSP.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @retval None
   */
 __weak void HAL_CRYP_MspDeInit(CRYP_HandleTypeDef *hcryp)
@@ -291,7 +292,8 @@
 /**
   * @brief  Initializes the CRYP peripheral in AES ECB encryption mode
   *         then encrypt pPlainData. The cypher data are available in pCypherData
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pPlainData: Pointer to the plaintext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 16.
   * @param  pCypherData: Pointer to the cyphertext buffer
@@ -344,7 +346,8 @@
 /**
   * @brief  Initializes the CRYP peripheral in AES CBC encryption mode
   *         then encrypt pPlainData. The cypher data are available in pCypherData
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pPlainData: Pointer to the plaintext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 16.
   * @param  pCypherData: Pointer to the cyphertext buffer
@@ -400,7 +403,8 @@
 /**
   * @brief  Initializes the CRYP peripheral in AES CTR encryption mode
   *         then encrypt pPlainData. The cypher data are available in pCypherData
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pPlainData: Pointer to the plaintext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 16.
   * @param  pCypherData: Pointer to the cyphertext buffer
@@ -458,7 +462,8 @@
 /**
   * @brief  Initializes the CRYP peripheral in AES ECB decryption mode
   *         then decrypted pCypherData. The cypher data are available in pPlainData
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pCypherData: Pointer to the cyphertext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 16.
   * @param  pPlainData: Pointer to the plaintext buffer
@@ -545,7 +550,8 @@
 /**
   * @brief  Initializes the CRYP peripheral in AES ECB decryption mode
   *         then decrypted pCypherData. The cypher data are available in pPlainData
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pCypherData: Pointer to the cyphertext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 16.
   * @param  pPlainData: Pointer to the plaintext buffer
@@ -633,7 +639,8 @@
 /**
   * @brief  Initializes the CRYP peripheral in AES CTR decryption mode
   *         then decrypted pCypherData. The cypher data are available in pPlainData
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pCypherData: Pointer to the cyphertext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 16.
   * @param  pPlainData: Pointer to the plaintext buffer
@@ -688,7 +695,8 @@
 
 /**
   * @brief  Initializes the CRYP peripheral in AES ECB encryption mode using Interrupt.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pPlainData: Pointer to the plaintext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 16 bytes
   * @param  pCypherData: Pointer to the cyphertext buffer
@@ -788,7 +796,8 @@
 
 /**
   * @brief  Initializes the CRYP peripheral in AES CBC encryption mode using Interrupt.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pPlainData: Pointer to the plaintext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 16 bytes
   * @param  pCypherData: Pointer to the cyphertext buffer
@@ -890,7 +899,8 @@
 
 /**
   * @brief  Initializes the CRYP peripheral in AES CTR encryption mode using Interrupt.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pPlainData: Pointer to the plaintext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 16 bytes
   * @param  pCypherData: Pointer to the cyphertext buffer
@@ -993,7 +1003,8 @@
 
 /**
   * @brief  Initializes the CRYP peripheral in AES ECB decryption mode using Interrupt.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pCypherData: Pointer to the cyphertext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 16.
   * @param  pPlainData: Pointer to the plaintext buffer
@@ -1121,7 +1132,8 @@
 
 /**
   * @brief  Initializes the CRYP peripheral in AES CBC decryption mode using IT.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pCypherData: Pointer to the cyphertext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 16
   * @param  pPlainData: Pointer to the plaintext buffer
@@ -1257,7 +1269,8 @@
 
 /**
   * @brief  Initializes the CRYP peripheral in AES CTR decryption mode using Interrupt.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pCypherData: Pointer to the cyphertext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 16
   * @param  pPlainData: Pointer to the plaintext buffer
@@ -1361,7 +1374,8 @@
 
 /**
   * @brief  Initializes the CRYP peripheral in AES ECB encryption mode using DMA.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pPlainData: Pointer to the plaintext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 16 bytes
   * @param  pCypherData: Pointer to the cyphertext buffer
@@ -1415,7 +1429,8 @@
 
 /**
   * @brief  Initializes the CRYP peripheral in AES CBC encryption mode using DMA.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pPlainData: Pointer to the plaintext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 16.
   * @param  pCypherData: Pointer to the cyphertext buffer
@@ -1472,7 +1487,8 @@
 
 /**
   * @brief  Initializes the CRYP peripheral in AES CTR encryption mode using DMA.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pPlainData: Pointer to the plaintext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 16.
   * @param  pCypherData: Pointer to the cyphertext buffer
@@ -1530,7 +1546,8 @@
 
 /**
   * @brief  Initializes the CRYP peripheral in AES ECB decryption mode using DMA.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pCypherData: Pointer to the cyphertext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 16 bytes
   * @param  pPlainData: Pointer to the plaintext buffer
@@ -1613,7 +1630,8 @@
 
 /**
   * @brief  Initializes the CRYP peripheral in AES CBC encryption mode using DMA.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pCypherData: Pointer to the cyphertext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 16 bytes
   * @param  pPlainData: Pointer to the plaintext buffer
@@ -1699,7 +1717,8 @@
 
 /**
   * @brief  Initializes the CRYP peripheral in AES CTR decryption mode using DMA.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pCypherData: Pointer to the cyphertext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 16
   * @param  pPlainData: Pointer to the plaintext buffer
@@ -1768,10 +1787,10 @@
   ==============================================================================  
     [..]  This section provides functions allowing to:
       (+) Encrypt plaintext using DES using ECB or CBC chaining modes
-      (+) Decrypt cyphertext using using ECB or CBC chaining modes
+      (+) Decrypt cyphertext using ECB or CBC chaining modes
     [..]  Three processing functions are available:
-      (+) polling mode
-      (+) interrupt mode
+      (+) Polling mode
+      (+) Interrupt mode
       (+) DMA mode
 
 @endverbatim
@@ -1780,7 +1799,8 @@
 
 /**
   * @brief  Initializes the CRYP peripheral in DES ECB encryption mode.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pPlainData: Pointer to the plaintext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 8
   * @param  pCypherData: Pointer to the cyphertext buffer
@@ -1819,7 +1839,8 @@
 
 /**
   * @brief  Initializes the CRYP peripheral in DES ECB decryption mode.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pPlainData: Pointer to the plaintext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 8
   * @param  pCypherData: Pointer to the cyphertext buffer
@@ -1858,7 +1879,8 @@
 
 /**
   * @brief  Initializes the CRYP peripheral in DES CBC encryption mode.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pPlainData: Pointer to the plaintext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 8
   * @param  pCypherData: Pointer to the cyphertext buffer
@@ -1897,7 +1919,8 @@
 
 /**
   * @brief  Initializes the CRYP peripheral in DES ECB decryption mode.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pPlainData: Pointer to the plaintext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 8
   * @param  pCypherData: Pointer to the cyphertext buffer
@@ -1936,7 +1959,8 @@
 
 /**
   * @brief  Initializes the CRYP peripheral in DES ECB encryption mode using IT.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pPlainData: Pointer to the plaintext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 8
   * @param  pCypherData: Pointer to the cyphertext buffer
@@ -2020,7 +2044,8 @@
 
 /**
   * @brief  Initializes the CRYP peripheral in DES CBC encryption mode using interrupt.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pPlainData: Pointer to the plaintext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 8
   * @param  pCypherData: Pointer to the cyphertext buffer
@@ -2105,7 +2130,8 @@
 
 /**
   * @brief  Initializes the CRYP peripheral in DES ECB decryption mode using IT.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pPlainData: Pointer to the plaintext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 8
   * @param  pCypherData: Pointer to the cyphertext buffer
@@ -2189,7 +2215,8 @@
 
 /**
   * @brief  Initializes the CRYP peripheral in DES ECB decryption mode using interrupt.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pPlainData: Pointer to the plaintext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 8
   * @param  pCypherData: Pointer to the cyphertext buffer
@@ -2273,7 +2300,8 @@
 
 /**
   * @brief  Initializes the CRYP peripheral in DES ECB encryption mode using DMA.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pPlainData: Pointer to the plaintext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 8
   * @param  pCypherData: Pointer to the cyphertext buffer
@@ -2315,7 +2343,8 @@
 
 /**
   * @brief  Initializes the CRYP peripheral in DES CBC encryption mode using DMA.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pPlainData: Pointer to the plaintext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 8
   * @param  pCypherData: Pointer to the cyphertext buffer
@@ -2357,7 +2386,8 @@
 
 /**
   * @brief  Initializes the CRYP peripheral in DES ECB decryption mode using DMA.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pPlainData: Pointer to the plaintext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 8
   * @param  pCypherData: Pointer to the cyphertext buffer
@@ -2399,7 +2429,8 @@
 
 /**
   * @brief  Initializes the CRYP peripheral in DES ECB decryption mode using DMA.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pPlainData: Pointer to the plaintext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 8
   * @param  pCypherData: Pointer to the cyphertext buffer
@@ -2451,11 +2482,11 @@
                       ##### TDES processing functions #####
   ==============================================================================  
     [..]  This section provides functions allowing to:
-      (+) Encrypt plaintext using TDES using ECB or CBC chaining modes
-      (+) Decrypt cyphertext using TDES using ECB or CBC chaining modes
+      (+) Encrypt plaintext using TDES based on ECB or CBC chaining modes
+      (+) Decrypt cyphertext using TDES based on ECB or CBC chaining modes
     [..]  Three processing functions are available:
-      (+) polling mode
-      (+) interrupt mode
+      (+) Polling mode
+      (+) Interrupt mode
       (+) DMA mode
 
 @endverbatim
@@ -2465,7 +2496,8 @@
 /**
   * @brief  Initializes the CRYP peripheral in TDES ECB encryption mode
   *         then encrypt pPlainData. The cypher data are available in pCypherData
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pPlainData: Pointer to the plaintext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 8
   * @param  pCypherData: Pointer to the cyphertext buffer
@@ -2505,7 +2537,8 @@
 /**
   * @brief  Initializes the CRYP peripheral in TDES ECB decryption mode
   *         then decrypted pCypherData. The cypher data are available in pPlainData
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pPlainData: Pointer to the plaintext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 8
   * @param  pCypherData: Pointer to the cyphertext buffer
@@ -2545,7 +2578,8 @@
 /**
   * @brief  Initializes the CRYP peripheral in TDES CBC encryption mode
   *         then encrypt pPlainData. The cypher data are available in pCypherData
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pPlainData: Pointer to the plaintext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 8
   * @param  pCypherData: Pointer to the cyphertext buffer
@@ -2585,7 +2619,8 @@
 /**
   * @brief  Initializes the CRYP peripheral in TDES CBC decryption mode
   *         then decrypted pCypherData. The cypher data are available in pPlainData
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pCypherData: Pointer to the cyphertext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 8
   * @param  pPlainData: Pointer to the plaintext buffer
@@ -2624,7 +2659,8 @@
 
 /**
   * @brief  Initializes the CRYP peripheral in TDES ECB encryption mode using interrupt.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pPlainData: Pointer to the plaintext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 8
   * @param  pCypherData: Pointer to the cyphertext buffer
@@ -2708,7 +2744,8 @@
 
 /**
   * @brief  Initializes the CRYP peripheral in TDES CBC encryption mode.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pPlainData: Pointer to the plaintext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 8
   * @param  pCypherData: Pointer to the cyphertext buffer
@@ -2791,7 +2828,8 @@
 
 /**
   * @brief  Initializes the CRYP peripheral in TDES ECB decryption mode.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pPlainData: Pointer to the plaintext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 8
   * @param  pCypherData: Pointer to the cyphertext buffer
@@ -2874,7 +2912,8 @@
 
 /**
   * @brief  Initializes the CRYP peripheral in TDES CBC decryption mode.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pCypherData: Pointer to the cyphertext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 8
   * @param  pPlainData: Pointer to the plaintext buffer
@@ -2957,7 +2996,8 @@
 
 /**
   * @brief  Initializes the CRYP peripheral in TDES ECB encryption mode using DMA.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pPlainData: Pointer to the plaintext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 8
   * @param  pCypherData: Pointer to the cyphertext buffer
@@ -2999,7 +3039,8 @@
 
 /**
   * @brief  Initializes the CRYP peripheral in TDES CBC encryption mode using DMA.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pPlainData: Pointer to the plaintext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 8
   * @param  pCypherData: Pointer to the cyphertext buffer
@@ -3041,7 +3082,8 @@
 
 /**
   * @brief  Initializes the CRYP peripheral in TDES ECB decryption mode using DMA.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pPlainData: Pointer to the plaintext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 8
   * @param  pCypherData: Pointer to the cyphertext buffer
@@ -3083,7 +3125,8 @@
 
 /**
   * @brief  Initializes the CRYP peripheral in TDES CBC decryption mode using DMA.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  pCypherData: Pointer to the cyphertext buffer
   * @param  Size: Length of the plaintext buffer, must be a multiple of 8
   * @param  pPlainData: Pointer to the plaintext buffer
@@ -3145,7 +3188,8 @@
 
 /**
   * @brief  Input FIFO transfer completed callbacks.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @retval None
   */
 __weak void HAL_CRYP_InCpltCallback(CRYP_HandleTypeDef *hcryp)
@@ -3157,7 +3201,8 @@
 
 /**
   * @brief  Output FIFO transfer completed callbacks.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @retval None
   */
 __weak void HAL_CRYP_OutCpltCallback(CRYP_HandleTypeDef *hcryp)
@@ -3169,7 +3214,8 @@
 
 /**
   * @brief  CRYP error callbacks.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @retval None
   */
  __weak void HAL_CRYP_ErrorCallback(CRYP_HandleTypeDef *hcryp)
@@ -3198,7 +3244,8 @@
 
 /**
   * @brief  This function handles CRYP interrupt request.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @retval None
   */
 void HAL_CRYP_IRQHandler(CRYP_HandleTypeDef *hcryp)
@@ -3286,7 +3333,8 @@
 
 /**
   * @brief  Returns the CRYP state.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @retval HAL state
   */
 HAL_CRYP_STATETypeDef HAL_CRYP_GetState(CRYP_HandleTypeDef *hcryp)
@@ -3352,7 +3400,8 @@
 
 /**
   * @brief  Writes the Key in Key registers. 
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  Key: Pointer to Key buffer
   * @param  KeySize: Size of Key
   * @retval None
@@ -3410,7 +3459,8 @@
 
 /**
   * @brief  Writes the InitVector/InitCounter in IV registers. 
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  InitVector: Pointer to InitVector/InitCounter buffer
   * @param  IVSize: Size of the InitVector/InitCounter
   * @retval None
@@ -3448,7 +3498,8 @@
 
 /**
   * @brief  Process Data: Writes Input data in polling mode and read the output data
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  Input: Pointer to the Input buffer
   * @param  Ilength: Length of the Input buffer, must be a multiple of 16.
   * @param  Output: Pointer to the returned buffer
@@ -3510,7 +3561,8 @@
 
 /**
   * @brief  Process Data: Write Input data in polling mode. 
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  Input: Pointer to the Input buffer
   * @param  Ilength: Length of the Input buffer, must be a multiple of 8
   * @param  Output: Pointer to the returned buffer
@@ -3565,7 +3617,8 @@
 
 /**
   * @brief  Set the DMA configuration and start the DMA transfer
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  inputaddr: address of the Input buffer
   * @param  Size: Size of the Input buffer, must be a multiple of 16.
   * @param  outputaddr: address of the Output buffer
@@ -3602,7 +3655,8 @@
 
 /**
   * @brief  Sets the CRYP peripheral in DES ECB mode.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  Direction: Encryption or decryption
   * @retval None
   */
@@ -3628,7 +3682,8 @@
 
 /**
   * @brief  Sets the CRYP peripheral in DES CBC mode.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  Direction: Encryption or decryption
   * @retval None
   */
@@ -3657,7 +3712,8 @@
 
 /**
   * @brief  Sets the CRYP peripheral in TDES ECB mode.
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  Direction: Encryption or decryption
   * @retval None
   */
@@ -3682,7 +3738,8 @@
 
 /**
   * @brief  Sets the CRYP peripheral in TDES CBC mode
-  * @param  hcryp: CRYP handle
+  * @param  hcryp: pointer to a CRYP_HandleTypeDef structure that contains
+  *         the configuration information for CRYP module
   * @param  Direction: Encryption or decryption
   * @retval None
   */