US8015224B1 - Entropy source for random number generation - Google Patents
Entropy source for random number generation Download PDFInfo
- Publication number
- US8015224B1 US8015224B1 US11/949,487 US94948707A US8015224B1 US 8015224 B1 US8015224 B1 US 8015224B1 US 94948707 A US94948707 A US 94948707A US 8015224 B1 US8015224 B1 US 8015224B1
- Authority
- US
- United States
- Prior art keywords
- bits
- signal
- data
- random
- generator
- 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.)
- Active, expires
Links
- 238000001914 filtration Methods 0.000 claims abstract description 15
- 238000000034 method Methods 0.000 claims description 22
- 239000000284 extract Substances 0.000 claims description 9
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000012805 post-processing Methods 0.000 claims description 3
- 238000013500 data storage Methods 0.000 abstract description 31
- 230000000694 effects Effects 0.000 abstract description 3
- 238000000605 extraction Methods 0.000 abstract 1
- 238000012545 processing Methods 0.000 description 17
- 230000001413 cellular effect Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000010899 nucleation Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
Definitions
- This disclosure relates to an entropy source for the generation of random numbers, and more particularly for seeding a random number generator.
- Random number generation techniques are well-known. Most commonly, random numbers or bits are generated by providing a “pseudorandom” number or bit generator which generates numbers or bits in a deterministic way (such a pseudorandom number generator may be referred to as a “deterministic random number, or bit, generator”) but accepts an input, known as a “seed,” that causes the output to differ.
- the deterministic random number generator may have been a memory preprogrammed with a large number of “random” entries, which output the next one of those entries each time it was called, starting from the first entry each time it was powered up. This very simple list of numbers could be seeded by multiplying the output by the time of day, taken from the system clock. For primitive applications, this may have been sufficient.
- DRBGs deterministic random bit generators
- random numbers are becoming increasingly common in data storage devices.
- data storage devices short access times are important. Therefore, little time is available for generating random numbers without affecting data throughput, and yet, while current technology does not allow the generation of truly random numbers, the random numbers, and therefore the seeds, should be as close as possible to random for maximum security. Henceforth, these will be referred to as “reliably” random numbers.
- reliably random numbers are generated by a relatively fast deterministic random bit generator, seeded by an entropy source generator based on a non-deterministic physical phenomenon in the device for which the random numbers are being generated.
- the entropy source generator need not be as fast, because the DRBG typically will not require frequent reseeding. Indeed, depending on the nature of the DRBG, the DRBG may need to be seeded so infrequently as to require, at one extreme, seeding only once during the lifetime of the device, unless the reseeding is initiated early because of, e.g., security concerns.
- a DRBG can be implemented with components that are already present in the device, as discussed in more detail below.
- the type of known DRBG may be dictated by the use or purpose for which the random numbers or bits are required.
- the DRBG in some embodiments may comply with a known standard, such as National Institute of Standards and Technology (NIST) Special Publication 800-90, or Federal Information Processing Standard (FIPS) Publication 140-2. Adherence to standards may also assure that the random numbers are as reliably random as they need to be.
- NIST National Institute of Standards and Technology
- FIPS Federal Information Processing Standard
- the entropy source generator relies on a natural source of entropy to generate random bits to seed the DRBG.
- Any fluctuating natural phenomenon can be used.
- the phenomenon is one whose effects are inherently available in the device, rather than one that requires special hardware to detect. For example, thermal/temperature fluctuations can be used.
- noise in the data channel itself can be used.
- bits representing noise are extracted from the data. Specifically, because the noise is more likely to reside in the lower range of the signal rather than the upper bits (if it were otherwise, the noise would overwhelm the data), the least significant bits are sampled for use in deriving a seed. These bits may be used directly, or may be further processed—e.g., to remove any bias that may exist in the entropy source—and then used to seed the DRBG.
- a “loop-back” mode can be used in which a read signal is emulated. Although in that case the noise will derive only from channel noise rather than from a combination of media noise and channel noise, the randomness of the noise would be sufficient.
- the bits derived from the entropy source may be used as the random numbers themselves, without using a DRBG.
- the noise bits may be sampled at any point after the data are digitized.
- the noise bits may be sampled immediately after digitization—i.e., after the analog-to-digital converter. However, they can be sampled anywhere else in the channel, because filtering will not increase the random nature of the noise bits.
- a method for generating random numbers for use with a device having a data channel subject to noise includes generating reliably random seeds from the noise, and using those reliably random seeds to seed a deterministic random bit generator.
- a random number generator operating in accordance with the method also is provided.
- An embodiment of a random number generator may comprise means for generating reliably random seeds from a data channel subject to noise, and means for using said reliably random seeds to seed a deterministic random bit generator.
- the random number generator of this embodiment may further comprise means for post-processing said extracted bits to remove bias therefrom.
- the random number generator of this embodiment may further comprise means for reading a source of analog data, and means for converting said analog data to a digital signal, wherein said means for generating extracts bits from said digital signal after conversion.
- the random number generator of this embodiment may further comprise means for filtering said digital signal, wherein said means for generating extracts said bits after said conversion and before said filtering.
- the random number generator of this embodiment may further comprise means for filtering said digital signal, wherein said means for generating extracts said bits after at least a portion of said filtering. That means for generating may extract said bits after said filtering.
- the random number generator of this embodiment may further comprise means for emulating a data signal to generate entropy bits when there is no active data signal on said data channel.
- FIG. 1 is a schematic representation of a generic random number generator
- FIG. 2 is a schematic representation of a seed generator for use in the random number generator of FIG. 1 ;
- FIG. 3 is a schematic representation of the seed generator of FIG. 2 showing one embodiment of a post-processor
- FIG. 4 is a schematic diagram showing generation and buffering of entropy bits into memory for use in seed generation
- FIG. 5 is a schematic diagram showing how entropy bits may be sampled from a read data channel
- FIG. 6 is a schematic diagram of a read data channel showing where entropy bits may be sampled
- FIG. 7 is a block diagram of an exemplary hard disk drive that can employ the disclosed technology.
- FIG. 8 is a block diagram of an exemplary digital versatile disk drive that can employ the disclosed technology
- FIG. 9 is a block diagram of an exemplary high definition television that can employ the disclosed technology.
- FIG. 10 is a block diagram of an exemplary vehicle that can employ the disclosed technology
- FIG. 11 is a block diagram of an exemplary cellular telephone that can employ the disclosed technology
- FIG. 12 is a block diagram of an exemplary set top box that can employ the disclosed technology
- FIG. 13 is a block diagram of an exemplary media player that can employ the disclosed technology.
- FIG. 14 is a block diagram of an exemplary solid state drive system that can employ the disclosed technology.
- FIGS. 1-6 embodiments of the invention will now be described with reference to FIGS. 1-6 .
- FIG. 1 shows the general structure of a generic random number generator (RNG) 10 , including a seed generator 11 and a DRBG 12 .
- RNG random number generator
- DRBG 12 and hence RNG 10 , provides random number as an output 13 upon receipt of an external request 14 .
- DRBG 12 bases output 13 on an inputted seed 15 output by seed generator 11 , usually in response to request 16 from DRBG 12 .
- RNG 10 itself is deterministic, as its name implies, RNG 10 as a whole can be considered nondeterministic (i.e., random) if seed generator 11 is good enough (i.e., random enough).
- random numbers may be used to establish and/or authenticate a secure connection, for key generation, etc. These operations do not directly affect data throughput. Therefore, while RNG 10 may be implemented in hardware, there would not be any significant performance penalty if it were implemented in firmware.
- DRBG 12 should provide random numbers on demand.
- DRBGs are recommended by the National Institute of Standards and Technology in the aforementioned Special Publication 800-90, including Hash DRBG, HMAC DRBG (Key-Hashed Message Authentication Code DRBG), and CTR DRBG (Counter Mode DRBG).
- DRBG 12 may be a CTR DRBG based on an AES-128 (Advanced Encryption Standard 128).
- seed generator 11 can operate slowly, because seeds are not needed often.
- a CTR-DRBG-based DRBG may need a new seed only after 2 48 calls. Even at one call per second in continuous operation, a new seed would not be needed for 2 48 seconds ⁇ 2.8 ⁇ 10 14 seconds or approximately 8.9 million years. Even if one million calls were made every second, a new seed would be needed only every few years.
- seed generator 11 could operate relatively slowly, especially if DRBG 12 requests a seed in advance after receiving a certain number of calls for random numbers prior to its limit being reached.
- FIG. 2 shows an exemplary seed generator 11 containing an entropy source 21 and a post-processor 22 .
- Entropy source 21 may be based on any substantially truly random physical phenomenon (as discussed both above and below), but in general should satisfy several desirable properties. First, the entropy bits should be independent and uncorrelated. Second, entropy source 21 should be secure, meaning that one should not be able to predict the next bit of entropy based on the previous observations, nor should one be able to deduce past bits based on present observations, so that if someone were to learn certain bits, neither past nor future seeds could be determined. Finally, entropy source 21 should be unbiased, meaning that the probability of occurrence of a “1” equals to probability of occurrence of a “0”.
- post-processor 22 may be provided.
- Post-processor 22 may apply any well-known technique to remove any bias that may exist in entropy source 21 .
- P ( X 1) ⁇ 1 ⁇ 2
- P ( X 0) ⁇ 1 ⁇ 2
- ⁇ X i ⁇ is a sequence of independent Bernoulli random variables with probability of success ⁇ p i ⁇ , where the p i 's are between 0 and 1, and X is the binary exclusive-OR of the X i 's, then the bias of X is given by
- the bias for X i is 0.25
- the bias of X is equal to 0.5 ⁇ (2 ⁇ 0.25)
- one implementation of post-processor 22 is linear feedback shift register 31 of FIG. 3 , which corresponds to an irreducible polynomial. This guarantees a long period before the output bits start repeating. This circuit also satisfies the foregoing requirement that the output be an exclusive-OR of the input bits.
- entropy source 21 it may be any physical phenomenon that can be measured on the device, including temperature or thermal fluctuations, etc.
- inherent channel noise which may include as components both media noise, introduced in the reading of data from the disk surface, and electronic noise introduced subsequently, although media noise is the dominant component.
- channel noise manifests itself in the least significant bits—if it were otherwise, the noise would overwhelm the data—e.g., of the output signals of ADC 54 or FIR filter 56 (see FIG. 5 ). Therefore, in one embodiment the least significant bits are sampled as the entropy bits. However, if the underlying transmitted bits are too regular, the noise may not be sufficiently random (e.g., if the noise is primarily data dependent—i.e., is a strong function of the written bits—then if the underlying data pattern is periodic, such as 11001100 . . . , the noise may be periodic as well).
- the signals may not be sampled during the repetitious preamble and postamble patterns in the data, but only after a sync-byte detect signal indicates that actual data have been detected.
- the signals may not be sampled during a thermal asperity event or other detected defect, when the signals may either be constant or toggling in a regular pattern.
- the number of bits required is not great and therefore the data may be downsampled (as by exclusive-ORing as described above) to as little as one bit per channel symbol.
- the signals from which the random noise bits are extracted may not be the transmitted data themselves. Instead the random noise bits may be extracted from signals obtained during the signal processing that is performed on the received waveform in order to recover the transmitted data bits. Some of these signals may be digital and some may be analog. Some may arrive at the baud rate—one for every transmitted bit, while others may be oversampled—multiple samples per one transmitted bit. Some signals—such as, the aforementioned FIR and ADC outputs—may arrive as one sample per transmitted bit.
- the entropy bits 41 derived from the channel may be buffered in to a memory (e.g., RAM) 42 that is accessible by the firmware (or hardware) 43 in which seed generator 20 is implemented.
- a memory e.g., RAM
- the size of the RAM 42 preferably may be determined by the down-sampling rate of the entropy source, and by the rate at which the bits, once buffered, can be further processed. This will be implementation dependent.
- An additional counter 44 may be provided to keep track of number of entropy bits received from the channel, to determine when the requested number of bits has been reached.
- the ENTROPY_SOURCE_VALID signal may be used to disable both RAM 42 and counter 44 —e.g., during a thermal asperity event or other detected defect, as discussed above.
- FIG. 5 shows how entropy bits may be sampled from a read data channel 50 .
- Analog data signal 52 is read from media 51 and processed through analog front end (AFE) 53 , which may include low-pass filtering, gain control, etc.
- AFE analog front end
- the filtered signal is then digitized in analog-to-digital converter (ADC) 54 .
- ADC analog-to-digital converter
- the digitized data 55 are passed to finite impulse response (FIR) filter 56 for equalization and filtering, and filtered data 57 are passed Viterbi detector 58 for decoding.
- FIR finite impulse response
- the least significant bits of digitized data 55 are also used as a source of entropy bits. As stated above, any noise in the signal would tend to cluster in the least significant bits; if it were present in more significant bits, the “noise” would overwhelm the signal.
- data 55 include six bits 500 (5:0), which may be downsampled at 501 to one bit, as shown.
- a signal emulator 59 may be provided to generate a data stream from which entropy bits can be derived in cases where no data are being read.
- the continuous waveform provided to the channel detector by emulator 59 may be noise free. However, electronic noise will be picked up in the course of processing the signal. That noise will then be captured by the entropy generator.
- a seed is sought before the maximum number of random numbers has been generated from the previous seed, it should almost always be possible to wait for the next read operation to derive the next seed.
- FIG. 6 shows a more complete read data channel 60 , but without the entropy bit derivation components 500 - 502 .
- Channel 60 includes media 51 , analog front end (AFE) 53 , analog-to-digital converter (ADC) 54 , finite impulse response (FIR) filter 56 , and Viterbi detector 58 as in FIG. 5 .
- Channel 60 also includes channel reconstructive filter 61 , as well as loops 62 that are responsible for acquiring timing, gains, and also adapting FIR filter taps.
- the entropy bits are tapped at point 63 directly after digitization at ADC 54 , in fact they also can be tapped at least at point 64 after channel reconstructive filter 61 or point 65 within loops 62 .
- the noise present at point 63 may be filtered in FIR filter 56 and channel reconstructive filter 61 , and the “shape” of the noise will be different, the random nature of the noise is not changed by filtering. Therefore, the noise can be tapped for entropy bits essentially anywhere after digitization.
- random numbers in a data storage device can be generated quickly using a DRBG with an entropy source based on characteristics of the device itself to provide a ready source of seeds for the DRBG without adding additional hardware.
- FIGS. 7-14 exemplary implementations of the present invention are shown.
- an embodiment of the present invention can be implemented in a hard disk drive 600 .
- This embodiment of the present invention may implement either or both signal processing and/or control circuits, which are generally identified in FIG. 7 at 602 .
- the signal processing and/or control circuit 602 and/or other circuits (not shown) in the HDD 600 may process data, perform coding and/or encryption, perform calculations, and/or format data that is output to and/or received from a magnetic storage medium 606 .
- the HDD 600 may communicate with a host device (not shown) such as a computer, mobile computing devices such as personal digital assistants, cellular telephones, media or MP3 players and the like, and/or other devices, via one or more wired or wireless communication links 608 .
- a host device such as a computer, mobile computing devices such as personal digital assistants, cellular telephones, media or MP3 players and the like, and/or other devices, via one or more wired or wireless communication links 608 .
- the HDD 600 may be connected to memory 609 such as random access memory (RAM), low latency nonvolatile memory such as flash memory, read only memory (ROM) and/or other suitable electronic data storage.
- RAM random access memory
- ROM read only memory
- an embodiment of the present invention can be implemented in a digital versatile disk (DVD) drive 700 .
- This embodiment of the present invention may implement either or both signal processing and/or control circuits, which are generally identified in FIG. 8 at 702 , and/or mass data storage of the DVD drive 700 .
- the signal processing and/or control circuit 702 and/or other circuits (not shown) in the DVD drive 700 may process data, perform coding and/or encryption, perform calculations, and/or format data that is read from and/or data written to an optical storage medium 706 .
- the signal processing and/or control circuit 702 and/or other circuits (not shown) in the DVD drive 700 can also perform other functions such as encoding and/or decoding and/or any other signal processing functions associated with a DVD drive.
- DVD drive 700 may communicate with an output device (not shown) such as a computer, television or other device, via one or more wired or wireless communication links 707 .
- the DVD drive 700 may communicate with mass data storage 708 that stores data in a nonvolatile manner.
- the mass data storage 708 may include a hard disk drive (HDD).
- the HDD may have the configuration shown in FIG. 7
- the HDD may be a mini-HDD that includes one or more platters having a diameter that is smaller than approximately 1.8′′.
- the DVD drive 700 may be connected to memory 709 such as RAM, ROM, low-latency nonvolatile memory such as flash memory, and/or other suitable electronic data storage.
- an embodiment of the present invention can be implemented in a high definition television (HDTV) 800 .
- This embodiment of the present invention may implement either or both signal processing and/or control circuits, which are generally identified in FIG. 9 at 822 , a WLAN interface and/or mass data storage of the HDTV 800 .
- the HDTV 800 receives HDTV input signals in either a wired or wireless format and generates HDTV output signals for a display 826 .
- signal processing circuit and/or control circuit 822 and/or other circuits (not shown) of the HDTV 800 may process data, perform coding and/or encryption, perform calculations, format data and/or perform any other type of HDTV processing that may be required.
- the HDTV 800 may communicate with mass data storage 827 that stores data in a nonvolatile manner such as optical and/or magnetic storage devices. At least one HDD may have the configuration shown in FIG. 7 and/or at least one DVD drive may have the configuration shown in FIG. 8 .
- the HDD may be a mini-HDD that includes one or more platters having a diameter that is smaller than approximately 1.8′′.
- the HDTV 800 may be connected to memory 828 such as RAM, ROM, low-latency nonvolatile memory such as flash memory, and/or other suitable electronic data storage.
- the HDTV 800 also may support connections with a WLAN via a WLAN network interface 829 .
- an embodiment of the present invention implements a control system of a vehicle 900 , a WLAN interface and/or mass data storage of the vehicle control system.
- this embodiment of the present invention may implement a powertrain control system 932 that receives inputs from one or more sensors such as temperature sensors, pressure sensors, rotational sensors, airflow sensors and/or any other suitable sensors and/or that generates one or more output control signals such as engine operating parameters, transmission operating parameters, and/or other control signals.
- Embodiments of the present invention may also be implemented in other control systems 940 of the vehicle 900 .
- the control system 940 may likewise receive signals from input sensors 942 and/or output control signals to one or more output devices 944 .
- the control system 940 may be part of an anti-lock braking system (ABS), a navigation system, a telematics system, a vehicle telematics system, a lane departure system, an adaptive cruise control system, a vehicle entertainment system such as a stereo, DVD, compact disc and the like. Still other implementations are contemplated.
- ABS anti-lock braking system
- the powertrain control system 932 may communicate with mass data storage 946 that stores data in a nonvolatile manner.
- the mass data storage 946 may include optical and/or magnetic storage devices for example hard disk drives HDD and/or DVDs. At least one HDD may have the configuration shown in FIG. 7 and/or at least one DVD drive may have the configuration shown in FIG. 8 .
- the HDD may be a mini-HDD that includes one or more platters having a diameter that is smaller than approximately 1.8′′.
- the powertrain control system 932 may be connected to memory 947 such as RAM, ROM, low latency nonvolatile memory such as flash memory, and/or other suitable electronic data storage.
- the powertrain control system 932 also may support connections with a WLAN via a WLAN network interface 948 .
- the control system 940 may also include mass data storage, memory and/or a WLAN interface (none shown).
- an embodiment of the present invention can be implemented in a cellular telephone 1000 that may include a cellular antenna 1051 .
- This embodiment of the present invention may implement either or both signal processing and/or control circuits, which are generally identified in FIG. 11 at 1052 , a WLAN interface and/or mass data storage of the cellular phone 1000 .
- the cellular telephone 1000 includes a microphone 1056 , an audio output 1058 such as a speaker and/or audio output jack, a display 1060 and/or an input device 1062 such as a keypad, pointing device, voice actuation and/or other input device.
- the signal processing and/or control circuits 1052 and/or other circuits (not shown) in the cellular telephone 1000 may process data, perform coding and/or encryption, perform calculations, format data and/or perform other cellular telephone functions.
- the cellular telephone 1000 may communicate with mass data storage 1064 that stores data in a nonvolatile manner such as optical and/or magnetic storage devices—for example hard disk drives (HDDs) and/or DVDs. At least one HDD may have the configuration shown in FIG. 7 and/or at least one DVD drive may have the configuration shown in FIG. 8 .
- the HDD may be a mini-HDD that includes one or more platters having a diameter that is smaller than approximately 1.8′′.
- the cellular telephone 1000 may be connected to memory 1066 such as RAM, ROM, low-latency nonvolatile memory such as flash memory, and/or other suitable electronic data storage.
- the cellular telephone 1000 also may support connections with a WLAN via a WLAN network interface 1068 .
- an embodiment of the present invention can be implemented in a set top box 1100 .
- This embodiment of the present invention may implement either or both signal processing and/or control circuits, which are generally identified in FIG. 12 at 1184 , a WLAN interface and/or mass data storage of the set top box 1100 .
- Set top box 1100 receives signals from a source 1182 such as a broadband source and outputs standard and/or high definition audio/video signals suitable for a display 1188 such as a television and/or monitor and/or other video and/or audio output devices.
- the signal processing and/or control circuits 1184 and/or other circuits (not shown) of the set top box 1100 may process data, perform coding and/or encryption, perform calculations, format data and/or perform any other set top box function.
- Set top box 1100 may communicate with mass data storage 1190 that stores data in a nonvolatile manner.
- the mass data storage 1190 may include optical and/or magnetic storage devices for example hard disk drives HDD and/or DVDs. At least one HDD may have the configuration shown in FIG. 7 and/or at least one DVD drive may have the configuration shown in FIG. 8 .
- the HDD may be a mini-HDD that includes one or more platters having a diameter that is smaller than approximately 1.8′′.
- Set top box 1100 may be connected to memory 1194 such as RAM, ROM, low-latency nonvolatile memory such as flash memory, and/or other suitable electronic data storage.
- Set top box 1100 also may support connections with a WLAN via a WLAN network interface 1196 .
- an embodiment of the present invention can be implemented in a media player 1200 .
- This embodiment of the present invention may implement either or both signal processing and/or control circuits, which are generally identified in FIG. 13 at 1204 , a WLAN interface and/or mass data storage of the media player 1200 .
- the media player 1200 includes a display 1207 and/or a user input 1208 such as a keypad, touchpad and the like.
- the media player 1200 may employ a graphical user interface (GUI) that typically employs menus, drop down menus, icons and/or a point-and-click interface via the display 1207 and/or user input 1208 .
- GUI graphical user interface
- Media player 1200 further includes an audio output 1209 such as a speaker and/or audio output jack.
- the signal processing and/or control circuits 1204 and/or other circuits (not shown) of media player 1200 may process data, perform coding and/or encryption, perform calculations, format data and/or perform any other media player function.
- Media player 1200 may communicate with mass data storage 1210 that stores data such as compressed audio and/or video content in a nonvolatile manner.
- the compressed audio files include files that are compliant with MP3 format or other suitable compressed audio and/or video formats.
- the mass data storage may include optical and/or magnetic storage devices for example hard disk drives HDD and/or DVDs. At least one HDD may have the configuration shown in FIG. 7 and/or at least one DVD drive may have the configuration shown in FIG. 8 .
- the HDD may be a mini-HDD that includes one or more platters having a diameter that is smaller than approximately 1.8′′.
- Media player 1200 may be connected to memory 1214 such as RAM, ROM, low-latency nonvolatile memory such as flash memory, and/or other suitable electronic data storage. Media player 1200 also may support connections with a WLAN via a WLAN network interface 1216 . Still other implementations in addition to those described above are contemplated.
- an embodiment of the present invention can be implemented in a solid-state drive 1300 .
- This embodiment of the present invention may include flash memory cells 1301 or other low-latency nonvolatile memory, and/or other suitable electronic data storage.
- a flash controller 1302 which may function as an interface to flash memory cells 1301 , and/or other circuits (not shown) in the solid-state drive 1300 may process data, perform coding and/or encryption, perform calculations, and/or format data that is output to and/or received from flash memory cells 1301 . Still other implementations in addition to those described above are contemplated.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computational Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
Description
b x =|P(X=1)−½|=|P(X=0)−½|
Note that b is between 0 and ½, with b=0 being the value for a “fair coin,” and b=0.5 being the value for a constant random variable (i.e., one with no randomness at all).
Claims (17)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/949,487 US8015224B1 (en) | 2006-12-27 | 2007-12-03 | Entropy source for random number generation |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US88205806P | 2006-12-27 | 2006-12-27 | |
US11/949,487 US8015224B1 (en) | 2006-12-27 | 2007-12-03 | Entropy source for random number generation |
Publications (1)
Publication Number | Publication Date |
---|---|
US8015224B1 true US8015224B1 (en) | 2011-09-06 |
Family
ID=44513653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/949,487 Active 2030-07-04 US8015224B1 (en) | 2006-12-27 | 2007-12-03 | Entropy source for random number generation |
Country Status (1)
Country | Link |
---|---|
US (1) | US8015224B1 (en) |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100332574A1 (en) * | 2009-06-26 | 2010-12-30 | Herbert Howard C | Digital random number generator |
CN104025501A (en) * | 2011-12-29 | 2014-09-03 | 英特尔公司 | Method and apparatus for a non-deterministic random bit generator (nrbg) |
CN104461457A (en) * | 2014-12-30 | 2015-03-25 | 成都三零嘉微电子有限公司 | True random number generator and detuning compensation control method thereof |
US9037624B1 (en) * | 2012-08-03 | 2015-05-19 | Seagate Technology Llc | Using memory access times for random number generation |
US9049232B2 (en) | 2013-02-28 | 2015-06-02 | Amazon Technologies, Inc. | Configurable-quality random data service |
US9075674B2 (en) | 2012-12-12 | 2015-07-07 | Freescale Semiconductor, Inc. | Systems with adjustable sampling parameters and methods of their operation |
US20160202984A1 (en) * | 2013-03-14 | 2016-07-14 | International Business Machines Corporation | Instruction for performing a pseudorandom number generate operation |
US9465582B1 (en) * | 2010-11-18 | 2016-10-11 | The Boeing Company | Significant random number generator |
US9727310B2 (en) | 2015-03-31 | 2017-08-08 | Toshiba Corporation | Entropy source for random number generator |
US9819727B2 (en) | 2013-02-28 | 2017-11-14 | Amazon Technologies, Inc. | Computing infrastructure for configurable-quality random data |
US9860056B2 (en) | 2013-03-14 | 2018-01-02 | International Business Machines Corporation | Instruction for performing a pseudorandom number seed operation |
US9912475B2 (en) | 2015-07-22 | 2018-03-06 | Toyota Motor Engineering & Manufacturing North America, Inc. | Vehicular entropy for random number generation |
WO2018099760A1 (en) * | 2016-11-29 | 2018-06-07 | Continental Teves Ag & Co. Ohg | Method for providing random numbers for control units of a vehicle network, and vehicle network for performing said method |
US10116441B1 (en) | 2015-06-11 | 2018-10-30 | Amazon Technologies, Inc. | Enhanced-security random data |
US10168994B2 (en) * | 2017-04-11 | 2019-01-01 | Intel Corporation | Random number generator including entropy source |
US10338890B1 (en) | 2015-01-07 | 2019-07-02 | Seagate Technology Llc | Random values from data errors |
US10341115B2 (en) * | 2016-08-26 | 2019-07-02 | Seagate Technology Llc | Data security system that uses a repeatable magnetic signature as a weak entropy source |
US10372528B1 (en) | 2014-12-15 | 2019-08-06 | Seagate Technology Llc | Random values from data errors |
US11455432B1 (en) * | 2017-06-02 | 2022-09-27 | Apple Inc. | Multi-user storage volume encryption via secure processor |
EP4106359A1 (en) * | 2021-06-17 | 2022-12-21 | Haldex Brake Products AB | A method and system for seed generation |
WO2023274872A1 (en) * | 2021-07-01 | 2023-01-05 | Lisa Dräxlmaier GmbH | Method and control device for generating a random value by means of a microcontroller |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5757923A (en) * | 1995-09-22 | 1998-05-26 | Ut Automotive Dearborn, Inc. | Method of generating secret identification numbers |
US20020029341A1 (en) * | 1999-02-11 | 2002-03-07 | Ari Juels | Robust visual passwords |
US20030037079A1 (en) * | 2001-08-15 | 2003-02-20 | Wilber Scott A. | True random number generator and entropy calculation device and method |
US6542618B1 (en) * | 1993-11-18 | 2003-04-01 | Digimarc Corporation | Methods for watermark decoding |
US6687721B1 (en) * | 2000-03-31 | 2004-02-03 | Intel Corporation | Random number generator with entropy accumulation |
US20040223608A1 (en) * | 2001-09-25 | 2004-11-11 | Oommen B. John | Cryptosystem for data security |
US20060235917A1 (en) * | 2003-04-21 | 2006-10-19 | Vg Games Ltd | Systems and methods for generating random numbers from astronomical events |
US20060242407A1 (en) * | 2004-07-29 | 2006-10-26 | Kimmel Gerald D | Cryptographic key management |
US20070180009A1 (en) * | 2005-03-30 | 2007-08-02 | Impinj, Inc. | RFID tag with random number generator having a noise-based input |
US20080063190A1 (en) * | 2006-09-13 | 2008-03-13 | Pitney Bowes Incorporated | Method and system for generation of cryptographic keys for use in cryptographic systems |
US7359509B2 (en) * | 2004-12-01 | 2008-04-15 | Pitney Bowes Inc. | Method and system for generation of cryptographic keys and the like |
US7398287B2 (en) * | 2002-08-19 | 2008-07-08 | Analog Devices, Inc. | Fast linear feedback shift register engine |
US7496616B2 (en) * | 2004-11-12 | 2009-02-24 | International Business Machines Corporation | Method, apparatus and system for resistance to side channel attacks on random number generators |
US20090265112A1 (en) * | 2005-07-22 | 2009-10-22 | Psigenics Corporation | Device and method for responding to influences of mind |
-
2007
- 2007-12-03 US US11/949,487 patent/US8015224B1/en active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6542618B1 (en) * | 1993-11-18 | 2003-04-01 | Digimarc Corporation | Methods for watermark decoding |
US5757923A (en) * | 1995-09-22 | 1998-05-26 | Ut Automotive Dearborn, Inc. | Method of generating secret identification numbers |
US20020029341A1 (en) * | 1999-02-11 | 2002-03-07 | Ari Juels | Robust visual passwords |
US6687721B1 (en) * | 2000-03-31 | 2004-02-03 | Intel Corporation | Random number generator with entropy accumulation |
US20030037079A1 (en) * | 2001-08-15 | 2003-02-20 | Wilber Scott A. | True random number generator and entropy calculation device and method |
US20040223608A1 (en) * | 2001-09-25 | 2004-11-11 | Oommen B. John | Cryptosystem for data security |
US7398287B2 (en) * | 2002-08-19 | 2008-07-08 | Analog Devices, Inc. | Fast linear feedback shift register engine |
US20060235917A1 (en) * | 2003-04-21 | 2006-10-19 | Vg Games Ltd | Systems and methods for generating random numbers from astronomical events |
US20060242407A1 (en) * | 2004-07-29 | 2006-10-26 | Kimmel Gerald D | Cryptographic key management |
US7715565B2 (en) * | 2004-07-29 | 2010-05-11 | Infoassure, Inc. | Information-centric security |
US7496616B2 (en) * | 2004-11-12 | 2009-02-24 | International Business Machines Corporation | Method, apparatus and system for resistance to side channel attacks on random number generators |
US7359509B2 (en) * | 2004-12-01 | 2008-04-15 | Pitney Bowes Inc. | Method and system for generation of cryptographic keys and the like |
US20070180009A1 (en) * | 2005-03-30 | 2007-08-02 | Impinj, Inc. | RFID tag with random number generator having a noise-based input |
US20090265112A1 (en) * | 2005-07-22 | 2009-10-22 | Psigenics Corporation | Device and method for responding to influences of mind |
US20080063190A1 (en) * | 2006-09-13 | 2008-03-13 | Pitney Bowes Incorporated | Method and system for generation of cryptographic keys for use in cryptographic systems |
US7813503B2 (en) * | 2006-09-13 | 2010-10-12 | Pitney Bowes Inc. | Method and system for generation of cryptographic keys for use in cryptographic systems |
Non-Patent Citations (2)
Title |
---|
Barker, E., et al., National Institute of Standards and Technology, Special Publication 800-90, "Recommendation for Random Number Generation Using Deterministic Random Bit Generators (Revised)," Mar. 2007. |
National Institute of Standards and Technology, Federal Information Processing Standards Publication 140-2, "Security Requirements for Cryptographic Modules," May 25, 2001. |
Cited By (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8489660B2 (en) * | 2009-06-26 | 2013-07-16 | Intel Corporation | Digital random number generator using partially entropic data |
US20100332574A1 (en) * | 2009-06-26 | 2010-12-30 | Herbert Howard C | Digital random number generator |
US9465582B1 (en) * | 2010-11-18 | 2016-10-11 | The Boeing Company | Significant random number generator |
EP2798771A4 (en) * | 2011-12-29 | 2015-10-07 | Intel Corp | Method and apparatus for a non-deterministic random bit generator (nrbg) |
CN104025501A (en) * | 2011-12-29 | 2014-09-03 | 英特尔公司 | Method and apparatus for a non-deterministic random bit generator (nrbg) |
CN108199829A (en) * | 2011-12-29 | 2018-06-22 | 英特尔公司 | For Uncertain Stochastic position generator(NRBG)Method and apparatus |
US9544139B2 (en) | 2011-12-29 | 2017-01-10 | Intel Corporation | Method and apparatus for a non-deterministic random bit generator (NRBG) |
US9037624B1 (en) * | 2012-08-03 | 2015-05-19 | Seagate Technology Llc | Using memory access times for random number generation |
US9075674B2 (en) | 2012-12-12 | 2015-07-07 | Freescale Semiconductor, Inc. | Systems with adjustable sampling parameters and methods of their operation |
US9049232B2 (en) | 2013-02-28 | 2015-06-02 | Amazon Technologies, Inc. | Configurable-quality random data service |
US11621996B2 (en) | 2013-02-28 | 2023-04-04 | Amazon Technologies, Inc. | Computing infrastructure for configurable-quality random data |
US9819727B2 (en) | 2013-02-28 | 2017-11-14 | Amazon Technologies, Inc. | Computing infrastructure for configurable-quality random data |
US20160202984A1 (en) * | 2013-03-14 | 2016-07-14 | International Business Machines Corporation | Instruction for performing a pseudorandom number generate operation |
US10846090B2 (en) | 2013-03-14 | 2020-11-24 | International Business Machines Corporation | Instruction for performing a pseudorandom number generate operation |
US9860056B2 (en) | 2013-03-14 | 2018-01-02 | International Business Machines Corporation | Instruction for performing a pseudorandom number seed operation |
US10133575B2 (en) | 2013-03-14 | 2018-11-20 | International Business Machines Corporation | Instruction for performing a pseudorandom number generate operation |
US10061585B2 (en) * | 2013-03-14 | 2018-08-28 | International Business Machines Corporation | Instruction for performing a pseudorandom number generate operation |
US10372528B1 (en) | 2014-12-15 | 2019-08-06 | Seagate Technology Llc | Random values from data errors |
CN104461457A (en) * | 2014-12-30 | 2015-03-25 | 成都三零嘉微电子有限公司 | True random number generator and detuning compensation control method thereof |
CN104461457B (en) * | 2014-12-30 | 2017-04-19 | 成都三零嘉微电子有限公司 | True random number generator and detuning compensation control method thereof |
US10338890B1 (en) | 2015-01-07 | 2019-07-02 | Seagate Technology Llc | Random values from data errors |
US9727310B2 (en) | 2015-03-31 | 2017-08-08 | Toshiba Corporation | Entropy source for random number generator |
US10116441B1 (en) | 2015-06-11 | 2018-10-30 | Amazon Technologies, Inc. | Enhanced-security random data |
US9912475B2 (en) | 2015-07-22 | 2018-03-06 | Toyota Motor Engineering & Manufacturing North America, Inc. | Vehicular entropy for random number generation |
US10341115B2 (en) * | 2016-08-26 | 2019-07-02 | Seagate Technology Llc | Data security system that uses a repeatable magnetic signature as a weak entropy source |
WO2018099760A1 (en) * | 2016-11-29 | 2018-06-07 | Continental Teves Ag & Co. Ohg | Method for providing random numbers for control units of a vehicle network, and vehicle network for performing said method |
CN110168494A (en) * | 2016-11-29 | 2019-08-23 | 大陆-特韦斯股份有限公司 | For to the control unit of vehicle network provide random number method and vehicle network used to perform the method |
US11539693B2 (en) | 2016-11-29 | 2022-12-27 | Continental Teves Ag & Co. Ohg | Method for providing random numbers for control units of a vehicle network, and vehicle network for performing said method |
US10168994B2 (en) * | 2017-04-11 | 2019-01-01 | Intel Corporation | Random number generator including entropy source |
US10656916B2 (en) | 2017-04-11 | 2020-05-19 | Intel Corporation | Random number generator including entropy source |
US11455432B1 (en) * | 2017-06-02 | 2022-09-27 | Apple Inc. | Multi-user storage volume encryption via secure processor |
EP4106359A1 (en) * | 2021-06-17 | 2022-12-21 | Haldex Brake Products AB | A method and system for seed generation |
WO2023274872A1 (en) * | 2021-07-01 | 2023-01-05 | Lisa Dräxlmaier GmbH | Method and control device for generating a random value by means of a microcontroller |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8015224B1 (en) | Entropy source for random number generation | |
Joshi et al. | A new method of image steganography using 7th bit of a pixel as indicator by introducing the successive temporary pixel in the gray scale image | |
US20120134491A1 (en) | Cloud Storage Data Encryption Method, Apparatus and System | |
WO2018017765A1 (en) | Data sending/receiving method and data transmission system over sound waves | |
Al Saad et al. | A speech encryption based on chaotic maps | |
US8996596B2 (en) | Apparatus and method of generating random number | |
US20140205093A1 (en) | Method and system for generating a random number | |
Indrayani et al. | Increasing the security of mp3 steganography using AES Encryption and MD5 hash function | |
CN104253684A (en) | Encryption method and encryption device | |
US8054967B2 (en) | Computer system and computer program executing encryption or decryption | |
WO2007083528A1 (en) | Encryption/decryption device, encryption/decryption method, and computer program | |
CN102541509A (en) | True random number generation method based on chaotic encryption | |
Pathak et al. | A new audio steganography scheme based on location selection with enhanced security | |
Mingguang et al. | A wav-audio steganography algorithm based on amplitude modifying | |
Korzhik et al. | Audio Watermarking Based on Echo Hiding with Zero Error Probability. | |
US8027378B1 (en) | Circuits, architectures, apparatuses, systems, algorithms and methods and software for amplitude drop detection | |
CN105959106A (en) | Low-complexity digital encryption method | |
KR101839701B1 (en) | An apparatus for one-way data transmission and method thereof | |
US20100185848A1 (en) | Secure external buffer for hard disk drive system on a chip | |
Li et al. | Advanced conditional differential attack on Grain‐like stream cipher and application on Grain v1 | |
Upendra Raju et al. | Data hiding steganography model based on hyper chaos 2D compressive sensing inhabited with manchester encoder/decoder using circular queue exploiting modification direction | |
Zhang et al. | One-time pad image encryption based on physical random numbers from chaotic laser | |
Aa | HexE-Securing Audio Contents in Voice Chat using Puzzle and Timestamp | |
Prakash et al. | I/O steganography for audio and images in secure data transmission | |
KR100667208B1 (en) | Random Number Generation Method Using Digital Audio / Video Stream |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MARVELL SEMICONDUCTOR, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHAICHANAVONG, PANU;POO, TZE LEI;WU, ZINING;AND OTHERS;SIGNING DATES FROM 20071129 TO 20071130;REEL/FRAME:020188/0946 Owner name: MARVELL INTERNATIONAL LTD., BERMUDA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MARVELL SEMICONDUCTOR, INC.;REEL/FRAME:020189/0086 Effective date: 20071203 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |
|
AS | Assignment |
Owner name: CAVIUM INTERNATIONAL, CAYMAN ISLANDS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MARVELL INTERNATIONAL LTD.;REEL/FRAME:052918/0001 Effective date: 20191231 |
|
AS | Assignment |
Owner name: MARVELL ASIA PTE, LTD., SINGAPORE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CAVIUM INTERNATIONAL;REEL/FRAME:053475/0001 Effective date: 20191231 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |