NIST SP 800-90Ar1 Recommendation for Random Number Generation ... 分析与摘选之一

本文分析了NISTSP800-90系列文档,涵盖随机数生成器的确定性算法、熵源使用推荐及构造指南。深入探讨了DRBG的工作模型,包括关键输入参数如熵输入、nonce、个性化字符串等,以及核心功能如实例化、生成、重新设定和健康测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

摘要:本文档对随机数发生器文档NIST SP 800-90系列(包括NIST SP 800-90Ar1、SP 800-90B、SP 800-90C)进行简要分析记录。

关键词:密码模块,随机数发生器,密码算法,工作模式,CTR,杂凑算法,HMAC,熵,密码边界。

NIST SP 800-90系列包括

  1. NIST SP 800-90Ar1 Recommendation for Random Number Generation Using Deterministic Random Bit Generators
  2. NIST SP 800-90B Recommendation for the Entropy Sources Used for Random Bit Generation
  3. NIST SP 800-90C Recommendation for Random Bit Generator (RBG) Constructions

7. Functional Model of a DRBG

DRBG 模型如图1。

图1 DRBG Functional Model

模块的输入参数

  1. Entropy Input
    1. Instantiate和generate时的输入.
    2. 应视为关键安全参数。
    3. 从本密码模块内获得,或从另一个密码模块获得(但数据传输需经过安全通道)
  2. Nonce:DRBG
    1. 实例化时可选输入.
    2. 应具有唯一性,
    3. 无需保密
    4. 应视为关键安全参数
    5. 在密码模块边界内生成(不能出密码模块)
  3. Personalization string:.
    1. 实例化时的可选参数(即可为空串),
    2. 确保唯一性
    3. 从密码模块内部或密码模块外部获取
  4. Additional input:reseed和输出随机比特时的可选输入
    1. reseed和generate时的可选参数(即可为空串),
    2. 从密码模块内部或密码模块外部获取

模块的五个函数

  1. Instantiate function: DRBG实例化。输入entropy input、nonce、personalization string创建seed,seed创建DRBG内部状态。
  2. generate function 生成随机比特,利用输入的additional input 和当前状态生成所需的随机比特,同时更新内部状态。
  3. reseed function重新设定DRBG内部状态。输入新的entropy input、additional input,并与当前内部状态一起生成新的seed,再由seed创建新的内部状态。
  4. uninstantiate function反初始化,清除内部状态。

health test function:测试DRBG正确性。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值