GM T 0078-2020 密码随机数生成模块设计指南.PDF

上传人:李朗 文档编号:1526471 上传时间:2021-12-26 格式:PDF 页数:15 大小:8.12MB
下载 相关 举报
GM T 0078-2020 密码随机数生成模块设计指南.PDF_第1页
第1页 / 共15页
GM T 0078-2020 密码随机数生成模块设计指南.PDF_第2页
第2页 / 共15页
GM T 0078-2020 密码随机数生成模块设计指南.PDF_第3页
第3页 / 共15页
GM T 0078-2020 密码随机数生成模块设计指南.PDF_第4页
第4页 / 共15页
GM T 0078-2020 密码随机数生成模块设计指南.PDF_第5页
第5页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、ICS 35.040 CCS L 80 6 中华人民共和国密石马才于业相乏准 GM/T 0078-2020 密码随机数生成模块设计指南 The design guidelines for cryptographic random number generation module 2020-12-28 发布 202 1-07-0 1 实施 噬鲜 国家密码管理局 发布 网豁联 f315i4OO6982315 舌l涂层查真伪 . . . . . . 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2、. . . . . . . . . . 0 . 0 0 . . . . . . . . . . . . . . . . . . . . . . . . . . GM/T 0078-2020 目 次 别而 1 范围 2 规范性引用文件 3 术语和定义 . . . . . . . . . . . . . 5 随机数生成模块一般模型 6 物理随机源电路的设计原理 6.1 混沌动力系统原理 6.2 相位抖动原理 6.3 热噪声直接放大原理 6.4 多路物理随机源合成 7 物理随机源的失效检测 . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1 后处理算法设计要求 9.2 密码函数方法 9.3 轻量级后处理方法 附录 A(资料性) 物理随机源电路示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4、 . . . . . . . . . . . . . . . . . . . . . 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 物理随机源的随机性检测 9 后处理算法的设计方法 GM/T 0078-2020 .JJ- 月u 古目 本文件按照 GB/T 1.1-2020标准化工作导则 第1 部分:标准化文件的结构和起草规则的规

5、定 起草。 请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别专利的责任。 本文件由密码行业标准化技术委员会提出并归口。 本文件起草单位:北京宏思电子技术有限责任公司、国家密码管理局商用密码检测中心、中国科学 院软件研究所、中国科学院信息工程研究所、国民技术股份有限公司、北京中电华大电子设计有限责任 公司、北京智芯微电子科技有限公司。 本文件主要起草人:张文蜻、罗鹏、郁群慧、范丽敏、马原、杨贤伟、李丹、甘杰、夏鲁宁。 工 GM/T 0078-2020 密码随机数生成模块设计指南 1 范围 本文件规定了密码硬件随机数生成模块的设计要求。 本文件适用于随机数生成模块的研制、开发和检测的

6、指导。 2 规范性引用文件 下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文 件,仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于 本文件。 GM/T 0005 随机性检测规范 GM/T 0008 安全芯片密码检测准则 3 术语和定义 GM/T 0005 和 GM/T 0008 界定的以及下列术语和定义适用于本文件。 3.1 随机数生成模块 random number generation module 利用真实世界的自然随机性,从随机的物理过程中提取出随机量,并经过变换处理,输出随机数的 电路。 3.2 热噪声 th

7、ermal noise 亦称白噪声,是由导体中电子的热震动引起的,它存在于所有电子器件和传输介质中。它是温度变 化的结果,但不受频率变化的影响。热噪声在所有频谱中以相同的形态分布,它是不能够消除的。 3.3 混沌理论 chaos theory 一种复杂的系统演化理论,主要将系统数据从有序的状态下转变成无序的状态模式。混沌是确定 性系统随机行为的总称,它的根源在于非线性的相互作用。混沌系统有如下几个基本特征:内在随机 性、初值敏感性和非规则的有序。 3.4 相位抖动 phase jetter 电路中的噪声会随机改变周期信号的频率,它在信号的相位上表现为一种特殊的随机过程,这种随 机现象就是相位抖

8、动。 4 缩略语 下列缩略语适用于本文件。 CBC:密码分组链接(Cipher Block Chaining) GM/T 0078-2020 CP:电荷泵(Charge Pump) LFSR:线性反馈移位寄存器(Linear Feedback Shift Register) NMOS:N 沟道金属氧化物半导体(N-Metal-Oxide-Semiconductor) OFB:输出反馈(Output FeedBack) VREF:电压基准(Voltage Reference) 5 随机数生成模块一般模型 随机数生成模块的一般模型见图 10 随机源检测 物理机之电路利用 随机源序 J。 理随机;

9、大原理。 物理随机几 效检测 控制随机捉拉成 块的随 馨 *Ss+I/+,J J1 4: )Jj4 t :s$ 样量化,得到 、噪声直接放 糕耀 3% 4:黔巍 t5tfif J4u tPJ1Jj jj/j J 机源检测到戮效时,随机数 一令令布令季布“一娜 后处理电路利: 鑫毫生成符合藐许检谧的随机数序列0 后处痊算 理随机源的特J趣行1、十。 随机数生成胜有” 输出,一个是随机数序列输出,一个是提供 随机数序列的随机性应符合“ T 0005 标准。随机源检测输 机性。 、 6 物理随机源电路的设计原理 6.1 混沌动力系统原理 6.1.1 原理典型模型 才 气是否失效,并 输出。物理随 实

10、际中要根据物 源检测输出。输出的 丝测物理随机源的基本随 利用混沌函数的特性设计混沌系统,是将随机性噪声作为这个混沌系统的微小扰动,由于系统的输 出受系统中随机噪声的影响,使系统输出序列不可预测,产生随机序列。基于混沌动力系统原理实现物 理随机源,主要考虑混沌函数的电路实现和随机噪声的实现。 混沌系统包括离散混沌和连续混沌两种。标准从工程实现角度,给出一种典型的基于离散混沌系 统的物理随机源模型,见图 2. 混沌电路 反馈电路 A;, 采样电路 内部状态 采样时钟 GM/T 0078-2020 图 2 基于混沌系统的物理随机源模型 6.1.2 电路设计要求 6.1.2.1 采样频率 从初始状态

11、开始, 采样时钟对 x,进才 输出为B:,注意、 a) 采样产 b) 采样 界 迭代值为 xn。外部 )。记第艺次采样 6.1.2.2 函数参数选择 函数参书需 6.1.3 电路设计 基于混沌 一致。要尽量 、 ;计算每轮进行一次中间变量的迭代,i 对 x,电平值进行采样,高电平则输出 1、低电 一般并不是同步变化的。采样频率应当满足如下要 应迭代间的矍曝保同的 x 翼厦殆鳄肇粤多“白勺、代使得从外 谈一 少 户 一 霆廖韧 - Ws e4+ ; + +$S$S4 iI 1t! *4 _ 4 mv 1L1 t 、:; 1 ; 1h 6.1.4 电路示例 基于离散混沌系二 像理爵物理随机源电路示

12、例详见附录 A 中 A.1, 6.2 相位抖动原理 6.2.1 原理典型模型 利用相位抖动产生随机数的方法应用广泛,在数字电路和模拟电路中均能够方便的设计与实现。 基于采样相位抖动原理实现物理随机源,主要考虑带抖动信号的产生和抖动采集电路的设计。典型的 基于相位抖动原理产生物理随机源的模型见图 3,包括振荡源、采样时钟和触发器。基于相位抖动产生 物理随机源,主要包括两种方式:一种是慢速时钟信号采样带抖动快速振荡信号,根据采样时刻振荡信 号相位的不确定性来产生随机比特序列;一种是带抖动慢速的时钟信号采样快速振荡信号,该方式产生 的物理随机源的随机性主要决定于慢速时钟信号抖动的范围和分布情况。 C

13、LK 随机比特 触发器 一一 一习 采样时钟 GM/I 0078-2020 图 3 基于相位抖动原理产生物理随机源模型 6.2.2 电路设计要求 6.2.2.1 随机比特产生速度 电路设计中,采样时钟是慢速时钟信号。采样时钟的采样频率决定了随机比特序列的生成速率。 6.2.2.2 随机比特序列质量 令慢速采样时钟的频率为了1 ,其抖动的标准差为 71,快速振荡时钟的频率为了2 ,其抖动的标准差 为 J2。通过对采样过程建立数学模型,随机比特序列每比特嫡的下界可以近似用式(1)表示: 4 H10we, =1 7t21n (2Y 式(1)中,Q 称为质量因子,Q=p2 Xv十(J1 X了212 ,

14、其中 P一J2 X了2 ,刃一九了1。可以看出,当假设 慢速采样信号不包含抖动时(即 o =0),可以得出 Q= p2 Xv;当假设快速振荡信号不包含抖动时(即 J2 =0),可以得出 Q=(ci1 X了212。 在设计时,如果要求每比特嫡必须高于某一阂值,那么根据振荡时钟的振荡频率和抖动参数,可以 反解出安全的采样频率,具体示例见 A.2.1。需要说明的是,式(1)仅考虑了白噪声影响下的嫡值估计, 在设计时,如果采样频率较低,还需要考虑低频相关噪声的影响。 6.2.3 电路设计原理实现的工作环境条件 由于振荡时钟抖动通常对外界环境变化比较敏感,供电端引人的频率干扰会使抖动也具备确定性, 从而

15、可能影响到输出随机比特的质量。因此,在设计时应当在物理随机源电路的供电端加人稳压或滤 波电路,降低确定性干扰的影响;或者改进振荡器的结构,使其具备抵抗确定性干扰的能力。 6.2.4 电路示例 基于相位抖动原理的物理随机源电路示例详见 A.2, 6.3 热噪声直接放大原理 6.3.1 原理典型模型 热噪声直接放大原理是,采用放大电路对电路中的热噪声直接进行放大,然后经过比较输出随机源 热噪声是一个连续时间的随机白噪声,在给定频率带宽范围内,具有均匀噪声谱密度的白噪声其输 出幅值呈正态分布(或高斯分布)。因此,在任意给定的时间内,噪声电压值高于或低于平均值的概率相 同。若用一个理想的比较器来量化噪

16、声,将白噪声输出与平均值作比较,则获得的二进制输出序列将会 完美地随机。典型的基于热噪声直接放大原理产生物理随机源的模型见图 4,该原理模型主要由噪声 源、噪声放大器和比较器三部分组成。 4 序列 产 J 切 0 GM/T 0078-2020 图 4 基于热噪声直接放大原理产生物理随机源模型 6.3.2 电路设计要求 6.3.2.1 热噪声幅度 电阻热噪声是设计噪声源的重要方式之一。电阻热噪声源,其热噪声只与温度和阻值有关,与通过 的电流无关,它的单边谱密度为 S(f)为式(2),噪声功率 V,2 为式(3): S(f)一 4走尺T V,2=4kRT 1og (2e) - 一 log(2e)

17、。 9.3.4 m-LSB 方法 将输人序列 X:每儿比特分为一组,对于儿元组(Xn.:+l戈2.:十2 .X.:+),丢弃高(刀一m)比特, 输出低 in 比特作为处理后的数据输出。 GM/T 0078-2020 附 录 A (资料性) 物理随机源电路示例 A.1 基于混沌动力系统原理的物理随机源电路示例 A.1.1 电路示例 1 电路中最容易实现的一类混沌系统是基于分段线性函数,见式(A.1): 当 X.vI,xfl+1=一a2 十 b戈, 其中 VI 是闽值,a1、 a2 和 b 者卜是常数。 分段线性函数在实现上有以下优点: a) 一个两相输出的函数很容易转换为二进制输出的随机数生成模

18、块,实现的时候不需要采用转 换部件。 b) 函数的参数少而且含义简单,更加利于我们分析函数的功能。 C) 分段函数可以用开关电容、开关电流等方法来实现,而且工作频率较高。 一种基于分段线性函数实现混沌原理的物理随机源电路示例见图 A.1, 二尹伽代护DOUT CLK 1 C3 CLK2 LK1 f 一一 c, I 图 A.1 基于混沌动力系统原理的物理随机源电路示例 利用集成电路实现混沌系统的分段线性函数,主要是式(A.1)中系数 b 的选择。只要满足 1 h Cl. K 随机比特 基于相位抖动原理的物理随机源电 例 2 篡 灭甲司卜 L. 撬霎 瓤 蕊芝三 、一一才 冬 l 采 及 路牛 (

19、M/T 0078-2020 图 . 2 基于相位抖动原理的物理随机源电路示例 1 该结构的设计参数要求如下。假设振荡频率为 500 MHz,周期抖动为 10 Ps,在比特率嫡不小于 0.997的条件下,采样频率应当不高于 90 kHz,即在采样频率不高于 90 kHz 情形下,随机源的比特率嫡 能够达到 0.997 的要求。 A.2.2 电路示例 2 电路原理图见图 电路分为三个部分,低频、时“产生 路牛及采 低频时钟产生电路由电荷泵、“卞月放电产生斜坡信号,、尸 .- 带电阻热噪声的比例放大电路 进行放大,产生带噪声的斜坡信号,再经过一 l ,口” r 甲、,生带抖动的低频时钟。高频时钟采用

20、简 单的环振产生。采样电路用触发器实现,实现由带抖动的低频时钟对高频时钟进行采样。 低频时钟频率为 fl,周期 T1一1/丸,抖动的大小为 J1; 高频时钟频率为 f2,周期 T2=1/九; 慢振荡器的抖动范围需要足够大,以提高随机数生成模块的抗干扰能力以及输出序列的随机性能。 通常要求慢振荡器抖动标准方差大约在快振荡器周期的 10 倍以上,即如下关系式:J110XT2; 例如,选取低频时钟的频率为 500 kHz,高频时钟的频率为 1GHz,可以取 J1=15 ns. A.3 基于热噪声直接放大原理的物理随机源电路示例 A.3.1 电路示例 1 本附录为基于热噪声直接放大原理的物理随机源电路

21、的一个设计示例,电路见图 A.4. 10 GM/T 0078-2020 电阻 中 迎 哭侧貂娜 恨 钟留 土 丁 电荷泵 电容充电 使能信号 控制器 RST CLK 图 A.4 基于热噪声直接放大原理的物理随机源电路示例 1 该电路包括以下几个部分: 电阻(噪声源),使用多晶硅电阻设计,产生约 50 nV/t 的热噪声。在实际设计时,电阻产生的热 噪声幅度需要大于 50 nV/v直百。一般 150 ki电阻在室温下产生均方根值约为 50 nV/v直z 的噪声电 压。在 BW 为 1 MHz,温度 T=300 K 时,在该电阻上产生的噪声平均电压可以达到 50 1iV 左右。 运放(低噪声放大器

22、),使用 NMOS 输人的共源共栅结构。针对 150 kc2 的电阻在室温下会产生均 方根值约为 50 nV/v百牙的噪声电压情况,调整放大器的增益和带宽可以获得合适大小的输出。放大器 放大该噪声 600 倍并且放大器的带宽为 1MHz,那么可以测量的输出电压的均方根值约为30 mV。放 大器放大该噪声 50 dB 并且放大器的带宽为 4.3 MHz,那么可以测量的输出电压的均方根值约为 34 mV。同时,放大器需要极低的闪烁噪声。因为闪烁噪声会严重影响随机数的质量,闪烁噪声的转角 频率需要小于 500 kHz, 比较器(量化器),使用时钟控制的动态比较器。保证随机数的质量,比较器的失调电压小

23、 于 5 mV;比较器的速度大于随机数采样率的 2 倍。 电荷泵和控制器电路,反馈逻辑,产生 VREF 电压,使运放和比较的 VREF 处于正常工作状态。 A.3.2 电路示例 2 电路示例 2 见图 A.5, 噪声 放大器 数字 随机数序列 基准电压 比较器 图 A.5 基于热噪声直接放大原理的物理随机源电路示例 2 噪声放大器把电阻上的热噪声放大,比较器把放大后的数值与适当的基准电压进行比较,将噪声数 字化,输出随机数序列。 中 华人 民共和 国 密码 行 业 标 准 密码随机数生成模块设计指南 GM/T 0078-2020 关 中国标准出版社出版发行 北京市朝阳区和平里西街甲 2 号(1

24、00029) 北京市西城区三里河北街 16 号(100045) 网址 总编室:(010) 68533533 发行中心:(010)5 1780238 读者服务部:(010)68523946 中国标准出版社秦皇岛印刷厂印刷 各地新华书店经销 关 月阅 l乏。之 宣。 开本 880X1230 1/16 印张 1 字数 31 千字 2021 年 6 月第一版 2021 年 6 月第一次印刷 关 书号:155066 2-35 88 7 定价 18.00 元 如有印装差错 由本社发行中心调换 版权专有 侵权必究 举报电话:(010)68510107 U GM/丁 0078一2020 码上扫一扫 正版服务到

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 标准规范 > 行业标准 > GM密码行业

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1