1. Field of the Invention
The invention relates to a random number generator, and more particularly to a random number generator which combines several random number generating techniques to generate more thoroughly random numbers.
2. Description of the Related Art
At present, popular smart cards i.e. integrated circuit cards, store a wealth of information. Unfortunately, this valuable information can be misappropriated by various ways of invasion.
In smart card operation, different commands may generate different specific power profiles. With respect to power supply, one power profile corresponds to a specific voltage-current profile. These unique voltage and current profiles are generally regarded as noise, but can prove useful in the misappropriation of data. For example, one current consumption spectrum corresponds to one running command.
Simple power analysis (SPA) and differential power analysis (DPA) use current analysis to identify different commands. SPA directly observes different results for different commands running in the cryptographic process according to the cryptography to develop power consumption models and time. DPA uses statistical methodology and error recovery techniques to develop power consumption change model.
To preventing valuable information from being stolen, an additional power consumption circuit is added to a chip. The chip requires extra power on the power consumption circuit when different commands are running. Using the power consumption circuit can change the characteristics of the current spectrum.
Although the power consumption circuit can change the characteristics of the current spectrum, if power consumption circuit regularly operates the commands can still be identified by the statistics and analysis. To overcome this disadvantage, a random number generator is added to drive the power consumption circuit.
FIG. 1 is a schematic illustrating a conventional random power consumption circuit. Random numbers generated from the random number generator are stored in a data register 10. By a linear feedback shift register 12a and 12b, random numbers select and drive a power consumption circuit which comprises inverters 16a˜16d and capacitors 18a˜18d. A selecting unit 14 uses the data stored in the data registers 10 to drive the power consumption circuit through the linear feedback shift register 12a and 12b. Although extra power can change the characteristics of the current spectrum, the extra power is a disadvantage for smart cards requiring low power operation.
As well, only limited random numbers can be generated by the linear feedback shift register because the number pattern will be repeated periodically. The repeated period is related to the bit number of the linear feedback shift register (n). Different algorithms applied to arrange registers can generate different patterns, and the maximum period is 2n.
In cryptographic devices, a larger value of N is preferred, but unrepeated random numbers are necessary for chips operating for a long time, to secure stored information.
The random number generator requires not only resolving the problem of the finite length of the random number but also generating more thoroughly random bits.
Use of a slow oscillator and fast oscillator to generate random numbers is disclosed in U.S. Pat. No. 4,694,412. The cited circuit is simply and easy design and use but produces less uniformly distributed random numbers.
To increased randomness combining resistor-based noise and a voltage-controlled slow oscillator is disclosed in U.S. Pat. No. 6,061,702.
In conclusion, it is necessary to provide a security system including a random number generator with current analysis tampering resistance and enough length for truly random patterns on a single chip.