Liebe Forengemeinde,
ich möchte die HAL Crypt Library verwenden, um Daten mit AES CBC und
einem 256 Bit Schlüssel zu ver- und zu entschlüsseln. Dies soll mit
Polling (also ohne Interrupt) und ohne DMA realisiert werden.
Dazu sind folgende Funktionen notwendig:
1 | HAL_CRYP_Init();
|
2 | HAL_CRYP_AESCBC_Encrypt();
|
3 | HAL_CRYP_AESCBC_Decrypt();
|
Jedoch ist mir nicht ganz klar, wie ich der Init Funktion das
Struct-Paket an Daten übermitteln soll. In der Library steht dazu:
1 | typedef struct
|
2 | {
|
3 | CRYP_TypeDef *Instance; /*!< CRYP registers base address */
|
4 |
|
5 | CRYP_InitTypeDef Init; /*!< CRYP required parameters */
|
6 |
|
7 | uint8_t *pCrypInBuffPtr; /*!< Pointer to CRYP processing (encryption, decryption,...) buffer */
|
8 |
|
9 | uint8_t *pCrypOutBuffPtr; /*!< Pointer to CRYP processing (encryption, decryption,...) buffer */
|
10 |
|
11 | __IO uint16_t CrypInCount; /*!< Counter of inputed data */
|
12 |
|
13 | __IO uint16_t CrypOutCount; /*!< Counter of output data */
|
14 |
|
15 | HAL_StatusTypeDef Status; /*!< CRYP peripheral status */
|
16 |
|
17 | HAL_PhaseTypeDef Phase; /*!< CRYP peripheral phase */
|
18 |
|
19 | DMA_HandleTypeDef *hdmain; /*!< CRYP In DMA handle parameters */
|
20 |
|
21 | DMA_HandleTypeDef *hdmaout; /*!< CRYP Out DMA handle parameters */
|
22 |
|
23 | HAL_LockTypeDef Lock; /*!< CRYP locking object */
|
24 |
|
25 | __IO HAL_CRYP_STATETypeDef State; /*!< CRYP peripheral state */
|
26 | }CRYP_HandleTypeDef;
|
Leider kann ich damit echt wenig anfangen und finde keinerlei Beispiele
oder Code-Schnipsel. Über ein paar Gedankenanstöße, womit ich
weitermachen kann, wären großartig.
Vielen Dank!