CN1540582A - 在集成电路卡中随机数发生器和产生随机初值的方法 - Google Patents
在集成电路卡中随机数发生器和产生随机初值的方法 Download PDFInfo
- Publication number
- CN1540582A CN1540582A CNA031165524A CN03116552A CN1540582A CN 1540582 A CN1540582 A CN 1540582A CN A031165524 A CNA031165524 A CN A031165524A CN 03116552 A CN03116552 A CN 03116552A CN 1540582 A CN1540582 A CN 1540582A
- Authority
- CN
- China
- Prior art keywords
- random
- shift register
- access memory
- noise source
- random access
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明涉及一种在集成电路卡中随机数发生器以及产生随机数的方法。其随机数发生器包括带反馈的串行移位寄存器(1),随机存储器(2),采集器(3),噪声源器(4),运算、选择器(5);所述随机存储器(2)通过采集器(3)与噪声源器(4)连接,所述噪声源器(4)和带反馈的串行移位寄存器(1)再与运算、选择器(5)连接,以输出随机数。其产生随机数的方法是通过以下步骤实现的:上电后,经过测试程序或控制逻辑得到IC卡的随机存储器中的随机的存储数据(21);经过采集器的运算(31);读到噪声源器中(41);形成噪声源(51);本发明可被用于IC卡中加密模块,增强了IC卡芯片中数据的保密性,进而保证了数据的安全。
Description
技术领域
本发明涉及集成电路卡领域,尤其涉及一种在集成电路卡中随机数发生器以及产生随机数的方法。
背景技术
智能卡的名称来源于英文名词smart card,又称集成电路卡,即IC卡(Integrated Circuit card)。IC卡的概念是70年代初提出来的,法国布尔(Bull)公司于1976年首先创造出IC卡产品,并将这项技术应用到金融、交通、医疗、身份证明等多个行业,它将微电子技术和计算机技术结合在一起,提高了人们生活和工作的现代化程度。
随着IC卡在金融、通信、交通等领域的广泛应用,数据安全受到越来越多的重视。IC卡的作用是替代流通领域中的现金或支票,随着IC卡的推广使用,利用它进行欺诈或作弊的行为也会不断增加,在IC卡的应用过程中,必须防止芯片内重要的数据(如密码等)被窃取,保证数据的保密性、安全性。为此,很多IC卡芯片中内置了对称密钥密码算法或秘密密钥密码算法(DES)以及非对称密钥密码算法或公共密钥密码算法(RSA)的加密模块,对传输的信息进行加密,以防被窃取、更改,从而避免造成损失。对存储的信息进行加密保护,使得只有掌握密钥的人才能读取信息,确保数据的机密性。
对持卡人、IC卡和接口设备之间的相互认证以及数据的加密均可采用这两种密码算法中的一种。
在数据加密过程中随机数扮演着重要的角色,许多基于密码编码学的安全算法都用到随机数。例如:
相互鉴别方案。在密钥分配时,要用到现时(nonce)进行握手以防止被攻击,使用随机数作为现时会挫败敌对方确定或猜测现时的努力。
会话密钥的产生。这可能是由密钥分配中心进行的,也可能是由参与者一方进行的。
RSA公开密钥加密算法中的密钥产生。
这些应用对随机数提出了两个不同的并且不一定相容的要求:随机程度和不可预测程度。
在随机程度方面:通常在产生随机数值时,我们关心的是这些数值在某种明确的统计意义上是随机的,下面的两个准则被用来验证一系列的数值是否是随机的:
均匀分布:这一系列数值的分布应该是均匀的,也就是说,每个数出现的频率应该是近似相等的。
独立性:系列中的任意一个数都无法从其他数推测得到。
在不可预测程度方面:在诸如相互鉴别和会话密钥产生这样的应用中,对数值序列在统计随机上的要求并不很高,但却要求序列各个后继的数是不可预测的,对于真随机数而言,每个数都与系列中的其他数都是统计独立的,因此是不可预测的。对于伪随机数而言,看似随机的数值序列是由某种算法产生的,在这种情况下,要保证破解者从序列前面的元素无法预测出将来的元素。
在IC卡的设计中,随机数在数据加密中起着非常重要的作用,它被用来产生DES,PSA的密钥。同时为了防止芯片数据、时序被恶意分析,用随机数发生器来产生随机等待状态。由此可见,随机数的不可预知性是非常必要的。
按照随机初值(种值)的来源,随机数发生器可以分为两类:伪随机数发生器和真随机数发生器。
伪随机数发生器:伪随机数的初值来源不是真正意义上的随机,在确定了初值后经过一系列复杂的算法处理,得到伪随机数。如果采用的算法较好,并且合理选择初值,伪随机数发生器可以产生随机性较好的数据。
真随机数发生器:真随机数发生器的初值是随机的,随机的种值经过复杂的算法处理,可以得到随机性很好的随机数据。由于数据源初值的不可预测性,选择较好的算法,可以确保随机数的安全问题。
目前,一般的随机数发生器采用带反馈的串行移位寄存器来实现以及产生的随机数是按照约定规律顺序变化的,是伪随机数。如上所述,这种随机数发生器是伪随机数发生器。但由于初值并非不可预测,伪随机数发生器并不能保证随机数据的安全问题。
发明内容
本发明需要解决的技术问题是提供了一种在集成电路卡中随机数发生器和产生随机初值的方法,旨在解决目前伪随机数发生器不能保证随机数据的安全问题的缺陷。
为了解决上述技术问题,本发明是通过以下技术方案实现的:
本发明包括带反馈的串行移位寄存器,随机存储器,采集器,噪声源器,运算、选择器;所述随机存储器通过采集器与噪声源器连接,所述噪声源器和带反馈的串行移位寄存器再与运算、选择器连接,以输出随机数。
所述噪声源器中的初值是通过以下步骤实现的:
上电后,经过测试程序或控制逻辑得到IC卡的随机存储器中的随机的存储数据;
经过采集器的运算;
读到噪声源器中;
形成噪声源。
与现有技术相比,本发明的有益效果是:由于数据源初值的不可预测性,可以确保随机数的安全问题,被用于IC卡中加密模块,增强了IC卡芯片中数据的保密性,进而保证了数据的安全。
附图说明
图1是一种带反馈的串行移位寄存器产生伪随机数的流程图;
图2是另一种带反馈的串行移位寄存器产生伪随机数的流程图;
图3是带反馈的串行移位寄存器中伪随机数发生器方框图;
图4是带反馈的串行移位寄存器结构图;
图5是本发明中随机数发生器的方框图;
图6是本发明中产生随机初值方法的流程图。
其中:带反馈的串行移位寄存器1随机存储器2采集器3噪声源器4运算、选择器5第一多路选择器11第二多路选择器12
具体实施方式
下面结合附图与具体实施方式对本发明作进一步详细描述:
由图1可见:设{x}是0-1序列,0,1两个数对于模2加和普通数乘构成一个域,这个域用GF(2)表示。信号流从左向右,标有a1,a2,...an-1,an的小方框表示二值(0,1)存储单元,可以是一个双稳态触发器,这n个二值存储单元称为该带反馈的串行移位寄存器的级。在任一时刻,这些级的内容构成该带反馈的串行移位寄存器的状态。这个带反馈的串行移位寄存器的状态对应于一个GF(2)上的n维向量。共有2n种可能的状态。每个时刻的状态可用n长序列
a1,a2,...an-1,an
或n维行向量
(a1,a2,...an-1,an)
表示。其中ai是第i级存储单元中的内容。
在主时钟确定的周期区间上,每一级存储单元31ai都将其内容向下一级ai+1传递。并根据寄存器当时的状态计算f(a1,a2,...an)32作为ai的下一时间内容。其中反馈函数f(a1,a2,...an)32是n元布尔函数。所以在时钟的每一个脉冲下,总是从一个状态转移到下一状态。
由图2可见:这个带反馈的串行移位寄存器有输入和输出。若反馈函数
f(a1,a2,...an)33=cna1cn-1a2...c2an-1c1an
其中常数ci=0,1,是模2加法。这个反馈函数是a1,a2,...an的线性函数。
带反馈的串行移位寄存器记作LFSR,其线性函数有2n种。
由图3可见:用33位长的带反馈的串行移位寄存器产生伪随机数。带反馈的串行移位寄存器的系数为(33,16,4,1,0)。即参加反馈异或运算的只有寄存器的第0、1、4和第16位,第一多路选择器11根据异或结果选择0或1作为反馈值。带反馈的串行移位寄存器的产生多项式为:
x33+x16+x4+x1+1
带反馈的串行移位寄存器的状态可以表示为:
(a1,a2,...an)t(m+1)=(a1,a2,...an)t(m)f(a1,a2,...an)
其中(a1,a2,...an)t(m)为m时刻寄存器状态,(a1,a2,...an)t(m+1)为m+1时刻寄存器状态,f(a1,a2,...an)为反馈函数。
外部控制器通过地址线,读信号以及数据总线与带反馈的串行移位寄存器进行通讯,当地址选中且在读信号有效时,带反馈的串行移位寄存器通过第二多路选择器12选择输出到外部的数据总线。
由图4可见:异或表示逻辑异或运算,选择表示该位可能参加异或运算,也可能不参加异或运算。如果用1表示相应的比特参加运算,0表示不参加运算。那么从最高位到最低位,组成一个n比特的数。这个数叫做带反馈的串行移位寄存器的的系数。在这些系数中,最高位和最低位一定是1,否则,一个n位长度的带反馈的串行移位寄存器就退化为一个n-1位的带反馈的串行移位寄存器。一旦给定一个系数,一个长度为n的带反馈的串行移位寄存器的结构就确定了。移位寄存器中的值称为带反馈的串行移位寄存器的状态。
选择适当的系数,可以使带反馈的串行移位寄存器的状态循环的周期最长,达到2n-1次。但n比较大时,带反馈的串行移位寄存器的状态就可以模拟随机序列,称其为伪随机序列。
我们选择长度为33位,系数为000010013H的带反馈的串行移位寄存器结构。
伪随机序列的周期为(233-1)。即带反馈的串行移位寄存器的状态在遍历了除全0以外的其它状态后才会重复。带反馈的串行移位寄存器如果进入全0的状态以后,以后将一直保持为全0状态,出现“死机”的现象,产生的随机数为常数0。为了避免这种情况,在反馈端增加一个选择器。我们发现所有的带反馈的串行移位寄存器都有这样一个特点:当带反馈的串行移位寄存器的状态为000...0001以后,下一个状态必然为1000...000。我们利用这一特点,在两者之间插入全0状态。电路实现时,用带反馈的串行移位寄存器的状态作为选择信号。当状态为000...0001时,把0作为反馈信号输入到第32个状态寄存器中。当状态为全0时,把1作为反馈信号输入到第32个状态寄存器中。其它情况下,总是把异或运算的结果反馈到第32个移位状态寄存器。
带反馈的串行移位寄存器共有33个状态寄存器,生成随机数时,选用低32位状态寄存器。当读信号有效时,选择器从32个寄存器中每4位选一位输出到数据总线上,形成伪随机数。带反馈的串行移位寄存器的状态不可写。
在本发明中带反馈的串行移位寄存器的电路采用独立的内部时钟源,其频率和外部时钟频率无关,因此根据外部时钟很难预测到带反馈的串行移位寄存器所产生的随机数。
由图5可见:本发明包括带反馈的串行移位寄存器1,随机存储器2,采集器3,噪声源器4,运算、选择器5;所述随机存储器2通过采集器3与噪声源器4连接,所述噪声源器4和带反馈的串行移位寄存器1再与运算、选择器5连接,以输出随机数。
所述的带反馈的串行移位寄存器1还可以是采用带特殊内部时钟的带反馈的串行移位寄存器,所述的内部时钟,其频率和外部时钟频率无关。
所述的随机存储器2还可以是第一随机存储器,所述的第一随机存储器是在IC卡中专门加入的随机存储单元。
由图6可见:本发明噪声源器中的初值是通过以下步骤实现的:
上电后,经过测试程序或控制逻辑得到IC卡的随机存储器或者第一随机存储器中的随机的存储数据21;
经过采集器的运算31;
读到噪声源器中41;
形成噪声源51。
所述的第一随机存储器中的随机的存储数据的取得是指当需要取噪声时,对该随机存储单元做一次断电加电的操作,上电后读取即可。
下面对本发明的原理作如下描述:
其噪声源工作方式为随机数的输出由带反馈的串行移位寄存器1和真噪声源进行运算或选择输出。噪声源可以从IC卡中的随机存储器中采集,在上电后,测试程序或控制逻辑将上电后的随机的随机存储器数据(可以经过运算)读到内部空间,形成噪声源,对伪随机数加入噪声,提高了随机数的可靠性。
由于每次上电后的噪声均不一致,噪声源具有很高的随机性;另外反馈的串行移位寄存器电路采用了特殊的内部时钟,增强了它所产生的随机数的不可预测性,两组数据经运算处理后输出,随机性很高。
Claims (4)
1.一种在集成电路卡中随机数发生器,包括带反馈的串行移位寄存器(1),其特征在于:还包括随机存储器(2),采集器(3),噪声源器(4),运算、选择器(5);所述随机存储器(2)通过采集器(3)与噪声源器(4)连接,所述噪声源器(4)和带反馈的串行移位寄存器(1)再与运算、选择器(5)连接,以输出随机数。
2.根据权利要求1所述的一种在集成电路卡中随机数发生器,其特征在于:所述的带反馈的串行移位寄存器(1)还可以是采用带特殊内部时钟的带反馈的串行移位寄存器,所述的内部时钟,其频率和外部时钟频率无关。
3.根据权利要求1所述的一种在集成电路卡中随机数发生器,其特征在于:所述的随机存储器(2)还可以是第一随机存储器,所述的第一随机存储器是在IC卡中专门加入的随机存储单元。
4.一种在集成电路卡中产生随机初值的方法,其特征在于是通过以下步骤实现的:
上电后,经过测试程序或控制逻辑得到IC卡的随机存储器或者第一随机存储器中的随机的存储数据(21);
经过采集器的运算(31);
读到噪声源器中(41);
形成噪声源(51);
所述的第一随机存储器中的随机的内存数据的取得是指当需要取噪声时,对该随机存储单元做一次断电加电的操作,上电后读取即可。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA031165524A CN1540582A (zh) | 2003-04-22 | 2003-04-22 | 在集成电路卡中随机数发生器和产生随机初值的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA031165524A CN1540582A (zh) | 2003-04-22 | 2003-04-22 | 在集成电路卡中随机数发生器和产生随机初值的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1540582A true CN1540582A (zh) | 2004-10-27 |
Family
ID=34320393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA031165524A Pending CN1540582A (zh) | 2003-04-22 | 2003-04-22 | 在集成电路卡中随机数发生器和产生随机初值的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1540582A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102325023A (zh) * | 2011-07-04 | 2012-01-18 | 飞天诚信科技股份有限公司 | 一种延长芯片使用寿命的数据生成方法和装置 |
WO2012083632A1 (zh) * | 2010-12-20 | 2012-06-28 | 中兴通讯股份有限公司 | 对射频识别标签进行访问控制的方法及系统 |
CN101477450B (zh) * | 2007-12-31 | 2012-07-18 | 英特尔公司 | 随机数发生器 |
CN111193446A (zh) * | 2020-01-13 | 2020-05-22 | 珠海格力电器股份有限公司 | 调制参数的生成方法及装置、逆变器 |
-
2003
- 2003-04-22 CN CNA031165524A patent/CN1540582A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477450B (zh) * | 2007-12-31 | 2012-07-18 | 英特尔公司 | 随机数发生器 |
WO2012083632A1 (zh) * | 2010-12-20 | 2012-06-28 | 中兴通讯股份有限公司 | 对射频识别标签进行访问控制的方法及系统 |
CN102325023A (zh) * | 2011-07-04 | 2012-01-18 | 飞天诚信科技股份有限公司 | 一种延长芯片使用寿命的数据生成方法和装置 |
CN102325023B (zh) * | 2011-07-04 | 2014-03-26 | 飞天诚信科技股份有限公司 | 一种延长芯片使用寿命的数据生成方法和装置 |
CN111193446A (zh) * | 2020-01-13 | 2020-05-22 | 珠海格力电器股份有限公司 | 调制参数的生成方法及装置、逆变器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Güneysu et al. | Cryptanalysis with COPACOBANA | |
CN1159633C (zh) | 可靠的随机数发生器 | |
CN101620523B (zh) | 一种随机数发生器电路 | |
CN1648967A (zh) | 加密装置、加密方法及其存储介质 | |
US20040019619A1 (en) | System and method for generating initial vectors | |
CN103258312B (zh) | 具有快速密钥流生成机制的数字图像加密方法 | |
CN107733655B (zh) | 一种基于多项式重构的apuf安全认证方法 | |
CN102904711A (zh) | 信息加密方法 | |
US7227951B2 (en) | Enhanced ANSI X9.17 pseudorandom number generators with forward security | |
CN1286077C (zh) | 基于动态变长码的数据加密与解密系统 | |
Anandakumar et al. | Efficient and lightweight FPGA-based hybrid PUFs with improved performance | |
Hobincu et al. | FPGA implementation of a chaos based PRNG targetting secret communication | |
AVAROĞLU et al. | A novel S-box-based postprocessing method for true random number generation | |
CN112769545B (zh) | 基于相邻像素约瑟夫变换和Mealy状态机的图像加密方法 | |
CN1881874A (zh) | 基于神经网络混沌吸引子的公钥密码加密和解密方法 | |
CN107769923A (zh) | 一种基于cpu时钟和usb独立时钟的真随机数产生方法 | |
CN1540582A (zh) | 在集成电路卡中随机数发生器和产生随机初值的方法 | |
Güneysu | Using data contention in dual-ported memories for security applications | |
CN2609075Y (zh) | 在集成电路卡中随机数发生器 | |
CN114826560B (zh) | 一种轻量级分组密码cref实现方法及系统 | |
Kwok et al. | Effective uses of FPGAs for brute-force attack on RC4 ciphers | |
Rubio et al. | The Use of Linear Hybrid Cellular Automata as Pseudo Random Bit Generators in Cryptography. | |
CN114614987B (zh) | 一种集成电路及其数字指纹生成电路、方法 | |
Pekereng et al. | Square transposition: an approach to the transposition process in block cipher | |
CN1093708C (zh) | 一种用于信息安全的加/解密方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |