首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏全志嵌入式那些事

    全志R128 SDK HAL 模块开发指南之 TRNG

    TRNG TRNG是真随机数发生器,随机源是8 路独立的环形振荡器,由模拟器件电源噪声产生频率抖动,用低频始终重采样,然后进行弹性抽取和熵提取处理,最终输出128bit真随机数。 源码结构 drv_trng.c drv_trng.h hal_trng.c 模块接口说明 头文件 #include <sunxi_hal_trng.h> 返回值枚举 typedef enum { HAL_TRNG_STATUS_OK = 0, /* success */ HAL_TRNG_STATUS_ERROR = -1, /* general error */ timeout */ HAL_TRNG_STATUS_INVALID = -4 /* invalid argument */ } HAL_TRNG_Status; 获取随机数 函数原型 HAL_TRNG_Status , hal_trng, trng hal APIs tests)

    25610编辑于 2024-04-25
  • 来自专栏全志嵌入式那些事

    全志R128应用开发案例——获取真随机数

    cat=24 R128 内置了TRNG,一个真随机数发生器,随机源是 8 路独立的环形振荡器,由模拟器件电源噪声产生频率抖动,用低频始终重采样,然后进行弹性抽取和熵提取处理,最终输出128bit真随机数 前往下列地址找到 TRNG Devices Drivers Options ---> soc related device drivers ---> TRNG Devices ---> -*- enable trng driver 编写程序 打开你喜欢的编辑器,修改文件:lichee/rtos/projects/r128s2/module_c906/src /main.c 引入头文件 #include <sunxi_hal_trng.h> 初始化 TRNG 读取数据模块 uint32_t random[4] = {0}; HAL_TRNG_Extract 1], random[2], random[3]); HAL_TRNG_Extract(1, random); // 读取 XOR 模式 printf("trng XOR result: 0x%08x

    31410编辑于 2024-02-02
  • 来自专栏趣Python

    M-Arch(番外6)GD32L233评测-随机数(附 软件随机数生成算法)

    rcu_osci_on(RCU_IRC48M); while(ERROR == rcu_osci_stab_wait(RCU_IRC48M)); rcu_periph_clock_enable(RCU_TRNG ); trng_deinit(); trng_enable(); while (trng_flag_get(TRNG_FLAG_DRDY) == RESET); get_rand_data endif } GDF450 的初始化代码: void rnd_init(void) { #ifdef SUPPORT_HARD_RNG rcu_periph_clock_enable(RCU_TRNG ); trng_deinit(); trng_enable(); while (trng_flag_get(TRNG_FLAG_DRDY) == RESET); get_rand_data (); #endif } 测试结果 1 秒打印一次,调用trng_get_true_random_data。

    66710编辑于 2022-03-22
  • 来自专栏趣Python

    M-Arch(3)第二个示例:随机数

    使能的方法(具体查看手册): TRNG使能位 0: 禁止TRNG模块(降低功耗) 1: 使能TRNG模块 读取寄存器的方法(具体查看手册): DRDY 随机数准备状态位 读TRNG_DATA寄存器会清零该位 0: TRNG数据寄存器的内容无效 1: TRNG数据寄存器的内容有效 那么,封装的代码就有了(GD32): void rnd_init(void) { rcu_periph_clock_enable (RCU_TRNG); trng_deinit(); trng_enable(); while (trng_flag_get(TRNG_FLAG_DRDY) == RESET) ); trng_deinit(); trng_enable(); while (trng_flag_get(TRNG_FLAG_DRDY) == RESET); (); trng_enable(); while (trng_flag_get(TRNG_FLAG_DRDY) == RESET); get_rand_data();

    61610发布于 2021-09-10
  • 来自专栏深度学习之tensorflow实战篇

    R语言 判别分析

    PS:=============distinguish.bayes.R==================== #多个总体判别的贝叶斯判别程序 #输入 TrnX 表示训练样本 样本输入格式为数据框 #TrnG 当其值为TRUE是表示认为两个总体的协方差相同 否则不同 #输出 函数的输出是数字构成的一维矩阵 1表示待测样本属于X1类 distinguish.bayes <- function (TrnX, TrnG , p = rep(1, length(levels(TrnG))), TstX = NULL, var.equal = FALSE){ if ( is.factor(TrnG) == FALSE ){ mx <- nrow(TrnX); mg <- nrow(TrnG) TrnX <- rbind(TrnX, TrnG) TrnG <- factor(rep(1:2, c(mx, mg )) mu <- matrix(0, nrow=g, ncol=ncol(TrnX)) for (i in 1:g) mu[i,] <- colMeans(TrnX[TrnG==i,])

    83850发布于 2019-02-14
  • 来自专栏深度学习之tensorflow实战篇

    R语言 判别分析

    PS:=============distinguish.bayes.R==================== #多个总体判别的贝叶斯判别程序 #输入 TrnX 表示训练样本 样本输入格式为数据框 #TrnG 当其值为TRUE是表示认为两个总体的协方差相同 否则不同 #输出 函数的输出是数字构成的一维矩阵 1表示待测样本属于X1类 distinguish.bayes <- function (TrnX, TrnG , p = rep(1, length(levels(TrnG))), TstX = NULL, var.equal = FALSE){ if ( is.factor(TrnG) == FALSE ){ mx <- nrow(TrnX); mg <- nrow(TrnG) TrnX <- rbind(TrnX, TrnG) TrnG <- factor(rep(1:2, c(mx, mg )) mu <- matrix(0, nrow=g, ncol=ncol(TrnX)) for (i in 1:g) mu[i,] <- colMeans(TrnX[TrnG==i,])

    1.2K50发布于 2018-03-16
  • 来自专栏掘金安东尼

    程序员思考《阿甘正传》中的”随机性“观点 —— PRNG&TPNG

    至于像基于难以预测的物理现象生成随机数,比如电子噪声、放射性衰变等,这些被认为是 “真随机数生成器” —— TRNG,可是:目前只是说人类还没有完全认知这些物理现象,像在大海边捡贝壳的小朋友,这写现象背后是否真的也由某种算法 就像现在的 AIGC 也充满着随机性,比如 GPT 中的随机因素,它既有 PRNG,也有 TRNG: GPT 在生成文本时,会考虑每个可能的下一个词的概率。这个概率是基于模型训练时学到的语言模式。 GPT 既不是像 TRNG 那样的真随机,也不完全是像 PRNG 那样的伪随机。

    24410编辑于 2024-01-27
  • 来自专栏核心板

    【配套开发】芯驰D9处理器四核Cortex-A55+核心板

    处理器特点 Ø 多核异构芯片架构,内置高性能的Cortex-A55 CPU内核及双核锁步的高实时高可靠Cortex R5内核; Ø 支持安全启动且配套安全OS,内置HSM支持TRNG、AES、RSA、SHA

    76020编辑于 2023-04-04
  • 来自专栏代码人生

    AngularJS系列(六)——表格

    显示表格十分方便容易 基本显示

    <trng-repeat

    75810发布于 2019-10-30
  • 来自专栏音频DSP方案技术

    CC1310无线射频芯片特色解析

    超低功耗时钟比较器– 可编程电流源– UART– 2 个同步串行接口 (SSI)(SPI、MICROWIRE 和TI)– I2C、I2S– 实时时钟 (RTC)– AES-128安全模块– 真随机数发生器 (TRNG

    80030编辑于 2023-10-31
  • 来自专栏启明云端

    IDO-SOM6Y08:基于 NXP i.MX 6ULL SoC一款超小型模块

    ⚫ 2 个 12-bit ADC, 最高支持 10 个输入通道,支持电阻触摸屏 (4 线或 5 线) ⚫ 安全模块: TRNG, Crypto Engine (AES with DPA, TDES/SHA

    66060发布于 2021-08-17
  • 来自专栏大数据文摘

    人类对随机数的探索:如何才能生成一个均匀的随机数列

    相机的图像数据是一个很好的熵源:就像图灵的真正随机数生成器(TRNG),并且它可以以165Kb / s的速率生成随机数据。在当时的硅谷时代,熔岩灯平台迅速获得专利。 这使得新的服务器具备了来自热噪声的本地源随机数生成能力——真正的随机数生成器(TRNG)。这非常具有进步意义,但速度仍不如软件PRNGs快,所以加密软件仍然不得不依靠一个伪随机数发生器。 REDOUBLER和无限噪声 TRNG是两个开源硬件随机数生成器,链接中给出他们的 Github 源码地址。

    2.3K70发布于 2018-05-25
  • 来自专栏LET

    谈谈随机数

    TRNG 通过一些物理现象来产生随机数,比如大气层的噪音,元素的衰变和放射,掷骰子等,因为这些行为受到多个自然因素的影响,过程不可预测,所以主观上觉得比较安全。 相比而言,TRNG更大的优势在于不可预测性,但结果上并不一定平均。 PRNG 伪随机数通过算法产生,计算机因此可以模拟随机行为。

    2.1K110发布于 2018-06-20
  • 来自专栏云深之无迹

    STM32F4-高性能家族

    STM32F412– 高RAM和闪存容量,USB接口,增强型外设集,包括灵活的外部静态存储器控制器,具有用于LCD和外部存储器控制的高达16位的数据总线,双模四通道SPI、CAN、DFSDM和TRNG

    46100编辑于 2025-02-05
  • 来自专栏全志嵌入式那些事

    详解全志R128 RTOS安全方案功能

    TRNG TRNG 是真随机数发生器,随机源是 8 路独立的唤醒振荡器,由模拟器件电源噪声产生频率抖动,用低频时钟重采样,然后进行弹性抽取和熵提取处理,最终输出 128bit 真随机数。 HASH‑SHA256 √ HASH‑SHA384 √ HASH‑SHA512 √ RSA‑512 √ RSA‑1024 √ RSA‑2048 √ CE具体接口可以在 CE | R128 Documents 找到,TRNG 可以在 TRNG | R128 Documents 找到,这里不过多赘述。

    59310编辑于 2024-02-02
  • 来自专栏FreeBuf

    严重的随机数生成器漏洞披露,数十亿IoT设备受影响

    在物联网设备中,系统级芯片(SoC)装有一个专门的硬件RNG外设,称为真随机数生成器(TRNG),用于从物理过程或现象中捕获“随机性”。

    1K20发布于 2021-08-24
  • 来自专栏韦东山嵌入式

    DshanMCU-R128s2芯片简介

    SHA224, SHA256, SHA384, SHA512, HMAC - Asymmetrical algorithm: RSA512/1024/2048bit - S upports TRNG

    51810编辑于 2023-12-22
  • 来自专栏知行合一

    《深入浅出密码学》——读书笔记(更新中)

    2.2 随机数 随机数生成器类别 TRNG(真随机数生成器): 输出是不可复制的 都是基于物理过程 PRNG(伪随机数生成器): 从一个初始种子值开始通过各种计算得到序列 必须拥有良好的统计属性 ,即它的输出近乎与TRNG相同 CSPRNG(加密安全的伪随机数生成器) 密码学应用 PRNG的一个特例 给定密钥序列中n个连续位,不存在一个时间复杂度位多项式的算法使得成功预测下一个位s_{n+ 定义2.2.2 一次一密(OTP) 一个序列密码称为一次一密必须满足一下条件: 通过TRNG得到密钥序列:s_0, s_1, s_2, … 只有合法的通信方才知道密钥序列 每个密钥序列位s_i仅适用一次 (未知是否有更好的攻击方法) 那么密钥值应为(A, B)所以,只需要能够知道两对明文和密文对即可获得两个方程,并得到A与B的解:因为得到的(A, B) 测试TRNG输出序列的统计属性的工具 Diehard

    1.4K50编辑于 2023-03-06
  • 来自专栏大龄程序员的人工智能之路

    写给开发人员的实用密码学 - 随机数

    硬件随机发生器 硬件随机发生器,称为真随机数发生器(True Random Number Generator,TRNG),通常捕获物理过程或现象,例如光的可见光谱、环境的热噪声、大气噪声等。 对于具有较高安全性要求的系统(例如银行和金融应用程序、证书颁发机构和大额付款处理等),需要使用TRNG。 开发人员如何正确使用CSPRNG?

    2.3K30发布于 2021-01-12
  • 来自专栏芯智讯

    树莓派推出基于自研RISC-V内核的开发板,定价5美元

    RP2350 的安全架构围绕面向 Cortex-M 的 Arm TrustZone 构建,包括签名启动支持、8KB 片上反熔丝一次性可编程 (OTP) 存储器、SHA-256 加速、硬件真随机数发生器 (TRNG

    74310编辑于 2024-08-14
  • 领券