 Cryptolib sur STM32. Le STM32 crypto-library est CAVP and FIP-Cettify. Ce unique libraire contient une implementation de software de l'algorithme cryptographique et aussi un emplacement d'accélérateur hardware pour certains d'entre eux. Il remet le bouton de l'algorithme. Il permet aux OOMs d'améliorer le processus de certification de sécurité. Il inclut tous les algorithmes de majorité pour l'encryption, assingue, autentication de message et signement de digitage. Ce package est valable à l'extension X-Cube sur ce site. Si vous connectez à ça, vous devez avoir besoin de registres et ensuite de remplir une formule. Vous recevrez après un mail avec le lien download. C'est pour l'issue légale. Le STM32 crypto-library est un hardware de software et de hybride. C'est distribué par ST as a object code library accessé par l'application de l'utilisateur par un API, donc vous n'avez pas les sources de ce library. L'accélération hardware, quand elle est présente, peut relâcher sur le générateur de l'accélération crypto-library sur l'accélération hardware de l'IOS. Le library est compilé pour contexte M0, M0+, M3, M4 et M7. Note que le library est compilé dépendant, plus de KL ou GCC et est compilé par deux niveaux d'optimisation, l'eigle de l'oeil et l'eigle de l'eigle. Ici, je vous donne un extract de l'utilisateur qui est juste à expliquer le nom de l'ingénie de l'IOS. 1st, vous avez le Core, Class, CM0, CM0+, CM3, CM4 et CM7. Ensuite, quelle idée vous utilisez, plus de KL ou GCC. Ensuite, vous avez la optimisation compiler, qui est différente en regardant à quelle idée vous utilisez. maintenant je vous donne la liste de tous les algorithmes supportés, assez longtemps, test et triple test avec 128 à 256 bits, avec beaucoup de mode supporté. Vous avez la fonction hash avec support hashmax, HAC4-HH23-POLY-1305, la fonction signature RSA, la fonction encryption RSA et la fonction décryption, la cryptographie elliptique, donc beaucoup d'algorithmes pour sûr. quelques conseils, premièrement, le referral CRC est utilisé par le STM32 cryptofirmer libéré, ça veut dire que quand vous utilisez le API cryptolibre, le CRC sera activé pour assurer que le register CRC est prêt à FFFFFF. Sinon, le résultat API ne sera pas valide, mais vous n'aurez pas d'erreur des messages d'erreur, donc c'est vraiment compliqué. C'est indiqué dans le manuel d'utilisation, mais c'est souvent faible. D'autres conseils, le library FPU est often requested on our available, but located in the hardware accelerated part of the library, or I will say of the packages. I will also use the organization of the packages at the end of this presentation. For the performance on Mary footprint, there is some documentation also inside the package. And there is many tips available in the user manual in the fact section, so I really advise to have a look to this section at least. Regarding the availability of the cryptolibre across all the STM32 family, it is available on all family. As reference, again please have a look in the user manual 1924 and also in the packages there is many many source code example. I propose now to go in the packages and see how it's organized. So if you downloaded the packages and also the patch and add them, you will have such kind of structures. So at the top you've got I will say a folder with the accelerated hardware and the firmware one. So I think the naming is quite obvious and the organization will be similar on the both side. If I go in the piece of to a version, here it's group Bay family or that's mean it's also group by core. That's mean if I want to go on the G0 for example and I don't support it, I know that L0 also have a cortex M0 plus so I can use the library available in this folder. So if I have a look in the L0 for example, we've got a documentation folder and here as previously said, there is some documentation about performance or memory requirements. Quite useful, we want to evaluate this library. From the driver point of view, base port, cmcs, and HCL drivers. Not quite interesting for us. Middleware, this is interesting because it's where is our cryptographic library. So in the middleware st, you can find the folder stm32 cryptographic include file and here you've got the famous library. So here you find again what have been exposed in the documentation, the core, which compiler to use, compilation optimization. As you can see for higher, we've got two versions, one for the version v7 and then for the v8. So if I come back here, you've got some project folder. So here you can find many examples, for example for the Nucleo L0538. You can find many examples and differences code. So do not hesitate to load them. In the hands-on part, I will experiment such kind of project and also show you how I will start from a blank project I will see. Let's come back to the basic and go in the accelerated hardware cryptographic folder. As you can see, all the family are not targeted here because acceleration is not available everywhere and it's really depending on the parts. So if I have a look in the L4 for example, the structure is quite the same. You've got some documentation and also performance and memory requirements. Regarding middleware, I want to show you something who can look strange. We are under hardware acceleration crypto, but we still have one non-accelerated here and it's where you will find the FPU compile version of the library. I found this a little bit tricky. It's why I want to show it to you now. The rest is quite similar. Here you've got a project for the L4-6. Here it was hardware acceleration used and you've got example of crypto which is a little bit different because it's only one project. But this is mainly, I think we have covered all information available on the organization of this package. So I hope you find this interesting and thank you for your attention.