Abstract:
Ein Rechenwerk umfaßt eine Mehrzahl von Addiererblöcken (200, 202, 204, 206, 208, 210, 212), wobei jeder Addiererblock eine Mehrzahl von Einzeladdierern, einen Übertrag-Eingang (214), einen Übertrag-Ausgang (216) und einen Übertrag-Durchlauf-Ausgang (218) aufweist, wobei durch ein Signal an dem Übertrag-Durchlauf-Ausgang (218) eines Addiererblocks anzeigbar ist, daß einÜbertrag den Addiererblock durchläuft. Abhängig von dem Übertrag-Durchlauf-Ausgangssignaleines Addiererblocks wird ein Taktgenerator zum Speisen der Addiererblöcke mit zu verarbeitendenOperanden verlangsamt. Zur Behandlung eines variablen niederstwertigen Bits ist eine Einrichtung(224) zum Bestimmen, in welchem Addiererblock (206) der Addiererblöcke ein niederstwertiges Biteines zu subtrahierenden Operanden angeordnet ist, vorgesehen.
Abstract:
Ein Zufallszahlengenerator umfasst eine rückgekoppelte Inverterkette (10) mit in Serie geschalteten Invertern (18a, 18b, 18c), eine Ausgabeeinrichtung (12) zum Ausgeben einer Zufallszahl, die von einem Zustand zwischen zwei Invertern (18a, 18c) der rückgekoppelten Inverterkette (10) abhängt, sowie eine Verarbeitungseinrichtung (14) zum Verarbeiten eines Signals zwischen zwei aufeinanderfolgenden Inverterketten der in Serie geschalteten Inverter und zum Einspeisen eines verarbeiteten Signals in die rückgekoppelte Inverterkette, wobei die Verarbeitungseinrichtung (14) so ausgebildet ist, dass sich das verarbeitete Signal von dem Signal zwischen den zwei aufeinanderfolgenden Invertern (18a, 18c) unterscheidet. Durch gezieltes Beeinflussen der rückgekoppelten Inverterkette (10) wird die Gefahr des periodischen Abtastens mittels der Ausgabeeinrichtung (12) minimiert, so dass ein hochqualitativer Zufallszahlengenerator mit kleinem Chipflächenverbrauch und kleinem Leistungsverbrauch erhalten wird.
Abstract:
Bei einem Verfahren zum modularen Multiplizieren eines Multiplikanden (C) mit einem Multiplikator (M) unter Verwendung eines Moduls (N) werden zunächst l Multiplikations-Verschiebungs-Werte mittels eines Multiplikations-Vorausschau-Verfahrens unter Berücksichtigung von l Blöcken von Stellen des Multiplikators (M), die aneinander angrenzen, ermittelt (10). Hierauf werden l Reduktions-Verschiebungs-Werte mittels eines Reduktions-Vorausschau-Verfahrens für die l Blöcke von Stellen des Multiplikators (M) ermittelt (13). Ein Zwischenergebnis (Z) aus einem vorherigen Iterationsschritt, der Modul (N) oder ein von dem Modul abgeleiteter Wert und der Multiplikand (C) werden mit den l Multiplikations-Verschiebungs-Werten und den l Reduktions-Verschiebungs-Werten beaufschlagt (16), um die 2l+1 Operanden (17) zu erhalten. Mittels eines Multioperandenaddierers (18) werden die 2l+1 Operanden zusammengefaßt, um ein aktualisiertes Zwischenergebnis (Z') für einen auf den vorherigen Iterationsschritt folgenden Iterationsschritt zu erhalten, wobei die Iteration so lange fortgesetzt wird, bis sämtliche Stellen des Multiplikators (M) abgearbeitet sind. Abhängig von der Anzahl von Operanden wird die Anzahl von zu berechnenden Zyklen reduziert, so daß auf Kosten eines größeren Hardware-Aufwands eine schnellere Berechnung der modularen Multiplikation möglich ist.
Abstract:
The invention relates to a method for modular multiplication using a multiplication prediction process for calculating a multiplication shift value and a reduction prediction process for calculating a reduction shift value. According to said method, a modulus is first transformed (10) into a transformed modulus, which is greater than the modulus. The transformation is carried out in such a way that a predefined portion of the transformed modulus has a higher order position with a first predefined value, which is followed at least by a lower order position with a second predefined value. During the iterative processing (12) of the modular multiplication using the multiplication prediction process and the reduction prediction process, the transformed modulus is used to obtain a transformed result for the modular multiplication at the end of the iteration. Finally, the transformed result undergoes an inverse transform (14) by means of modular reduction using the original modulus. The inventive transformation simplifies the iterative processing of the modular multiplication, enabling the latter to be carried out more rapidly.
Abstract:
The invention relates to a cryptographic processor for carrying out operations for cryptographic applications and comprising a large number of coprocessors (104a, 104b, 104c), each coprocessor having a control unit and an arithmetic unit, a central processing unit (102) for controlling the large number of coprocessors (104a, 104b, 104c) and a bus (101) for connecting each coprocessor (104a, 104b, 104c) to the central processing unit (102). The central processing unit (102), the majority of coprocessors (104a, 104b, 104c) and the bus (101) are integrated into a single chip (100). The chip also comprises a common power supply input (122) for supplying the large number of coprocessors (104a, 104b, 104c). The connection in series of different coprocessors increases the throughput of the cryptographic processor and simultaneously improves the security of said processor against attacks, made on the basis of an evaluation of output profiles of the cryptographic processor, as the output profiles of at least two coprocessors are superimposed. By using different types of coprocessors, the cryptographic processor can also be configured as a multifunctional cryptographic processor suitable for use with a multitude of different cryptographic algorithms.
Abstract:
The invention relates to a half-adder for adding bits of at least two input operands in order to obtain at least two output bits. The inventive half-adder comprised an input stage (10), a plurality of commutation stages (12a, 12b, 12c) and an output stage (14a, 14b, 14c) arranged after each commutation stage, respectively. In a data mode, the commutation stages can operate either for delivering a bit or an inverse bit of an output (18a, 18b, 18c) on the output stage arranged after the corresponding commutation stage. The output stage modifies an output bit with respect to the past preparation mode on the basis of the bit contained in the corresponding commutation stage and completes a complementary bit from the past preparation mode. The half-adder circuit has a surface effectiveness using complete dual-rail logic and being protected against any cryptographic attack.
Abstract:
Ein Prozessor umfaßt ein Quellregister (10) mit einem Quellregisterinhalt, ein Zielregister (12), ein Rechenwerk (14) zum Durchführen einer Berechnung unter Verwendung des Quellregisterinhalts, wobei die Berechnung in mehreren Berechnungszyklen ausführbar ist, und wobei in jedem Zyklus lediglich ein Teil des Quellregisterinhalts verwendbar ist, einen Datenbus (18), der mit dem Quellregister (10), dem Zielregister (12) und dem Rechenwerk (14) verbunden ist, sowie eine Prozessorsteuerung. Die Prozessorsteuerung ist betreibbar, um während der Berechnung den Quellregisterinhalt in Portionen dem Rechenwerk einerseits und dem Zielregister andererseits über den Datenbus zuzuführen, so daß nach einer Ausführung der Berechnung der Quellregisterinhalt in das Zielregister geschrieben ist. Damit ist es möglich, für portionsweise zu verarbeitende lange Operanden eine Registerkopie von einem Quellregister in ein Zielregister über einen begrenzten Datenbus ohne zusätzliche Maschinenzyklen zu erreichen.
Abstract:
Ein Rechenwerk umfaßt eine Mehrzahl von Addiererblöcken (200, 202, 204, 206, 208, 210, 212), wobei jeder Addiererblock eine Mehrzahl von Einzeladdierern, einen Übertrag-Eingang (214), einen Übertrag-Ausgang (216) und einen Übertrag-Durchlauf-Ausgang (218) aufweist, wobei durch ein Signal an dem Übertrag-Durchlauf-Ausgang (218) eines Addiererblocks anzeigbar ist, daß einÜbertrag den Addiererblock durchläuft. Abhängig von dem Übertrag-Durchlauf-Ausgangssignaleines Addiererblocks wird ein Taktgenerator zum Speisen der Addiererblöcke mit zu verarbeitendenOperanden verlangsamt. Zur Behandlung eines variablen niederstwertigen Bits ist eine Einrichtung(224) zum Bestimmen, in welchem Addiererblock (206) der Addiererblöcke ein niederstwertiges Biteines zu subtrahierenden Operanden angeordnet ist, vorgesehen. Ferner ist eine Einrichtung (222) zum Deaktivieren des Übertrag-Durchlauf-Ausgangs von einem oder mehreren Addiererblöcken vorgesehen, die für bezüglich des Addiererblocks, in dem sich das niederstwertige Bit des zusubtrahierenden Operanden befindet, niederwertige Stellen vorgesehen sind. Schließlich ist eine Einrichtung (230) zum Einspeisen eines Übertrags (C ein ) in den Übertrag-Eingang des Addiererblocks,in dem sich das niederstwertige Bit des zu subtrahierenden Operanden befindet, angeordnet. Damit wird sichergestellt, daß Bits unterhalb des niederstwertigen Bits des Operanden weder zu künstlichen Panik-Signalen führen noch ein Subtraktionsergebnis verfälschen.
Abstract:
Die Erfindung schlägt eine Schaltungsanordnung mit einem Sender (S) und einem Empfänger (E) vor, bei der der Sender (S) über N-Signalleitungen (L1,...LN) mit dem Empfänger (E) gekoppelt ist, wobei eine Nutzinformation zwischen dem Sender (S) und dem Empfänger (E) über M zufällig auswählbare Signalleitungen austauschbar ist, wobei N > M ist.
Abstract:
Zum sicheren Laden von Nutzdaten auf einen Datenträger (10) wird zunächst eine Blinddateneinheit bereitgestellt (14), die eine Zufallszahl sein kann. Ferner wird eine Nutzdateneinheit bereitgestellt (14), die aus einer Folge von Nutzdateneinheiten stammt und Nutzinformationen darstellt. Um eine Leistungsanalyse zum Ermitteln des Hamming-Gewichts von verarbeiteten Nutzdaten abzuwehren, wird vor dem Laden einer Nutzdateneinheit auf den Datenträger (10), der z. B. ein Register oder ein Bus ist, zunächst eine Blinddateneinheit geladen. Damit kann ein Angreifer lediglich das Hamming-Gewicht aus einer Kombination von Nutzdateneinheit und Blinddateneinheit ermitteln, jedoch nicht das Hamming-Gewicht der Nutzdateneinheit selbst.