Extended key generator, encryption/decryption unit, extended key generation method, and storage medium
First Claim
Patent Images
1. An expansion key generation apparatus, which generates expansion keys based on input keys, the apparatus comprising a plurality of cascade-connected key transform devices, each of the key transform devices comprising:
- an exclusive-OR element for calculating an exclusive-OR of a constant determined for each of the key transform devices and a first key obtained from the input key;
a nonlinear transform unit for nonlinearly transforming an output from the exclusive-OR element using a predetermined substitution table;
an expansion unit for performing an expansion processing on an output from the nonlinear transform unit; and
an expansion key calculation unit for calculating the expansion key based on an output from the expansion unit and a second key obtained from the input key, wherein the expansion key calculation unit adds with carry-up the output from the expansion unit and the second key.
1 Assignment
0 Petitions
Accused Products
Abstract
There are disclosed an extended key generator, encryption/decryption unit, and storage medium, in which as each of key transform functions, a transform process is done by an S box (substitution table) on the basis of a first key obtained from the inputted key, and an adder computes a corresponding one of extended keys on the basis of a value obtained by shifting the transformed result of the S box to the left, and a second key obtained from the inputted key.
-
Citations
4 Claims
-
1. An expansion key generation apparatus, which generates expansion keys based on input keys, the apparatus comprising a plurality of cascade-connected key transform devices, each of the key transform devices comprising:
-
an exclusive-OR element for calculating an exclusive-OR of a constant determined for each of the key transform devices and a first key obtained from the input key;
a nonlinear transform unit for nonlinearly transforming an output from the exclusive-OR element using a predetermined substitution table;
an expansion unit for performing an expansion processing on an output from the nonlinear transform unit; and
an expansion key calculation unit for calculating the expansion key based on an output from the expansion unit and a second key obtained from the input key, wherein the expansion key calculation unit adds with carry-up the output from the expansion unit and the second key.
-
-
2. An expansion key generation apparatus, which generates expansion keys based on input keys, the apparatus comprising a plurality of cascade-connected key transform devices, each of the key transform devices comprising:
-
an exclusive-OR element for calculating an exclusive-OR of a constant determined for each of the key transform devices and a first key obtained from the input key;
a nonlinear transform unit for nonlinearly transforming an output from the exclusive-OR element using a predetermined substitution table;
an expansion unit for performing an expansion processing on an output from the nonlinear transform unit; and
an expansion key calculation unit for calculating the expansion key based on an output from the expansion unit and a second key obtained from the input key, wherein the expansion key calculation unit performs a shifting of a predetermined number of bits and shifts the output from the nonlinear transform unit to the least significant bit by the number of bits that is half the number of bits of the output from the nonlinear transform unit, or by the number of bits obtained by adding an integer multiple of the number of bits of the output from the nonlinear transform unit to the half number of bits.
-
-
3. An expansion key generation program, which causes a computer to generate expansion keys based on input keys using a plurality of cascade-connected key transform devices, the program comprising:
-
program code for calculating an exclusive-OR of a constant determined for each of the key transform devices and a first key obtained from the input key;
program code for nonlinearly transforming a result of an exclusive-OR using a predetermined substitution table;
program code for performing an expansion processing on a result of a nonlinear transform; and
program code for calculating the expansion key based on a result of expansion processing and a second key obtained from the input key, wherein the program code for calculating the expansion key comprises program code for adding with carry-up a result of an expansion and the second key.
-
-
4. An expansion key generation program, which causes a computer to generate expansion keys based on input keys using a plurality of cascade-connected key transform devices, the program comprising:
-
program code for calculating an exclusive-OR of a constant determined for each of the key transform devices and a first key obtained from the input key;
program code for nonlinearly transforming a result of an exclusive-OR using a predetermined substitution table;
program code for performing an expansion processing on a result of a nonlinear transform, wherein the program code for performing the expansion processing comprises program code for shifting a result of a nonlinear transform by a predetermined number of bits that is half the number of bits of a result of a nonlinear transform, or by the number of bits obtained by adding an integer multiple of the number of bits of the result of the nonlinear transform to the half number of bits;
program code for calculating the expansion key based on a result of expansion processing and a second key obtained from the input key; and
program code for shifting the input key to a least significant bit or a most significant bit and inputting the shifted key to the key transform device of a next stage.
-
Specification