Example description
HASH_Context_Swap Context Swapping during Digest calculation example
Example Description
This example provides a short description of how to use the HASH peripheral to
save and restore hash context to serve a high priority hash operation.
For this example, no DMA is used for data transfer.
The SHA-1 and MD5 digests can be displayed on a PC HyperTerminal using the USART(CN16).
- In the first step the MD5 and SHA1 digests are computed and displayed.
- In the second step, a TIM6 interruption is configured to occurs with frequency of
200 KHz and a MD5 digest calculation is launched.
During the TIM6 interrupt routine, the current MD5 context is saved, then a SHA-1
digest calculation is launched (a high priority hash operation) and a counter is
incremented (ContextSwapCounter).
When the SHA1 digest calculation is done, the saved MD5 context is restored and
the MD5 digest calculation is continued.
When the MD5 digest calculation is done, both MD5 and SHA1 digests are displayed
to show that there is no difference between the results of the first and the
second steps.
Directory contents
- HASH/Context_Swap/system_stm32f2xx.c STM32F2xx system clock configuration file
- HASH/Context_Swap/stm32f2xx_conf.h Library Configuration file
- HASH/Context_Swap/stm32f2xx_it.h Interrupt handlers header file
- HASH/Context_Swap/stm32f2xx_it.c Interrupt handlers
- HASH/Context_Swap/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
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
===============================================================================
HASH_SHA1_MD5 HASH digest calculation using SHA1 and MD5 example
Example Description
This example provides a short description of how to use the HASH peripheral to
hash data using SHA-1 and MD5 Algorithms.
For this example, no DMA is used for data transfer.
The SHA-1 message digest result is a 160 bit data and the MD5 message digest result
is a 128 bit data.
The SHA-1 and MD5 digests can be displayed on a PC HyperTerminal using the USART (CN16).
Directory contents
- HASH/HASH_SHA1_MD5/system_stm32f2xx.c STM32F2xx system clock configuration file
- HASH/HASH_SHA1_MD5/stm32f2xx_conf.h Library Configuration file
- HASH/HASH_SHA1_MD5/stm32f2xx_it.h Interrupt handlers header file
- HASH/HASH_SHA1_MD5/stm32f2xx_it.c Interrupt handlers
- HASH/HASH_SHA1_MD5/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.
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
===============================================================================
HMAC_SHA1_MD5 HMAC digest calculation using HMAC SHA1 and HMAC MD5 example
Example Description
This example provides a short description of how to use the HASH peripheral to
hash data using HMAC SHA-1 and HMAC MD5 Algorithms.
For this example, no DMA is used for data transfer.
The key used is long type (2088 bit data).
The HMAC SHA-1 message digest result is a 160 bit data and the HMAC MD5 message
digest result is a 128 bit data.
The HMAC SHA-1 and HMAC MD5 digests can be displayed on a PC HyperTerminal using
the USART (CN16).
Directory contents
- HASH/HMAC_SHA1_MD5/system_stm32f2xx.c STM32F2xx system clock configuration file
- HASH/HMAC_SHA1_MD5/stm32f2xx_conf.h Library Configuration file
- HASH/HMAC_SHA1_MD5/stm32f2xx_it.h Interrupt handlers header file
- HASH/HMAC_SHA1_MD5/stm32f2xx_it.c Interrupt handlers
- HASH/HMAC_SHA1_MD5/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
===============================================================================
SHA1_MD5_DMA HASH SHA-1 and MD5 with DMA
Example Description
This example provides a short description of how to use the HASH peripheral to
hash data using SHA-1 and MD5 Algorithms.
For this example, DMA is used to transfer data from memory to the HASH processor.
The message to hash is a 1024 bit data, the SHA-1 message digest result is a
160 bit data and the MD5 message digest result is a 128 bit data.
The SHA-1 and MD5 digests can be displayed on a PC HyperTerminal using the
USART (CN16).
Directory contents
- HASH/SHA1_MD5_DMA/system_stm32f2xx.c STM32F2xx system clock configuration file
- HASH/SHA1_MD5_DMA/stm32f2xx_conf.h Library Configuration file
- HASH/SHA1_MD5_DMA/stm32f2xx_it.h Interrupt handlers header file
- HASH/SHA1_MD5_DMA/stm32f2xx_it.c Interrupt handlers
- HASH/SHA1_MD5_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