Patent ID: 8379843

Claim:
A data converter comprising: a processor; a data conversion section performing a data conversion process which repeats a round operation, the data conversion section being configured to execute, in the round operation: a linear conversion process on one of two data segments which are resultants of dividing a rectangular matrix of data into two parts, the rectangular matrix of data being configured by arranging data blocks of equal size, a process of an exclusive OR operation between the two data segments, a shift process on one of the data segments, and a swap process between the two data segments, wherein on execution of the shift process, the data conversion section executes the shift process so that: in such a case that a relationship of m≦n is satisfied for a data segment with m rows and n columns to be subjected to the shift process included in a rectangular matrix with m rows and 2n columns of data, respective data blocks belonging to one column before the shift process are shifted so as to belong to respective different columns after the shift process, and in such a case that a relationship of m>n is satisfied, data blocks belonging to one column before the shift process, a number of the data blocks lying from (m/n)−1 to (m/n)+1 both inclusive, are shifted so as to belong to an arbitrary column after the shift process.