随机数生成
随机API子系统在加密和非加密安全实例中提供随机数生成API。使用哪种随机API是基于随机数的加密要求的。如果需要非加密值,非加密api将更快地返回随机值。
加密安全的随机函数应符合FIPS 140-2[NIST02]推荐的算法。基于硬件的随机数生成器(RNG)可以在具有适当硬件支持的平台上使用。没有硬件RNG支持的平台应使用CTR-DRBG算法。该算法可以由TinyCrypt或mbedTLS提供,具体情况取决于您的应用程序性能和资源需求。
注意:
CTR-DRBG生成器需要一个熵源来建立和维护PRNG的加密安全。
Kconfig Options
这些选项可以在以下路径subsys/random/Kconfig.中找到。
随机生成器
对于测试,此选项允许随机数api返回不是真正随机的值。
随机数生成器选择组允许通过RNG_GENERATOR_CHOICE选择组为系统选择RNG源函数。可以使用以下方法在SOC或board.defconfig文件中指定覆盖默认值:
choice RNG_GENERATOR_CHOICE
default XOSHIRO_RANDOM_GENERATOR
endchoice
可用的随机数生成器包括:
- CONFIG_TIMER_RANDOM_GENE
本文介绍了加密安全的随机数生成API在加密和非加密场景的应用,强调了FIPS 140-2标准的重要性。硬件随机数生成器在具备支持的平台上的使用,以及CTR-DRBG算法作为替代方案。还提到了Kconfig选项,用于配置不同的随机数生成源,如测试用的非随机API和加密安全的硬件或软件生成器。
订阅专栏 解锁全文
919

被折叠的 条评论
为什么被折叠?



