CN1987770A - 种子数产生器与其产生的方法 - Google Patents
种子数产生器与其产生的方法 Download PDFInfo
- Publication number
- CN1987770A CN1987770A CN 200510120937 CN200510120937A CN1987770A CN 1987770 A CN1987770 A CN 1987770A CN 200510120937 CN200510120937 CN 200510120937 CN 200510120937 A CN200510120937 A CN 200510120937A CN 1987770 A CN1987770 A CN 1987770A
- Authority
- CN
- China
- Prior art keywords
- seed number
- break
- central processing
- cpu
- producer
- 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
Abstract
一种种子数产生器,其适用于具有中央处理单元的电子装置内的操作系统,包括接口单元、种子数缓存器和中断服务单元。其中,种子数缓存器会耦接接口单元,以通过接口单元而将内部暂存的种子数进行输出。而中断服务单元则耦接于中央处理单元,当中断服务单元接收到中央处理单元所产生的中断服务信号时,则中断服务单元内的种子数更新模块就会依据中央处理单元内的OS定时器所产生的计时值,而将种子数缓存器内部所暂存的种子数进行更新。其中,OS定时器是用来计时中央处理单元内振荡器的输出。
Description
【技术领域】
本发明是有关于一种种子数产生器与其产生方法,且特别是有关于一种依据中央处理单元内振荡器的输出,而更新种子数的种子数产生器与产生方法。
【背景技术】
现今,很多运用计算机的应用非常依赖随机数的可利用性。以前一直是程序设计师所在的技术领域的事物,最近已渐渐普遍应用到商业界。
过去几年来,强大的计算系统将随机数应用于仿真程序中,以真实地将感兴趣事物(如大型计算机网络内的流量)的现象的推测特性进行模型化。
然而,在有关模型化及仿真方面,使随机数的产生有效率且方便的要求从未减少过,这是因为近几年来,技术的增进已使桌上型计算机具有更强大的计算能力,而桌上型计算机本身中的组件已含有这样的要求。事实上,借由桌上型计算机的计算处理能力的增加,已产生取决于随机数的产生的完全新的应用领域。举例来说,随机数现已广泛的应用于在计算机游戏中。为了使消费者可接受到的事物就如同真实的可靠的画面一样,计算机游戏必须与一个人期望真实生活中发生这样的现象一样,以相同或相似的方式来仿真对应感兴趣事物的现象。
另一个取决于随机数可用性的应用领域是加密(cryptography),这个领域仍旧提供许多随机数产生的要求标准。在这个领域中,随机数是用来当做加密钥匙,其可以借由算法而用来加密/解密电子软件,或是用于储存和传输的资料流。例如,当在网际网络上处理安全电子交易时,会产生随机密钥来加密金融资料。
大部分的随机数产生是在应用程序中完成。这种产生形式称之为虚拟随机数,这是因为数字的产生是使用数学算法来产生一序列的独立数字,其与均匀机率分布一致。一般产生随机数的方法,在最初会选择一个种子(seed)数字,然后借由算法并且利用此种子数字而快速且随机地产生一连串的数字,但是在本质上,其完全决定于已知的种子数字。
在一些电子装置上,例如个人数字助理(PDA)或是智能型行动电话(Smart Phone),会利用其内部的系统时间作为虚拟随机数产生的种子数。然而,因为系统时间的变化太规则,并且范围太小,因而导致产生出来的随机数太过规律,以致于很容易遭人破解。
【发明内容】
因此,本发明的目的就是提供一种种子数产生器,其所产生的种子数会更随机,并且范围更大,以致于利用本发明所产生的种子数而计算出来的随机数就不容易遭人破解。
本发明所提供种子数产生器,其适用于具有中央处理单元的电子装置内的操作系统,包括了接口单元、种子数缓存器和中断服务单元。其中,种子数缓存器耦接于接口单元,以通过接口单元而将内部暂存的种子数进行输出。而中断服务单元则耦接于中央处理单元,当中断服务单元接收到中央处理单元所产生的中断服务信号时,则依据中央处理单元内OS定时器所产生的计时值,而将种子数缓存器内部所暂存的种子数进行更新。其中,OS定时器是用来计时中央处理单元内之振荡器的输出。
在本发明的实施例中,中断服务单元包括了一种子数更新模块,其耦接于OS定时器。当中断服务单元接收到中央处理单元所产生的中断服务信号时,种子数更新模块就会将种子数缓存器内的种子数(二进制形式)向左移一位,并且将当前计时值的最后一位填入种子数缓存器内最右边的一个位,以进行种子数的更新。
此外,电子装置更包括一客户端,其耦接于接口单元,以通过接口单元而取得最新的种子数。在较佳的情况下,客户端可以是一应用程序。
从另一观点来看,本发明也提供一种种子数的产生方法,可以适用于具有中央处理单元的电子装置。本发明的步骤包括了等待一中断服务要求,其中此中断服务要求是用来要求本发明更新种子数的值。当接收到中断服务要求时,则将当前种子数的值(二进制形式)向左移一位,然后将当前一计时值的最后一位设为种子数的最右一位。其中,计时值是计时中央处理单元内一振荡器的输出所产生。
此外,在等待中断服务要求的同时,本发明也会等待一呼叫。当接收到呼叫时,则输出最新的种子数,以产生系统所需的随机数。在较佳的情况下,此呼叫是由例如应用程序的客户端所产生。
综上所述,本发明是利用计时振荡器输出所产生的计时值来更新种子数的值。而由于在每一集成电路中的振荡器的输出,都会具有不同的组件特性,并且振荡器的输出也会受到噪声的影响而发生变化。并且噪声的出现是很难加以预测的,因此利用此计时值所产生的种子数就会更加的随机,以致于利用本发明所产生的种子数而计算出来的随机数就很难遭人破解。
为让本发明有关上述和其它目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
【附图说明】
图1绘示为依照本发明一较佳实施例的一种种子数产生器的架构方块图。
图2绘示为依照本发明一较佳实施例的一种种子数产生方法的步骤流程图。
【实施方式】
图1绘示了依照本发明一较佳实施例的一种种子数产生器的架构方块图。本发明所提供的种子数产生器110,可以适用于具有中央处理单元的电子装置的操作系统,例如个人数字助理(PDA)、手机(Smart Phone)等的便携式行动装置内的操作系统。如图1所示,种子数产生器110分别与客户端130和中央处理单元150相耦接。
其中,种子数产生器110会依据中央处理单元150而不断更新所产生的种子数。当例如为应用程序的客户端130需要种子数产生器110所产生的种子数来产生随机数时,则客户端130会呼叫种子数产生器110,而种子数产生器110就会将最新的种子数输出至客户端130。
在种子数产生器110中,包括了接口单元112,其耦接于客户端130,用来做为接收客户端130所产生的呼叫,或是将种子数产生器110所产生的种子数送至客户端130的接口。而接口单元112还耦接有种子数缓存器114,其用来暂存种子数产生器110所产生的种子数。另外,种子数产生器110还包括了中断服务单元116,其耦接中央处理单元150,并且依据中央处理单元150内部的OS定时器152所产生的计时值,而将种子数产生器114内部暂存的种子数的值进行更新。其中,OS定时器152是用来计时中央处理单元150内部振荡器(未绘示)的输出,而产生上述的计时值。
当中央处理单元150发出中断服务要求信号至中断服务单元116时,中断服务单元116内的种子数更新模块118,就会将种子数缓存器114内部所暂存的种子数的值(二进制表示)向左移一位。然后,种子数更新模块118会将OS定时器152此时所产生的计时值的最后一位,填至种子数缓存器114的最右边一个位,也就是最后一位,以将种子数缓存器114内部所储存的种子数进行更新。此时,若是客户端130需要种子数缓存器114内的种子数来产生随机数时,则只要输出呼叫至接口单元112,就可以通过接口单元112而取得种子数缓存器114内部所暂存的种子数。
在本实施例中,种子数缓存器114的大小,也就是种子数的大小是依据OS定时器152所产生的计时值的大小来决定。在较佳的情况下,种子数缓存器114的大小为128位。另外,在较佳的情况下,中断服务单元116可以借由软件的形式来实现。也就是说,中断服务单元116可以是一段子程序。
图2绘示了依照本发明一较佳实施例的一种种子数产生方法的步骤流程图。本发明适用于具有中央处理器的电子装置,例如图1所绘示的架构。请参照图2,在最初期,本发明可以如步骤S201所述,将例如图1中OS定时器152所产生的计时值设定为种子数的初始值。此时,本发明会不断地等待一个中断服务要求来进行种子数的更新,就如步骤S203所述。当本发明收到例如图1中中央处理单元150所产生的中断服务要求(就是步骤S203所标示的“是”),则进行步骤S205,即将当前的种子数值向左移一个位数,此时,种子数最右的一个位就会被空出来。接着,如步骤S207所述,本发明会将当前计时值的最后一位,设定为种子数的最右一位,也就是种子数的最后一个位,以进行种子数的更新。
在进行种子数更新的同时,如步骤S211所述,本发明等待如图1所绘示客户端130的呼叫。当接收到呼叫时(就是步骤S211所标示的“是”),则如步骤S213所述,将最新的种子数的值进行输出。
综上所述,本发明至少有以下优点:
1.由于本发明是依据计时振荡器的输出所产生的计时值来进行种子数的更新,因此振荡器的输出对本发明就很重要。由于不同组件都会有其特有的组件特性,因此配置在不同的中央处理单元内的振荡器的输出的品质也就不尽相同。此外,噪声也很容易影响振荡器的输出,而噪声的发生更是难以预期。因此,本发明借由振荡器的输出来进行种子数的更新,会使得种子数更具有随机性,而使得所产生出的随机数更不易被人破解。
2.由于本发明是以计时振荡器的输出所产生的计时值来做为种子数的基础,因此种子数所表示的数值的大小就与计时值有很大的关系。在本发明中,种子数可以为128位大小,因此本发明就不易被人猜到种子数的真实值。
Claims (18)
1.一种种子数产生器,适用于具有中央处理单元的电子装置内的操作系统,其特征在于该种子数产生器包括:
一接口单元;
一种子数缓存器,耦接于该接口单元,用以通过该接口单元而将内部暂存的一种子数进行输出;以及
一中断服务单元,耦接该中央处理单元,当该中断服务单元接收到该中央处理单元所产生的中断服务信号时,则依据该中央处理单元内一OS定时器所产生的一计时值,而将该种子数缓存器内部所暂存的种子数进行更新,
其中该OS定时器是用来计时该中央处理单元内一振荡器的输出。
2.如权利要求1所述的种子数产生器,其特征在于:该中断服务单元包括一种子数更新模块,其耦接该OS定时器,当该中断服务单元接收到该中央处理单元所产生的中断服务信号时,该种子数更新模块会将该种子数缓存器内该种子数左移一位,并将当前该计时值的最后一位填入该种子数缓存器内最右边一位。
3.如权利要求1所述的种子数产生器,其特征在于:该种子数缓存器的大小是依据该计时值的大小来决定。
4.如如权利要求3所述的种子数产生器,其特征在于:该种子数缓存器的大小为128位。
5.如权利要求1所述的种子数产生器,其特征在于:该电子装置更包括一客户端,其耦接该接口单元,用以通过该接口单元而取得最新的种子数。
6.如权利要求5所述的种子数产生器,其特征在于:该客户端包括一应用程序。
7.如权利要求1所述的种子数产生器,其特征在于:该中断服务单元是以软件形式而实现。
8.如权利要求1所述的种子数产生器,其特征在于:该电子装置包括便携式行动装置。
9.如权利要求8所述的种子数产生器,其特征在于:该电子装置包括个人数字助理(PDA)及手机(Smart Phone)等。
10.一种种子数的产生方法,适用于具有一中央处理单元的一电子装置,其特征在于该产生方法包括下列步骤:
等待一中断服务要求,其中该中断服务要求是用以要求更新该种子数的当前值;
当接收到该中断服务要求时,将当前种子数的值向左移一位;以及
将当前一计时值的最后一位设为该种子数的最右一位,其中该计时值是计时该中央处理单元内一振荡器的输出所产生。
11.如权利要求11所述的种子数的产生方法,其特征在于:在起始的状态下,更包括将当前计时值设定为该种子数的初始值。
12.如权利要求11所述的种子数的产生方法,其特征在于:该种子数的大小为128位。
13.如权利要求11所述的种子数的产生方法,其特征在于:该种子数的产生方法更包括下列步骤:
等待一呼叫;以及
当接收到该呼叫时,则输出最新的种子数,以产生系统所需的随机数。
14.如权利要求14所述的种子数的产生方法,其特征在于:该呼叫是由一客户端所产生。
15.如权利要求15所述的种子数的产生方法,其特征在于:该客户端为一应用程序。
16.如权利要求11所述的种子数的产生方法,其特征在于:该中断服务要求是由该中央处理单元所产生。
17.如权利要求11所述的种子数的产生方法,其特征在于:该电子装置包括便携式行动装置。
18.如权利要求18所述的种子数的产生方法,其特征在于:该电子装置包括个人数字助理(PDA)及手机(Smart Phone)等。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200510120937 CN1987770A (zh) | 2005-12-22 | 2005-12-22 | 种子数产生器与其产生的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200510120937 CN1987770A (zh) | 2005-12-22 | 2005-12-22 | 种子数产生器与其产生的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1987770A true CN1987770A (zh) | 2007-06-27 |
Family
ID=38184582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200510120937 Pending CN1987770A (zh) | 2005-12-22 | 2005-12-22 | 种子数产生器与其产生的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1987770A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103092566A (zh) * | 2011-11-07 | 2013-05-08 | 国民技术股份有限公司 | 伪随机数种子、伪随机数生成的方法和装置 |
CN106951184A (zh) * | 2017-02-28 | 2017-07-14 | 惠州华阳通用电子有限公司 | 一种蓝牙地址生成方法 |
CN107145332A (zh) * | 2017-04-28 | 2017-09-08 | 郑州云海信息技术有限公司 | 一种OpenCL内核程序中随机数产生方法及装置 |
-
2005
- 2005-12-22 CN CN 200510120937 patent/CN1987770A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103092566A (zh) * | 2011-11-07 | 2013-05-08 | 国民技术股份有限公司 | 伪随机数种子、伪随机数生成的方法和装置 |
CN103092566B (zh) * | 2011-11-07 | 2016-08-24 | 国民技术股份有限公司 | 伪随机数种子、伪随机数生成的方法和装置 |
CN106951184A (zh) * | 2017-02-28 | 2017-07-14 | 惠州华阳通用电子有限公司 | 一种蓝牙地址生成方法 |
CN107145332A (zh) * | 2017-04-28 | 2017-09-08 | 郑州云海信息技术有限公司 | 一种OpenCL内核程序中随机数产生方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108388512B (zh) | 数据处理方法和服务器 | |
CN110362750B (zh) | 目标用户确定方法、装置、电子设备和计算机可读介质 | |
CN110460435B (zh) | 数据交互方法、装置、服务器和电子设备 | |
CN112434326B (zh) | 一种基于数据流的可信计算方法及装置 | |
CN111179061A (zh) | 一种资源转移的处理方法、装置及设备 | |
CN112214653A (zh) | 字符串识别方法、装置、存储介质及电子设备 | |
CN112989411A (zh) | 隐私预算计算方法、装置、存储介质以及终端 | |
Hoang et al. | Design of ultra‐low power AES encryption cores with silicon demonstration in SOTB CMOS process | |
CN1987770A (zh) | 种子数产生器与其产生的方法 | |
CN112416303B (zh) | 软件开发工具包热修复方法、装置及电子设备 | |
CN113220651A (zh) | 运行数据压缩方法、装置、终端设备以及存储介质 | |
CN110780913B (zh) | 一种跨机型的差分升级方法、系统、存储介质及电子设备 | |
EP2038798A1 (fr) | Protection d'un programme interprete par une machine virtuelle | |
CN203014831U (zh) | 一种电子签名设备、客户端及系统 | |
CN114741400A (zh) | 一种数据同步及解析方法、装置及终端设备 | |
CN115455957A (zh) | 触达用户方法、装置、电子设备及计算机可读存储介质 | |
KR102163930B1 (ko) | 블록체인 보상을 통한 분산 컴파일 시스템 | |
CN113761566A (zh) | 一种数据处理方法和装置 | |
CN117592089B (zh) | 一种数据处理方法、装置、设备以及存储介质 | |
CN115826961B (zh) | 设计器及引擎分离重用的数据分析系统设计方法及装置 | |
CN113127535B (zh) | 基于区块链的数据处理方法、装置和电子设备 | |
CN110716885B (zh) | 数据管理方法、装置、电子设备和存储介质 | |
CN115268740B (zh) | 虚拟角色抽取方法、装置、电子设备及可读存储介质 | |
CN105653534B (zh) | 一种数据处理方法及装置 | |
CN116055039B (zh) | 一种基于分组密码算法的随机数生成方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |