Information Center for ARM

Example description

  
AES_modes  Encrypt and Decrypt data using AES Algo in All modes and all key sizes
  
Example Description 

This example provides a short description of how to use the CRYPTO peripheral to
encrypt and decrypt data using AES in all modes (ECB, CBC, CTR) and all key sizes
(128, 192, 256) Algorithm.

For this example, a firmware is used to interface with the Crypto peripheral
in polling mode.

This example behaves as follows:

1. ECB mode :
   - AES128 ECB Encryption
   - AES192 ECB Encryption
   - AES256 ECB Encryption

   - AES128 ECB Decryption
   - AES192 ECB Decryption
   - AES256 ECB Decryption

2. CBC mode :
   - AES128 CBC Encryption
   - AES192 CBC Encryption
   - AES256 CBC Encryption

   - AES128 CBC Decryption
   - AES192 CBC Decryption
   - AES256 CBC Decryption

3. CTR mode :
   - AES128 CTR Encryption
   - AES192 CTR Encryption
   - AES256 CTR Encryption

   - AES128 CTR Decryption
   - AES192 CTR Decryption
   - AES256 CTR Decryption

The Plain data, encrypted data and decrypted data can be displayed on a PC
HyperTerminal using the USART (CN16).

The USARTx is configured as follow:
    - BaudRate = 115200 baud  
    - Word Length = 8 Bits
    - One Stop Bit
    - No parity
    - Hardware flow control disabled (RTS and CTS signals)
    - Receive and transmit enabled


Directory contents 

  - CRYP/AES_modes/system_stm32f2xx.c   STM32F2xx system clock configuration file
  - CRYP/AES_modes/stm32f2xx_conf.h     Library Configuration file
  - CRYP/AES_modes/stm32f2xx_it.h       Interrupt handlers header file
  - CRYP/AES_modes/stm32f2xx_it.c       Interrupt handlers
  - CRYP/AES_modes/main.c               Main program

	  The "system_stm32f2xx.c" is generated by an automatic clock configuration 
      tool and can be easily customized to your own configuration. 
      To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" tool. 


Hardware and Software environment 

  - This example runs only on STM32F21x Devices (Cryptographic acceleration not 
    embedded in STM32F20x Devices).

  - This example has been tested with STM322xG-EVAL RevB and can be easily tailored
    to any other development board.

  - STM322xG-EVAL Set-up 
    - Connect a null-modem female/female RS232 cable between the DB9 connector 
      CN16 (USART3) and PC serial port.
      @note Make sure that jumper JP22 is in position 1-2

  - Hyperterminal configuration:
    - Word Length = 8 Bits
    - One Stop Bit
    - No parity
    - BaudRate = 115200 baud
    - flow control: None 
	
===============================================================================

AES_ECBmode_DMA  Encrypt and Decrypt data using AES-128 Algo in ECB mode, with DMA
  
Example Description 

This example provides a short description of how to use the CRYPTO peripheral to 
encrypt and decrypt data using AES-128 Algorithm.

For this example, DMA is used to transfer data from memory to the CRYPTO processor
IN FIFO and also to transfer data from CRYPTO processor OUT FIFO to memory.

The data to be encrypted is a 640 bit data, which correspond to 5 AES Blocks.

This example behaves as below: 
- AES Encryption   (PlainData --> EncryptedData)
- AES Key prepation for decryption (Encryption Key --> Decryption Key)
- AES Decryption (EncryptedData --> DecryptedData)

The Plain data, encrypted data and decrypted data can be displayed on a PC 
HyperTerminal using the USART (CN16).

The USARTx is configured as follow:
    - BaudRate = 115200 baud  
    - Word Length = 8 Bits
    - One Stop Bit
    - No parity
    - Hardware flow control disabled (RTS and CTS signals)
    - Receive and transmit enabled


Directory contents 

  - CRYP/AES_ECBmode_DMA/system_stm32f2xx.c   STM32F2xx system clock configuration file
  - CRYP/AES_ECBmode_DMA/stm32f2xx_conf.h     Library Configuration file
  - CRYP/AES_ECBmode_DMA/stm32f2xx_it.h       Interrupt handlers header file
  - CRYP/AES_ECBmode_DMA/stm32f2xx_it.c       Interrupt handlers
  - CRYP/AES_ECBmode_DMA/main.c               Main program

	  The "system_stm32f2xx.c" is generated by an automatic clock configuration 
      tool and can be easily customized to your own configuration. 
      To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" tool. 

      
Hardware and Software environment 

  - This example runs only on STM32F21x Devices (Cryptographic acceleration not 
    embedded in STM32F20x Devices).
  
  - This example has been tested with STM322xG-EVAL RevB and can be easily tailored
    to any other development board.

  - STM322xG-EVAL Set-up 
    - Connect a null-modem female/female RS232 cable between the DB9 connector 
      CN16 (USART3) and PC serial port.
      @note Make sure that jumper JP22 is in position 1-2
  
  - Hyperterminal configuration:
    - Word Length = 8 Bits
    - One Stop Bit
    - No parity
    - BaudRate = 115200 baud
    - flow control: None 

===============================================================================

DES_TDES_modes  Encrypt and Decrypt data using DES and TDES Algorithms in All modes
  
Example Description 

This example provides a short description of how to use the CRYPTO peripheral to 
encrypt and decrypt data using DES and TDES in all modes (ECB, CBC) Algorithm.

For this example, a firmware is used to interface with the Crypto peripheral 
in polling mode.

This example is behaves as follow:
1. DES
  - DES ECB Encryption
  - DES ECB Decryption
  - DES CBC Encryption
  - DES CBC Decryption
2. TDES
  - TDES ECB Encryption
  - TDES ECB Decryption
  - TDES CBC Encryption
  - TDES CBC Decryption

The Plain data, encrypted data and decrypted data can be displayed on a PC 
HyperTerminal using the USART (CN16).

The USARTx is configured as follow:
    - BaudRate = 115200 baud  
    - Word Length = 8 Bits
    - One Stop Bit
    - No parity
    - Hardware flow control disabled (RTS and CTS signals)
    - Receive and transmit enabled

Directory contents 

  - CRYP/DES_TDES_modes/system_stm32f2xx.c   STM32F2xx system clock configuration file
  - CRYP/DES_TDES_modes/stm32f2xx_conf.h     Library Configuration file
  - CRYP/DES_TDES_modes/stm32f2xx_it.h       Interrupt handlers header file
  - CRYP/DES_TDES_modes/stm32f2xx_it.c       Interrupt handlers
  - CRYP/DES_TDES_modes/main.c               Main program

      The "system_stm32f2xx.c" is generated by an automatic clock configuration 
      tool and can be easily customized to your own configuration. 
      To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" tool. 


Hardware and Software environment 

  - This example runs only on STM32F21x Devices (Cryptographic acceleration not 
    embedded in STM32F20x Devices).

  - This example has been tested with STM322xG-EVAL RevB and can be easily tailored
    to any other development board.

  - STM322xG-EVAL Set-up 
    - Connect a null-modem female/female RS232 cable between the DB9 connector 
      CN16 (USART3) and PC serial port.
      @note Make sure that jumper JP22 is in position 1-2
 
  - Hyperterminal configuration:
    - Word Length = 8 Bits
    - One Stop Bit
    - No parity
    - BaudRate = 115200 baud
    - flow control: None 

===============================================================================

TDES_ECBmode_DMA  Encrypt and Decrypt data using TDES Algo in ECB mode, with DMA

Example Description 

This example provides a short description of how to use the CRYPTO peripheral to 
encrypt and decrypt data using TDES Algorithm.

For this example, DMA is used to transfer data from memory to the CRYPTO processor
IN FIFO and also to transfer data from CRYPTO processor OUT FIFO to memory.

The data to be encrypted is a 320 bit data, which correspond to 5 TDES Blocks.

This example behaves as follow:
- TDES Encryption   (PlainData --> EncryptedData)
- TDES Decryption   (EncryptedData --> DecryptedData)

The Plain data, encrypted data and decrypted data can be displayed on a PC 
HyperTerminal using the USART (CN16).

The USARTx is configured as follow:
    - BaudRate = 115200 baud
    - Word Length = 8 Bits
    - One Stop Bit
    - No parity
    - Hardware flow control disabled (RTS and CTS signals)
    - Receive and transmit enabled


Directory contents 

  - CRYP/TDES_ECBmode_DMA/system_stm32f2xx.c   STM32F2xx system clock configuration file
  - CRYP/TDES_ECBmode_DMA/stm32f2xx_conf.h     Library Configuration file
  - CRYP/TDES_ECBmode_DMA/stm32f2xx_it.h       Interrupt handlers header file
  - CRYP/TDES_ECBmode_DMA/stm32f2xx_it.c       Interrupt handlers
  - CRYP/TDES_ECBmode_DMA/main.c               Main program

	  The "system_stm32f2xx.c" is generated by an automatic clock configuration
      tool and can be easily customized to your own configuration.
      To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" tool. 


Hardware and Software environment 

  - This example runs only on STM32F21x Devices (Cryptographic acceleration not 
    embedded in STM32F20x Devices).

  - This example has been tested with STM322xG-EVAL RevB and can be easily tailored
    to any other development board.

  - STM322xG-EVAL Set-up 
    - Connect a null-modem female/female RS232 cable between the DB9 connector
      CN16 (USART3) and PC serial port.
      @note Make sure that jumper JP22 is in position 1-2

  - Hyperterminal configuration:
    - Word Length = 8 Bits
    - One Stop Bit
    - No parity
    - BaudRate = 115200 baud
    - flow control: None