0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

‌基于RNG90的真随机数生成器技术解析与应用指南

科技观察员 2025-10-10 15:01 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Microchip Technology RNG90 CryptoAuthentication™器件设计用于需要安全随机数发生器的系统。RNG90即用型,无需任何定制。Microchip RNG90采用行业标准I^2^C接口。Microchip CryptoAuthentication库 (CAL) 提供软件支持,可通过硬件抽象层 (HAL) 轻松调整,以便与大多数微控制器微处理器配合使用。

数据手册:*附件:Microchip Technology RNG90 CryptoAuthentication™器件数据手册.pdf

特性

  • 内部高品质NIST SP 800-90A/B/C随机数发生器 (RNG)
  • 符合FIPS标准的健康测试和entropy自检
  • 设计用于FIPS140-3 NIST CMVP Entropy Source Validation (ESV) 合规性
  • 72位唯一序列号
  • 400kHz快速模式I^2^C接口
  • 标称睡眠电流:130nA
  • 工作电压范围:1.65V至5.5V VCC
  • 扩展工业温度范围:−40°C至+105°C
  • 人体模型(HBM) ESD:4kV
  • 广泛的安全措施
    • 有源屏蔽,防止侵入攻击
    • 低和高电源电压篡改
    • 低温和高温篡改
  • 封装选项
    • 2mm x 3mm 8焊盘UDFN
    • 8引脚SOIC

应用示意图

1.png

引脚配置

2.png

基于RNG90的真随机数生成器技术解析与应用指南


一、RNG90核心特性与安全架构

  1. NIST认证的真随机数生成
    RNG90采用物理噪声源(NRBG)与确定性算法(DRBG)结合的混合架构,符合NIST SP 800-90A/B/C标准,支持以下安全特性:
    • 运行时健康测试确保熵值充足
    • 抗物理攻击设计(主动屏蔽、电压/温度篡改检测)
    • 输出256位随机数,安全强度达128位
  2. 硬件接口规范
    • I2C接口‌:固定地址0x40,400kHz速率,支持标准总线协议
    • 引脚定义‌(SOIC/UDFN封装):| 引脚号 | 名称 | 功能 |
      | -------- | ------ | ------------------- |
      | 4 | GND | 接地 |
      | 5 | SDA | 数据线 |
      | 6 | SCL | 时钟线 |
      | 8 | VCC | 供电(1.65-5.5V) |

二、关键功能实现详解

  1. 随机数生成流程
    • 首次执行‌:自动运行SHA256和DRBG自检(耗时57ms典型值)
    • 后续请求‌:仅生成随机数(20.2ms典型值)
    • 健康测试失败处理‌:返回错误码0x08,需通过睡眠唤醒或执行SelfTest命令清除状态
  2. 低功耗管理
    • 睡眠模式‌:130nA待机电流,通过发送0x01字地址唤醒
    • 看门狗定时器‌:超时1.3秒自动复位芯片

三、典型应用场景

  1. 密码学操作
    • 密钥生成、数字签名、初始化向量(IV)
    • 示例:TLS协议中的临时会话密钥派生
  2. 安全敏感领域
    • 航空航天:飞控系统随机种子
    • 区块链:加密货币钱包熵源
  3. 工业控制
    • 设备唯一标识(读取72位序列号)
    • 安全OTA升级的随机挑战值

四、开发注意事项

  1. 时序要求

    • I2C信号建立时间≥600ns(VCC=3.3V时)
    • 数据有效性窗口需满足tSU.DAT≥100ns
  2. 错误处理机制

    错误码含义解决方案
    0x03命令解析错误检查参数长度和CRC
    0x07自检失败执行硬件复位
    0xFF通信CRC错误重传数据包
  3. PCB设计建议

    • UDFN封装背面焊盘需接地以增强散热
    • SDA/SCL线需加1.2kΩ上拉电阻(VCC=5V时)
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • microchip
    +关注

    关注

    52

    文章

    1612

    浏览量

    120587
  • CAL
    CAL
    +关注

    关注

    0

    文章

    3

    浏览量

    8660
  • 随机数发生器

    关注

    0

    文章

    23

    浏览量

    11233
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    随机数生成器TRNG外设模块应用要点

    国产车规微控制器原厂云途半导体设计和发售的YTM32ME微控制器上集成的随机数生成器TRNG(True Random Number Generator)外设模块
    的头像 发表于 11-08 14:52 3271次阅读
    <b class='flag-5'>真</b><b class='flag-5'>随机数</b><b class='flag-5'>生成器</b>TRNG外设模块应用要点

    关于随机数生成器复用的问题

    本人最近用verilog写了一个随机数生成器RNG生成一个32bits的随机数,然后加入到信道仿真的模块中,在信道仿真的模块里面需要有3个
    发表于 07-27 16:59

    Kintex上的随机数生成器测试失败的原因有哪些?

    我想在Kintex-7上生成真正的随机数。我正在关注Xilinx发表的论文,其中环形振荡器用于随机数生成,LHCA已被用作扰码器。但是,每当我捕获11兆字节的数据(
    发表于 04-26 11:06

    Zynq-7000 AP SoC是否具有真正的随机数发生器?

    随机数发生器在安全解决方案中起着重要作用。真正的随机数发生器通常由平台支持,例如Exynos 5,OMAP 3,4 SoC系列和飞思卡尔i.MX53。我已经阅读了zynq-7000的TRM,但没有找到
    发表于 07-17 14:27

    YIE002-STM32的随机数生成器构建

    font color=#ff5555 size=2>YIE002开发探索之随机数生成器1 随机数生成器构建2 YIE002-STM32的随机数
    发表于 01-17 07:40

    新手求助怎样去使用随机数生成器RNG

    新手求助怎样去使用随机数生成器RNG呢?
    发表于 01-20 06:24

    i.MX8QM随机数生成器符合什么要求?

    大家好, 我们的客户要求我们指定一个真正的随机数生成器。 i.MX8QM 随机数生成器符合什么要求? 以下是对 SE050 中的
    发表于 05-18 06:13

    Arm随机数发生器(TRNG)表征应用说明

    本章概述ARM®随机数生成器(TRNG)及其特性。 ARM®随机数生成器(TRNG)从物理熵
    发表于 08-29 07:19

    STM32L4随机数生成器模块(RNG)介绍

    基于噪声源的32位随机数生成器。 •使用线性反馈移位寄存器进行后处理。 •由专用时钟(PLL48CLK)计时 •两个连续随机数之间的PLL48CLK时钟信号的40个周期 •可禁用以降
    发表于 09-11 07:29

    如何使用随机数生成器生成私钥

    ,尤其重要。 说到随机,有两个必须要搞清楚的概念:“随机数生成器”(TRNG)和伪随机数
    发表于 03-18 10:40 5574次阅读
    如何使用<b class='flag-5'>随机数</b><b class='flag-5'>生成器</b>来<b class='flag-5'>生成</b>私钥

    在Arduino开放平台上用随机数生成器控制眼睛动作

    随机数生成器计算每只眼睛的新位置,给人一种自然又可怕的眼睛动作~
    的头像 发表于 05-24 06:20 4384次阅读

    科学家研制出最快的激光随机数生成器

    一个由国际科学家组成的团队研制出一种激光,每秒可以产生254万亿个随机数字,比计算机随机数生成器(random number generators,RNG)快100多倍。 尽管
    的头像 发表于 03-17 17:39 2543次阅读

    YIE002开发探索10-随机数生成器

    生成器1 随机数生成器构建2 YIE002-STM32的随机数生成器编程2.1 随机数
    发表于 01-17 13:06 2次下载
    YIE002开发探索10-<b class='flag-5'>随机数</b><b class='flag-5'>生成器</b>

    Arduino Lotto随机数生成器

    电子发烧友网站提供《Arduino Lotto随机数生成器.zip》资料免费下载
    发表于 11-02 10:59 0次下载
    Arduino Lotto<b class='flag-5'>随机数</b><b class='flag-5'>生成器</b>

    随机数生成器开源分享

    电子发烧友网站提供《随机数生成器开源分享.zip》资料免费下载
    发表于 11-11 11:57 0次下载
    <b class='flag-5'>随机数</b><b class='flag-5'>生成器</b>开源分享