I am sure this is a silly question but is there any reason I shouldn't use the onboard ECC608 for random number generation? In order to do this you have to create Self-Signed Certificate and lock the chip, will this impact the IoT in any way?
I have not found much information on these chips so far myself.
I do know you only get 5 Self Signed Certificates and that's it. so i don't think that plan is a good idea.
Do you require the randomness "quality" provided by the device for your application? If yes, then you can always buy another Arduino if you lock-up the device. You could still use the board without the ECC608.
If you cannot afford that, maybe using another source for random numbers is a better choice for your experiments.
Thank you for the feedback, I had also seen that there were only 5 key slots and that if you try to run the random number generator examples on either the Arduino or Sparkfun Libraries they both say the chip needs to be "locked" to proceed.
On this Adafruit tutorial: https://learn.adafruit.com/adafruit-atecc608-breakout/arduino it seems to say that these certificates can be generated to last a certain amount of time and that they can possibly overwrite existing keys. I am not sure why they need keys to generate random numbers. As far as I can tell the random number generate just listens to a chaotic/entropy source and put that into a deterministic algorithm.
The application/experiment I am trying to run does need high-quality random numbers, however, I am not against getting an external ECC608. Having said that, is there any information as to what the ECC608 on the board is actually doing? It seems that it can't be used for anything until it is locked. So is there any reference to it in other libraries such as the WiFi or something else?
Digging around a little this morning I found that while the ECC608 must be configured and locked to use the RNG. You do NOT have to configure it again every time you run the RNG.
There is even an example of how use the RNG in the ArduinoECCX08 Library
I could not find this example in my installation only on the github page.
Edit: Rereading your last post I see you found the example. It seems you just need to configure and lock your chip. A quick test on my already locked chip confirms this works.