摘要:
An apparatus configured to generate random numbers is provided, the apparatus having high entropy and being capable of a reduced chip size. The apparatus includes a plurality of metastable state generation units configured to generate a metastable state signal, a plurality of amplification units configured to amplify the metastable state signal, a connection signal generation unit configured to generate a first connection signal, and a first commutation unit configured to connect at least one metastable state generation unit to at least one amplification unit according to the first connection signal. For example, the number of metastable state generation units and amplification units necessary to achieve are threshold number of commutation connections can be greatly reduced as compared to conventional apparatuses for generating random numbers.
摘要:
Apparatus for testing a random number generator includes a random number generating unit that generates and outputs random numbers, and a switching unit that receives the random numbers from the random number generating unit and selectively transmits the random numbers in response to a switching control signal. A test unit performs a basic test on the random numbers to determine whether the transmitted random numbers are within a statistical range, controls the generation of random numbers according to a result of the basic test, and outputs the switching control signal based on whether a test suite is finished. Methods include performing a basic test on generated random numbers to determine whether the random numbers are within a statistical range, controlling the generation of random numbers in response to a result of the basic test and whether the basic test is finished, determining upon completion of the basic test if a test suite is finished, and if the test suite is finished, outputting the random numbers as final random numbers.
摘要:
A scalar multiplication apparatus may include at least two encryptors, each adapted to receive an input point and a changed secret key to generate an encrypted output point; a first logic circuit adapted to receive the encrypted output points to perform a first logic operation; a second logic circuit adapted to receive a first logic operation result and a secret key to perform a second logic operation and generate the changed secret key; and a random number generator adapted to generate random number data. A scalar multiplication method may include receiving an input point and a changed secret key, generating first and second encrypted output points from the input point and changed secret key, performing a first logic operation on the first and second encrypted output points, and performing a second logic operation on a first logic operation result and a secret key and generating the changed secret key.
摘要:
A method and system for encrypting input data may include receiving an input point and a randomness rate and generating a random selection value and a random position value from the randomness rate. At least one of the input point and points encrypted by performing elliptic curve (EC) operation over a plurality of rounds may be randomly selected based on the randomness rate and the random position value. The selected point may be converted to a point representation directed by the random selection value. A finally encrypted output point may be generated by performing the EC operation over a plurality of rounds based on the input point and a secret key.
摘要:
A cryptographic method of countering differential fault analysis (DFA) using elliptic curve cryptography (ECC) fast Montgomery power ladder algorithm (MPLA) is provided. The cryptographic method may include receiving a basic point P on an elliptic curve and a scalar k, initializing a plurality of primary variables (P1 and P2) with the basic point P, iterating through a plurality of operations using a repetitive operation variable i, where i is an integer. The plurality of operations may include setting a plurality of secondary variables (T1 and T2) corresponding to the plurality of primary variables (P1 and P2), resetting the plurality of primary variables (P1 and P2) and secondary variables (T1 and T2) based on a portion of the scalar k, and calculating a scalar product Q equal to the product of the basic point P and the scalar k. The method may further include identifying a fault using the plurality of primary variables (P1 and P2) and secondary variables (T1 and T2) based on a portion of the scalar k, and outputting the scalar product Q if there is no fault identified. The cryptographic method may be applied to a variety cryptographic systems without degrading the performance of the cryptographic systems, and may counter a variety of attacks using faults and/or fault analysis.
摘要:
An apparatus for performing a fault detection operation and methods thereof are provided. The example apparatus may include a first-coordinate computing unit receiving a first point and a second point in a prime finite field, the first and second points established based on a basic point within a given elliptic curve, each of the first and second points including a first coordinate value and a second coordinate value, the first-coordinate computing unit performing a first addition operation on the first point and the second point to compute a third coordinate value and a second-coordinate computing unit performing a second addition operation on the first and second points to compute a fourth coordinate value, the first and second addition operations computed based on at least one of a difference between the first coordinate values of the first and second points and a difference between the second coordinate values of the first and second points.
摘要:
A Montgomery power ladder algorithm that provides a countermeasure against a differential fault analysis (DFA) includes an initialization operation and a repetitive arithmetic operation. In the initialization operation, an initial value of a variable i, which will be used in the repetitive arithmetic operation, is set, a basic point P on an elliptic curve and a scalar k are received, and at least two variables are initialized using the basic point P. In the repetitive arithmetic operation, a value Q is computed by multiplying the scalar k by the basic point P by using the two variables, whether a fault was induced during the multiplication is determined by determining the relationship between the two variables and the basic point P, and the value Q or a warning signal STOP is output according to the determination result.