Data encryption apparatus using odd number of shift-rotations and method
First Claim
Patent Images
1. A data encryption apparatus provided with a data converting device for converting n-bit input data to n-bit output data, the data converting device comprising:
- shift-rotating means for generating k sets of data by shift-rotating the n-bit input data respectively by S1 bits, S2 bits, . . . , and Sk bits, S1, S2, . . . , and Sk being nonnegative integers less than n, and k being an odd number no less than 3; and
data combining means for combining together the k sets of data to generate the n-bit output data.
1 Assignment
0 Petitions
Accused Products
Abstract
A data converting unit includes a key adding unit for performing an arithmetic addition modulo 232 for input data F and subkey data Ki and outputting the outcome as data G, and a data substituting unit for performing an exclusive-OR operation for corresponding bits in data Rot7(G) obtained by shift-rotating the data G by 7 bits toward higher-order bit positions, data Rot1(G) obtained by shift-rotating the data G by 1 bit toward higher-order bit positions, and the data G itself.
52 Citations
26 Claims
-
1. A data encryption apparatus provided with a data converting device for converting n-bit input data to n-bit output data, the data converting device comprising:
-
shift-rotating means for generating k sets of data by shift-rotating the n-bit input data respectively by S1 bits, S2 bits, . . . , and Sk bits, S1, S2, . . . , and Sk being nonnegative integers less than n, and k being an odd number no less than 3; and
data combining means for combining together the k sets of data to generate the n-bit output data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
wherein the shift-rotating unit includes: m rotating units for shift-rotating the n-bit input data respectively by S1 bits, S2 bits, . . . , and Sm bits, S1, S2, . . . , and Sm being nonnegative integers less than n, and m being an integer no less than 3;
a key data acquiring unit for acquiring key data; and
a selecting unit for selecting k rotating units from the m rotating units based on the acquired key data so that the k sets of data are generated as a result of shift-rotations of the n-bit input data by the selected k rotating units.
-
-
3. The data encryption apparatus of claim 1,
wherein the data converting device further comprises key combining means for generating combination data by combining the n-bit input data with key data given beforehand, prior to the shift-rotations by the shift-rotating means, and wherein the shift-rotating means shift-rotates the combination data generated by the key combining means. -
4. The data encryption apparatus of claim 3,
wherein the shift-rotating means includes k rotating units for shift-rotating the combination data respectively by S1 bits, S2 bits, . . . , and Sk bits. -
5. The data encryption apparatus of claim 4,
wherein the k rotating units are signal lines that have wiring patterns for shift-rotating the combination data respectively by S1 bits, S2 bits, . . . , and Sk bits. -
6. The data encryption apparatus of claim 5,
wherein the key combining means is one of an arithmetic adder and an exclusive-OR gate, and wherein the data combining means is an exclusive-OR gate. -
7. The data encryption apparatus of claim 1,
wherein the data combining means combines key data given beforehand with n-bit data obtained by combining together the k sets of data, to generate the n-bit output data. -
8. The data encryption apparatus of claim 1,
wherein the shift-rotating means includes: -
k rotating units for shift-rotating the n-bit input data respectively by specified rotation amounts;
a key data acquiring unit for acquiring key data; and
a rotation amount determining unit for determining values of S1, S2, . . . , and Sk based on the acquired key data and specifying, for the k rotating units, S1 bits, S2 bits, . . . , and Sk bits as the respective rotation amounts, and wherein the k rotating units shift-rotate the n-bit input data respectively by S1 bits, S2 bits, . . . , and Sk bits as specified by the rotation amount determining unit.
-
-
9. The data encryption apparatus of claim 1,
wherein the shift-rotating means includes: -
m rotating units for shift-rotating the n-bit input data respectively by S1 bits, S2 bits, . . . , and Sm bits, S1, S2, . . . , and Sm being nonnegative integers less than n, and m being an integer no less than 3;
a key data acquiring unit for acquiring key data; and
a selecting unit for selecting k rotating units from the m rotating units based on the acquired key data so that the k sets of data are generated as a result of shift-rotations of the n-bit input data by the selected k rotating units.
-
-
10. A data encryption method provided with a data converting step for converting n-bit input data to n-bit output data, the data converting step comprising:
-
a shift-rotating substep for generating k sets of data by shift-rotating the n-bit input data respectively by S1 bits, S2 bits, . . . , and Sk bits, S1, S2, . . . , and Sk being nonnegative integers less than n, and k being an odd number no less than 3; and
a data combining substep for combining together the k sets of data to generate the n-bit output data. - View Dependent Claims (11, 12, 13, 14)
wherein the data converting step further comprises a key combining substep for generating combination data by combining the n-bit input data with key data given beforehand, prior to the shift-rotations by the shift-rotating substep, and wherein the shift-rotating substep shift-rotates the combination data generated by the key combining means. -
12. The data encryption method of claim 10,
wherein the data combining substep combines key data given beforehand with n-bit data obtained by combining together the k sets of data, to generate the n-bit output data. -
13. The data encryption method of claim 10,
wherein the shift-rotating substep includes: -
a key data acquiring substep for acquiring key data;
a rotation amount determining substep for determining value s of S1, S2, . . . , and Sk based on the acquired key data; and
a rotating substep for shift-rotating the n-bit input data by S1 bits, S2 bits, . . . , and Sk bits independently.
-
-
14. The data encryption method of claim 10,
wherein the shift-rotating substep includes: -
a key data acquiring substep for acquiring key data;
a selecting substep for selecting k values of S1, S2, . . . , and Sk from m values of S1, S2, . . . , and Sm which are predetermined based on the acquired key data, S1, S2, . . . , and Sm being nonnegative integers less than n, and m being an integer no less than 3; and
a rotating substep for shift-rotating the n-bit input data by S1 bits, S2 bits, . . . , and Sk bits independently.
-
-
-
15. A computer-readable storage medium storing a data encryption program provided with a data converting step for converting n-bit input data to n-bit output data, the data converting step comprising:
-
a shift-rotating substep for generating k sets of data by shift-rotating the n-bit input data respectively by S1 bits, S2 bits, . . . , and Sk bits, S1, S2, . . . , and Sk being nonnegative integers less than n, and k being an odd number no less than 3; and
a data combining substep for combining together the k sets of data to generate the n-bit output data. - View Dependent Claims (16, 17, 18, 19)
wherein the data converting step further comprises a key combining substep for combining the n-bit input data with key data given beforehand, prior to the shift-rotations by the shift-rotating substep, and wherein the shift-rotating substep shift-rotates the n-bit input data combined with the key data. -
17. The storage medium of claim 15,
wherein the data combining substep combines key data given beforehand with n-bit data obtained by combining together the k sets of data, to generate the n-bit output data. -
18. The storage medium of claim 15,
wherein the shift-rotating substep includes: -
a key data acquiring substep for acquiring key data;
a rotation amount determining substep for determining values of S1, S2, . . . , and Sk based on the acquired key data; and
a rotating substep for shift-rotating the n-bit input data by S1 bits, S2 bits, . . . , and Sk bits independently.
-
-
19. The storage medium of claim 15,
wherein the shift-rotating substep includes: -
a key data acquiring substep for acquiring key data;
a selecting substep for selecting k values of S1, S2, . . . , and Sk from m values of S1, S2, . . . , and Sm which are predetermined based on the acquired key data, S1, S2, . . . , and Sm being nonnegative integers less than n, and m being an. integer no less than 3; and
a rotating substep for shift-rotating the n-bit input data by S1 bits, S2 bits, . . . , and Sk bits independently.
-
-
-
20. A data encryption apparatus provided with a data converting device for converting n-bit input data to n-bit output data, the data converting device comprising:
-
a shift-rotating unit for generating k sets of data by shift-rotating the n-bit input data respectively by S1 bits, S2 bits . . . , and Sk bits, S1, S2, . . . , and Sk being nonnegative integers less than n, and k being an odd number no less than 3; and
a data combining unit for combining together the k sets of data to generate the n-bit output data. - View Dependent Claims (21, 22, 23, 24, 25, 26)
wherein the data converting device further comprises key combining unit for combining the n-bit input data with key data given beforehand to provide combination data, prior to the shift-rotations by the shift-rotating unit, and wherein the shift-rotating unit shift rotates the combination data. -
22. The data encryption apparatus of claim 21,
wherein the shift-rotating unit includes k rotating units for shift-rotating the n-bit input data respectively by S1 bits, 2 bits, . . . , and Sk bits. -
23. The data encryption apparatus of claim 22,
wherein the k rotating units are signal lines that have wiring patterns for shift-rotating the n-bit input data respectively by S1 bits, S2 bits, . . . , the Sk bits. -
24. The data encryption apparatus of claim 23,
wherein the key combining unit is one of an arithmetic adder and an exclusive-OR gate, and wherein the data combining unit is an exclusive-OR gate. -
25. The data encryption apparatus of claim 20,
wherein the data combining unit combines key data given beforehand with n-bit data obtained by combining together the k sets of data, to generate the combination data. -
26. The data encryption apparatus of claim 20,
wherein the shift-rotating unit includes: -
k rotating units for shift-rotating the n-bit input data respectively by specified rotation amounts;
a key data acquiring unit for acquiring key data; and
a rotation amount determining unit for determining values of S1, S2, . . . , and Sk based on the acquired key data and specifying, for the k rotating units, S1 bits, S2 bits, . . . , and Sk bits as the respective rotation amounts, and wherein the k rotating units shift-rotate the n-bit input data respectively by S1 bits, S2 bits, . . . , and Sk bits as specified by the rotation amount determining unit.
-
-
Specification