CSEc Random Number Generation

Discussion created by gearhead1107 on Jan 23, 2018
Latest reply on May 17, 2018 by gearhead1107

Hey folks, just wanted to throw out some lessons learned in using the CSEc module on the S32K.


1) This App Note does a better job of explaining the CSEc than the doxygen documentation or the reference manual. If you're using crypto I would start by reading this thoroughly: 



2) This isn't especially clear from the Reference Manual, but the CSEc will not work until the "FlexNVM" space has been partitioned with a flash command. In other words, "CSEC_DRV_Init" will do nothing until you call the flash command as shown in the doxygen documentation.


What's also important to note, is that #2 applies to any command. I had assumed that if I were simply generating random numbers, I didn't need to partition a space for keys. The CSEc RAM space would not accept commands, and would always return 0... as mentioned above, it turns out the CSEc will not respond to *any* command until the flash is partitioned.


Hopefully that helps someone!