WO2012095972A1 - ビット生成装置及びビット生成方法 - Google Patents

ビット生成装置及びビット生成方法 Download PDF

Info

Publication number
WO2012095972A1
WO2012095972A1 PCT/JP2011/050385 JP2011050385W WO2012095972A1 WO 2012095972 A1 WO2012095972 A1 WO 2012095972A1 JP 2011050385 W JP2011050385 W JP 2011050385W WO 2012095972 A1 WO2012095972 A1 WO 2012095972A1
Authority
WO
WIPO (PCT)
Prior art keywords
bit
glitch
bit value
signal
input
Prior art date
Application number
PCT/JP2011/050385
Other languages
English (en)
French (fr)
Inventor
孝一 清水
鈴木 大輔
智巳 粕谷
Original Assignee
三菱電機株式会社
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to US13/978,598 priority Critical patent/US9106213B2/en
Priority to JP2012552573A priority patent/JP5484595B2/ja
Priority to EP11855851.9A priority patent/EP2665225B1/en
Priority to KR1020137018145A priority patent/KR101518153B1/ko
Priority to PCT/JP2011/050385 priority patent/WO2012095972A1/ja
Priority to CN201180064824.XA priority patent/CN103299576B/zh
Publication of WO2012095972A1 publication Critical patent/WO2012095972A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/10Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols with particular housing, physical features or manual controls
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/003Modifications for increasing the reliability for protection
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/125Discriminating pulses
    • H03K5/1252Suppression or limitation of noise or interference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3278Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/003Modifications for increasing the reliability for protection
    • H03K19/00346Modifications for eliminating interference or parasitic voltages or currents
    • H03K19/00361Modifications for eliminating interference or parasitic voltages or currents in field effect transistor circuits

Definitions

  • the present invention relates to a security device that executes authentication processing, encryption processing, and the like.
  • the present invention relates to a device that generates secret information used in cryptographic processing and a device-specific identifier necessary to authenticate the device based on a physical amount unique to the device.
  • PUF Physical Unclonable Function or Physical Uncloning technology
  • Non-Patent Document 1 is an example of PUF.
  • Non-Patent Document 1 utilizes a glitch generated in an output signal of a combinational circuit.
  • FIGS. 14 and 15 are diagrams showing the principle of PUF (referred to as glitch PUF) of Non-Patent Document 1.
  • FIG. Non-Patent Document 1 glitch PUF will be described with reference to FIGS. 14 and 15.
  • Glitch is a phenomenon in which values change repeatedly between 0 and 1 in a transient state when a signal changes.
  • the values of the input signals x1 to xL to the random logic 201 configured by the combinational circuit are changed, the values of the output signals y1 to yM (and the signal g selected from one of them) are changed accordingly. Change. The change takes place over time rather than momentarily. In the transitional state of the change, as shown in the range 202, a glitch occurs in which the value repeats changing between 0 and 1.
  • the shape of the glitch is determined by the delay of the gates that make up the random logic 201. Since the gate delay is different for each device, the glitch shape is different for each device. Thus, by assigning the glitch shape to 0 or 1, it is possible to generate device-specific information bits.
  • Non-Patent Document 1 as shown in (a) and (b) of FIG. 15, a method of converting evenness and oddity of the number of pulses included in a glitch into bits is described. The above is the principle of glitch PUF.
  • Non-Patent Document 1 in order to capture a glitch shape, a signal including a glitch (hereinafter, referred to as a glitch signal) is sampled to acquire a waveform including a glitch (referred to as a glitch waveform).
  • a glitch is a phenomenon that occurs in a time shorter than a clock cycle. For this reason, (A) It is necessary to sample one glitch signal with N clocks slightly shifted in phase. (B) Alternatively, it is necessary to sample N glitch signals with a small delay with one clock.
  • Non-Patent Document 1 uses the latter (b) (FIG. 16).
  • Non-Patent Document 1 proposes a method of using a carry (carry) bit wiring of an addition circuit whose delay is suppressed to a low level in an LSI such as an FPGA as a method of adding “small delay”. There is.
  • Non-Patent Document 1 Since capturing a glitch waveform by sampling in Non-Patent Document 1 requires a circuit which is essentially unnecessary for the glitch PUF, there is a problem that the circuit size and the processing time increase. In addition, as a result, there is also a problem that the number of bits that can be generated simultaneously decreases.
  • the delay caused by the wiring of signals s 1 to sN reaching sampling register group 204 and the skew of sampling clock CLK is due to the small delay added by sampling delay circuit 203. May also be large.
  • FIG. 18 there is a problem that sampling is performed in a state in which inversion occurs in the order in which delays are added, and the original waveform can not be reproduced.
  • FIG. 19 shows the configuration of the bit string generation circuit 401 of Non-Patent Document 1.
  • the transmission signal delay circuit 402 is a circuit that generates pulses with different timings as described above.
  • a selector 403 is required to select the pulse and the glitch signal used for PUF processing.
  • a circuit having no direct relation to the glitch PUF, such as the sampling delay circuit 404 and the sampling register 405, is required.
  • a variable delay circuit 406 is also required to adjust the timing of sampling.
  • the number of bits that can be generated at one time by the messenger signal delay circuit 402 to the variable delay circuit 406 and the glitch shape determination circuit 407 is one. Simultaneous mounting of a plurality of bits is also possible in principle by mounting the messenger signal delay circuit 402 to the glitch shape determination circuit 407 in parallel. However, there is a practical problem that the circuit scale increases.
  • the present invention realizes information bit generation based on the shape of a glitch waveform in a glitch PUF without sampling or sorting of a glitch signal, and as a result, the circuit scale is small, the processing time is short, and the number of simultaneously generated bits
  • the purpose is to provide many bit generators.
  • the bit generator of the present invention is A glitch generation unit that generates a glitch signal including a plurality of pulses;
  • the glitch signal generated by the glitch generation unit is input, and either 0 or 1 is input based on either the rising edge or the falling edge of the plurality of pulses included in the input glitch signal.
  • a bit value generation unit for generating a bit value of the data.
  • a circuit which is essentially unnecessary for the glitch PUF, which is conventionally required, is not necessary, and an increase in circuit size and processing time can be suppressed. Also, as a result, it is possible to solve the problem that the number of bits that can be generated simultaneously decreases.
  • FIG. 3 is a diagram showing an example of mounting the bit string generation circuit 100 according to the first embodiment to a system LSI.
  • FIG. 6 shows T-FF in the first embodiment.
  • FIG. 5 is a diagram showing an input signal T and an output signal Q of the T-FF according to the first embodiment.
  • FIG. 2 is a block diagram of the bit string generation circuit 100 according to the first embodiment.
  • FIG. 2 shows an internal configuration of a glitch generation circuit 120 according to a first embodiment.
  • FIG. 6 is a diagram showing the configuration of T-FF in an ASIC using the D flip-flop of Embodiment 1;
  • FIG. 2 is a diagram showing the configuration of an F-FF in the FPGA according to the first embodiment.
  • FIG. 6 is a diagram showing the configuration of T-FF in an ASIC using the D flip-flop of Embodiment 1;
  • FIG. 2 is a diagram showing the configuration of an F-FF in the FPGA according to the first embodiment.
  • FIG. 6 is a diagram showing a filter circuit 150 provided in the front stage of T-FF in the first embodiment.
  • FIG. 7 is a diagram showing a configuration in which the T-FF bit generation circuit 131 (1) of the first embodiment includes a plurality of T-FFs and a generated bit stabilization circuit 160.
  • FIG. 3 shows a specific configuration of a generated bit stabilization circuit 160 according to the first embodiment.
  • FIG. 7 shows another specific configuration of the generated bit stabilization circuit 160 according to the first embodiment.
  • 6 is a flowchart showing an operation of the bit string generation circuit 100 according to the first embodiment.
  • 10 is another flowchart showing the operation of the bit string generation circuit 100 according to the first embodiment.
  • FIG. 1 is a diagram showing an example in which a bit string generation circuit 100 (bit generation device) is mounted on a system LSI (Large Scale Integration) 1000.
  • FIG. 1 shows a bit string generation circuit 100 and an error correction circuit 300 (error correction) in a system LSI having a general configuration including a central processing unit (CPU) 500, an internal memory 600 (an example of a storage device), and an external interface 700. Section) is an example in which the encryption processing circuit 400 is mounted.
  • the bit string generation circuit 100 generates a bit string from the glitch signal.
  • the bit string generation circuit 100 generates a plurality of bit values by parallel processing, and generates key information or device identification information which is a bit string from the generated plurality of bit values. These key information and the like are glitch PUFs.
  • the data (bit string) generated by the bit string generation circuit 100 is used, for example, as key information necessary for information security processing such as cryptographic processing by the cryptographic processing circuit 400.
  • Control of the bit string generation circuit 100 may be controllable from the CPU 500.
  • the bit string generation circuit 100 includes a process (generation bit stabilization circuit 160) for enhancing the stability of the generation bit as described later (FIG. 9). However, it is still difficult to eliminate errors contained in the generated bit string. In FIG. 1, this error is corrected by the error correction circuit 300. By using the error correction circuit 300, it is possible to use the device specific information generated by the bit string generation circuit 100 as key information necessary for cryptographic processing.
  • a feature of the bit string generation circuit 100 is that the determination of the number of pulses included in the glitch signal as odd or even (oddness or evenness) is performed by the number of times of bit inversion.
  • a circuit called a toggle flip flop (denoted as T-FF) is used to determine the evenness of the glitch signal.
  • FIG. 2 shows T-FF (an example of a unit circuit described later).
  • T-FF is a sequential circuit represented by a circuit symbol as shown in FIG.
  • FIG. 3 shows an input signal T and an output signal Q of the T-FF shown in FIG.
  • FIG. 3 (a) shows the case where the number of pulses included in the glitch signal is 3 (odd number), and
  • FIG. 3 (b) shows the case where the number of pulses included in the glitch signal is 4 (even number)
  • T-FF is a flip flop in which the value of the output signal Q is inverted each time the input signal T rises. As a result, as shown in FIG. 3, the final value of output Q is determined depending on whether the number of pulses of input T is even or odd.
  • a glitch PUF can be realized by inputting a glitch signal as an input signal T of T-FF and using the output signal Q. That is, in FIG. 3A, the number of pulses of the input signal T is three (odd number). In response to this pulse, T-FF inverts the value of the output signal Q each time a rising edge is detected. Therefore, as shown by the broken line area 205 in (a) of FIG. 3, when the number of pulses of the input signal T is three (odd number), the “final value of the output signal Q” becomes high level. On the other hand, when the number of pulses of the input signal T is four (even) as shown by the broken line area 206 in (b) of FIG.
  • the final value of the output signal Q can determine the bit value.
  • FIG. 3 has described the case where the rising edge of the pulse of the input signal T (glitch signal) is detected by the T-FF, it is obvious that the falling edge may be detected.
  • FIG. 4 is a block diagram of the bit string generation circuit 100.
  • the bit string generation circuit 100 aims to generate a device-specific information bit string.
  • the bit string generation circuit 100 is connected to the data buses 101 and 102.
  • the bit string generation circuit 100 includes a data register group 110, a glitch generation circuit 120 (glitch generation unit), a bit generation circuit group 130, and a control register group 140.
  • the T-FF bit generation circuit 131 (1) receives the glitch signal y1 and outputs a bit b1.
  • the T-FF bit generation circuit 131 (1) may be a unit circuit to be described later including one T-FF, or may be configured to include a plurality of unit circuits as described later with reference to FIG.
  • Data register group 110 includes registers for holding input signals “x1 to xL” to glitch generation circuit 120 in response to data input from data bus 101.
  • the glitch generation circuit 120 receives the data signals x1 to xL and returns (outputs) the signals y1 to yM.
  • the signals y1 to yM are glitch signals that differ from one glitch generation circuit of the bit string generation circuit 100 to another.
  • FIG. 5 shows the internal configuration of the glitch generation circuit 120.
  • the glitch generation circuit 120 includes a random logic unit 121 (combination circuit).
  • the random logic unit 121 processes the input of L bits of x1 to xL by a combination circuit of arbitrary functions, and outputs M bits of data y1 to yM.
  • the bit generation circuit group 130 receives M outputs y1 to yM of the glitch generation circuit 120 as input T, generates bits b1 to bM according to the input signals y1 to yM, and outputs M T-FF bits It comprises a generation circuit 131. Specifically, as shown in FIG.
  • the T-FF bit generation circuit 131 (1) receives an input signal y1 and outputs a bit value b1
  • the T-FF bit generation circuit 131 (2) receives an input signal y2 and outputs a bit value b2
  • the T-FF bit generation circuit 131 (M) receives the input signal yM and outputs a bit value bM.
  • FIGS. 6 and 7 are configuration examples of the T-FF in the LSI described in FIG.
  • FIG. 6 shows the configuration of T-FF in an ASIC using a general D flip-flop.
  • the T-FF in FIG. 6 feeds back the inverted output of the D flip-flop and inputs it.
  • the T-FFs in FIGS. 6 and 7 correspond to the T-FF bit generation circuit 131 (1) in the case of the unit circuit and the T-FF bit generation circuit 131 (11) -1 which is the unit circuit.
  • T-FF in FIG. 7 is a configuration example of F-FF in the FPGA.
  • an FPGA has a plurality of components consisting of a pair of a LUT (Look Up Table) for realizing a logic function and a register for holding the output of the LUT. Wiring is possible between the plurality of components.
  • FIG. 7 is a diagram exemplifying an FPGA series called Spartan-3A of Xilinx.
  • the FPGA in FIG. 7 has a component called a slice having two pairs of LUT and register, and a component called Switch Matrix for wiring slices with each other or with another component such as a RAM. Have. Using one register in one slice, the output is again input to the same slice by wiring by Switch Matrix.
  • T-FF T-FF is configured.
  • the inversion processing may not be in time for pulse generation in the glitch signal, and a timing violation may occur. For this reason, the LUT is not used for the inversion process.
  • FIG. 8 shows a configuration in which a filter circuit 150 (filter unit) for glitch signal is provided at the front stage of T-FF.
  • a filter circuit 150 filter unit
  • the pulses of the glitch signal (signals y1 to yM in FIG. 4)
  • one having an extremely narrow pulse width may be included.
  • it is a pulse surrounded by a broken line 152 in FIG.
  • Such pulses may disappear when passing through the gate, or in T-FF in FIG. 6 and FIG. 7 etc.
  • bit generation may be unstable, for example, the feedback interval may not be in time because the latch interval is too short.
  • FIG. 8 shows, as a specific configuration of the filter circuit 150, a filter circuit 151 in which inverters are connected in series.
  • FIG. 9 shows a configuration in which one glitch signal (as an example, signal y1) is branched and input to each T-FF.
  • FIG. 9 shows a case where the T-FF bit generation circuit 131 (1) of FIG. 4 includes K T-FF bit generation circuits and a generation bit stabilization circuit 160 (conversion unit).
  • the K T-FF bit generation circuits shown in FIG. 9 are denoted as T-FF bit generation circuits 131 (1) -1 to 131 (1) -K.
  • each of the T-FF bit generation circuits 131 (1) -1 to 131 (1) -K is also referred to as a "unit circuit".
  • the "unit circuit” (bit value generation unit) is a circuit that receives one glitch signal such as the signal y1 and outputs one bit.
  • the T-FF bit generation circuit 131 (2) to the T-FF bit generation circuit 131 (M) also have the same configuration as the T-FF bit generation circuit 131 (1). Even with the same glitch signal y1, the bit b1 generated by the unit circuit may change. In other words, when the bit value b1 is generated by only one unit circuit with respect to the glitch signal y1, the generated bit value b1 may not be stable. That is, when the T-FF bit generation circuit 131 (1) in FIG. 4 is only one unit circuit, the output bit value b1 may not be stable. Therefore, as shown in FIG. 9, the T-FF bit generation circuit 131 (1) is configured to include K unit circuits and a generation bit stabilization circuit 160. In FIG.
  • the generated bit stabilization circuit 160 generates K bit values of either 0 or 1 based on the numbers of 0 and 1 indicated by the K bit values generated by each unit circuit. Convert to the representative bit value shown.
  • FIG. 10 and 11 show the generated bit stabilization circuit 161 and the generated bit stabilization circuit 162 of the specific configuration of the generated bit stabilization circuit 160.
  • FIG. The generated bit stabilization circuit 161 of FIG. 10 sets a large number of generated bits of 1 and 0 forming K bits generated by each unit circuit as the final output bit b1.
  • the generated bit stabilization circuit 162 of FIG. 11 is a bit only when K bits have the same value (all 1 or all 0) with respect to the K bits generated by each unit circuit. Use as information.
  • the generated bit stabilization circuit 162 outputs a flag signal indicating that the output bit b1 is not used as information. That is, the generated bit stabilization circuit 162 simultaneously outputs the flag signal (completion information) indicating whether to use the output bit as information at the same time as the output bit b. This flag signal is a "mask" described later.
  • the bit string generation circuit 100 has the configuration of FIGS. 8 and 9 as a bit generation circuit based on T-FF.
  • the control register group 140 holds the selection signal when the bit string generation circuit 100 has a function capable of selecting at least one of them.
  • the selection signal is input from the outside via the data bus 101.
  • bit string generation circuit 100 The operation of the bit string generation circuit 100 will be described with reference to FIGS. 12 and 13. 12 and 13 are flowcharts showing the operation of information bit generation by the bit string generation circuit 100. It is assumed that the CPU 500 controls the bit string generation circuit 100 with regard to the operations of FIG. 12 and FIG. 13 described below.
  • FIG. 12 will be described. In the following description, reference is also made to FIGS.
  • all registers of the bit string generation circuit 100 are initialized by the CPU 500 (S1001).
  • the CPU 500 inputs data to the data register group 110 (S1002, S1003).
  • the glitch generation circuit 120 In response to the input of x1 to xL in S1003, the glitch generation circuit 120 outputs y1 to yM which are glitch signals accompanying the inputs of x1 to xL.
  • the glitch signals y1 to yM generated by the glitch generation circuit 120 are processed by the bit generation circuit group 130. That is, the glitch signals y1 to yM are processed by the individual T-FF bit generation circuit 131 (i) of FIG.
  • the bit generation circuit group 130 outputs M bits of information bits, one bit for each of the glitch signals y1 to yM, to the data bus 102 finally.
  • Steps S1004 to S1009 in FIG. 12 show the flow of bit string generation.
  • S1004 to S1009 indicate the case where the number of generated bits is one. That is, S1004 to S1009 focus only on, for example, the T-FF bit generation circuit 131 (1) in FIG. Generation of M bits is realized by performing M steps of S1004 to S1009 in parallel. That is, parallel processing is executed by the T-FF bit generation circuits 131 (1) to 131 (M).
  • S1004 to S1009 will be described assuming the T-FF bit generation circuit 131 (1).
  • S1004 is a step corresponding to the configuration shown in FIG. S1004 aims to stabilize bit generation.
  • K T-FFs unit circuits
  • bit values may differ depending on the wiring to reach T-FF (unit circuit) and the characteristics of T-FF itself.
  • the values of "b'1 to b'K" all match, it can be said that the bit is stable.
  • the larger (more than K / 2) bit values can be regarded as the correct bit value.
  • the degree of coincidence the closer either bit of 0 or 1 is to the total number K
  • the bit can be said to be stable.
  • Registration means that the generated bit string is to be registered as key information in another device, and usually the information bit after the registration (usually after the second time) which is the time of the first bit string generation
  • the generation is called “regeneration”.
  • registration is a process performed by a manufacturer that manufactures a device in which the bit string generation circuit 100 is incorporated to store key information (bit string).
  • Regeneration is, for example, a case where a device in which the bit string generation circuit 100 is incorporated is purchased by the user and key information is generated.
  • S1006 and S1007 are steps at the time of registration.
  • the generated bit stabilization circuit 160 determines the output bit b1 in accordance with "reference 1”, and outputs a "mask” (the above-mentioned flag signal) indicating the stability of the output bit b1 in S1007.
  • the generated bit stabilization circuit 160 determines the output bit b1 according to the “reference 1”. However, the “reference 1” is a reference stricter than the “reference 2” in S1008.
  • the b1 output as the representative bit of K bits by the generated bit stabilization circuit 160 shown in FIG. 9 is the bit value of the one generated at least more than K / 2. However, if it exceeds K / 2, the number of bits may be reversed at the time of regeneration, and the stability is low.
  • the stability of bit generation can be enhanced by using only bits satisfying more severe conditions, that is, bits in which the generated number is close to the total number K, as the information bit b1. That is, the generated bit stabilization circuit 160 selects any one of 0 and 1 bits out of K bit values of “b′1 to b′K” generated by the K unit circuits.
  • the generated bit stabilization circuit 160 If the value satisfies a predetermined ratio, K bit values are converted as representative bits into one bit value satisfying the predetermined ratio.
  • the generated bit stabilization circuit 160 generates a “mask” (the above-mentioned flag signal) as information indicating whether the predetermined ratio is satisfied.
  • the “predetermined ratio” may be “100%” or “90%” as described in FIG.
  • the "predetermined ratio” can be freely set.
  • the generated bit stabilization circuit 160 outputs, as a mask (completion information), information representing that the output bit b1 is a bit that meets the “severe conditions”. This enables the CPU 500 to determine whether to use the bit b1.
  • An example of the “severe conditions” is the case of the exhaustive match of the K bit values of “b′1 to b′K” as described above.
  • S1008 is a step at regeneration.
  • the generated bit stabilization circuit 160 determines the output bit b1 (representative bit) in accordance with “reference 2”.
  • the “criterion 2” may be the same as or different from the “criterion 1”. However, under the condition that all K match, it is not possible to determine the bit value in the case where they do not all match, so other conditions are used. Normally, "criterion 2" is a looser criterion than "criterion 1". For example, if "criteria 1" is "entirely matched” shown in FIG. 11, "criteria 2" is a condition such as "more than half” shown in FIG. As described above, the generated bit stabilization circuit 160 outputs the representative bit b1 shown in FIG. 9 according to “reference 2” in S1008.
  • FIG. 12 assumes processing of a higher-order routine that uses information bit generation as a subroutine.
  • FIG. 12 only generates and stores a mask (S1007).
  • the upper routine carries out the process of deciding according to the mask whether or not to use the output bit b accompanied by the mask.
  • FIG. 13 shows the case where a process using a mask is included in information bit generation.
  • the steps of S1101 and S1102 are added to FIG. 12.
  • the process is branched by the value of the mask.
  • the T-FF bit generation circuits 131 (1) -1 to 131 (1) -K are input signals (x1 to x1) corresponding to the glitch signal y1 which is the source of the mask generation (S1007).
  • a glitch signal y1 (second glitch signal) generated by the glitch generation circuit 120 by the same input signal as xL) is input from the glitch generation circuit 120 via mutually different signal paths.
  • the T-FF bit generation circuits 131 (1) -1 to 131 (1) -K generate bits b'1 to b'M (second bit values) from the input glitch signal (second glitch signal).
  • Generate The generated bit stabilizing circuit 160 refers to a mask stored in a storage device such as the internal memory 600.
  • the generated bit stabilizing circuit 160 If the mask is “1” (if the mask indicates that the predetermined ratio is satisfied), the generated bit stabilizing circuit 160 generates a bit value of either 0 or 1 out of K bit values. It is determined whether the criterion 2 which is slower than the criterion 1 is satisfied. When it is determined that the reference 2 is satisfied, the generated bit stabilizing circuit 160 converts the K bit values into a bit value (representative bit value) to be converted according to the reference 2.
  • the generated bit b is output.
  • the above process is repeated by changing the input data “x1 to xL” (loop of S1002).
  • the portion indicated by the mask (flag signal) in S1007 is used as device-specific information.
  • bit string generation circuit 100 With the bit string generation circuit 100 according to the first embodiment, a circuit that is essentially unnecessary to the glitch PUF, which is conventionally required, becomes unnecessary, and an increase in circuit size and processing time can be suppressed. Also, as a result, it is possible to solve the problem that the number of bits that can be generated simultaneously decreases.
  • the processing speed is improved by the reduction of necessary processing with respect to the processing performance, and the reduction of the circuit scale enables the simultaneous generation of a plurality of bits.
  • bit generation not a process of sampling data of glitch shape but a simple process of bit inversion by T-FF is used. Therefore, the process for stabilizing bit generation can be performed by hardware with a small-scale circuit as shown in FIG. 8, FIG. 10, and FIG. This also produces the effect of improving the processing speed.
  • bit string generation circuit 100 as an apparatus has been described in the above embodiment, it is also possible to grasp each operation of the components of the bit string generation circuit 100 as a bit generation method of generating bits from a glitch signal.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Nonlinear Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Manipulation Of Pulses (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Logic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

 ビット生成装置100は、複数のパルスを含むグリッチ信号y1~yMを発生するグリッチ発生回路120と、グリッチ信号y1~yMを入力し、グリッチ信号に含まれる複数のパルスの立ち上がりエッジと、立ち下がりエッジとのいずれかに基づいて、0と1とのいずれかのビット値を生成するT-FFビット生成回路131(1)~131(M)とを備える。T-FFビット生成回路131(1)~131(M)のそれぞれは、複数のパルスの立ち上がりエッジの個数の偶奇と、立ち下がりエッジの個数の偶奇とのいずれかに基づいて、ビット値b1~bMを生成する。T-FFビット生成回路131(1)~131(M)の採用によって、従来では必要とされた、グリッチPUFに本質的には必要の無い回路が不要となり、ビット生成装置100の回路規模の拡大やビット生成の処理時間の増大を抑制できる。

Description

ビット生成装置及びビット生成方法
 本発明は、認証処理や暗号化処理などを実行するセキュリティ装置に関する。例えば、暗号処理で用いる秘密情報や、装置を認証するために必要な装置固有の識別子を、装置に固有な物理量を元に生成する装置に関する。
 ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の半導体デバイスにおいて、同一種類のデバイス上に同一の回路を実装しても、ゲート遅延等のデバイス特性がデバイス個体毎に異なることによって、デバイス個体毎に異なる出力が得られる現象が存在する。このような現象を生む回路もしくはその技術は、「Physical Unclonable Function、あるいはPhysical Uncloning技術」(以下、PUFという)などと呼ばれる。PUFは、認証や暗号化等への応用が期待される。
 PUFの例として、非特許文献1がある。非特許文献1は、組み合わせ回路の出力信号に発生するグリッチを利用する。図14、図15は、非特許文献1のPUF(グリッチPUFと呼ぶ)の原理を示す図である。図14、図15を参照して、非特許文献1グリッチPUFを説明する。グリッチは、信号が変化する際の過渡状態において、値が0と1とで変化を繰り返す現象である。図14において、組み合わせ回路で構成されたランダムロジック201への入力信号x1~xLの値を変化させると、それに応じて出力信号y1~yM(およびその中から1つ選択した信号g)の値が変化する。その変化は、瞬間にではなく、ある時間をかけて生じる。変化の過渡状態においては、範囲202に示すように、値が、0と1とで変化を繰り返すグリッチが発生する。
 グリッチの形状は、ランダムロジック201を構成するゲートの遅延によって決定される。ゲート遅延は、デバイス個体によって異なるため、グリッチ形状はデバイス個体によって異なる。従って、グリッチ形状を0または1に割り当てることにより、デバイス固有の情報ビットを生成することが可能となる。非特許文献1では、図15の(a),(b)のように、グリッチに含まれるパルス個数の偶奇性をビットに変換する方法が述べられている。以上がグリッチPUFの原理である。
 非特許文献1では、グリッチ形状を捕捉するため、グリッチを含む信号(以下、グリッチ信号という)をサンプリングし、グリッチを含む波形(グリッチ波形と呼ぶ)を取得する。グリッチはクロック周期よりも短い時間で発生する現象である。このため、
(a)微小に位相をずらしたN個のクロックで1個のグリッチ信号をサンプリングする必要がある。
(b)あるいは、微小な遅延を付加したN個のグリッチ信号を1個のクロックでサンプリングする必要がある。
 ここで「微小な遅延」とは、グリッチに含まれるパルスの間隔を下回る程度の時間(遅延)である。非特許文献1は、後者(b)を用いている(図16)。また、非特許文献1は、「微小な遅延」を付加する方法として、FPGAのようなLSIにおいて遅延が小さく抑えられている加算回路のキャリー(桁上げ)ビットの配線を用いる方法を提案している。
鈴木大輔他「グリッチ形状を利用したデバイス固有鍵の生成方式(1)」SCIS2010,3F1-1
 非特許文献1のサンプリングによるグリッチ波形の捕捉には、グリッチPUFに本質的には必要の無い回路が必要となるため、回路規模や処理時間が増大するという課題があった。また、その結果として、同時に生成可能なビット数が少なくなるという課題もあった。
 以下に上記課題が生じる理由を述べる。図16では、サンプリング用遅延回路203によって微小な遅延を付加したN個の信号s1~sNを生成している。これら信号s1~sNは理想的には、図17(N=6としている)のように、遅延が付加された順序を保ったままサンプリングされ、その結果から元の波形が再現できる。しかし現実には、図16において信号s1~sNがサンプリングレジスタ群204に到達するまでの配線や、サンプリング用のクロックCLKのスキューによって生じる遅延が、サンプリング用遅延回路203によって付加される微小な遅延よりも大きい場合がある。その結果、図18のように、遅延が付加された順序に逆転が生じた状態でサンプリングされ、元の波形が再現できなくなってしまう課題がある。
 非特許文献1ではこの課題を解決するため、タイミングの異なるパルスを次々にサンプリングして、それらの結果から逆転した順序関係を学習し、並べ替えを行うという処理(ソーティングと呼ぶ)を、PUFの前処理として実行している。図19は、非特許文献1のビット列生成回路401の構成である。伝令信号用遅延回路402は、上述のタイミングの異なるパルスを発生させる回路である。そのパルスと、PUF処理に用いるグリッチ信号との選択のため、セレクタ403が必要となる。また、サンプリング用遅延回路404やサンプリングレジスタ405という、グリッチPUFとは直接関係のない回路が必要となっている。また、サンプリングのタイミングを調整するために、可変遅延回路406も必要となっている。伝令信号用遅延回路402~可変遅延回路406、およびグリッチ形状判定回路407によって一度に生成可能なビット数は1である。伝令信号用遅延回路402~グリッチ形状判定回路407を並列に実装することで、複数ビットの同時生成も原理的には可能である。しかし、回路規模が増大するという実用上の課題がある。
 本発明は、グリッチPUFにおいて、グリッチ波形の形状に基づく情報ビット生成を、グリッチ信号のサンプリングやソーティング無しで実現し、その結果、回路規模の小さい、処理時間の短い、同時に生成可能なビット数の多い、ビット生成装置の提供を目的とする。
 この発明のビット生成装置は、
 複数のパルスを含むグリッチ信号を発生するグリッチ発生部と、
 前記グリッチ発生部によって発生された前記グリッチ信号を入力し、入力された前記グリッチ信号に含まれる前記複数のパルスの立ち上がりエッジと、立ち下がりエッジとのいずれかに基づいて、0と1とのいずれかのビット値を生成するビット値生成部と
を備えたことを特徴とする。
 本発明により、従来で必要とされた、グリッチPUFに本質的には必要の無い回路が不要となり、回路規模や処理時間の増大を抑制できる。また、その結果として、同時に生成可能なビット数が少なくなるという課題を解決できる。
実施の形態1のビット列生成回路100のシステムLSIへの搭載例を示す図。 実施の形態1のT-FFを示す図。 実施の形態1のT-FFの入力信号Tと出力信号Qとを示す図。 実施の形態1のビット列生成回路100のブロック図。 実施の形態1のグリッチ発生回路120の内部構成を示す図。 実施の形態1のDフリップフロップを用いたASICにおけるT-FFの構成を示す図。 実施の形態1のFPGAにおけるF-FFの構成を示す図。 実施の形態1のT-FFの前段に設けられたフィルター回路150を示す図。 実施の形態1のT-FFビット生成回路131(1)が複数のT-FFと生成ビット安定化回路160とを備えた構成を示す図。 実施の形態1の生成ビット安定化回路160の具体構成を示す図。 実施の形態1の生成ビット安定化回路160の別の具体構成を示す図。 実施の形態1のビット列生成回路100の動作を示すフローチャート。 実施の形態1のビット列生成回路100の動作を示す別のフローチャート。 従来技術を示す図。 従来技術を示す図。 従来技術を示す図。 従来技術を示す図。 従来技術を示す図。 従来技術を示す図。
 実施の形態1.
 図1は、ビット列生成回路100(ビット生成装置)をシステムLSI(Large Scale Integration)1000に搭載する例を示す図である。図1は、CPU(Central Processing Unit)500、内部メモリ600(記憶装置の一例)、外部インタフェース700などを備える一般的な構成のシステムLSIに、ビット列生成回路100と、誤り訂正回路300(誤り訂正部)、暗号処理回路400を搭載した例である。以下に説明するが、ビット列生成回路100は、グリッチ信号からビット列を生成する。その場合、ビット列生成回路100は、並行処理によって複数のビット値を生成し、生成された複数のビット値から、ビット列である鍵情報あるいはデバイスの識別情報を生成する。これらの鍵情報等は、グリッチPUFである。ビット列生成回路100によって生成されたデータ(ビット列)は、例えば、暗号処理回路400による暗号処理などの、情報セキュリティ処理で必要な鍵情報として利用される。ビット列生成回路100に対する制御は、CPU500から制御可能としてもよい。ビット列生成回路100は、後述(図9)のように、生成ビットの安定性を高める処理(生成ビット安定化回路160)を含んでいる。しかし、それでも、生成されるビット列に含まれる誤りを0にすることは難しい。図1では、この誤りを誤り訂正回路300によって訂正する。誤り訂正回路300を使用することで、ビット列生成回路100によって生成されるデバイス固有情報を、暗号処理に必要な鍵情報として利用することが可能となる。
 ビット列生成回路100の特徴は、グリッチ信号に含まれるパルス個数の奇数、偶数(偶奇性)の判定を、ビットの反転回数によって行う点である。グリッチ信号の偶奇性の判定には、トグルフリップフロップ(T-FFと表記する)と呼ばれる回路が使用される。
 図2は、T-FF(後述の単位回路の一例)を示す。T-FFは、図2のような回路記号で表される順序回路である。
 図3は、図2に示すT-FFの入力信号Tと出力信号Qを示す。図3の(a)は、グリッチ信号に含まれるパルスの個数が3個(奇数)の場合を示し、図3の(b)は、グリッチ信号に含まれるパルス個数が4個(偶数)の場合を示す。T-FFは、入力信号Tが立ち上がる毎に一度、出力信号Qの値が反転するフリップフロップである。その結果、図3のように、入力Tのパルス個数が偶数か奇数かによって最終的な出力Qの値が決定する。この原理により、グリッチ信号をT-FFの入力信号Tとして入力し、その出力信号Qを利用することで、グリッチPUFが実現できる。すなわち、図3の(a)では入力信号Tのパルスの個数は3個(奇数)である。このパルスに対して、T-FFは、立ち上がりエッジを検出する都度、出力信号Qの値が反転する。よって、図3の(a)の破線領域205で示すように、入力信号Tのパルス個数が3個(奇数)であれば「出力信号Qの最終値」はハイレベルとなる。一方、図3の(b)の破線領域206で示すように、入力信号Tのパルス個数が4個(偶数)であれば「出力信号Qの最終値」はローレベルとなる。
 よって、
 「出力信号Qの最終値がハイレベル」(パルス数が奇数)=ビット値「0」、
 「出力信号Qの最終値がローレベル」(パルス数が偶数)=ビット値「1」、
とビットを決定できる。
 なお、図3において出力Qの初期の信号レベルを「ハイ」とすることで、
 「出力信号Qの最終値がローレベル」(パルス数が奇数)=ビット値「0」、
 「出力信号Qの最終値がハイレベル」(パルス数が偶数)=ビット値「1」、
とすることができる。
 このように、出力Qの反転回数(出力Qの最終値)がパルスの偶奇に一致するので、出力信号Qの最終値により、ビット値を決定することができる。なお、図3ではT-FFによって入力信号T(グリッチ信号)のパルスの立ち上がりエッジを検出する場合を説明したが、立ち下がりエッジを検出しても良いのは明らかである。
(ビット列生成回路100の構成)
 図4は、ビット列生成回路100のブロック図である。ビット列生成回路100は、デバイス固有の情報ビット列の生成を目的とする。ビット列生成回路100は、データバス101,102に接続される。ビット列生成回路100は、データレジスタ群110、グリッチ発生回路120(グリッチ発生部)、ビット生成回路群130、制御レジスタ群140を備えている。ビット生成回路群130は、T-FFに基づくT-FFビット生成回路131(ビット値生成部)をM個備えている。個々のT-FFビット生成回路131を区別する場合には、T-FFビット生成回路131(i)(i=1~M)のように表記する。例えば、T-FFビット生成回路131(1)は、グリッチ信号y1を入力して、ビットb1を出力する。T-FFビット生成回路131(1)は、一つのT-FFからなる後述の単位回路でもよいし、図9で後述するように、複数の単位回路からなる構成でもよい。
 データレジスタ群110は、データバス101からのデータ入力に対して、グリッチ発生回路120への入力信号「x1~xL」を保持するレジスタを含む。
 グリッチ発生回路120は、データ信号x1~xLを入力とし、信号y1~yMを返す(出力する)。信号y1~yMは、ビット列生成回路100のグリッチ発生回路ごとに異なる、グリッチ信号である。
 図5は、グリッチ発生回路120の内部構成を示す。グリッチ発生回路120は、ランダムロジック部121(組み合わせ回路)を備えている。ランダムロジック部121は、x1~xLのLビットの入力を、任意の関数の組み合わせ回路によって処理し、Mビットのデータy1~yMを出力する。ランダムロジック部121で処理する関数の例として、共通鍵暗号AESで定義されるS-boxが挙げられる。S-boxの場合、L=M=8となる。
 ビット生成回路群130は、グリッチ発生回路120の出力y1~yMのそれぞれを入力Tとして入力し、入力信号y1~yMに応じてビットb1~bMを生成し、出力するM個のT-FFビット生成回路131からなる。具体的には図4に示すように、
 T-FFビット生成回路131(1)は、入力信号y1を入力してビット値b1を出力し、
 T-FFビット生成回路131(2)は、入力信号y2を入力してビット値b2を出力し、
 同様に、
 T-FFビット生成回路131(M)は、入力信号yMを入力してビット値bMを出力する。
 図6、図7は、図2で説明したT-FFの、LSIにおける構成例である。
 図6は、一般的なDフリップフロップを用いたASICにおけるT-FFの構成である。
 図6のT-FFは、Dフリップフロップの反転出力をフィードバックして入力する。図6、図7のT-FFは、単位回路の場合のT-FFビット生成回路131(1)、単位回路であるT-FFビット生成回路131(11)-1に相当する。
 図7のT-FFは、FPGAにおけるF-FFの構成例である。一般的にFPGAは、論理関数を実現するLUT(Look Up Table )と、LUTの出力を保持するためのレジスタとの対からなる構成要素を複数有する。これら複数の構成要素の間が、配線可能な構成となっている。
 図7は、Xilinx社のSpartan-3Aと呼ばれるFPGAシリーズを例とした図である。図7のFPGAは、LUTとレジスタとの対を2個有するスライスと呼ばれる構成要素と、Switch Matrixと呼ばれる、スライス同士、もしくは、スライスをRAM等の別の構成要素と配線するための構成要素を有する。1個のスライス内の1個のレジスタを用い、その出力をSwitch Matrixによる配線で再び同じスライスに入力する。そして、スライス内に存在する反転経路を通して同じレジスタに入力する。これによって、図7では、T-FFが構成される。ここで、例えば反転処理にLUTを用いることにより配線中にLUTを含むと、グリッチ信号におけるパルス発生に反転処理が間に合わず、タイミング違反が起こる可能性がある。このため、反転処理にはLUTは使用しない。
 図8~図11を参照して、ビット生成回路群130の具体的な内部構成を説明する。
 図8は、T-FFの前段に、グリッチ信号に対するフィルター回路150(フィルター部)を備えた構成である。グリッチ信号(図4の信号y1~yM)のパルスの中には、パルス幅が極端に狭いものが含まれることがある。例えば図8の破線152で囲まれたパルスである。このようなパルスは、ゲートを通過する際に消えてしまったり、図6、図7等のT-FFにおいて、ラッチ間隔が短かすぎるためフィードバック入力が間に合わなくなったりするなど、ビット生成を不安定にする要因となる。そこで、ビット生成を安定化させるため、幅が極端に狭いパルスを除去するフィルター回路150を、T-FFの前段に設ける。図8では、フィルター回路150の具体的構成として、インバーターを直列に接続したフィルター回路151を示す。
 図9は、一つのグリッチ信号(例として信号y1とする)を分岐させ、それぞれのT-FFに入力する構成である。図9は、図4のT-FFビット生成回路131(1)が、K個のT-FFビット生成回路と、生成ビット安定化回路160(変換部)とを備えた場合を示す。図9に示すK個のT-FFビット生成回路を、T-FFビット生成回路131(1)-1~131(1)―Kと表記する。以下、T-FFビット生成回路131(1)-1~131(1)―Kの個々を「単位回路」とも呼ぶ。「単位回路」(ビット値生成部)とは、信号y1のような一つのグリッチ信号を入力として、一つのビットを出力する回路をいう。T-FFビット生成回路131(2)~T-FFビット生成回路131(M)に関しても、T-FFビット生成回路131(1)と同様の構成である。同一のグリッチ信号y1であっても、単位回路によって生成されるビットb1が変化する場合がある。言い換えれば、グリッチ信号y1に対して、一つの単位回路のみでビット値b1を生成する場合、生成されるビット値b1は、安定しないおそれがある。すなわち、図4のT-FFビット生成回路131(1)を一つの単位回路のみとした場合は、出力されるビット値b1が安定しないおそれがある。そこで、図9に示すように、T-FFビット生成回路131(1)がK個の単位回路と、生成ビット安定化回路160とを備える構成とした。図9において、それぞれの単位回路は、グリッチ発生回路120の発生したグリッチ信号y1を、互いに異なる信号経路を介して入力し、ビット値b’i(i=1~K)を出力する。生成ビット安定化回路160は、それぞれの単位回路によって生成されたK個のビット値の示す0と1との個数に基づいて、K個のビット値を、0と1とのいずれかの値を示す代表ビット値に変換する。図9は、生成ビット安定化回路160が、K個のビット値を、代表ビット値「b1=0」に変換した場合を示す。このように、生成ビット安定化回路160は、グリッチ信号yi(i=1~M)から生成されるビット値bi(i=1~M)を安定化させる回路である。
 図10、図11は、生成ビット安定化回路160の具体的な構成の、生成ビット安定化回路161、生成ビット安定化回路162を示す。図10の生成ビット安定化回路161は、それぞれの単位回路によって生成されたK個のビットをなす1と0とのうち、多く生成されたビットを最終的な出力ビットb1とする。また、図11の生成ビット安定化回路162は、それぞれの単位回路によって生成されたK個のビットに関して、K個のビットが全て同じ値(すべて1、あるいはすべて0)のときに限り、そのビットを情報として使用する。K個のビットに0と1とが混在する場合は、生成ビット安定化回路162は、出力ビットb1を情報として使用しないことを示すフラグ信号を出力する。すなわち、生成ビット安定化回路162は、出力ビットを情報として使用するかどうかを示すフラグ信号(充足情報)を出力ビットbと同時に出力する。このフラグ信号は、後述の「マスク」である。
 制御レジスタ群140は、ビット列生成回路100が、T-FFに基づくビット生成回路として図8および図9の構成を備える。制御レジスタ群140は、ビット列生成回路100が少なくともいずれか一方を選択可能な機能を備える場合に、その選択信号を保持する。選択信号は、データバス101を介して外部から入力される。
 図12、図13を参照して、ビット列生成回路100の動作を説明する。
 図12、図13は、ビット列生成回路100による、情報ビット生成の動作を表すフローチャートである。以下に説明する図12、図13の動作に関しては、CPU500がビット列生成回路100を制御するものとする。
 まず図12を説明する。以下の説明では図4、図9等も参照する。まず初期設定として、CPU500によって、ビット列生成回路100の全レジスタが初期化される(S1001)。初期設定後、CPU500は、データレジスタ群110にデータを入力する(S1002、S1003)。S1002において、dがd=0からd=2L-1までループする。このdのループは、S1003に示すように、Lビットの入力データ(x1,x2,・・・xL)=(0,0,・・・,0)~(1,1,・・・,1)の2通りに対応する。例えば、d=0はLビットのすべてが0である(x1,x2,・・・xL)=(0,0,・・・0)に対応し、d=2L-1はLビットのすべてが1である(x1,x2,・・・xL)=(1,1,・・・,1)に対応する。S1003におけるx1~xLの入力により、グリッチ発生回路120は、x1~xLの入力に伴うグリッチ信号であるy1~yMを出力する。
 グリッチ発生回路120によって発生されたグリッチ信号y1~yMは、ビット生成回路群130によって処理される。すなわちグリッチ信号y1~yMは、図4の個々のT-FFビット生成回路131(i)によって処理される。ビット生成回路群130によって、グリッチ信号y1~yMのそれぞれに対して1ビット、合計Mビットの情報ビットが最終的にデータバス102に出力される。
 図12のS1004~S1009のステップは、ビット列生成の流れを示す。ただし、説明を簡略化するため、S1004~S1009は、生成されるビット数が1ビットの場合を示した。すなわち、S1004~S1009は、例えば、図4のT-FFビット生成回路131(1)のみに着目している。Mビットの生成は、S1004~S1009のステップをM個並列して行うことで実現される。すなわちT-FFビット生成回路131(1)~131(M)によって並列処理を実行する。以下、T-FFビット生成回路131(1)を想定して、S1004~S1009を説明する。
 S1004は、図9に示す構成に対応するステップである。S1004は、ビット生成の安定化を目的とする。グリッチ発生回路120によって発生されたグリッチ信号y1に対し、K個のT-FF(単位回路)が、K個のビットb’1~b’Kを生成する。「b’1~b’K」は、同一のグリッチ信号y1から生成されたビットであるから、理想的には同一の値となる。しかし、実際のデバイス上では、T-FF(単位回路)に到達するまでの配線や、T-FF自体の特性によって、ビット値が異なる可能性がある。逆に言えば、「b’1~b’K」の値が全て一致する場合、ビットは安定しているといえる。一般には、K個生成されたビット値のうち、数が多い(K/2個より多い)方のビット値が、正しいビット値であるとみなせる。そして、一致度が高くなればなるほど(0と1とのどちらかのビットが総数Kに近づくほど)、そのビットは、安定しているといえる。
 S1005は、登録時と再生成時とで、異なる基準でビット生成を行うため、処理が分岐する。「登録」とは生成したビット列を、鍵情報として、他の装置に登録するような場合を意味し、通常、最初のビット列生成時である、登録後以降(通常、2回目以降)の情報ビット生成を「再生成」という。例えば「登録」は、ビット列生成回路100が組み込まれた装置を製造するメーカーが鍵情報(ビット列)を保管するために行う処理である。「再生成」は、例えば、ビット列生成回路100が組み込まれた装置がユーザに購入され、鍵情報が生成される場合である。
(登録時)
 S1006,S1007は登録時のステップである。S1006では、生成ビット安定化回路160は、「基準1」にしたがって出力ビットb1を決定し、S1007で、出力ビットb1の安定性を表す「マスク」(前述のフラグ信号)を出力する。なお、後述のS1008において、生成ビット安定化回路160は、「基準1」にしたがって出力ビットb1を決定するが、「基準1」はS1008の「基準2」よりも厳しい基準である。
(マスク)
 以下、登録時に生成されるマスクを説明する。図9に示す生成ビット安定化回路160によって,K個のビットの代表ビットとして出力されるb1は、最低でもK/2個より多く生成された方のビット値である。しかし、ぎりぎりK/2を超える程度では、再生成時に個数がビットが逆転する可能性があり、安定性が低い。より厳しい条件をみたすビット、すなわち、生成された個数が総数K個に近いビットのみを情報ビットb1として使用すれば、ビット生成の安定性を高めることができる。すなわち、生成ビット安定化回路160は、K個の単位回路よって生成された「b’1~b’K」のK個のビット値の中で、0と1とのうちのいずれか一方のビット値が所定の比率を満たす場合に、K個のビット値を、代表ビットとして、前記所定の比率を満たす一方のビット値に変換する。生成ビット安定化回路160は、前記所定の比率を満たすかどうかを示す情報として、「マスク」(前述のフラグ信号)を生成する。ここで「所定の比率」とは、図11で述べたように「100%」でもよいし、あるいは「90%」でもよい。「所定の比率」は自由に設定可能とする。このように、生成ビット安定化回路160は、出力ビットb1が「厳しい条件」をみたすビットであることを表す情報を、マスク(充足情報)として出力する。これにより、そのビットb1を使用するかどうかのCPU500による判断を可能とする。「厳しい条件」の例としては、前述のように、「b’1~b’K」のK個のビット値の全数一致の場合である。
(再生成時)
 S1008は再生成時のステップである。再生成時では、生成ビット安定化回路160は、「基準2」にしたがって出力ビットb1(代表ビット)を決定する。「基準2」は、「基準1」と同じであっても異なっていても良い。ただし、K個全て一致という条件では、全て一致しなかった場合のビット値を決定できないため、それ以外の条件にする。通常、「基準2」は「基準1」よりも緩い基準である。例えば、「基準1」が図11に示す「全数一致」とすれば、「基準2」は、図10に示す「過半数」のような条件である。このように、生成ビット安定化回路160は、S1008において、「基準2」によって図9に示す代表ビットb1を出力する。
 なお、図12は、情報ビット生成をサブルーチンとして使用するような上位のルーチンの処理を想定している。図12はマスクを生成し、記憶(S1007)するのみである。マスクを伴う出力ビットbを使用するかどうかをマスクに従って決定する処理は、その上位のルーチンが行う。
 図13は、マスクを用いた処理を、情報ビット生成に含める場合を示す。図13では、図12に対し、S1101,S1102のステップが追加された。S1101において、処理がマスクの値によって分岐される。図13では、マスクの値が「1」の場合に、ビットbを使用する。マスクが「1」であれば、図12と同様、「基準2」に従ってビットb(代表ビット)が決定される(S1008)。マスクが0であれば、ビットb1の値は情報ビットとして使用されない。そこで、基準2による決定処理を省き、即座にb=0とすることで処理の高速化が可能である。この値は使用されないので、b=1としても同じである。
 すなわち、T-FFビット生成回路131(1)-1~131(1)-Kは、図9に示すように、マスク生成(S1007)の元となるグリッチ信号y1に対応する入力信号(x1~xL)と同一の入力信号によってグリッチ発生回路120が発生したグリッチ信号y1(第2グリッチ信号)を、グリッチ発生回路120から互いに異なる信号経路を介して入力する。
 そして、T-FFビット生成回路131(1)-1~131(1)-Kは、入力されたグリッチ信号(第2グリッチ信号)からビットb’1~b’M(第2ビット値)を生成する。生成ビット安定回路160は、内部メモリ600等の記憶装置に記憶されたマスクを参照する。生成ビット安定回路160は、マスクが「1」の場合(マスクが所定の比率の充足を示す場合)にはK個のビット値の中で0と1とのうちのいずれか一方のビット値が基準1よりも緩やかな基準2を満たすかどうかを判定する。生成ビット安定回路160は、基準2を満たすと判定した場合に、K個のビット値を、基準2にしたがって変換されるべきビット値(代表ビット値)に変換する。
 図12、図13のS1009では、生成されたビットbが出力される。以上の処理を、入力データ「x1~xL」を変えて繰り返し行う(S1002のループ)。図4のビット列生成回路100の構成は、Mビット並列で生成可能である。
 よって、最終的に、
 b1(d)~bM(d)(d=0,1,...,2L-1)のM×2Lビットの出力が得られる。このうち、S1007によるマスク(フラグ信号)で示された部分をデバイス固有の情報として利用する。
 実施の形態1のビット列生成回路100により、従来では必要とされた、グリッチPUFに本質的には必要の無い回路が不要となり、回路規模や処理時間の増大を抑制できる。また、その結果として、同時に生成可能なビット数が少なくなるという課題を解決できる。
 従来のビット列生成回路401と、実施の形態1のビット列生成回路100との比較から、ビット列生成回路100によれば、従来のグリッチPUFで必要であったサンプリング処理やソーティング処理に係る回路およびレジスタが不要であり、回路規模の縮小効果が得られることが分かる。制御レジスタに関しても削減される。
 ビット列生成回路100によれば、処理性能に関して、必要な処理の削減によって処理速度が向上し、また、回路規模の削減によって、複数ビットの同時生成が可能となった。
 また、ビット生成には、グリッチ形状のサンプリングデータの処理ではではなく、T-FFによるビット反転という単純な処理を用いている。
 このため、ビット生成の安定化のための処理を図8、図10、図11に示すような小規模な回路で、ハードウェアで行うことが可能となった。このことも、処理速度の向上効果を生み出している。
 以上の実施の形態では装置としてのビット列生成回路100を説明したが、ビット列生成回路100の構成要素の各動作を、グリッチ信号からビットを生成するビット生成方法として把握することも可能である。
 100 ビット列生成回路、101,102 データバス、110 データレジスタ群、120 グリッチ発生回路、121 ランダムロジック部、130 ビット生成回路群、131 T-FFビット生成回路、131(1)-1 T-FFビット生成回路、140 制御レジスタ群、150,151 フィルター回路、160,161,162 生成ビット安定化回路、1000 システムLSI。

Claims (11)

  1.  複数のパルスを含むグリッチ信号を発生するグリッチ発生部と、
     前記グリッチ発生部によって発生された前記グリッチ信号を入力し、入力された前記グリッチ信号に含まれる前記複数のパルスの立ち上がりエッジと、立ち下がりエッジとのいずれかに基づいて、0と1とのいずれかのビット値を生成するビット値生成部と
    を備えたことを特徴とするビット生成装置。
  2.  前記ビット値生成部は、
     前記複数のパルスの立ち上がりエッジの個数と、立ち下がりエッジの個数とのいずれかに基づいて、前記ビット値を生成することを特徴とする請求項1記載のビット生成装置。
  3.  前記ビット値生成部は、
     前記複数のパルスの立ち上がりエッジの個数の偶奇と、立ち下がりエッジの個数の偶奇とのいずれかに基づいて、前記ビット値を生成することを特徴とする請求項2記載のビット生成装置。
  4.  前記ビット生成装置は、さらに、
     前記グリッチ発生部によって発生された前記グリッチ信号を入力し、入力された前記グリッチ信号から所定のパルス幅に満たない前記パルスを除去し、所定のパルス幅に満たない前記パルスが除去された前記グリッチ信号を前記ビット値生成部に出力するフィルター部を備え、
     前記ビット値生成部は、
     前記フィルター部から出力された前記グリッチ信号を対象として、前記ビット値を生成することを特徴とする請求項1~3のいずれかに記載のビット生成装置。
  5.  前記ビット生成装置は、
     前記グリッチ発生部によって発生された同一の前記グリッチ信号を、前記グリッチ発生部から互いに異なる信号経路を介して入力し、入力された前記グリッチ信号から前記ビット値を生成する複数の前記ビット値生成部と、
     複数の前記ビット値生成部によって生成された複数の前記ビット値の示す0と1との個数に基づいて、複数の前記ビット値を、0と1とのいずれかの値を示す代表ビット値に変換する変換部と
    を備えたことを特徴とする請求項1~4のいずれかに記載のビット生成装置。
  6.  前記変換部は、
     複数の前記ビット値生成部によって生成された複数の前記ビット値の中で0と1とのうちのいずれか一方のビット値が所定の比率を満たす場合に、複数の前記ビット値を、前記代表ビットとして前記所定の比率を満たす前記一方のビット値に変換することを特徴とする請求項5記載のビット生成装置。
  7.  前記変換部は、
     0と1とのうちのいずれか一方のビット値が前記所定の比率を満たしたかどうかを示す充足情報を生成し、生成された前記充足情報を記憶装置に記憶し、
     前記グリッチ発生部は、
     前記グリッチ信号を生成するための入力信号を入力し、入力された前記入力信号に対応する前記グリッチ信号を生成し、
     複数の前記ビット値生成部は、
     前記充足情報の生成の元となる前記グリッチ信号に対応する前記入力信号と同一の前記入力信号によって前記グリッチ発生部が発生した前記グリッチ信号である第2グリッチ信号を、前記グリッチ発生部から互いに異なる前記信号経路を介して入力し、入力された前記第2グリッチ信号から前記ビット値である第2ビット値を生成し、
     前記変換部は、
     前記記憶装置に記憶された前記充足情報を参照し、前記充足情報が前記所定の比率の充足を示す場合には複数の前記第2ビット値の中で0と1とのうちのいずれか一方のビット値が前記所定の比率よりも低い所定の比率を満たすかどうかを判定し、前記所定の比率よりも低い前記所定の比率を満たすと判定した場合に、複数の前記第2ビット値を、前記代表ビット値として、前記所定の比率よりも低い前記所定の比率を満たすと判定されたビット値に変換することを特徴とする請求項6記載のビット生成装置。
  8.  前記変換部は、
     前記所定の比率として、0と1とのうちのいずれか一方のビット値が100%を満たす場合に、複数の前記ビット値を、前記代表ビットとして、100%を満たす前記一方のビット値に変換することを特徴とする請求項6記載のビット生成装置。
  9.  前記変換部は、
     前記所定の比率として、0と1とのうちのいずれか一方のビット値が50%を超える比率の場合に、複数の前記ビット値を、前記代表ビットとして、50%を超える前記一方のビット値に変換することを特徴とする請求項6記載のビット生成装置。
  10.  前記ビット生成装置は、
     前記ビット値生成部として、トグルフリップフロップ回路を備えたことを特徴とする請求項1~9のいずれかに記載のビット生成装置。
  11.  グリッチ発生部と、ビット値生成部とを備えたビット生成装置が行うビット生成方法であって、
     前記グリッチ発生部が、
     複数のパルスを含むグリッチ信号を発生し、
     前記ビット値生成部が、
     前記グリッチ発生部によって発生された前記グリッチ信号を入力し、入力された前記グリッチ信号に含まれる前記複数のパルスの立ち上がりエッジと、立ち下がりエッジとのいずれかに基づいて、0と1とのいずれかのビット値を生成することを特徴とするビット生成方法。
PCT/JP2011/050385 2011-01-13 2011-01-13 ビット生成装置及びビット生成方法 WO2012095972A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
US13/978,598 US9106213B2 (en) 2011-01-13 2011-01-13 Bit generation apparatus and bit generation method
JP2012552573A JP5484595B2 (ja) 2011-01-13 2011-01-13 ビット生成装置及びビット生成方法
EP11855851.9A EP2665225B1 (en) 2011-01-13 2011-01-13 Bit generation device and bit generation method
KR1020137018145A KR101518153B1 (ko) 2011-01-13 2011-01-13 비트 생성 장치 및 비트 생성 방법
PCT/JP2011/050385 WO2012095972A1 (ja) 2011-01-13 2011-01-13 ビット生成装置及びビット生成方法
CN201180064824.XA CN103299576B (zh) 2011-01-13 2011-01-13 比特生成装置以及比特生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/050385 WO2012095972A1 (ja) 2011-01-13 2011-01-13 ビット生成装置及びビット生成方法

Publications (1)

Publication Number Publication Date
WO2012095972A1 true WO2012095972A1 (ja) 2012-07-19

Family

ID=46506895

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/050385 WO2012095972A1 (ja) 2011-01-13 2011-01-13 ビット生成装置及びビット生成方法

Country Status (6)

Country Link
US (1) US9106213B2 (ja)
EP (1) EP2665225B1 (ja)
JP (1) JP5484595B2 (ja)
KR (1) KR101518153B1 (ja)
CN (1) CN103299576B (ja)
WO (1) WO2012095972A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014091559A1 (ja) * 2012-12-11 2014-06-19 三菱電機株式会社 統合セキュリティ装置および統合セキュリティ装置に用いられる信号処理方法
US9948471B2 (en) 2015-06-18 2018-04-17 Panasonic Intellectual Property Management Co., Ltd. Tamper-resistant non-volatile memory device and integrated circuit card

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9569616B2 (en) 2013-12-12 2017-02-14 Cryptography Research, Inc. Gate-level masking
IN2014CH00439A (ja) * 2014-01-30 2015-08-07 Mentor Graphics Corp
CN106568994A (zh) * 2016-11-11 2017-04-19 上海华虹集成电路有限责任公司 接触式智能卡芯片毛刺攻击电路
TWI640005B (zh) * 2016-12-27 2018-11-01 旺宏電子股份有限公司 在積體電路上生成資料集的方法、製造積體電路的方法、以及積體電路裝置
CN106919764B (zh) * 2017-03-07 2020-03-17 合肥工业大学 基于fpga的环形振荡器物理不可克隆函数的可靠性检测方法
ES2684846B1 (es) * 2017-03-31 2019-05-10 Univ Madrid Carlos Iii Dispositivo y procedimiento para la identificación unívoca de un circuito integrado
CN108733311B (zh) * 2017-04-17 2021-09-10 伊姆西Ip控股有限责任公司 用于管理存储系统的方法和设备
US20190132137A1 (en) * 2017-11-02 2019-05-02 Qualcomm Incorporated Low noise physically unclonable function (puf) cell
US11218316B2 (en) * 2018-12-05 2022-01-04 Ares Technologies, Inc. Secure computing hardware apparatus
CN114303341A (zh) * 2019-06-07 2022-04-08 俄亥俄州国家创新基金会 使用混合布尔网络作为物理不可克隆函数的系统和方法
US11271732B2 (en) * 2019-11-12 2022-03-08 Nxp B.V. Robust repeatable entropy extraction from noisy source

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008176578A (ja) * 2007-01-18 2008-07-31 Nec Engineering Ltd 冗長演算システムよび演算部
JP2008191939A (ja) * 2007-02-05 2008-08-21 Toshiba Corp 冗長回路装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5018169A (en) * 1989-06-21 1991-05-21 National Semiconductor Corporation High resolution sample clock generator with deglitcher
TW381057B (en) 1997-08-07 2000-02-01 Hitachi Ltd Semiconductor device
EP1061703A3 (de) * 1999-06-16 2003-12-03 Infineon Technologies AG Schaltungsanordnung zur Übertragung von Impulsen über eine Übertragungsstrecke
JP2002017295A (ja) 2000-07-05 2002-01-22 Yamagami Suehito 眼疾患改善作用及び眼の機能維持作用を有する健康補助食品
JP2002171295A (ja) * 2000-12-04 2002-06-14 Nec Microsystems Ltd 非同期シリアル・データ通信方式
US7840803B2 (en) * 2002-04-16 2010-11-23 Massachusetts Institute Of Technology Authentication of integrated circuits
EP1977511B1 (en) 2006-01-24 2011-04-06 Verayo, Inc. Signal generator based device security
JP2009533927A (ja) 2006-04-11 2009-09-17 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ コーティングpufを用いる攻撃検出
US9129671B2 (en) 2006-04-13 2015-09-08 Nxp B.V. Semiconductor device identifier generation method and semiconductor device
JP4208892B2 (ja) * 2006-05-01 2009-01-14 キヤノン株式会社 固体撮像装置
US20100097131A1 (en) * 2007-09-03 2010-04-22 John Bainbridge Hardening of self-timed circuits against glitches
US9031232B2 (en) * 2010-01-15 2015-05-12 Mitsubishi Electric Corporation Bit sequence generation apparatus and bit sequence generation method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008176578A (ja) * 2007-01-18 2008-07-31 Nec Engineering Ltd 冗長演算システムよび演算部
JP2008191939A (ja) * 2007-02-05 2008-08-21 Toshiba Corp 冗長回路装置

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
DAISUKE SUZUKI ET AL., DEVICE UNIQUE KEY GENERATION METHOD EXPLOITING GLITCH SHAPES
DAISUKE SUZUKI ET AL.: "Glitch Keijo o Riyo shite Device Koyu Kagi no Seisei Hoho (1)", 2010 NEN SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY GAIYOSHU, 19 January 2010 (2010-01-19), XP008170735 *
DAISUKE SUZUKI ET AL.: "The Glitch PUF:A New Delay-PUF Architecture Exploiting Glitch Shapes", 12TH INTERNATIONAL WORKSHOP SANTA BARBARA, USA, AUGUST 2010 PROCEEDINGS, August 2010 (2010-08-01), pages 366 - 382, XP019148566 *
DAISUKE SUZUKI ET AL.: "The Glitch PUF:A New Delay-PUF Architecture Exploiting Glitch Shapes", THE GLITCH PUF:A NEW DELAY-PUF ARCHITECTURE EXPLOITING GLITCH SHAPES, vol. 6225, 2010, pages 366 - 382, XP019148566, Retrieved from the Internet <URL:http://www.iacr.org/ workshops/ches/ches2010/presentations/CHES2010_ Session08 Ta1k03.pdf> [retrieved on 20110204] *
KATSUYOSHI MATSUMOTO: "Evaluation of Stateful TMR", IPSJ SIG NOTES, HEISEI 21 NENDO 4, 27 November 2009 (2009-11-27), pages 1 - 6, XP055069279 *
KOICHI SHIMIZU ET AL.: "Glitch PUF no Kairyo", 2011 NEN SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY GAIYOSHU, 25 January 2011 (2011-01-25), XP008170736 *
MEHRDAD MAJZOOBI ET AL.: "Techniques for Design and Implementation of Secure Reconfigurable PUFs", ACM TRANSACTIONS ON RECONFIGURABLE TECHNOLOGY AND SYSTEMS, vol. 2, no. 1, March 2009 (2009-03-01), pages 1 - 33, XP007918266 *
See also references of EP2665225A4

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014091559A1 (ja) * 2012-12-11 2014-06-19 三菱電機株式会社 統合セキュリティ装置および統合セキュリティ装置に用いられる信号処理方法
EP2933944A1 (en) * 2012-12-11 2015-10-21 Mitsubishi Electric Corporation Integrated security device and signal processing method used by integrated security device
JP5863994B2 (ja) * 2012-12-11 2016-02-17 三菱電機株式会社 統合セキュリティ装置および統合セキュリティ装置に用いられる信号処理方法
EP2933944A4 (en) * 2012-12-11 2016-08-17 Mitsubishi Electric Corp INTEGRATED SECURITY DEVICE AND SIGNAL PROCESSING METHOD USED BY AN INTEGRATED SECURITY DEVICE
US9722805B2 (en) 2012-12-11 2017-08-01 Mitsubishi Electric Corporation Integrated security device and signal processing method used for an integrated security device
US9948471B2 (en) 2015-06-18 2018-04-17 Panasonic Intellectual Property Management Co., Ltd. Tamper-resistant non-volatile memory device and integrated circuit card

Also Published As

Publication number Publication date
US9106213B2 (en) 2015-08-11
EP2665225A1 (en) 2013-11-20
KR101518153B1 (ko) 2015-05-06
CN103299576B (zh) 2016-05-25
EP2665225A4 (en) 2017-04-26
EP2665225B1 (en) 2018-04-11
KR20130095832A (ko) 2013-08-28
US20130293274A1 (en) 2013-11-07
CN103299576A (zh) 2013-09-11
JPWO2012095972A1 (ja) 2014-06-09
JP5484595B2 (ja) 2014-05-07

Similar Documents

Publication Publication Date Title
WO2012095972A1 (ja) ビット生成装置及びビット生成方法
JP5377667B2 (ja) ビット列生成装置及びビット列生成方法
US9361482B2 (en) Device specific information generation device and device specific generation method
CN102375722A (zh) 一种真随机数生成方法及发生器
JPWO2008133238A1 (ja) 試験装置および試験方法
JP5165755B2 (ja) 有限体演算を用いる暗号学的乱数発生器
US9755663B1 (en) Parallel-serial conversion circuit, information processing apparatus and timing adjustment method
US20160004510A1 (en) Random number generator
Jothi et al. Parallel RC4 Key Searching System Based on FPGA
US9684332B2 (en) Timing control circuit
JP2016126518A (ja) 乱数生成装置及び乱数生成方法
CN109558111B (zh) 基于d触发器亚稳态特性的真随机数生成装置
Damaj et al. Efficient tiny hardware cipher under verilog
KR100366793B1 (ko) 쉬프트 레지스터를 이용한 펄스열 생성장치
TWI803351B (zh) 具有物理不可仿製功能的金鑰產生單元、金鑰產生器與電路系統
Antoniadis et al. An efficient implementation of a delay-based PUF construction
US20150019603A1 (en) Method for checking an output of a random number generator
CN115694832A (zh) 基于ro puf的密钥生成方法及其系统
Kulkarni et al. Design and implementation of Strong Physical Unclonable Functions on Field Programmable Gate Array
Al-Moselly High Performance Hardware Implementation of Lightweight Cryptography Algorithms
JP2022083858A (ja) 多ビットグレイコード生成回路
CN115459746A (zh) 真随机数生成器和用于生成随机数的方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11855851

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2012552573

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2011855851

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 13978598

Country of ref document: US

ENP Entry into the national phase

Ref document number: 20137018145

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE