A plurality of round processing parts (38) are provided each of which
contains a nonlinear function part (304), and each nonlinear function part
(304) comprises: a first key-dependent linear transformation part (341)
which performs a linear transformation based on a subkey; a splitting part
(342) which splits the output from the first key-dependent linear
transformation part into n pieces of subdata; a first nonlinear
transformation part (343) which nonlinearly transforms those pieces of
subdata, respectively; a second key-dependent linear transformation part
(344) which linearly transforms those nonlinearly transformed outputs
based on a subkey and outputs n pieces of transformed subdata; a second
nonlinear transformation part (345) which nonlinearly transforms those
transformed subdata; and a combining part (346) which combines the
nonlinearly transformed outputs. An n.times.n matrix, which represents the
linear transformation in the second key-dependent linear transformation
part (344), is formed by n vectors whose Hamming weights are equal to or
larger than T-1 for a security threshold T, thereby increasing the
invulnerability against differential cryptanalysis and linear
cryptanalysis.
Eine Mehrzahl der runden verarbeitenteile, die (38) von dem jedem zur Verfügung gestellt werden, ein nichtlineares Funktion Teil (304) enthält, und jedes nichtlineare Funktion Teil (304) enthält: ein erstes Schlüssel-abhängiges lineares Umwandlungteil (341) das eine lineare Umwandlung durchführt, gründete auf einem subkey; ein aufspaltendes Teil (342) das den Ausgang vom ersten Schlüssel-abhängigen linearen Umwandlungteil in n Stücke subdata aufspaltet; ein erstes nichtlineares Umwandlungteil (343) das nonlinearly jene Stücke subdata umwandelt, beziehungsweise; ein zweites Schlüssel-abhängiges lineares Umwandlungteil (344) das linear jene nonlinearly umgewandelt umwandelt, gibt gegründet auf einem subkey aus und gibt n Stücke umgewandeltes subdata aus; ein zweites nichtlineares Umwandlungteil (345) das nonlinearly die umwandelt, wandelte subdata um; und ein kombinierendes Teil (346) das die nonlinearly umgewandelten Ausgänge kombiniert. Zu eine n.times.n Matrix, die die lineare Umwandlung im zweiten Schlüssel-abhängigen linearen Umwandlungteil (344) darstellt, wird durch n gebildet Vektoren denen Hamming Gewichte gleich oder größer als T-1 für eine Sicherheit Schwelle T sind, dadurch sieerhöhen sieerhöhen das invulnerability gegen differentiale Analyse verschlüsselter Texte und lineare Analyse verschlüsselter Texte.