IP Library Granted Patent US 10,341,090
Granted Patent B2
US 10,341,090 · App. 15/512,764 · Granted Jul 2, 2019

Cipher processing apparatus and cipher processing method

Inventors: Kyoji Shibutani (Kanagawa, JP); Takanori Isobe (Tokyo, JP)
Assignee: SONY CORPORATION
H04L9/0631G09C1/00G09C1/04H04L9/0637H04L9/0625
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,341,090
App. No.
15/512,764
Granted
Jul 2, 2019
Kind
B2
Abstract

A cipher processing configuration, of which the resistance against various attacks is improved, having a high security level is realized. In a cipher processing configuration in which a nonlinear transformation process and a linear transformation process are repeatedly performed for state data formed from a plurality of elements, a linear transformation unit performs a matrix operation applying a quasi-MDS matrix and a substitution process. As the substitution process, a substitution process is performed which satisfies the following (Condition 1) and (Condition A). (Condition 1) According to the substitution process of the substitution unit for the input X, each column element of the output Y is configured by elements of four mutually-different columns of the input X (Condition A) In a case where the substitution process performed by the substitution unit for the input X is repeatedly performed continuously twice, each column element of the output Y is configured by elements of three or more mutually-different columns of the input X.

Claims (113)

1. A cipher processing apparatus, comprising:

a Central Processing Unit (CPU) configured to:

generate output data Y based on repeated round operations on input data X,

wherein the input data X is a state including a plurality of elements each formed from data of one or more bits;

perform a nonlinear transformation process based on an input of the state; and

perform a linear transformation process based on the input of the state,

wherein to perform the linear transformation process, the CPU is further configured to:

perform a matrix operation in units of elements for the state, wherein

the matrix operation applies a quasi-MDS (Almost-Maximum Distance Separable) matrix; and

perform a substitution process in the units of elements for the state, wherein

the substitution process satisfies a Condition 1 and a Condition A, wherein the Condition 1 includes that

each column element of the output data Y is configured by elements of four mutually-different columns of the input data X, and

wherein the Condition A includes that

each column element of the output data Y is configured by elements of three or more mutually-different columns of the input data X, based on the substitution process repeated for two times.

2. The cipher processing apparatus according to claim 1 ,

wherein the CPU is further configured to perform one of a column diffusion operation or a row diffusion operation,

wherein the column diffusion operation applies the quasi-MDS matrix in units of elements of each column of the state, and

wherein the row diffusion operation applies the quasi-MDS matrix in units of elements of each row of the state.

3. The cipher processing apparatus according to claim 1 , wherein the CPU is further configured to:

perform the substitution process that changes only column positions of at least a part of the plurality of elements configuring the state; and

perform a column diffusion operation that applies the quasi-MDS matrix in units of elements of each column.

4. The cipher processing apparatus according to claim 1 , wherein the CPU is further configured to perform the substitution process that satisfies a condition B,

wherein the Condition B includes that elements of each column of the output data Y and output data Y′ are configured by the elements of the four mutually-different columns of the input data X,

wherein the output data Y is a result of the substitution process for the input data X repeated for two times, and

wherein the output data Y′ is a result of an inverse transformation of the substitution process for the input data X repeated for two times.

5. The cipher processing apparatus according to claim 4 , wherein the CPU is further configured to:

perform the substitution process that changes row and column positions of at least a part of the plurality of elements configuring the state, and

perform a column diffusion operation that applies the quasi-MDS matrix in units of elements of each column.

6. The cipher processing apparatus according to claim 1 ,

wherein the state is formed by 4×4 elements, and

the CPU is further configured to perform one of a column diffusion operation that applies the quasi-MDS matrix formed from 4×4 elements in units of elements of each column of the state or a row diffusion operation that applies the quasi-MDS matrix formed from 4×4 elements in units of elements of each row of the state.

7. The cipher processing apparatus according to claim 1 ,

wherein the CPU is further configured to perform the nonlinear transformation process based on a plurality of S boxes, and

wherein the plurality of S boxes perform the nonlinear transformation process in units of one element of the plurality of elements configuring the state.

8. The cipher processing apparatus according to claim 7 ,

wherein the CPU is further configured to perform the linear transformation process based on the substitution process and the matrix operation, and

wherein the substitution process and the matrix operation use outputs of the plurality of S boxes as constituent elements of the state.

9. A cipher processing apparatus, comprising:

a Central Processing Unit (CPU) configured to:

generate output data Y based on repeated round operations on input data X,

wherein the input data X is a state including a plurality of elements each formed from data of one or more bits;

perform a nonlinear transformation process based on an input of the state; and

perform a linear transformation process based on the input of the state,

wherein to perform the linear transformation process, the CPU is further configured to:

perform a matrix operation in units of elements for the state, wherein

the matrix operation applies a quasi-MDS (Almost-Maximum Distance Separable) matrix; and

perform a substitution process in the units of elements for the state, wherein

the substitution process satisfies a Condition 1′ and a Condition A′, wherein the Condition 1′ includes that

each row element of the output data Y is configured by elements of four mutually-different rows of the input data X, and

wherein the Condition A′ includes that

each row element of the output data Y is configured by elements of three or more mutually-different rows of the input data X, based on the substitution process repeated for two times.

10. The cipher processing apparatus according to claim 9 , wherein the CPU is further configured to:

perform the substitution process that changes only row positions of at least a part of the plurality of elements configuring the state; and

perform a row diffusion operation that applies the quasi-MDS matrix in units of elements of each row.

11. The cipher processing apparatus according to claim 9 , wherein the CPU is further configured to perform the substitution process that satisfies a condition B′,

wherein the Condition B′ includes that elements of each row of the output data Y and output data Y′ are configured by the elements of the four mutually-different rows of the input data X,

wherein the output data Y is a result of the substitution process for the input data X repeated for two times, and

wherein the output data Y′ is a result of an inverse transformation of the substitution process for the input data X repeated for two times.

12. The cipher processing apparatus according to claim 11 , wherein the CPU is further configured to:

perform the substitution process that changes row and column positions of at least a part of the plurality of elements configuring the state, and

perform a row diffusion operation that applies the quasi-MDS matrix in units of elements of each row.

13. A cipher processing method performed in a cipher processing apparatus comprising a Central Processing Unit (CPU), the method comprising:

generating output data Y based on repeated round operations on input data X,

wherein the input data X is a state including a plurality of elements each formed from data of one or more bits;

performing a nonlinear transformation process based on an input of the state; and

performing a linear transformation process based on the input of the state,

wherein performing the linear transformation process comprises:

performing a matrix operation in units of elements for the state, wherein

the matrix operation applies a quasi-MDS (Almost-Maximum Distance Separable) matrix; and

performing a substitution process in the units of elements for the state, wherein

the substitution process satisfies a Condition 1 and a Condition A, wherein the Condition 1 includes that

each column element of the output data Y is configured by elements of four mutually-different columns of the input data X, and

wherein the Condition A includes that

each column element of the output data Y is configured by elements of three or more mutually-different columns of the input data X, based on the substitution process repeated for two times.

14. A cipher processing method performed in a cipher processing apparatus comprising a Central Processing Unit (CPU), the method comprising:

generating output data Y based on repeated round operations on input data X,

wherein the input data X is a state including a plurality of elements each formed from data of one or more bits;

performing a nonlinear transformation process based on an input of the state; and

performing a linear transformation process based on the input of the state,

wherein performing the linear transformation process comprises:

performing a matrix operation in units of elements for the state, wherein

the matrix operation applies a quasi-MDS (Almost-Maximum Distance Separable) matrix; and

performing a substitution process in the units of elements for the state, wherein

the substitution process satisfies a Condition 1′ and a Condition A′, wherein the Condition 1′ includes that

each row element of the output data Y is configured by elements of four mutually-different rows of the input data X, and

wherein the Condition A′ includes that

each row element of the output data Y is configured by elements of three or more mutually-different rows of the input data X, based on the substitution process repeated for two times.

15. A non-transitory computer-readable medium having stored thereon computer-executable instructions which, when executed by a computer, cause the computer to perform operations, the operations comprising:

generating output data Y based on repeated round operations on input data X,

wherein the input data X is a state including a plurality of elements each formed from data of one or more bits;

performing a nonlinear transformation process based on an input of the state; and

performing a linear transformation process based on the input of the state,

wherein performing the linear transformation process comprises:

performing a matrix operation in units of elements for the state, wherein

the matrix operation applies a quasi-MDS (Almost-Maximum Distance Separable) matrix; and

performing a substitution process in the units of elements for the state, wherein

the substitution process satisfies a Condition 1 and a Condition A, and wherein the Condition 1 includes that

each column element of the output data Y is configured by elements of four mutually-different columns of the input data X, and

wherein the Condition A includes that

each column element of the output data Y is configured by elements of three or more mutually-different columns of the input data X based on the substitution process repeated for two times.

16. A non-transitory computer-readable medium having stored thereon computer-executable instructions which, when executed by a computer, cause the computer to perform operations, the operations comprising:

generating output data Y based on repeated round operations on input data X,

wherein the input data X is a state including a plurality of elements each formed from data of one or more bits;

performing a nonlinear transformation process based on an input of the state; and

performing a linear transformation process based on the input of the state,

wherein performing the linear transformation process comprises:

performing a matrix operation in units of elements for the state, wherein

the matrix operation applies a quasi-MDS (Almost-Maximum Distance Separable) matrix; and

performing a substitution process in the units of elements for the state, wherein

satisfies a Condition 1′ and a Condition A′, wherein the Condition 1′ includes that

each row element of the output data Y is configured by elements of four mutually-different rows of the input data X, and

wherein the Condition A′ includes that

each row element of the output data Y is configured by elements of three or more mutually-different rows of the input data X based on the substitution process repeated for two times.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2017
From: SHIBUTANI, KYOJI; ISOBE, TAKANORI
To: SONY CORPORATION
Reel/Frame 043038/0520 →
Priority Claims (1)
JP 2014-210296 · Oct 14, 2014 · national
Continuity (1)
Related Publication 20170295010A1 · Oct 12, 2017