An encryption chip is programmable to process a variety of secret key and
public key encryption algorithms. The chip includes a pipeline of
processing elements, each of which can process a round within a secret key
algorithm. Data is transferred between the processing elements through
dual port memories. A central processing unit allows for processing of
very wide data words from global memory in single cycle operations. An
adder circuit is simplified by using plural relatively small adder
circuits with sums and carries looped back in plural cycles. Multiplier
circuitry can be shared between the processing elements and the central
processor by adapting the smaller processing element multipliers for
concatenation as a very wide central processor multiplier.
Un morceau de chiffrage est programmable pour traiter une variété d'algorithmes principaux secrets de clef et de chiffrage de public. Le morceau inclut une canalisation de traiter les éléments, dont chacun peut traiter un rond dans un algorithme principal secret. Des données sont transférées entre les éléments de traitement par des mémoires de double accès. Une unité centrale de traitement tient compte du traitement des mots contenant des données très larges de mémoire globale dans des opérations de cycle simples. Un circuit d'additionneur est simplifié en utilisant les circuits relativement petits d'additionneur de pluriel avec des sommes et porte fait une boucle en arrière dans les cycles pluriels. Des circuits de multiplicateur peuvent être partagés entre les éléments de traitement et l'unité centrale de traitement en adaptant les multiplicateurs de traitement plus petits d'élément pour la concaténation comme multiplicateur très large d'unité centrale de traitement.