RISC-V MCU中文社区

【求助】 关于AES与SM4加密过程中随机数的介绍

发表于 全国大学生集成电路创新创业大赛 2023-05-30 18:13:21
0
1946
0

报名编号:CICC2353

称团队名:不划水队

所选杯赛:芯来RISC-V杯

AES与SM4加密算法中,密钥的安全生成非常重要,如果对数据每次加密都使用相同的密钥,再长的密钥都会有被暴力破解的时候,因此密钥的不可预测与随机性非常重要。此外对于一些加密模式(比如CBC模式)需要一个初始化向量IV作为第一个加密块的输入,这个部分也应该使用随机数。随机数由随机数生成器RNG提供。

随机数生成器分为真随机数生成器(TRNG)和伪随机数生成器(PRNG)。真随机数需要依赖于真正的随机事件或物理过程。例如,通过硬件随机数生成器(HRNG)可以基于物理过程(例如量子效应、热噪声,CPU时间等)来生成真随机数。这些真随机数是由自然界中的不确定性事件产生的,不受算法或初始种子的影响。伪随机数生成器是通过确定的算法和初始种子(seed)来生成随机数,如果使用相同的seed,生成的随机数会不断重复,导致泄露的风险。

在计算机系统、安全通信以及密码协议中广泛使用的,是确定性随机生成器Deterministic Random Bit GeneratorDRBG。它是一种基于确定性算法的伪随机数生成器,DRBG 使用一个种子作为起点,然后根据特定的算法和状态转换函数生成一个随机数序列。这个算法和状态转换函数通常使用密码学原语(如哈希函数、对称加密算法等)来确保生成的随机数具有高度的不可预测性和均匀分布性。为了提高生成序列的随机性,DRBG 引入了熵源(entropy source)作为初始种子。熵源可以是真随机数生成器、硬件噪声源等,用于增加生成随机数的不确定性。熵源的质量对于 DRBG 的安全性和随机性至关重要。保护好种子的保密性和熵源的质量是确保 DRBG 生成高质量随机数的关键

下图是常见的随机数生成器结构。


                                                        

                                        


【1】蜂鸟E203协处理器EAI指令及接口_全国大学生集成电路创新创业大赛_RISC-V论坛讨论_RISC-V MCU中文社区 (rvmcu.com)

【2】加密算法的应用_全国大学生集成电路创新创业大赛_RISC-V论坛讨论_RISC-V MCU中文社区 (rvmcu.com)

【3】国密系列算法简介及SM4算法原理介绍_全国大学生集成电路创新创业大赛_RISC-V论坛讨论_RISC-V MCU中文社区 (rvmcu.com)

【4】Demo_NICE软件源码解读及应用_全国大学生集成电路创新创业大赛_RISC-V论坛讨论_RISC-V MCU中文社区 (riscv-mcu.com)

【5】AES加密流程_全国大学生集成电路创新创业大赛_RISC-V论坛讨论_RISC-V MCU中文社区 (riscv-mcu.com)

【6】AES和SM4算法的可重构分析_全国大学生集成电路创新创业大赛_RISC-V论坛讨论_RISC-V MCU中文社区 (riscv-mcu.com)

【7】硬件安全模块和EVITA标准介绍

【8】 AES加密流程_全国大学生集成电路创新创业大赛_RISC-V论坛讨论_RISC-V MCU中文社区 (riscv-mcu.com)

【9】蜂鸟E203内核乘法器的优化






喜欢0
用户评论
ylshi

ylshi 实名认证

懒的都不写签名

积分
问答
粉丝
关注
  • RV-STAR 开发板
  • RISC-V处理器设计系列课程
  • 培养RISC-V大学土壤 共建RISC-V教育生态
RV-STAR 开发板