I am trying to build a commercial encryption device. Ok, I know how to write code, how to transform encryption algorithms from the book into code and construct electronics. But my question is: what should I take care of in order to implement a commercial encryption device (ECC, RSA, AES)?
2While FIPS is the correct answer, be aware that it is not sufficient. Even DES-ECB is FIPS-compliant.– forestApr 6, 2022 at 23:46
1In which country do you want to sell it?– Stig HemmerApr 7, 2022 at 9:09
I will contact my laywer to see if it is legal to patent and sell such a device first, I am thinking of Europe. If it is not legal, I will not build anything...– just_learningApr 7, 2022 at 9:18
foreverska's answer gets an upvote, but I'll give more detail.
For US government: FIPS 140-2 / 140-3
The US government has the FIPS 140-2 or the newer FIPS 140-3 standard outlining the design requiremnts for cryptographic modules that are acceptable for use by the US government.
To claim that your product is FIPS 140-3 compliant, you need to get it tested by a certified lab, and it has to be listed here.
Since you mention hardware, I'll note that there are 4 levels with increasing security requirements, where level 1 is about correctness of the algorithms, and levels 2, 3 & 4 are focused on hardware security, like detecting physical tampering of the device and wiping memory, and robustness to physical side-channel attacks like power or EM analysis, abusing the device with very high temperature or voltage, etc. Level 4 is exceedingly hard to obtain and even most of the big-name HSM vendors only certify to level 3.
Wikipedia gives a good description of the levels.
For international markets: Common Criteria
Common Criteria is a set of crypto standards that are recognized by 31 countries, similar to FIPS.
1As of now, FIPS 140-2 is dead - NIST is not accepting any new applications for FIPS 140-2 approval (even if you got in the paperwork instantly, which is obviously not the case). FIPS 140-3 is the only road at the moment.– ponchoApr 6, 2022 at 20:39
1@poncho Yeah, I know that in my brain, but I found literally no 140-3 certifications on the validated modules page; even ones that were granted like last week. Apr 6, 2022 at 23:40
3Note that to claim your product is FIPS compliant you don't need to get it tested. You do need to get it tested if you want to claim it's FIPS certified. I mean you can claim it's certified without having it tested but there are laws against that in most countries.– DRFApr 7, 2022 at 6:35
Depends on your customer.
Most devices aim for FIPS compliance