Ask questions and find answers on STM32 security frameworks and tools, including cryptographic libraries, TrustZone, and the Secure Manager.
Most recent activity
As per my understanding Secure Mode of STM32H7 as follows:RESET => Enter System Boot loader => Program OB register content => If (SECURITY) => RSS Boot => Configure Secure User Memory => Jump to Secure User memory on User Flash.I have two open questions hereis the above understanding correct ?? OB registers programmed by System Bootrom or some different mechanism ??Once Jump to application, Secure User Memory is disabled, as per concept. And if application trying to access Secure User memory from application context, the Flash access exception will come. Who is checking this access ?? who will control this access ? how it is implemented ??
https://stackoverflow.com/questions/24150030/storing-crc-into-an-axf-elf-file—CHECKSUM=0-FF@100,offset=0xFFFF,algorithm=5,width=-2,polynomial=0x1021arm-none-eabi-size "${BuildArtifactFileName}"arm-none-eabi-objcopy -O binary "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.bin"checksum -p ${TargetChip} -d "${BuildArtifactFileBaseName}.bin"../util/srec_cat "${BuildArtifactFileBaseName}.bin" -binary -crop 0 0x3FFFC -fill 0xFF 0x00000 0x3FFFC -crc32-b-e 0x3FFFC -o "${BuildArtifactFileBaseName}.crc.bin" -binaryecho ""echo "CRC32:"../util/srec_cat "${BuildArtifactFileBaseName}.crc.bin" -binary -crop 0x3FFFC 0x40000 -o - -hex-dumpsimilar to above mentioned I required to embed CRC32 into the .bin file or .hex file generated during compilation process . does the GCC compiler or the IDE system workbench based on eclipse has any inbuilt compiler libraries that generate CRC during compilation and embed it in the .hex or .bin file .
Self Generation script is like this :def generate(): return ECDSA256P1(SigningKey.generate(curve=NIST256p))KEY EXTRACTIONkey = SigningKey.from_pem(pem) if key.curve.name == 'NIST256p': return ECDSA256P1(key) else: raise Exception("Unsupported")is this mean, only NIST256p generated keys ..??Second question is about Firmware encryption support on STM32H753:As mentioned in example, default crypto scheme SECBOOT_ECCDSA_WITH_AES128_CBC_SHA256, is supported on STM32H753 ..??But as i see SECBOOT_ECCDSA_WITH_AES128_CTR_SHA256 scheme is applicable on STM32H7 series with OTFDEC support feature only right ??So can you please tell us on STM32H753VIT6 MCU, what kind of CRYPTO schemes are supported ??
Hi,I want to port "SPI_FullDuplex_ComDMA_Slave" to "TFM_SBSFU_Boot".My MCU is STM32U585.I can port "SPI_FullDuplex_ComDMA_Slave" to "TFM_Appli NonSecure" success, but fail to port it to "TFM_SBSFU_Boot".Do you have any suggestion for it?Please advise.Thanks,QiZhang
Hello guys,I'm trying to use the sample project given in the MOOC, and I'm getting compilation errors. The below is the error message.../STM32_Cryptographic/legacy_v3/src/hash/legacy_v3_sha1.c:20:10: fatal error: hash/legacy_v3_sha1.h: No such file or directory 20 | #include "hash/legacy_v3_sha1.h"I don't understand why I'm getting this despite adding the include path properly. Am I missing something?Regards,Vmere.
The clear_bit macro in the CMSIS driver is causing a warning when used in the function HAL_CRC_DeInit:
I would like to set the security fuse but also have the application start running. I can set the read protection but after that I can no longer communicate with the unit. Likewise I can start the application using the start command -s but after that if I try and program the object bytes it halts the processor.Trying to avoid a power cycle of the board after factory programming prior to functional test.
I want to use CRC on STM32f030k6, but as soon as I enable it, some errors appear and compilation fails.Even when I want to use EEPROM Emulation example for the above micro, again it fails to compile.What is wrong?STM32CubeIDE - Version: 1.10.1STM32CubeF0 Firmware Package V1.11.0
..
In the STM32H745_CM4_Peripherals.xml is an 0x10 address offset... correct is 0x14.That is the reason, that I don't see by debugging the value I wrote to this register.
SBSFU involved signing verification and encryption/decryption related activities.Also crypto processing is required to implement SBSFU solutions.So, what is the recommended CPU Clock frequency to implement SBSFU solutions ??
Hi - I am new to hardware security researching, so I thought start with a simple STM32 MCU to improve my skills.I can develop simple applications and upload it to flash, everything is ok so far. But I wonder how can I hack the device I developed. For example, last time I achieved to get a memory dump with OpenOCD and it was a big happiness for me. Now, I need to look at it closer, at the hardware level.My question is: May you tell me previously announced STM32F4 vulnerabilities, please? (Especially chip vulnerabilities with PoC if possible �?��?)(As I know ARM Cortex-M is not affected from Meltdown & Spectre, for example.)And finally, how can I improve myself on hardware security? Is it possible with my STM32F429 board? What would you recommend me to do, what to learn, what to research or maybe a roadmap etc. ?Thank you!
From X-CUBE-SBSFU examples, we link SECoreBin binary to SBSFU project, to access Secure Engine APIs.Even though we are linking SECoreBin, but how it will address at linking right function address offset ?? It means how SBSFU project get SECoreBin function address information ??@Jocelyn RICARD Can you please reply to the above query ??
Hey guys, I want to perform a firmware upgrade over the air. And use a UART to connect to IoT device.I use stm32l431xx and it contains hardware for symmetric encryption. And the host device which sends the binary uses stm32l496 has SBSFU.So I have a constraint now, I don't want to make many changes to the bootloader apart from boot entry points logic. I want to use only the SFU package in SBSFU. Is this possible?Regards,Vmere.
11:37:30 **** Incremental Build of configuration Debug for project STM32L476RG_NUCLEO_2_Images_SECoreBin **** make all "../prebuild.sh" "../" ../prebuild.sh: cd: line 8: can't cd to ..//../../../../../../Middlewares/ST/STM32_Secure_Engine/Utilities/KeysAndImages: No such file or directory prepareimage with python script python C:/Users/KIIT/Documents/SBSFU/STM32L476RG_NUCLEO_2_Images_SECoreBin/Debug/prepareimage.py conf ..//../Inc/se_crypto_config.h python: can't open file 'C:\\Users\\KIIT\\Documents\\SBSFU\\STM32L476RG_NUCLEO_2_Images_SECoreBin\\Debug\\prepareimage.py': [Errno 2] No such file or directory selected recopy postbuild.sh script with .sh script cat: can't open '..//.sh': No such file or directory cat ..//.sh : failed make[1]: *** [makefile:95: pre-build] Error 1 make: *** [makefile:63: all] Error 2 "make all" terminated with exit code 2. Build might be incomplete. 11:37:33 Build Failed. 2 errors, 0 warnings. (took 3s.343ms)When I run the prebuild.sh separately I ge
Hey, I'm starting on using OTFDEC for encryption of data on external OSPI flash, the project i'm working on is based on the Zephyr OS, and as far as i can see there are no examples on how to build an application with the OTFDEC setup using Zephyr. So is it possible to use OTFDEC with zephyr, and how?
I want to implement a system so that it retrieves sound by mems microphones and classify it with convolutional neural network. I have spent a lot of times to use BSP Library in my project but I failed. Therefore, I decided to use the code provided in f7cube file in the repository to retrieve sound. Furthermore, I'd like to use xcubeai with this code. To do that, I have to add CRC configuration, however, it throws an error as in the title. Actually I think this is about linker issue because when I add stm32f7xx_hal_crc.c file to the project, and when I apply ctrl+left click to HAL_CRC_Init in main.c file, it takes me to definition, but cubeide somehow cannot recognize it. How to solve this issue?
Hi, I'd like to know if it is possible to add external libraries on STM32CubeIDE and if yes, how.In particular, I'd like to use cryptographic functions on my NUCLEO-H753ZI. And I found a library on the web I could use in the form of an archive file (.a) + a header file. How can I integrate this archive in my project so I can use the functions of the library ?Thank you in advance for your answer.
Hi I'm Toni,I try to learn about embedded systems and it's my first time here.I bought stm32h743 and i would like know, If I use the CubeProgrammer to define PCROP area, why do I need to define on scatter?Thank you.
I am using STM32WB55 controller and Keil as development environment , Using mbedTLS library for SHA256 computation.(mbedtls_sha256_update function from library is used) After datasize of 256 bytes , incorrect SHA is obtained. Are there any additional dependencies that i need to enable for SHA computation?
HiI tried to generate hex2bin crc32 and then crc32 on stm32 (on words, the rest CubeMX configurations were set to default) , but they are not the same. On hex2bin i can configure big or little endianness, but the result doesn't change and i don't know the default.Did anyone here try to conduct the same experiment and can share the insights or findings?Thanks!
I cant download the crypto library fromhttps://www.st.com/en/embedded-software/x-cube-cryptolib.html#st_description_sec-nav-tabAnd i think that i saw it among the cube software packs long time ago, but i dont see it anymore.
When compiling UserApp from 2_Images example application for NUCLEO-L476RG linker outputs the following error: cannot use executable file '../../SBSFU/Debug/se_interface_app.o' as input to a linkarm-none-eabi-gcc -z max-page-size=1 -o "UserApp.elf" @"objects.list" ../../SBSFU/Debug/se_interface_app.o -mcpu=cortex-m4 -T"../STM32L476RGTx.ld" --specs=nosys.specs -Wl,-Map="UserApp.map" -Wl,--gc-sections -static -Xlinker -L ../../Linker_Common --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -Wl,--end-group c:\st\stm32cubeide_1.0.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.10.3-2021.10.win32_1.0.0.202111181127\tools\arm-none-eabi\bin\ld.exe: cannot use executable file '../../SBSFU/Debug/se_interface_app.o' as input to a link collect2.exe: error: ld returned 1 exit status make[1]: *** [makefile:66: UserApp.elf] Error 1 make: *** [makefile:59: all] Error 2I am using X-CUBE-SBSFU v2.5 on STM32CubeIDE v1.8.0 with GNU T
ST Community highlights – April to June 2026
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.