Encryption apparatus and method, and decryption apparatus and method based on block encryption
First Claim
1. An apparatus for encrypting block data, comprising:
- a first processing unit configured to randomize the block data in units of first portions obtained by dividing the block data; and
a second processing unit configured to diffuse the block data output from said first processing unit with respect to a second portion of the block data which is wider than the first portion.
2 Assignments
0 Petitions
Accused Products
Abstract
An encryption apparatus for block data, comprises a first processing unit randomizing the block data in units of first portions obtained by dividing the block data, and a second processing unit diffusing the block data output from the first processing unit with respect to a second portion of the block data which is wider than the first portion. The first processing unit comprises first nonlinear processing units nonlinearly transforming the block data in units of the first portions. The second processing unit comprises a first linear diffusion processing unit linearly diffusing the second portion of the block data. At least one of the first nonlinear processing units comprises second nonlinear processing units nonlinearly transforming the block data in units of the first portions, and a second linear diffusion processing unit linearly diffusing the second portion of the block data.
67 Citations
21 Claims
-
1. An apparatus for encrypting block data, comprising:
-
a first processing unit configured to randomize the block data in units of first portions obtained by dividing the block data; and
a second processing unit configured to diffuse the block data output from said first processing unit with respect to a second portion of the block data which is wider than the first portion. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. An apparatus for encrypting block data, comprising:
-
stage sections connected in series, each of said stage section comprising four first nonlinear processing units and a first linear diffusion processing unit, said four first nonlinear processing units configured to receive input 128-bit plaintext block data at a first stage or 128-bit block data processed by a preceding stage at a second and subsequent stages, and linearly diffuse and nonlinearly transform four sets of 32-bit data obtained by dividing the 128-bit block data, and said first linear diffusion processing unit configured to linearly diffuse 128-bit block data obtained by coupling the four sets of 32-bit data output from said four first nonlinear processing units using a Maximum Distance Separable matrix;
four second nonlinear processing units connected to the last stage of said stage sections and configured to linearly diffuse and nonlinearly transform four sets of 32-bit data obtained by dividing the 128-bit block data; and
a first key addition section connected to said four second nonlinear processing units configured to add 128-bit key data to 128-bit block data obtained by coupling the four sets of 32-bit data output from said four second nonlinear processing units; and
each of said first nonlinear processing units and second nonlinear processing units comprising;
four second key addition sections configured to add 8-bit key data to four sets of 8-bit data obtained by dividing one of the four sets of 32-bit data;
four second nonlinear processing units configured to nonlinearly transform outputs of said four second key addition sections by using an input/output table of 8-bit;
a second diffusion processing unit configured to linearly diffuse 32-bit data obtained by coupling four sets of 8-bit data output from said four second nonlinear processing units using a Maximum Distance Separable matrix; and
four third key addition sections which are the same as said second key addition sections and a third nonlinear processing unit, which are connected to said second diffusion processing unit.
-
-
10. An apparatus for encrypting block data, comprising:
-
stage sections connected in series, each of said stage section comprising two first nonlinear processing units and a first linear diffusion processing unit, said two first nonlinear processing units configured to receive input 64-bit plaintext block data at a first stage or 64-bit block data processed by a preceding stage at a second and subsequent stages, and linearly diffuse and nonlinearly transform two sets of 32-bit data obtained by dividing the 64-bit block data, and said first linear diffusion processing unit configured to linearly diffuse 64-bit block data obtained by coupling the two sets of 32-bit data output from said two first nonlinear processing units using a Maximum Distance Separable matrix;
two second nonlinear processing units connected to the last stage of said stage sections and configured to linearly diffuse and nonlinearly transform two sets of 32-bit data obtained by dividing the 64-bit block data; and
a first key addition section connected to said two second nonlinear processing units configured to add 64-bit key data to 64-bit block data obtained by coupling the two sets of 32-bit data output from said two second nonlinear processing units; and
each of said first nonlinear processing units and second nonlinear processing units comprising;
two second key addition sections configured to add 8-bit key data to two sets of 8-bit data obtained by dividing one of the two sets of 32-bit data;
two second nonlinear processing units configured to nonlinearly transform outputs of said two second key addition sections by using an input/output table of 8-bit;
a second diffusion processing unit configured to linearly diffuse 32-bit data obtained by coupling two sets of 8-bit data output from said two second nonlinear processing units using a Maximum Distance Separable matrix; and
two third key addition sections which are the same as said second key addition sections and a third nonlinear processing unit, which are connected to said second diffusion processing unit.
-
-
11. An article of manufacture comprising a computer usable medium having computer readable program code means embodied therein, the computer readable program code means comprising:
-
first computer readable program code means for causing a computer to randomize the block data in units of first portions obtained by dividing the block data; and
second computer readable program code means for causing a computer to diffuse the block data output from said first processing unit with respect to a second portion of the block data which is wider than the first portion. - View Dependent Claims (12)
-
-
13. An method of encrypting block data, comprising:
-
randomizing the block data in units of first portions obtained by dividing the block data; and
diffusing the randomized block data with respect to a second portion of the block data which is wider than the first portion. - View Dependent Claims (14)
-
-
15. An apparatus for decrypting encrypted block data, comprising:
-
a first processing unit configured to randomize the encrypted block data in units of first portions obtained by dividing the encrypted block data; and
a second processing unit configured to diffuse the encrypted block data output from said first processing unit with respect to a second portion of the encrypted block data which is wider than the first portion. - View Dependent Claims (16)
-
-
17. An article of manufacture comprising a computer usable medium having computer readable program code means embodied therein, the computer readable program code means comprising:
-
first computer readable program code means for causing a computer to randomize the encrypted block data in units of first portions obtained by dividing the encrypted block data; and
second computer readable program code means for causing a computer to diffuse the encrypted block data output from said first processing unit with respect to a second portion of the encrypted block data which is wider than the first portion. - View Dependent Claims (18)
-
-
19. An method of decrypting encrypted block data, comprising:
-
randomizing the encrypted block data in units of first portions obtained by dividing the encrypted block data; and
diffusing the randomized encrypted block data with respect to a second portion of the encrypted block data which is wider than the first portion. - View Dependent Claims (20)
-
-
21. An arithmetic operation device for a block data encryption apparatus which device diffuses block data using a Maximum Distance Separable matrix, the device comprising:
-
a multiplier configured to multiply corresponding bits of first portions obtained by dividing the block data and an element of the Maximum Distance Separable matrix without feeding back an overflow;
a lookup table configured to store data indicating a relation between predetermined upper bits and a return word for adjusting the overflow; and
an EX-OR circuit configured to read out the return word based on the predetermined upper bits and EX-OR the read return word and an output of the multiplier.
-
Specification