A data encryption system for encrypting an n-bit block of input in a
plurality of rounds is presented, where n is preferably 128 bits or more.
The data encryption system includes a computing unit for the execution of
each round; memory for storing and loading segments; a bit-moving function
capable of rotating, shifting, or bit-permute round segments by
predetermined numbers of bits preferably to achieve active and effective
fixed rotation; a linear combination function which provides new
one-to-one round segments using a round operator generally from one
algebraic group to combine two different one-to-one round segments taken
from one one-to-one round segment set; and a nonlinear function which
affects a one-to-one round segment from a particular one-to-one round
segment set based on a value which depends on a preselected number of bits
in a preselected location from a different one-to-one round segment from
the same one-to-one round segment set. The nonlinear function is a
variable rotation function or an s-box. A subkey combining function is
generally employed in each round to provide new round segments by
combining a round segment typically linearly with a subkey segment.
Un système de chiffrage de données pour chiffrer un bloc de n-peu d'entrée dans une pluralité de ronds est présenté, où n est de préférence 128 bits ou plus. Le système de chiffrage de données inclut une unité de calcul pour l'exécution de chacun rond ; mémoire pour des segments de stockage et de chargement ; une fonction peu-mobile capable de la rotation, décalant, ou peu-permutent autour des segments par des nombres prédéterminés de peu de préférence pour réaliser la rotation fixe active et efficace ; une fonction linéaire de combinaison qui fournit de nouveaux segments ronds linéaires en utilisant un opérateur rond généralement d'un groupe algébrique aux segments ronds linéaires différents du cartel deux pris d'un ensemble rond linéaire de segment ; et une fonction non-linéaire qui affecte un segment rond linéaire d'un ensemble rond linéaire particulier de segment a basé sur une valeur qui dépend d'un nombre pré-sélectionné de peu dans un endroit pré-sélectionné d'un segment rond linéaire différent du même ensemble rond linéaire de segment. La fonction non-linéaire est une fonction variable de rotation ou une s-boîte. Un subkey combinant la fonction est généralement utilisé dans chacun rond pour fournir de nouveaux segments ronds en combinant un segment rond en général linéairement avec un segment de subkey.