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

YunTu Forum

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

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

已定时 已固定 已锁定 已移动 未解决 YTM32B1H系列
18 帖子 3 发布者 88 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 沈宇恒沈 离线
    沈宇恒沈 离线
    沈宇恒
    回复了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
                                ocean_wuO
                                ocean_wu
                                FunchovyF
                                Funchovy
                                xiangyuX
                                xiangyu
                                gacknight0754G
                                gacknight0754
                                YTCQ_shejiwangY
                                YTCQ_shejiwang
                                Gavin2G
                                Gavin2
                                asd846145726A
                                asd846145726
                                • 登录

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