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

192 篇文章 62 订阅
13 篇文章 13 订阅

8. DRBG Mechanism Concepts and General Requirements

8.2 DRBG Instantiations

Instantiation和Reseed的种子不能相同。

种子有最大生命周期限制,即任一种子下生成的随机比特长度有限制,比如使用SHA256时,一个种子最多只能生成248比特的随机比特。

8.3 Internal States

Instantiation和Reseed的种子不能相同。

种子有最大生命周期限制,即任一种子下生成的随机比特长度有限制,比如使用SHA256时,一个种子最多只能生成248比特的随机比特。

内部状态包括:工作状态(如利用种子派生的信息、generate function调用次数的计数器)和管理信息(如安全强度、抗预测标识等)

DRBG应支持多个实例,不同的实例使用不同的内部状态。

8.6 Seeds

8.6.3 Entropy Requirements for the Entropy Input

安全强度要求:entropy input>= DRBG instantiation

8.6.4 Seed Length

种子的最小长度 >= 熵的比特数

详情参见第10章的表.

8.6.5 Randomness Source

A DRBG mechanism requires an approved randomness source during instantiation and reseeding, including whenever prediction resistance is requested (see Section 8.8). This input is requested using the Get_entropy_input function introduced in Section 9 and is specified in more detail in [SP 800-90C].

An approved randomness source is an entropy source that conforms to [SP 800-90B], or an RBG that conforms to [SP 800-90C] either a DRBG or an NRBG.

8.6.6 Entropy Input and Seed Privacy

输入熵应视为关键安全参数。

输入熵应从本密码模块内获得,或者从另一个密码模块获得(但数据传输需经过安全通道)。

8.6.7 Nonce

The nonce shall be either:

a. A value with at least (security_strength/2) bits of entropy, or

b. A value that is expected to repeat no more often than a (security_strength/2)-bit random string would be expected to repeat.

Nonce应具有唯一性,

Nonce无需保密。

Nonce应视为关键安全参数

Nonce应在密码模块边界内生成(不能出密码模块)

Nonce可由下面的一个或者多个部件组成:

  1. 使用获准的随机比特生成器产生;
  2. 时间戳(应保证每次取值都不相同)
  3. 单调递增序列号
  4. 时间戳和单调递增序列号的组合。例如时间戳采用当天日期但不涉及具体时间,而序列号在一天内顺序递增。

8.6.8 Reseeding

种子有生命周期限制,具体的生命周期取决于采用的DRBG算法.

具体实现时需保证种子的生命周期到时,必需reseeded后方可再使用。

8.6.9 Seed Use

8.6.10 Entropy Input and Seed Separation

8.7 Other Input to the DRBG Mechanism

8.7.1 Personalization String

personalization string是实例化时的可选参数(即可为空串)

personalization string可从密码模块内部或密码模块外部获取

8.7.2 Additional Input

Additional input是reseed和generate时的可选参数(即可为空串)

Additional input可从密码模块内部或密码模块外部获取

8.8 Prediction Resistance and Backtracking Resistance

prediction_resistance_request标识与第9章流程之间的关系:

  1. 如果选用的算法总是不支持prediction_resistance,则不用考虑prediction resistance的request或flag标识,与相关的操作都删除
  2. 如果选用的算法总是支持prediction_resistance,则不用考虑prediction resistance的request或flag标识,与相关的操作都执行
  3. 如果选用的算法可以支持也可以不支持prediction_resistance,则按照第9章的算法流程,通过核对相应标识执行相关操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值