A cryptographic-processing-algorithm constructing method for constructing a cryptographic processing algorithm in an information processing apparatus, the method characterized by comprising:
- a matrix-determining step in which, in a cryptographic-processing-algorithm configuration to which an extended Feistel structure having a number of data lines:
- d that is set to an integer satisfying d≧2 is applied, a control unit provided in the information processing apparatus determines a plurality of at least two or more different matrices that are to be applied to linear transformation processes performed in F-functions in respective rounds;
- and
- a matrix-setting step in which the control unit repeatedly arranges the plurality of different matrices, which are determined in the matrix-determining step, in the F-functions that are input to the respective data lines in the extended Feistel structure,
- wherein the matrix-determining step
- is a step of performing a process of determining, as the plurality of two or more different matrices, as matrices to be applied, a plurality of different matrices satisfying a condition in which a minimum number of branches for all of the data lines is equal to or more than a predetermined value, the minimum number of branches for all of the data lines being selected from among minimum numbers of branches corresponding to the data lines, each of the minimum numbers of branches corresponding to the data lines being based on linear transformation matrices included in F-functions that are input to a corresponding data line in the extended Feistel structure.