Block cipher apparatus using auxiliary transformation
AssigneesMitsubishi Denki Kabushiki Kaisha, Nippon Telegraph and Telephone Corporation
InventorsMitsuru Matsui, Toshio Tokita, Junko Nakajima, Masayuki Kanda, Shiho Moriai, Kazumaro Aoki
Life of this patent
Estimating the term…
Abstract
It is desired to share one circuit by an encryption unit 200 and a decryption unit 500. A normal data transformation unit (FL) 251 and an inverse data transformation unit (FL−1) 273 are located at point symmetry on a non-linear data transformation unit 220, and a normal data transformation unit (FL) 253 and an inverse data transformation unit (FL−1) 271 are located at point symmetry on the non-linear data transformation unit 220. Therefore, the encryption unit 200 and the decryption unit 500 can be configured using the same circuits.
Claims8
A data transformation apparatus having a data processing unit for inputting key data and performing at least one of encryption of data and decryption of data, and a key generating unit for generating key data to be used by the data processing unit and supplying the key data to the data processing unit,
- wherein the data processing unit comprises a non-linear transformation unit having cascaded plural rounds, each of the plural rounds inputs an extension key and performs a non-linear transformation,
- wherein the key generating unit includes a key shifting unit for inputting at least one of the key data and data generated from the key data and depending on the key data, performing a rotational shift by a predetermined number of bits Z1, Z2, . . . Zm (where each of i, j, k is one of 1 through m, Zk−Zj=I×(Zi+1−Zi)=I×B (I is an integer, B=Zi+1−Zi)), and generating an extension key for the each of the plural rounds of the non-linear transformation unit from the key data on which the rotational shift is performed, and
- wherein the key shifting unit includes:
- a rotational shift register for performing a rotational shift by (Zi+1−Z1) bits (B bits) at one operation;
- and
- a controller for operating the rotational shift register 1 time on the key data, on which the rotational shift is performed by Zi bits, to perform the rotational shift by (Zi+1−Zi) bits (B bits), making the rotational shift register to generate the key data which is performed the rotational shift by Zi+1 bits, and operating the rotational shift register I time(s) on the key data, on which the rotational shift is performed by Zi+1 bits, to perform the rotational shift by I×(Zi+1−Zi) bits (I×B bits), and making the rotational shift register to generate the key data which is performed the rotational shift by Zi+2 bits.
A data transformation apparatus having a data processing unit for inputting key data and performing at least one of encryption of data and decryption of data, and a key generating unit for generating key data to be used by the data processing unit and supplying the key data to the data processing unit,
- wherein the data processing unit comprises a non-linear transformation unit of cascaded plural rounds, each of the plural rounds inputs an extension key and performs a non-linear transformation,
- wherein the key generating unit comprises a key shifting unit for rotationally shifting key data by a predetermined number of bits (B bits) successively on generating the extension key to be supplied to the each of the plural rounds of the non-linear transformation unit, and generating an extension key used for the each of the plural rounds of the non-linear transformation unit from key data,
- wherein the key shifting unit does not generate the extension key by ignoring certain data among the key data being rotationally shifted by B bits successively, and generates the extension key from other remaining data.
A data transformation method for executing a data processing process for performing at least one of encryption of data and decryption of data, and a key generating process for generating key data to be used by the data processing process and supplying the key data to the data processing process,
- wherein the data processing process comprises a non-linear transformation process having cascaded plural rounds, each of the plural rounds inputs an extension key and performs a non-linear transformation,
- wherein the key generating process comprises a key shifting process for inputting at least one of the key data and data which is generated from the key data and depending on the key data, performing a rotational shift by a predetermined number of bits Z1, Z2, . . . , Zm (where each of i, j, k is one of 1 through m, Zk−Zj=I×(Zi+1−Zi) (I is an integer, B=Zi+1−Zi)), and generating an extension key for the each of the plural round of the non-linear transformation process from the key data on which the rotational shift is performed, and
- wherein the key shifting process includes:
- a rotational shifting process;
- and
- a control process for operating the rotational shifting process 1 time on the key data, on which the rotational shift is performed by Zi bits, to perform the rotational shift by (Zi+1−Zi) bits (B bits), making the rotational shifting process to generate the key data which is performed the rotational shift by Zi+1 bits, and operating the rotational shifting process I times on the key data, on which the rotational shift is performed by Zi+1 bits, to perform the rotational shift by I×(Zi-1−Zi) bits (I×B bits), and making the rotational shifting process to generate the key data which is performed the rotational shift by Zi+2 bits.
A data transformation method for executing a data processing process for inputting key data and performing at least one of encryption of data and decryption of data, and a key generating process for generating key data to be used by the data processing process and supplying the key data to the data processing process,
- wherein the data processing process comprises a non-linear transformation having cascaded plural rounds, each of the plural rounds inputs an extension key and performs a non-linear transformation,
- wherein the key generating process comprises a key shifting process for rotationally shifting key data by a predetermined number of bits (B bits) successively on generating the extension key to be supplied to the each of the plural rounds of the non-linear transformation process, and generating an extension key used for the each of the plural rounds of the non-linear transformation process from key data being rotationally shifted,
- wherein the key shifting process does not generate the extension key by ignoring certain data among the key data being rotationally shifted by B bits successively, and generates the extension key from other remaining data.
Dependencies are inferred from the claim text.