首页 购物车 询价
www.GB-GBT.com

[PDF] GM/T 0078-2020 - 自动发货. 英文版

标准搜索结果: 'GM/T 0078-2020'
标准号码内文价格美元第2步(购买)交付天数标准名称状态
GM/T 0078-2020 英文版 230 GM/T 0078-2020 3分钟内自动发货[PDF] 密码随机数生成模块设计指南 有效

基本信息
标准编号 GM/T 0078-2020 (GM/T0078-2020)
中文名称 密码随机数生成模块设计指南
英文名称 The design guidelines for cryptographic random number generation module
行业 Chinese Industry Standard (推荐)
中标分类 L80
字数估计 14,158
发布日期 2020-12-28
实施日期 2021-07-01
标准依据 国家密码管理局公告第41号
发布机构 国家密码管理局

GM/T 0078-2020: 密码随机数生成模块设计指南 GM/T 0078-2020 英文名称: The design guidelines for cryptographic random number generation module 中华人民共和国密码行业标准 密码随机数生成模块设计指南 国家密码管理局 发 布 1 范围 本文件规定了密码硬件随机数生成模块的设计要求。 本文件适用于随机数生成模块的研制、开发和检测的指导。 2 规范性引用文件 下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文 件,仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于 本文件。 GM/T 0005 随机性检测规范 GM/T 0008 安全芯片密码检测准则 3 术语和定义 GM/T 0005和GM/T 0008界定的以及下列术语和定义适用于本文件。 5 随机数生成模块一般模型 随机数生成模块的一般模型见图1。 物理随机源电路利用电路中物理过程的不确定性,并对物理过程中的不确定性进行采样量化,得到 随机源序列。物理随机源电路常用的设计原理包括混沌动力系统原理、相位抖动原理和热噪声直接放 大原理。 物理随机源失效检测电路是对物理随机源的输出进行检测,通过检测判断物理随机源是否失效,并 控制随机数生成模块的随机数序列输出。只有通过物理随机源检测的随机数序列才可以输出。物理随 机源检测到失效时,随机数生成模块应提供报警信号。 后处理电路利用一定算法生成符合统计检验的随机数序列。后处理算法有很多,实际中要根据物 理随机源的特性进行设计。 随机数生成模块有两个输出,一个是随机数序列输出,一个是提供检测的随机源检测输出。输出的 随机数序列的随机性应符合GM/T 0005标准。随机源检测输出主要用于检测物理随机源的基本随 机性。 6 物理随机源电路的设计原理 6.1 混沌动力系统原理 6.1.1 原理典型模型 利用混沌函数的特性设计混沌系统,是将随机性噪声作为这个混沌系统的微小扰动,由于系统的输 出受系统中随机噪声的影响,使系统输出序列不可预测,产生随机序列。基于混沌动力系统原理实现物 理随机源,主要考虑混沌函数的电路实现和随机噪声的实现。 混沌系统包括离散混沌和连续混沌两种。标准从工程实现角度,给出一种典型的基于离散混沌系 统的物理随机源模型,见图2。 6.1.2 电路设计要求 6.1.2.1 采样频率 从初始状态开始,混沌电路的计算每轮进行一次中间变量的迭代,记第n轮的迭代值为Xn。外部 采样时钟对Xn 进行量化(如对Xn 电平值进行采样,高电平则输出1、低电平则输出0)。记第i次采样 输出为Bi,注意这里n和i一般并不是同步变化的。采样频率应当满足如下要求: a) 采样频率首先应当小于两次迭代间的最慢频率,保证两次的采样是不同的Xn; b) 采样频率需要足够的慢,保证在两次采样之间,混沌电路又经过了足够多轮的迭代,使得从外 界看来电路又重新进入了混沌状态。 6.1.2.2 函数参数选择 函数参数需要保证系统是可以达到混沌状态的。 6.1.3 电路设计原理实现的工作环境条件 基于混沌系统实现物理随机源,要求电路的实现工艺参数准确,才能保证实际电路与参数仿真结果 一致。要尽量避免工艺偏差和寄生效应对电路的影响。 6.1.4 电路示例 基于离散混沌系统原理的物理随机源电路示例详见附录A中A.1。 6.2 相位抖动原理 6.2.1 原理典型模型 利用相位抖动产生随机数的方法应用广泛,在数字电路和模拟电路中均能够方便的设计与实现。 基于采样相位抖动原理实现物理随机源,主要考虑带抖动信号的产生和抖动采集电路的设计。典型的 基于相位抖动原理产生物理随机源的模型见图3,包括振荡源、采样时钟和触发器。基于相位抖动产生 物理随机源,主要包括两种方式:一种是慢速时钟信号采样带抖动快速振荡信号,根据采样时刻振荡信 号相位的不确定性来产生随机比特序列;一种是带抖动慢速的时钟信号采样快速振荡信号,该方式产生 的物理随机源的随机性主要决定于慢速时钟信号抖动的范围和分布情况。 图3 基于相位抖动原理产生物理随机源模型 6.2.2 电路设计要求 6.2.2.1 随机比特产生速度 电路设计中,采样时钟是慢速时钟信号。采样时钟的采样频率决定了随机比特序列的生成速率。 6.2.2.2 随机比特序列质量 令慢速采样时钟的频率为f1,其抖动的标准差为σ1,快速振荡时钟的频率为f2,其抖动的标准差 为σ2。通过对采样过程建立数学模型,随机比特序列每比特熵的下界可以近似用式(1)表示: 在设计时,如果要求每比特熵必须高于某一阈值,那么根据振荡时钟的振荡频率和抖动参数,可以 反解出安全的采样频率,具体示例见A.2.1。需要说明的是,式(1)仅考虑了白噪声影响下的熵值估计, 在设计时,如果采样频率较低,还需要考虑低频相关噪声的影响。 6.2.3 电路设计原理实现的工作环境条件 由于振荡时钟抖动通常对外界环境变化比较敏感,供电端引入的频率干扰会使抖动也具备确定性, 从而可能影响到输出随机比特的质量。因此,在设计时应当在物理随机源电路的供电端加入稳压或滤 波电路,降低确定性干扰的影响;或者改进振荡器的结构,使其具备抵抗确定性干扰的能力。 6.2.4 电路示例 基于相位抖动原理的物理随机源电路示例详见A.2。 6.3 热噪声直接放大原理 6.3.1 原理典型模型 热噪声直接放大原理是,采用放大电路对电路中的热噪声直接进行放大,然后经过比较输出随机源 序列。 热噪声是一个连续时间的随机白噪声,在给定频率带宽范围内,具有均匀噪声谱密度的白噪声其输 出幅值呈正态分布(或高斯分布)。因此,在任意给定的时间内,噪声电压值高于或低于平均值的概率相 同。若用一个理想的比较器来量化噪声,将白噪声输出与平均值作比较,则获得的二进制输出序列将会 完美地随机。典型的基于热噪声直接放大原理产生物理随机源的模型见图4,该原理模型主要由噪声 源、噪声放大器和比较器三部分组成。 6.3.2 电路设计要求 6.3.2.1 热噪声幅度 电阻热噪声是设计噪声源的重要方式之一。电阻热噪声源,其热噪声只与温度和阻值有关,与通过 的电流无关,它的单边谱密度为S(f)为式(2),噪声功率Vn2 为式(3): 6.3.2.2 噪声放大器的增益和带宽 噪声源产生的噪声量值通常比较小,一般通过放大器对噪声源产生的噪声进行放大。放大器的设 计有多种,常见电路如级联放大器、差分放大器。 噪声放大器的设计要求高增益高带宽,获得可以被比较器识别的输出信号。 6.3.2.3 比较器的失调电压和速度 噪声量化的方法是采用比较器实现,比较器对两个模拟输入进行比较,根据比较结果在输出产生相 应的逻辑电平,实现了模拟信号到数字信号的转换。比较器参考电压的值应为输出噪声的平均值;二进 制输出序列的采样可采用锁存器或触发器实现。 比较器电路存在失调电压,失调电压设计要足够小。 比较器的输入激励和输出转换之间的时延称为比较器的传输时延。比较器的传输时延一般随输入 幅值而变化,较大的输入将使时延较短。比较器的传输时延设计要足够小。 6.3.3 电路设计原理实现的工作环境条件 基于热噪声直接放大原理产生物理随机源的电路,易受电源和衬底耦合噪声、工艺偏差及老化和温 度漂移的影响。因此,电路应尽量屏蔽电源和衬底的噪声。 6.3.4 电路示例 基于热噪声直接放大原理的物理随机源电路示例详见A.3。 6.4 多路物理随机源合成 设计中含有2路或2路以上物理随机源,可以将多路物理随机源的数据异或合成后作为最终物理 随机源输出。 多路物理随机源的合成要求是: a) 每一路物理随机源电路是独立的。 b) 合成方式:异或。 c) 合成的多路物理随机源可以采用相同原理,也可以采用不同原理。 7 物理随机源的失效检测 物理随机源的失效检测是在随机数生成模块工作时,对物理随机源电路部分的最终输出序列进行 检测。 物理随机源的失效检测采用全“0”全“1”检测方法。全“0”全“1”检测的样本长度是32比特,检测中 出现全“0”全“1”样本,则判定该物理随机源电路失效。物理随机源电路失效时,应提供报警信号,并控 制关闭随机数生成模块的结果输出。 8 物理随机源的随机性检测 物理随机源的随机性检测是在随机数生成模块工作时,对后处理之前的物理随机源输出信号进行 检测。 物理随机源的随机性检测项目按照GM/T 0005中的单比特频数检测、扑克检测、游程总数检测进 行。检测2×104 比特1组物理随机源输出序列,检测显著性水平为α=0.0001。 随机数生成模块的最终输出序列,依据GM/T 0005进行随机性检测。 9 后处理算法的设计方法 9.1 后处理算法设计要求 后处理算法基本原则是不能降低每比特的平均熵,即后处理模块输入n比特,输出m 比特,必须保 证n≥m,其中n=m 的前提是物理随机源输出序列通过GM/T 0005检测。 9.2 密码函数方法 9.2.1 基于分组密码的后处理算法 基于分组密码的后处理算法需要采用经过认可的安全分组密码算法,可采用CBC和OFB模式,可 采用加密和解密运算方式。 使用分组密码算法作为后处理算法,其输入包括密钥数据、初始向量和明文/密文数据。后处理算 法启动运算时,密钥数据、初始向量应由物理随机源的输出序列进行设置。后处理算法明文/密文数据 应由物理随机源的输出序列提供,后处理算法的输出是对应算法的运算结果密文/明文数据。 9.2.2 基于杂凑函数的后处理算法 基于杂凑函数的后处理算法需要采用经过认可的安全杂凑函数。 使用杂凑算法作为后处理算法,其输入是消息数据,由物理随机源的输出数据提供,后处理算法的 输出是消息摘要。 9.2.3 基于m序列的后处理算法 利用长度为K 的m序列实现后处理,通常采用线性反馈移位寄存器或者非线性反馈移位寄存器 实现。物理随机源的输入与移位寄存器的循环移位同步,反馈位与数字化噪声信号当前位进行异或等 运算后输出。 采用m序列方法,应满足以下几点要求: a) 线性反馈移位寄存器的级数不能低于32。 b) 线性反馈移位寄存器的反馈多项式必须是本原多项式。 c) 线性反馈移位寄存器的反馈多项式不能是稀疏多项式。 d) 线性反馈移位寄存器的物理随机源数据输入应与移位寄存器的循环移位同步。 移位寄存器方式的压缩率对随机性有直接影响,输入的物理随机源信号的独立性对输出序列的独 立性也有直接的影响,这种后处理方法不适合使用在产生的物理随机源信号独立性不好的随机数生成 模块中,而且要保证输出速率必须小于输入速率(即物理随机源数据要经过压缩后才能输出)。 使用m序列方法作为后处理比较灵活,有很多种形式,经典形式见图5和流密码形式见图6。两个 图都是一个n级的LFSR后处理方案,其中Xi 是物理随机源的连续输出数据,Wi 是寄存器,pi 是抽头 (由LFSR的反馈多项式确定),最终输出随机数ri。 采用m序列后处理,还有很多变种,如LFSR-CRC,LFSR-NFSR等,可以根据实际情况选用。 9.3 轻量级后处理方法 9.3.1 冯诺依曼校正器方法 对随机数生成模块输出的数字化噪声序列分组,每相邻的两位为一组,对每个分组进行判断,如果 是‘00’和‘11’则丢弃,如果是‘01’则输出‘1’,如果是‘10’则输出‘0’。 冯诺依曼校正器适用于1出现概率固定,且输出的随机数序列是不相关的随机数生成模块。采用 这种后处理方法需要保证随机数生成的速率。 9.3.2 异或链方法 异或链方法通过将物理随机源输出序列经过多级触发器组合得到内部输出序列。设输入序列为 Xi,每次将相邻n比特异......
英文版: GM/T 0078-2020  
相关标准:GM/T 0079-2020  GM/T 0080-2020  GM/T 0081-2020  
英文版PDF现货: GM/T 0078-2020  GM/T 0078-2020