跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
折叠
品牌标识

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YTM32B1H系列
  4. HA01 MCAL中使用TRNG模块获取随机数

HA01 MCAL中使用TRNG模块获取随机数

已定时 已固定 已锁定 已移动 未解决 YTM32B1H系列
18 帖子 3 发布者 90 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • DigaD 离线
    DigaD 离线
    Diga
    编写于 最后由 编辑
    #3

    你同一种配置,在不同轮次的结果不也不一样嘛,这不是符合随机性嘛。HA01 一次会生成 256-bit 的真随机数,当样本数够大时,里面出现 0-bit 与 1-bit 的个数应该是一样的。如果想自己测随机性,可以参考 NIST SP 800-22 测试方法,这个对随机性的测试是比较科学严谨的

    zhaiZ 1 条回复 最后回复
    0
    • 沈宇恒沈 离线
      沈宇恒沈 离线
      沈宇恒
      回复了zhai 最后由 沈宇恒 编辑
      #4

      问题2:Random_Generate_Length = 32 是软件输出缓冲长度,必须 ≤32、4 字节对齐,它决定的是你获取的随机数长度一次只能最多256bit,如果要生成更多那就得多生成几次;PrimitiveInfo 里的 32 是 Crypto 作业结构字段,跟 TRNG 采样无关,所以修改不修改都没有作用;

      zhaiZ 1 条回复 最后回复
      0
      • zhaiZ 离线
        zhaiZ 离线
        zhai
        回复了Diga 最后由 编辑
        #5

        Diga YT针对随机数这块有相应的测试数据报告吗

        1 条回复 最后回复
        0
        • DigaD 离线
          DigaD 离线
          Diga
          编写于 最后由 编辑
          #6

          有的,可以咨询 FAE

          1 条回复 最后回复
          0
          • zhaiZ 离线
            zhaiZ 离线
            zhai
            回复了沈宇恒 最后由 zhai 编辑
            #7

            沈宇恒 如果我想获得3字节的随机数并且想尽量缩短获取随机数的时间,samp_szie设置为0x20时,上面应该如何修改?我尝试修改为0x20后连续获取的随机数一直是一个值

            沈宇恒沈 1 条回复 最后回复
            0
            • 沈宇恒沈 离线
              沈宇恒沈 离线
              沈宇恒
              回复了zhai 最后由 编辑
              #8

              驱动校验要求长度是 4 的倍数,你如果要3字节的随机数生成出来自己扔掉就行,尽量缩短获取随机数的时间可以按 32 字节发一次作业存进池,每次请求从池里取 3 字节,池空了再触发下一次

              zhaiZ 1 条回复 最后回复
              0
              • zhaiZ 离线
                zhaiZ 离线
                zhai
                回复了沈宇恒 最后由 zhai 编辑
                #9

                沈宇恒 目前就是这样操作的,上面结构体中的配置参数还是按照demo中的什么都不修改,samp_szie设置为0x20,ent_dly设置为0x200,调用CryptoTest_Asyn_SingleCall_Random接口去获取也是按照32字节去获取的,但是获得的随机数还是相同的
                下图是连续两次获取的结果
                73713a2a-5536-4879-a367-43cb8b60f470-image.png
                826fabf6-52b8-48c0-8931-0bb63d2a27f3-image.png

                沈宇恒沈 2 条回复 最后回复
                0
                • 沈宇恒沈 离线
                  沈宇恒沈 离线
                  沈宇恒
                  回复了zhai 最后由 编辑
                  #10

                  我刚刚试了一下并没有哦
                  dc142309-a30f-4ad0-9390-d04c19607912-img_v3_02156_7a637570-c762-45a6-ab18-c54a2ffe6cbg.jpg
                  d38429a4-e901-4133-9c6b-2218316a4d8f-img_v3_02156_704680e5-c40b-4589-bd7b-6d4a9659544g.jpg

                  1 条回复 最后回复
                  0
                  • 沈宇恒沈 离线
                    沈宇恒沈 离线
                    沈宇恒
                    回复了zhai 最后由 沈宇恒 编辑
                    #11

                    zhai 你用的是哪个版本的?以前的老版本不能32字节丢数据;而且你是不是改了内部代码,这个值是不能动的哦,samp_size你获取的字节不是改这个,是改Random_Generate_Length
                    c91b87a0-fe7c-4a3e-ba23-b4b19bec1a90-image.png

                    沈宇恒沈 1 条回复 最后回复
                    0
                    • zhaiZ 离线
                      zhaiZ 离线
                      zhai
                      编写于 最后由 zhai 编辑
                      #12

                      我使用的macl版本是2.0.3,我之前确实修改的是上图中的内部代码,要修改samp_size是修改Random_Generate_Length?Random_Generate_Length是单次获取的长度,samp_size是生成熵时所采集的样本总数,按照介绍获取随机数的最大时间根samp_size、ent_dly、slow_clk有关,如果我想尽量减少生成的时间,那不应该修改samp_size吗?
                      image.png

                      1 条回复 最后回复
                      0
                      • 沈宇恒沈 离线
                        沈宇恒沈 离线
                        沈宇恒
                        回复了沈宇恒 最后由 编辑
                        #13

                        原始采样总数0x200,256 个输出 bit 的熵不可能超过输入的原始采样数这是信息论下限,这个寄存器0x100已经是数学下限了,你改成0x20电路只能输出大量确定性内容,这个是TRNG 熵源的安全参数不能修改的哈,不要在这个上面挖时间,修改这个要重跑NIST SP800-22才能用

                        zhaiZ 1 条回复 最后回复
                        0
                        • zhaiZ 离线
                          zhaiZ 离线
                          zhai
                          回复了沈宇恒 最后由 编辑
                          #14

                          沈宇恒 好的,那如果要是想缩短单次获取的时间的话,就只能修改ent_dly或slow_bus_clk了对吧

                          沈宇恒沈 1 条回复 最后回复
                          0
                          • 沈宇恒沈 离线
                            沈宇恒沈 离线
                            沈宇恒
                            回复了zhai 最后由 编辑
                            #15

                            嗯嗯,32 字节缓存那个来实现其实也缩短了

                            zhaiZ 1 条回复 最后回复
                            0
                            • zhaiZ 离线
                              zhaiZ 离线
                              zhai
                              回复了沈宇恒 最后由 zhai 编辑
                              #16

                              沈宇恒 好的,32字节缓存是什么?我看其他帖子,如果实际要读取的长度<32字节,还是要按照32字节去读取的,上层字节从32字节中取相应长度的数据就行,参考的是这个帖子
                              https://forum.ytmicro.com/topic/257/trng-真随机数产生时间计算/4?_=1766039682973
                              ce4448b2-92f6-4c3e-99df-f0ae31fed27e-image.png

                              沈宇恒沈 zhaiZ 2 条回复 最后回复
                              0
                              • 沈宇恒沈 离线
                                沈宇恒沈 离线
                                沈宇恒
                                回复了zhai 最后由 编辑
                                #17

                                zhai 如果实际要读取的长度<32字节,还是要按照32字节去读取的,上层字节从32字节中取相应长度的数据就行,就是这个意思

                                1 条回复 最后回复
                                0
                                • zhaiZ 离线
                                  zhaiZ 离线
                                  zhai
                                  回复了zhai 最后由 编辑
                                  #18

                                  图中的修改samp size是不是不太对,其实是不能修改samp size的,我看其他用户修改samp size也是遇到类似的问题了

                                  1 条回复 最后回复
                                  0

                                • 云途开发生态介绍

                                  快速上手云途开发生态

                                • 云途论坛规则/Yuntu Forum Rules

                                  发帖前请查看

                                • YT CONFIG TOOL调查问卷

                                  帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...

                                • can
                                  28
                                  demo
                                  26
                                  uds
                                  14
                                  lin stack
                                  13
                                  fbl
                                  6
                                  md14
                                  6
                                  yt-link
                                  6
                                  adc模块
                                  4
                                  Online Users
                                  Gavin2G
                                  Gavin2
                                  CHENXIANGC
                                  CHENXIANG
                                  YTCQ_shejiwangY
                                  YTCQ_shejiwang
                                  SANzyS
                                  SANzy
                                  FengJialuF
                                  FengJialu
                                  janJ
                                  jan
                                  RuiXuR
                                  RuiXu
                                  • 登录

                                  • 登录或注册以进行搜索。
                                  • 第一个帖子
                                    最后一个帖子
                                  0
                                  • 版块
                                  • 最新
                                  • 标签
                                  • 热门