STM32F437 HAL Crypt Library verwenden

Gast #4954991
Lesenswert?

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!
Gast #4955245
Lesenswert?

Hallo, danke für den Hinweis. Ich habe mal ein Testprojekt mit einem F7 
erzeugt und in die Bib geschaut, finde jedoch keine Beispiele. Wo kann 
ich die Hal Bib mit den Beispielen finden? Vielleicht sogar als 
Download?
Grüße
Gast #4955941
Lesenswert?

Auch in der F4 Lib findet sich etwas wenn du nach 
HAL_CRYP_AESCBC_Encrypt suchst.

Jeweils die main.c in:

STM32Cube_FW_F4_V1.15.0/Projects/STM324xG_EVAL/Examples/CRYP/CRYP_AESMod 
es/Src/

STM32Cube_FW_F4_V1.15.0/Projects/STM324x9I_EVAL/Examples/CRYP/CRYP_AESMo 
des/Src/

STM32Cube_FW_F4_V1.15.0/Projects/STM32469I_EVAL/Examples/CRYP/CRYP_AESMo 
des/Src/
Gast #4956111
Lesenswert?

Danke, meine Toolchain (Eclipse + GCC) hat die Bibliotheken, jedoch 
nicht die Beispiele.
Ich habe mir daher die Bibliothek aus github heruntergeladen und die 
Beispiele angeschaut.
Leider habe ich direkt Fehler, beim Versuch die Funktionen aufzurufen.
1
CRYP_HandleTypeDef     CrypHandle;
2
CrypHandle.Init.DataType = CRYP_DATATYPE_8B;
3
CrypHandle.Init.KeySize   = CRYP_KEYSIZE_256B;
4
CrypHandle.Init.pKey      = aAES256key;
5
CrypHandle.Init.pInitVect = aInitVector;
6
if(HAL_CRYP_Init(&CrypHandle) != HAL_OK)
7
      {
Fehlermeldung: undefined reference to "HAL_CRYP_Init", jedoch findet der 
die Funktion und öffnet auch die Bibliothek dazu. Auch wenn ich die 
Funktion eintippe, wird mir diese vorgeschlagen. Die gleiche 
Fehlermeldung habe ich bei der HAL_CRYP_AESCBC_Decrypt und Encrypt.

Woran kann das liegen?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren