DE3228018A1 - Schluesselsystem - Google Patents

Schluesselsystem

Info

Publication number
DE3228018A1
DE3228018A1 DE19823228018 DE3228018A DE3228018A1 DE 3228018 A1 DE3228018 A1 DE 3228018A1 DE 19823228018 DE19823228018 DE 19823228018 DE 3228018 A DE3228018 A DE 3228018A DE 3228018 A1 DE3228018 A1 DE 3228018A1
Authority
DE
Germany
Prior art keywords
calculation
value
signal
register
adder
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19823228018
Other languages
English (en)
Other versions
DE3228018C2 (de
Inventor
Shoji Yokohama Kanagawa Miyaguchi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph & Telephone Public Corp Tokyo
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP56117499A external-priority patent/JPS5818748A/ja
Priority claimed from JP56166777A external-priority patent/JPS5868158A/ja
Priority claimed from JP57106567A external-priority patent/JPS58223170A/ja
Application filed by Nippon Telegraph & Telephone Public Corp Tokyo, Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph & Telephone Public Corp Tokyo
Publication of DE3228018A1 publication Critical patent/DE3228018A1/de
Application granted granted Critical
Publication of DE3228018C2 publication Critical patent/DE3228018C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/723Modular exponentiation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Description

82 18786
Schlüsse!system
Die Erfindung bezieht sich auf ein Schlüsselsystem zum Chiffrieren einer Nachricht oder Information, die im gewöhnlichen Informationsaustausch und in elektronischen Computern verwendet wird, und zum Dechiffrieren des verschlüsselten Textes, insbesondere auf ein Schlüsselsystem zur Chiffrierung und/oder Dechiffrierung in einem Schlüsselsystem mit öffentlich zugänglichem Schlüssel, in dem ein Chiffriercode öffentlich gezeigt werden kann.
In diesem Schlüsselsystern mit öffentlich zugänglichem Schltissel werden verschiedene Codes zur Chiffrierung und "Dechiffrierung verwendet und jedermann kann eine Nachricht unter Verwcndung eines öffentlich offenbarten Chiffriercodes verschlüsseln, wobei lediglich der Empfänger eine verschlüsselte Nachricht unter Verwendung eines privat- bzw. geheimgehaltenen Dechiffriercodes entschlüsseln kann, wodurch ein privater Nachrichtenaustausch sichergestellt wird. Als Vertreter für
j"5 ein derartiges Schlüsselsystem mit Öffentlich zugänglichem Schlüssel ist das RAS-Schlüsselsystem bekannt ("A Method for obtaining Digital Signatures and Public-Key Cryptosysterns", Communications of the ACM, Feb. 1978, Vol. 21, No. 2 pp 120 126).
Chiffrier- und Dechiffrierverfahren werden durch die folgenden Konkurrenzausdrücke dargestellt:
Chiffrierung: C = Me mod η "(Ι) Dec-.hif frierung : M ξ C mod η (2)
7,ij wobei C, M, e, el und η alle ganze Zahlen darstellen. C ver-
deutlicht einen verschlüsselten Text als ganze Zahl, M einen gewöhnlichen Text als ganze Zahl, e und η einen Chiffriercode und d und η einen Dechiffriercode, wobei e ^ d. Bei der Erfindung sind alle Variablen mit Ausnahme der Steuersignale ganze Zahlen und durch Zweierkompleraente dargestellt. Die Werte von n, e und d werden zur Steigerung des Sicherheitsschutzvermögens wie folgt gewählt: η = 10 bis 10 , e = 1050 bis 10100 und d = 1050 bis 10100, Das Chiffrierverfahren, d. h. eine Berechnung des Restes C, wenn M durch η dividiert wird, wird in der nachstehend beschriebenen Art durchgeführt. Hierbei sind M,, M2, R und C Variable. Vorbereitung: Man stellt e durch
e = Σ e.'2 dar, wobei e. =0 oder 1.
Schritt 1: Man setzt die Variable C aof 1. Schritt 2: Man führt die Schritte 2a und 2b für
i = k, k-1, .·., 1, 0 durch. Schritt 2a:
M1 = C, M2 - C
R = M, χ M„ mod η
C=R
Schritt 2b:
Falls e. = 1
M3 - C, M2 = M
R = M, χ M2 mod η
C = R
Schritt 3: Stopp.
In den obigen Schritten bedeutet das Gleichheitssymbol "=", daß man den Wert der rechten Seite der Variablen der linken Seite zuordnet. -~-
Somit ist das Chiffrierverfahren des RAS-Schlüssels, d. h. 55
die Berechnung von C=M mod η abgeschlossen. Dieses Berechnungsverfahren wird nachfolgend als "Exponentialverfahren" bezeichnet.
Wie aus dem Vergleich der Gl. (1) mit der Gl. (2) hervorgeht, wird das Dechiffrierverfahren ähnlich durchgeführt, wobei d anstatt e verwendet wird. Für den Fall, daß das RAS-Schlüsselsystem, das eine derartige Chiffrierung und Dechiffrierung wie beschrieben durchführt,unter Verwendung der Großintegratiöns-Technologie (LSI), wie z. B. der CMOS-, der nMOS-Technologie usw., ausgeführt werden sollte, würde der Schaltkreisumfang in der Größenordnung von 100 bis 200 K Gatter liegen. Da die Integrationsdichte der bekannten Bausteine mit Großintegration (LSI) im Bereich von 10 bis 30 K Gatter pro Chip liegt, ist die Ausführung derartiger Schlüsselsysteme schwierig.
Um einer derartigen Schwierigkeit atas dem Wege zu gehen, wurde ein Schlüssel-Großintegrationsbaustein eines Mikroprogramm-Steuersystems mit einem Schaltkreisumfang von etwa 20 K Gatter vorgeschlagen CA Description of a Single-Chip Implementation of the RSA Public-Key Cryptosystem", National Telecommunication Conference, 1980, Conference Record Vol. 3 of 4, pp 49.2.1-49.2.4). Dieser Schlüssel-Großintegrations-Baustein ist unpraktisch, da seine Rechengeschwindigkeit für die Kryptographie bzw. Verschlüsselung mit 1,2 K Bits/s zu niedrig ist. Da weiterhin der Chiffriercode des ESA-Schlüsselsysfceins eine festgelegte Länge von 512 Bits in diesem Schlüssel-Großintegrations-Baustein auf v/eist, kann in dem Fall, bei dem die Länge des Chiffriercodes z. B, 256-oder 1024-Bit beträgt, kein Kryptographieverfahren durchgeführt werden.
Wie oben beschrieben, wird in diesem Schlüssel- bzw. Kryptosystem die Berechnung von R ξ M, χ M9 mod η mehrmals durchgeführt. In der Vergangenheit wurde diese Berechnung in der
JZZöU lö
gleichen Art und Weise wie eine übliche Multiplikation und Division durchgeführt; M, χ M- wird nämlich durch sequentielle Multiplikationen in steigender Reihenfolge erhalten,, wobei man zuerst mit der unbedeutendsten Ziffer beginnt. Anschließend
δ wird das Multiplikationsergebnis sequentiell in einer absteigenden Reihenfolge durch η dividiert, wobei man mit der bedeutendsten Ziffer beginnt. Infolge dieser Vorgehensweise haftet diesem Schlüsselsystem der Nachteil an, daß die Rechnerzeit infolge einer solchen sequentiellen Multiplikation und Division ausgesprochen lang ist.
Es ist somit Aufgabe der Erfindung ein Schlüsselsystem vorzuschlagen, das als Großintegrations(LSI)-Bauteil einfach und mit geringen Kosten herstellbar ist, eine Chiffrierung und Dechiffrierung mit hoher Geschwindigkeit zuläßt und bei dem die Chiffrier- und/oder Dechiffriercodelänge in einem weiten Bereich, z. B. st, Bits (s, ist eine Konstante), 2««, Bits und a·«. Bits (a ist eine ganze Zahl) ausgewählt werden kann.
Die Merkmale der zur Lösung dieser Aufgabe geschaffenen Erfindung ergeben sich aus den Ansprüchen.
Da die Chiffrierung und Dechiffrierung, wie vorstehend beschrieben, hinsichtlich ihres Verfahrens identisch zueinandex* sind, beschränkt sich die folgende Beschreibung allein auf das Chiffrierverfahren.
Gemäß der Erfindung wird die Berechnung in dem vorerwähnten Schritt
R = M1 χ M0 mod η (3)
in der nachfolgend beschriebenen Weise durchgeführt. Die Variablen e, n, M, C, M, und M„ sind nicht-negative ganze Zahlen/ und in der folgenden Beschreibung werden diese Zeichen ebenso zur Darstellung von Signalen verwendet, die den Variablen in dieser Reihenfolge entsprechen 2, B. ist die
Variable Μ« auch ein Signal M2 und eine Varible δΑ(·_Ί\ + ·
(i = O, 1, 2, 3) ist ebenso ein Signal O4.·_1)+- (i = 0, 1,
2, 3). Die Variable M3 wird in t Gruppen durch Schritte von π λ Bits wie folgt unterteilt:
M- - Σ ML ..2(j~1^ (4)
wobei j, R. und Q. Variable darstellen.
3 3
Schritt Ii RÄ+1 = 0
Schritt 2
Man setzt j - «., fc-1, ... 1 und führt die folgenden Operationen durch:
- Q.<n
(5)
Schritt 3i
(R,= M, χ
mod n)
Stopp (R,= M, χ M„ Hierbei stellt [x] die größtmögliche ganze Zahl dar, die gleich oder kleiner als χ ist. Z. B. [1,0] =1, [1,5] =1, [-l,5]=-2 usw. Multipliziert man die beiden Seiten der Gl. (6) mit 2^~ 'X und berechnet man für jede Seite die Summe der Ergebnisse der Multiplikationen für alle j=.l bis j-a, wie durch die folgende Gleichung gezeigt, so kann man sich vergewissern, daß diese Berechnungsmethode richtig ist,
Σ R..2(j"1)A = Σ 2(j~1)-X{2X.R.,.1+M ·Μ .-Q.*n}
Die Arid.it ion und Subtraktion in Gl. (6) kann unter Verwendung eines Übertragsicherstellungr.-Addierers (CSA,Carry Save Adder;
O L L O U IO
mit hoher Geschwindigkeit durchgeführt werden. Da jedoch die Variablen R-+1» M. und η äußerst groß sind, wird zur Berechnung der Gl. (5) .zu viel Zeit beansprucht. Deshalb wird es vorgezogen, die Berechnung dieser Gleichungen unter Ver-Wendung verschiedener nachfolgend beschriebener Näherungen durchzuführen. Da der Übertragsicherstellungs-Addierer zwei Ausgänge aufweist, wird hier R. wie folgt in zwei geteilt:
(7)
Zur Berechnung von Q. mit hoher Geschwindigkeit wird eine Konstante von m Bits auf den niederwertigen Seiten aller Variablen in Gl. (5) weggelassen. Wie bereits vorstehend erwähnt, wurden alle Variablen durch ein Zweierkomplement dargestellt. Durch dieses Weglassen wird Q. durch Q! angenähert
1 > ' „ λ-1
Qi = C{ Σ Π2λ-Κ, .)-2~my,\ C (M1
(8)
mit
t
Hier wird die Konstante S eingeführt, um irgendeinen Fehler, der aus der Näherung resultiert, zu unterdrücken.
Gl. (8) stellt eine Division dar, die viel Zeit beansprucht. Um die Berechnung zu beschleunigen, werden eine Variable ν für 35
einen Kehrwert des Divisors [η·2 ] und eine Konstante υ eingeführt, wodurch die Gl. (8) in die Form einer Multiplikation gebracht wird. Durch diese Vorgehensweise wird Q! durch QV angenähert.
Q" = [XV xvx 2~U] ■}· t (10)
mit
1 , λ-1 , „
(11)
ν = [2U * [n.2"m33
1 for XV Z 0 0 for XV < 0
Ein Fehler, der von dieser engen Näherung resultiert, kann nicht zu Null gemacht, jedoch reduziert werden. Durch eine optimale Auswahl der Konstanten m, S und u können die Fehler γ, . und γ_ . wie folgt reduziert werden, wobei der Grund hierfür später beschrieben wird.
Qj = Qj + Y1J , Y1J = 0 oder 1 (12)
QV = Qj + Y2j , Y2j = 0 oder 1 (13)
Eine konkrete Beschreibung wird für den Fall der Durchführung der Operation RsM1 χM_ mod η durch die oben besagte enge Annä-
200 herung gegeben. Da M und η beispielsweise etwa 10 betragen,
•j was grob 2 entspricht/ wie früher erwähnt, wird jede Variable durch eine Binärziffer mit einer Länge von 512 Bits dargestellt.
5 Folgende Bedingpngen werden beispielsweise festgesetzt
511
0 < M1 < η
O ύ M2 < η
511
M9 = Σ5/2 ' δί
- 0 oder
,i
j = -128 bis 1
128
= Σ M„
=13, m=504, S«38, λ-4
(14)
(i) η wird eingegeben und ν erhält man aus Gl. (11)"
ν * [213* Ιη·2"504]] mit 25< ν < 26 .
(ii) M, und M_ werden eingegeben.
Wiederholte Berechnung
(16)
Die Berechnungsmethode wird nachstehend in Form eines Programmablauf p.l ans dargestellt.
Schritt Os j-5- 128,
Schritt 1 : Aus Gl. (11)
,-500.
mit -213 < X1J < 213
-134
Schritt 2: Q" «- [X" χ v χ 2 ι<3] +
QV ■*- [X" χ ν χ 2~13] für X·.1 ä 0
für χ« < 0
-504
Wenn Q-;
setze
Schritt 3: Aus
Gl.
~31. (6)
Q3 — 71 ι n« — —"3 0
~ J ' Und Wer-pn. Wj - J/'i
5+38
(19)
Σ R,
i-0 -
Schritt 4:
1
Σ
R 3 + M ·Μ . - Q"·η
1 2,τ 3 .
(20)
Falls J=I, dann gehe zu Schritt. 5,
falls ji^l, dann j*j-l, und gehe zurück zv. (21)
Schritt 1.
Schritt 5: Die wiederholte Berechnung endet.
Berechnung für die Kompensation bzw. Ausgleichsrecbnung
Schritt 6: R1
1
1 Σ R1
(22)
Schritt 7:
Schritt 8:
Wenn R, :> 0 ist, dann gehe zu Schritt 8
1 Y. R, , 5 «- Σ R, . + η i=0 x i--.-o lfl
Gehe zurück zu Schritt
R + R., , Ende. (24)
OZZÖU I ö
In dem Fall, bei dem die Variable e durch 512 Bits dargestellt wird/ geht die 0 nacheinander auf ihre höherwertige Bitseite. rührt von den vorerwähnten Bedingungen n=10 bis 1,0 und e=1050 bis 10100 her. Da j=128 bis 1, kann man ersehen, daß die wiederholte Berechnung 128 mal durchgeführt wird.
Der Bereich von QV, den man aus der Gl. (19) erhält, ist ge~ qeben durch -31<Q'.' <31. Die oben erwähnte Berechnungsmethode wird später auf ihre Zweckmäßigkeit hin überprüft.
Bei der Kompensationsberechnung kann die Anzahl der Ausführungen des Schrittes 7 Null, eins oder zwei sein. Der Grund hierfür wird später beschrieben. Zu dem Zeitpunkt, bei dem Schritt 6 zum erstenmal ausgeführt wird, dauert die folgende Bedingung an:
-2n < Z R1 . < η
Somit wird ein Register mit einer Länge von 514 Bits, einschließlich Vorzeichenbit, zur Speicherung von R1 . veirwendet. Demgemäß wird ein Addierer mit einer Breite von 514 Bit zur Durchführung der Operation der Gl. (20) verwendet. Bei der Operation der Gl. (18) werden 500 Bits für R.,, · aelöscht und 504 Bits, 503 Bits, 502 Bits und 501 Bits werden für M. in Übereinstimmung mit den Werten i--0, 1, 2 bzw. 3 gelöscht. Ein Addierer zur Berechnung von X" kann wegen der
-13 13 ^
Bedingung 2 <X'.'<2 ein Addierer mit. einer Bitbreite von 14 -- einschließ.! ich Vorzeichenbit - sein.
Wie früher beschrieben, kann die Operation ChM, * M., mod n/ die für die Verschlüsselungs-Berechnung erforderlich ist, in acht Schritten ΊΓ bis (δ) durchgeführt werden. Später beschriebene Ausführungsbeispiele der Erfindung führen eine der artige Berechnung durch. D. h. es wird eine Quotientenberechnungseinheit, eine Hauptaddiereinheit und eine Steuerung νυ·:- 35
f gesehen. An die Quotientenberechnungseinheit werden M1, M, ,, η und R-: ,ι zur Durchführung einer Operation
Q. = [(M,χM9 .+2X*R. ,)*n] angelegt. Der Hauptaddiereinheit
werden M1, M_ . , Q., R.,-, und η angelegt, um eine Operation λ '»j J J+J-
M, jcM_ .+2 R. ,-i-Q-'n durchzuführen. Die Steuerung steuert -1- *f J J+J- J
die Quotientenberechnungseinheit und die Hauptaddiereinheit derart, daß diese Operationen in der Reihenfolge j=fc,a-l, ... .1. durchgeführt werden. D. h. die Operation M,xM„ mod η wird durch gleichzeitige Ausführung der Multiplikation und Division in absteigender Reihenfolge durchgeführt, wie dies durch die Reihenfolge j =ä, &-1, ... 1 verdeutlicht wird. Auf diese Weise kann die Berechnung mit hoher Geschwindigkeit durchgeführt werden. Weiterhin kann die Berechnung in der Quotientenberechnungseinheit durch Löschung und Multiplikation, die auf Gl. (10) beruht, weiter beschleunigt werden. Durch Verwendung des Übertragsicherstellungs-Addierers kann die Addition und Subtraktion in der Hauptaddiereinheit um die für die Übertragfortpflanzung erforderliche Zeit beschleunigt werden. Dies ist sehr wichtig, da die Anzahl der Stellen bzw. Ziffern von M und η sehr groß ist und da die Anzahl der Berechnungen groß ist.
Bei der Erfindung ist die Hauptaddiereinheit in eine Viel-
zahl von Slice- bzw. Scheibenabschnitte von gleicher Funktion unterteilt. An die Scheibenabschnitte werden sequentiell M, und η angelegt, während sie für jede konstante Breite ihrer ganzen Dualzahlen unterteilt sind. Gemeinsam mit diesen Wer-
werden
ten M„ . und Q. an die Scheibenabschnitte geliefert. Fur ne-
' 3 3
den Satz bestehend aus M1, n,"Q., M0 . und R·,·,, wird eine Operation R.=M.xM, _.+2 »R. ,~Q.. *n durchgeführt. Die Scheibenabschnitte sind über Signalleitungen in Kaskade geschalten, f.o diiß csir. Toil jede:-" Rec'ion-Tgebnj ?ros an einen Scheibonab- -ichnitt hüherer Ordnung angelegt werden kann. In jedem Schei-
JZZÖU IO
Ί benäbschnitt sind, falls erforderlich, ein oder mehrere Register zur Speicherung der unterteilten Teile von M, n, e, R. 'und C vorgesehen. Durch eine derartige Unterteilung der Hauptaddiereinheit in Scheibenabschnitte kann jeder Scheibenabschnitt einfach als ein Großintegrations-(LSI)Bauteil hergestellt werden, und zwar selbst mit Hilfe der gegenwärtigen LSI-Technologie, so daß letztlich das Schlüsselsystem mit niedrigen Kosten erstellt werden kann. Außerdem können durch Vergrößerung oder Verkleinerung der Anzahl der Scheiben- bzw. •jO Slice-Abschnitte, die Längen der Chiffrier- und Dechiffriercodes e und d leicht variiert werden.
Durch Anwendung einer derartigen Unterteilung der Hauptaddiereinheit in Scheibenabschnitte bei einem Fall, bei dem zur Be- -jc rechnung von M,· M_ mod η die Multiplikation M. * M„ vor der Division durch η durchgeführt wird- kann das Schlüsselsysteni mit geringen Kosten hergestellt werden.
Die Erfindung wird im folgenden anhand der Zeichnungen näher erläutert. Es zeigen:
Fig. 1 ein Blockdiagramm zur Verdeutlichung des Prinzips einer bekannten Technologie für das RSA-Schi üe.s;elsystem;
Fig. 2 ein Blockdiagramm zur Verdeutlichung des Prinzips
des erfindungsgemäßen Schlüsselsystems;
Fig. 3 ein Blockdiagramm zur Verdeutlichung des Prinzips ^q der Unterteilung einer Hauptaddiereinheit;
Fig. 4A bis 4 Z und 5A bis 5Q
Symbole von verschiedenen Funktionen, die in den Zeichnungen verwendet werden;
Fig. 6 ein Blockdiagramm zur Verdeutlichung der gesamten
Anordnung eines Ausführungsbeispiels der Erfindung;
Fig. 7 ein Blockdiagramm zur Verdeutlichung eines Beispiels eines in Fig. 6 verwendeten Quotientenberechnungs-
Vorverarbeitungsabschnitts 60;
Fig. 8 ein Blockdiagramm zur Verdeutlichung eines Beispiels eines in Fig. 6 verwendeten Quotientenberechnungs-Nachverarbeitungsabschnitts 61;
Fig. 9 ein Diagramm zur Verdeutlichung eines speziellen
Beispiels einer in Fig. 8 verwendeten Und-Elementengruppe 70;
Fig. 10 ein Diagramm zur Verdeutlichung eines speziellen Ausführungsbeispiels eines in Fig. 8 verwendeten Konstanten~Generators 71;
Fig. 11 ein Diagramm zur Verdeutlichung eines speziellen
Beispiels eines in Fig. 8 verwendeten Addierers 72;
Fig. 12 ein Diagramm zur Verdeutlichung eines speziellen Beispiels eines in Fig. 8 verwendeten Übertragsicherstellungs-Addierers CSAUQl;
Fig. 13 ein Diagramm zur Verdeutlichung eines Beispiels eines in Fig. 8 verwendeten Addierers 73„;
3Q Fig. 14 ein Diagramm zur Verdeutlichung eines Beispiels eines in Fig. 8 verwendeten Addierers 74,;
Fig. 15 ein Blockdiagramm zur Verdeutlichung eines speziellen uaispxels eineis in Fig, 6 verwendeten Slice- bzw. Schexbenabijchnitts;
ο^ζ,ου ιο
Fig. 16 ein Diagramm zur Verdeutlichung eines Beispiels eines in Fig. 15 verwendeten M-Registers 101;
Fig. 17 ein Diagramm zur Verdeutlichung eines Beispiels eines in Fig. 15 verwendeten n-Registers 103;
Fig. 18 ein Diagramm zur Verdeutlichung eines Beispiels eines in Fig. 15 verwendeten C-Registers 104;
Fig. 19 ein Diagramm zur Verdeutlichung eines Beispiels eines in Fig. 15 vorgesehenen M2-Registers 105;
Fig. 20 ein Diagramm zur Verdeutlichung eines Beispiels
eines in Fig. 15 verwendeten e-Registers 102; 15
Fig. 21 ein Diagramm zur Verdeutlichung eines Beispiels eines in Fig. 15 verwendeten Selektors 106;
Fig. 22 ein Diagramm zur Verdeutlichung eines Beispiels einer in Fig. 15 vorgesehenen Hauptaddiereinheit
110;
Fig: 23 ein Diagramm zur Verdeutlichung eines speziellen Beispiels einer in Fig. 22 verwendeten M1-M0 .. Berechnungsabschnitt 140;
Beispiels eines in Fig. 22 verwendeten -Q.»η
Fig. 24 ei.η Diagramm zur Verdeutlichung eines speziellen Beispiels eines in Fig. 22
Berechnungsabschnitts 150;
30
Fig. 25 ein Diagramm zur Verdeutlichung eines speziellen Beispiels eines in Fig. 22 verwendeten Addierabschnitts 160;
Fig. 26 ein Diagramm zur Verdeutlichung eines speziellen
•32280T8
Beispiels eines in Fig. 25 verwendeten Übertrag-
sicherstellungs-Addierers 161;
Fig. 27 ein Diagramm zur Verdeutlichung eines Beispiels
eines in Fig. 22 verwendeten Registerabschnitts
17V
Fig. 28 ein Diagramm zur Verdeutlichung eines Beispiels
eines in Fig. 22 verwendeten Addierer 180;
Fig. 29 einDiagramm zur Verdeutlichung eines Beispiels eines in Fig. 22 verwendeten Übertragdetektors 190;
Fig. 30 ein Diagramm zur Verdeutlichung des Kopplungszu- -J5 stands des M-Registers 101?
Fig. 31 ein Diagramm zur Verdeutlichung des Kopplungszustandes des e-Registers 102;
Fig. 32 ein Diagramm zur Verdeutlichung des Kopplungszustands des n-Registers 103;
Fig. 33 ein Diagramm zur Verdeutlichung des Kopplungszustandes des C-Registers 104;
Fig. 34 ein Diagramm zur Verdeutlichung des Kopplungszustandes des M2~Registers;
Fig. 35 ein Diagramm zur Verdeutlichung des Kopplungszu-3Q Standes des Selektors 106;
Fig. 36 ein Diagramm zur Verdeutlichung des Kopplungszustandes der Hauptaddiereinheit 110;
Fxg. 37 ein Diagramm zur Verdeutlichung des Kopplungszu-
' Standes des M ,· M, Berechnungsabschnitts 140;
Fig. 38 ein Diagramm zur Verdeutlichung des KoppXungszu-5
Standes des -Q.«n Berechnungsabschnittes;
Fig. 39 ein Diagramm zur Verdeutlichung des Kopplungszustandes des Addierabschnitts 160;
Fig. 40 ein Diagramm zur Verdeutlichung des Kopplungszu-Standes des Registerabschnitts 170T;
Fig. 41 ein Diagramm zur Verdeutlichung des Kopplungszustandes des Addierers 180;
Ί5 Fig. 42 ein Diagramm zur Verdeutlichung des Kopplungszustandes des Übertragdetektors 190;
Fig. 43 eine Erläuterung einer Operation bei den in den • Fig. 39 bis 41 dargestellten Kopplungszuständen;
Fig. 44 ein Diagramm zur Verdeutlichung einer Anordnung
von Bits bei dem in Fig. 37 dargestellten Kopplungszustand;
Fig. 45 eine Erläuterung der Operation bei dem in Fig. dargestellten Kopplungszustand?
Fig. 46 eine Erläuterung einer Operation bei dem in Fig. 38 dargestellten Kopplungszustand;
Fig. 47 eine Erläuterung einer Operation bei dem in Fig.
40 dargestellten Kopplungszustand?
Fig. 48 eine Erläuterung einer Operation bei dem in Fig. 42 dargestellten Kopplungszustand;
Pig. 49 ein Blockdiagramm zur Verdeutlichung des Schemas einer Steuerung 8;
Fig. 50A1 bis 50U1 und Fig. 50A2 bis 50U2 ' insgesamt eine Impulsübersicht zur Verdeutlichung
des Schemas der Operation der in Fig. 6 verwendeten Steuerung 8;
Fig. 51 ein Diagramm zur Verdeutlichung eines speziellen Beispiels eines ersten Steuerabschnitts 230 der
Steuerung 8;
Fig. 52A bis 52J
insgesamt eine Impulsübersicht zur Verdeutlichung der Operation des ersten Steuerungsabschnitts 230;
Fig. 53 ein Diagramm zur Verdeutlichung eines speziellen Beispiels eines zweiten Steuerabschnitte 250 der Steuerung 8;
Fig. 54A bis 54G
insgesamt eine Impulsübersicht zur Verdeutlichung der Operation des zweiten Steuerabschnitts 250;
Fig. 55 ein Diagramm zur Verdeutlichung eines speziellen Beispiels eines dritten Steuerabschnitts 260 der Steuerung 8;
Fig. 56A bis 56H
insgesamt, eine Impulsübersicht zur Verdeutlichung
der Operation des dritten Steuerabschnitts 260;
Fig. 57 ein Diagramm zur Verdeutlichung eines speziellen Beispiels eines vierten Steuerabschnitts Ιΐ'ύ der Steuerung 8;
OZZOU I ö
Fig. 58a bis 58H
insgesamt eine Impulsübersicht zur Verdeutlichung der Operation des vierten Steuerabschnitts' 270;
Fig. 59 ein Diagramm zur Verdeutlichung eines speziellen Beispiels eines fünften Steuerabschnitts 280 der Steuerung 8;
Fig. 6OA bis 6OD
insgesamt eine Impulsübersicht zur Verdeutlichung
der Operation des fünften Steuerabschnitts 280;
Fig. 61 ein Diagramm zur Verdeutlichung einer modifizierten Form des Ausführungsbeispiels gemäß Fig. 6, bei der die Hauptaddiereinheit 110 gekoppelt i «<t
und als weitere Einrichtung zur Ausglejchsrechnung verwendet wird;
Fig. 62 ein Diagramm zur Verdeutlichung eines anderen 3aispiels eines in
nungsabschnitts';
spiels eines in Fig. 22 dargestellten --Q..n Berech
Fig. 6JJ bis 65
Diagramme/ die die Logik der Schaltkreise 502 bis 504 gemäß Fig. 62 in dieser Reihenfolge zeigen;
Fig. 66 ein Diagramm zur VerdeutJichung eines anderen Bei spiels einer Quotientenberechnungseinheit 9;
Fig. 67 ein Diagramm zur Verdeutlichung der Logik einer Schaltung 629 gemäß Fig. 66;
Fig. 68 ein Blockdiagramm zur Verdeutlichung der Hauptaddiereinheit .in dem SchlüsselsysLem für den Fall, daß die Multiplikation und die Division gleichzei
tig durchgeführt werden;
Fig. 69 ein Blockdiagramm zur Verdeutlichung der Hauptaddiereinheit in dem Schlüsselsystem für den Fall, bei dem die Multiplikation und Division nacheinander durchgeführt werden;
Fig. 70 ein Diagramm zur Verdeutlichung eines speziellen
Beispiels eines Registerabschnitts 170γ gemäß Fig.69;
Fig. 71 ein Diagramm zur Verdeutlichung eines Beispiels der in Fig. 68 gezeigten Hauptaddiereinheit, die unter
teilt ist;
Fig. 72 ein Diagramm zur Verdeutlichung eines Beispiels der in Fig. 69 dargestellten Hauptaddiereinheit, die unterteilt ist; und
Fig. 73 ein Diagramm zur Verdeutlichung eines anderen Ausführungsbeispiels der Erfindung, bei dem in jedem Scheibenabschnitt der Quotientenrechner 9 vorgesehen ist.
Um das Verständnis der Erfindung zu erleichtern, wird zuerst eine Beschreibung einer bekannten Technologie für die RSA-Verschlüsselung gegeben. Fig. 1 zeigt das Prinzip einer bekannten Technologie, die Berechnungen für die RSA-Verschlüsselung durchführt. Ein M-Regdster 1, ein e-Register 2, ein n-Register 3 und C-Register 4 sind zur Speicherung der Variablen 14, e, η bzw. C vorgesehen. Die Inhalte des !-!-Registers 1
3Q und des C-Regist'ers 4 werden über Signc'lleitungen 12 bzw. 11 einem Selektor 6 zugeführt. Der Selektor 6 wählt eines der Signale von den Signalleitungen 11 und 12 in Übereinstimmung mit einem Schaltsignal von einer Schaltsignalleitung 13 aus und liefert das ausgewählte Signal an ein M?~-Register 5. Einem
JZZöU IS
<j Multiplizier-/Dividierwerk 7 wird ein Signal M, auf einer Signalleitung 14, ein Signal M„ von dem M_-Register 5 auf einer Signalleitung 15 und ein Signal η von dem n-Register auf einer Signalleitung 17 zugeführt. Das höchstwertige Bit (MSB) des e-Registers 2 wird über eine Signalleitung 18 einer Steuerung 8 zugeführt^ die dann wieder den Selektor 6 in Übereinstimmung mit dem des anliegenden Signals e steuert. Jede der Signalleitungen setzt sich aus einer Vielzahl von Signalleitern zusammen.
Zuerst werden die Variablen M, e und η in den Registern 1, bzw. 3 gespeichert. Das e-Register 2 weist eine nach links gerichtete . Kreis-Verschiebefunktion auf. Vor dem Exponentialverfahren wird der Inhalt des e-Registers 2 nach ^K links verschoben bis das am weitesten links stehende Bit des e-Registers 2 "1" wird. Der Grund hierfür ist darin zu sehen, daß die Anzahl der Berechnungen in den Schritten 2a und 2b des Exponentialverf ahrens dadurch reduziert weir de η kann, indem man die Berechnung mit einer Bedingung ei = 1 beginnt.
Dann speichert die Steuerung 8 +1 in das C-Register 4. Dargestellt durch C beträgt der Inhalt des C-Registers 4 C=I. Der obige Vorgang stellt die Operation des Schrittes 1 des Exponentialverfahrens dar.
Anschließend führt die Steuerung 8 die Schritte 2a und 2b des Exponentialverfahrens in der folgenden Art durch:
An der Eingangssignalleitung 17 des Multiplizier-y/Dividier-■/Q werks 7 steht immer die Variable η an. Die Signale an den
Eingangssignalleitungen 14 und 15 des Multiplizier-ZDividierwerks 7 werden durch M-. bzw. ML dargestellt und ein Signal an einer Ausgangssignalleitung 16 des Multiplizier-ZDividierwerks 7 durch R. Da das C-Register 4 mit der Signalleitung vr 14 verbunden ist, wird M, * C ausgeführt. Der Selektor 6
wählt die Eingangssignalleitung 11 in Übereinstimmung mit dem Signal auf der von der Steuereinheit 8 abgehenden Signalleitung 13 aus und der Inhalt C des C-Registers 4 wird in dem M^-Register 5 verriegelt. Demzufolge wird das Signal M_ auf der Signalleitung 15 M2 + C. Anschließend führt das Multiplizier-/Dividierwerk 7 die Operation R = M, χ M2 mod η aus und liefert das Signal R an die Ausgangssignalleitung 16, so daß der Inhalt des C-Regi&ters 4 R wird. Somit wird C «■ R ausgeführt. Der obige Vorgang stellt die Operation des Schrittes 2a des Exponentialverfahrens dar.
Die Operation des Schrittes 2b des Exponentialverfahrens unterscheidet sich von der Operation das Schrittes 2a nur durch die Wirkungsweise des Selektors 6. D. h. die Eingangesignal-Ί5 leitung 12 des Selektors 6 wird angewählt und der Inhalt des M-Registers 1 wird in dem M--Register 5 verriegelt, daraus resultiert M„ <- M.
Die Steuerung 8 führt die Operationen der Schritte 2a und 2b durch, v/ährend der Inhalt des e-Registers 2 Bit für Bit für
jedes c. der Variablen e = £ e.*21 nach links verschoben 1 i=0 x
wird. Durch eine solche Operation erhält der Inhalt C des C--Registers 4 den Wert C = Me mod n, und zwar gestützt auf das Exponentialverfahren. Nebenbei bemerkt ist das Prinzip der Berechnungsreihenfolgfc des in Fig. 1 gezeigten RSA-Schlüsselsystems bekannt, jedoch wurde der Aufbau des darin verwendeten Multiplizier-/Dividierwerks nicht offenbart tind das Schlüsselsystem wurde nicht in praktische Produkte umgesetzt.
Fig. 2 stellt eine Verdeutlichung des Prinzips des erfindungsgemäßen Schlüsselsystems dar, wobei die Teile, die denen in Fig. 1 entsprechen r durch die gleichen Bezugszeichen gekenn-
Z Z Ö U I ö
zeichnet sind. In Fig. 2 ist das in Fig. 1 verwendete Multiplizier-/Dividierwerk in einen Quotientenrechner 9 und einen Hauptaddierer 10 unterteilt. Der Quotientenrechner 9 führt die Operation der Gl. (5),d.h. die Division zur Erzielung des Quotienten, unter Verwendung der Gl. (18) und (19) durch. Der Hauptaddierer 10 besteht aus dem verbleibenden Teil des Multiplizier-/Dividierwerks 7,von dem der Quotjentenrechner 9 getrennt ist, und er führt hauptsächlich die Additionen in den Gl. (20) und (23) durch. D. h. in dem Hauptaddierer 10 wird beispielsweise, wie in Gl. (20) gezeigt, die Multiplikation und Division gleichzeitig in absteigender Reihenfolge, beginnend mit der höchstwertigen Ziffer, durchgeführt, was letztlich eine Hochgeschwindigkeitsberechnung ermöglicht. Bei der Erfindung ist der Quotientenrechner 9 von dem Multiplizier-/Dividierwerk 7 getrennt. Dies ist eines der Merkmale der Erfindung, wodurch sich die Erfindung von dem Stand der Technik unterscheidet. Da der Quotientenrechner 9 getrennt ist, werden Signalleitungen 19 bis 2.4 hinzugefügt, um den Quotientenrechner 9 mit anderen Teilen zu verbinden. Der Teil ohne den Quotientenrechner 9 in Fig. 2, d. h. der Teil, der durch das Bezugszeichen 25' gekennzeichnet ist, wird nachfolgend als "in Scheiben schneidbarer bzw. aufteilbarer Abschnitt" bezeichnet. Es ist klar, daß mit einer derartigen Anordnung, wie sie in Fig. 2 gezeigt ist, die Verschlüsseiungsberechnung durch das Exponentialverfahren so durchgeführt werden kann, wie es der Fall bei dem bekannten Beispiel gemäß Fig. 1 ist. Da in diesem Fall die Gl. (5) und i6) verwendet werden, wird das Signal M0 zu einem Signal M0 ..
Fig. 3 zeigt das Prinzip der aufgeteilten Anordnung des erfindungsgemäßen Schlüsselsystems. In dem aufteilbaren Bereich 25' gemäß Fig. 2 werden die Teile mit Ausnahme der Steuerung 8 in beispielsweise acht unterteilt, wobei jede der acht Gruppen mit einer Steuerung 8 versehen ist; auf diese Weise wer-
den'acht aufgeteilte Abschnitte 25, bis 25„ gebildet. Durch die Unterteilung in acht Gruppen wird hier z. B. das M-Register 1 mit einer Bitlänge von 512 in jeweils 64 Bi.ts unterteilt, um acht 64-Bit-Register 1, bis 1„ auszubilden, durch die eine 512-Bit-Information dargestellt wird. Die Register 2, 3, 4 und 5 werden in Register 2, bis 2„, 3, bis 3g, 4, bis 4g bzw. O1 bis 5g unterteilt. Der Selektor 6 ist ähnlich in acht unterteilt. Auch der Hauptaddierer 10 gemäß Fig. 2 ist in acht unterteilt, wobei jeder eine 64-Bit-Information, die von der 512-Bit-Information abgetrennt wurde, bearbeitet.
Als Ergebnis der Unterteilung des aufteilbaren Abschnitts 25' werden Signalleitungen 26 und 27 erforderlich. Signalleitungen 28,, 28„ und 28, stellen Eingangssignalleitungen für die Variablen e, η bzw. M dar, eine Signalleitung 29 hingegen
■{5 stellt eine Äusgangssignalleitung -für die Variable C dar. Auf diese Weise kann der aufteilbare Bereich leicht unterteilt werden, da der Quotientenrechner 9 darin nicht eingeschlossen ist. Das Schlüsselsystem eines Ausführungsbeispieis der Erfindung, das auf dem in Fig. 3 gezeigten Prinzip gründet, v/eist eine Vielzahl von aufgeteilten Abschnitten, die durch gleichmäßige Unterteilung des aufteilbaren Abschnitts 25' des Schlüsselsystems gemäß Fig. 2 und durch Verbindung jedes unterteilten Abschnitts mit der Steuerung erhalten werden, und einen Quotientenrechner auf. Diese Anordnung hat
J5 folgende Eigenschaften.
Dsr unterteilbare Bereich 25' gemäß Fig. 2 ist unter Verwendung der gegenwärtigen LSI-Technologie schwierig in einem Chip herzustellen, da dieser 100 bis 200 K Gatter benötigen 3Q würde, wenn er als Hardware realisiert würde. Entsprechend diesem Ausführungsbeispiel sind jedoch alle aufgeteilten Abschnitte 25, bis 25q in der Größenordnung von 15 bis 30 K Gatter, womit diese durch die bestehende LSI-Technologie ausgeführt v/erden können. Da diese aufgeteilten Abschnitte
'322BÜ1B
■j gleichzeitig durch den gleichen Chiptyp ausgebildet werden können, ist die Anzahl der Prozesse, die in dem Entwurf des Schlüsselsystems enthalten ist, gering, was die Herstellungskosten reduziert.
Weiterhin ist es durch Erhöhung oder Verringerung der Anzahl
der aufgeteilten Abschnitte möglich, Schlüsselsysteme mit geringen Kosten auszuführen, die hinsichtlich der Chiffrier- und/oder Dechiffriercodes η und e verschiedene Längen aufwei-•j0 sen. Bezüglich dieses Zusammenhangs wird später eine Beschreibung erfolgen.
Vorstehend wurden die aufgeteilten Abschnitte 25, bis 25ft derart beschrieben, als ob diese eine 64-Bit-Information be-
ic arbeiten würden, jedoch bearbeitet der Hauptaddierer genau genommen 66 Bits, wobei 64 Bits hiervon für den vorher beschriebenen Zweck verwendet werden. Dies wird später beschrieben. Der Quotientenrechner 9 kann in Übereinstimmung mit der Art seiner Verarbeitung in einen Quotientenvorbearbeitungsab--
2Q schnitt und einen Quotientennachbearbeitungsabschnitt unterteilt werden. Die Signalleitungen 26, 21 und 2 2 werden nachher als Exponentialsteuerleitung, Multiplikationssteuerleitung bzw. Divisionssteuersignalleitung bezeichnet.
Symbolkonventionen
Vor einer detailierten Beschreibung der Erfindung wird eine Beschreibung der Symbole vorgenommen, die zur Darstellung verschiedener Funktionen in den Figuren verwendet werden.
Fig. 4A zeigt eine Anschlußklemme 30, die nicht mit irgendwelchen Teilen verbunden ist, d. h. eine offene Anschlußklemme. Übrigens besteht die Signalleitung gewöhnlich aus mehr als einer Signalleitung und in diesem Fall repräsentiert die offene Anschlußklemme mehrere offene Anschlußklemmen.
Fig. 4B zeigt, daß a + b Signalleitungen (a=l, 2, ... und b=l, 2, ...) in a Signalleitungen und b Signalleitungen aufgezweigt werden. In diesem Fall übertragen die linken a Signalleitungen ein a Wählbit von der höchstwertigen Ziffernseite der a + b Signalleitungen, dargestellt als Binärzahl, wohingegen die rechten b Signalleitungen ähnlich ein b-Wählbit von der niedrigstwertigen Seite übertragen. Die Pfeile der Signalleitungen verdeutlichen die Richtung der !Signalübertragung. Dies ist für alle beigefügten Figuren gleich.
-JO Falls die Abzweigung durch seitliche Leitungen (wie in Fig. 4C dargestellt) verdeutlicht wird, so stellt die obere Seite die höhere Ziffer dar. D. h. im Falle eines als Binärzahl dargestellten Signals verdeutlicht die Signalleitung auf der rechten Seite in Richtung der Signalübertragung die
Ig höchstwertige Ziffer und die Signalleitung auf der linken Seite die niedrigstwertige Ziffer. Fig. 4D zeigt, daß b Gruppen von Signalleitungen, wobei jede a Leitungen einschließt, im ganzen beschrieben werden,
2Q Fig. 4E zeigt eine UND-Logik mit zwei Eingängen. Dies findet auch Anwendung bei einer UND-Logik mit drei oder mehr Eingängen..
Fig. 4F zeigt eine NAND- bzw. negierte UND-Logik mit zwei ^r; Eingängen. Dies gilt auch für eine negierte UND-Logik mit drei oder mehr Eingängen. Fig. 4G zeigt eine ODER-Logik, Fig. 4H eine Exklusiv-ODER-Logik und Fig. 4Ϊ eine logische Negation der Exklusiv-ODER-Logik und Fig. 4J eine NICHT-Logik. Fig. 4K zeigt, daß ein Signalwert "0" geliefert wird. χη Fig. 4L, daß ein Signalwert "1" geliefert wird. Fig. 4M zeigt einen Ein-Bit-Volladdierer. Kennzeichnet man die Signale auf den Signalleitungen 31,, 3I2 und 31- durch A, B und C (A=O,1; B=O, 1; C=O, 1), so ergeben sich die Daten auf der Signalleitung 32, zu A + B ,+ C (wobei.+ ein Exklusiv-ODER darstellt)
L L· O U IO
und" die Daten auf der Signalleitung 32„ zu A'B+B'C+OA (wobei UND durch t und ODER durch + gekennzeichnet ist)
Fig. 4N zeigt einen Selektor mit zwei Eingängen. Zwei Eingangs-Signalleitungen 34~ und 34, und eine Ausgangssignalleitung bestehen jeweils aus a (a=l, 2, ...) Signalleitungen. Weist ein Selektoreingangsschaltsignal auf einer Selektroeingangsschaltsignalleitung 33 den Wert 1 auf, so wird das Signal 34, ausgewählt. Weist hingegen das Signal auf der Signalleitung
IQ 33 den Wert 0 auf, wird die Signalleitung 34_ ausgewählt. Fig. 4P zeigt ein Master-Slave-D-Flip-Flop, das mindestens eine mit seiner Datenanschlußklemme D verbundene Eingangssignalleitung 36, eine mit seiner Takt-Anschlußklemme CK verbundene. Eingangssignalleitung 37 und eine mit seiner Q-An-
Ί5 schlußklemme verbundene Ausgangssignalleitung 38 aufweist.
In manchen Fällen ist das Flip-Flop weiterhin mit einer Ausgangssignallextung 39. die mit seiner Q-Anschlußkleimne verbunden ist, einer Lösch-Signalleitung 40 und einer Vorwahl--Signalleitung 41 versehen. Wird seitens der Löschsignallei-
2Q tung 40 ein Signal "1" angelegt, so nimmt das Ausgangssignal auf der Ausgangssignalleitung 38 den Wert "0" an. Wird seitens der Vorwählsignalleitung 41 ein Signal "1" angelegt, so nimmt das Ausgangssignal auf der Ausgangssignalleitung 38 den Wert "1" an. Dieses Flip-Flop liest Daten auf der Lei-. tung 36 auf den Anstieg eines Taktimpulses auf der Leitung 37 hin ein. Fig. 4Q zeigt ein Trigger-Flip-Flop, das eine Triggereingangssignalleitung 42, eine Löschsignal-Eingangssignalleitung 40 und eine mit seiner Q-Anschlußklemme verbundene Ausgangssignalleitung 38 aufweist, wobei das Vorzeichen
2Q der Ausgangsgröße Q auf die Erregung des Trigger?jingangs des Flip-Flops hin umgekehrt wird. Fig. 4R zeigt ein arideres Symbol des Master-Slave-D-Flip-Flops der Fig. 4P. Dieses wird verwendet, wenn das Flip-Flop als eine Ein-Takt-Verzögerungsschaltung Verwendung findet. Fig. 45 zeigt einen Zähler, der
eine Löschsignalleitung 43, eine Eingangssignalleitung 44 für die zu zählenden Impulse und eine Ausgangssignalleitung 45 aufweist, wobei man auf der Ausgangssignalleitung· 45 ein Signal "1" erhält, nachdem ein 513ter Eingangsimpuls gezählt wurde. Die Zahl "512" des CNT512 bedeutet, daß dieser Zähler 512 mal Impulse zählt und der 513te Impuls am Ausgang eine "1" tiervorruft. Fig. 4T verdeutlicht die Arbeitsweise des in Fig. 4S gezeigten Zählers. Nachdem der Zähler an einem Zeitpunkt 46 mit einem Löschsignal beaufschlagt wurde, zählt der Zähler CNT512 512 mal Impulse, wobei nach Erfassung des 513ten Impulses sein Ausgangssignal in diesem Moment 47 den Wert "1" annimmt. Ebenso wie dieser Zähler gibt es Zähler, die 128 mal, sechs mal bzw. zwei mal Impulse zählen. Diese Zähler sind in der gleichen Weise wie im Falle der Fig. 4S durch CNT128, CNT6 und CNT2 gekennzeichnet.
Fig. 4U zeigt als Ganzes a (a=l, 2, .;.) UND-Gatter, wie in Fig. 4V verdeutlicht. Fig. 4W zeigt als Ganzes a (a=l, 2,...) ODER-Gatter, wie in Fig. 4X gezeigt. Fig. 4Y zeigt als Ganzes a (a=l, 2, ...) NICHT-Schaltungen, wie in Fig. 4Z verdeutlicht. Fig. 5A ist identisch mit Fig. 5B, bei welcher Eingangs- und Ausgangsleitungen direkt verbunden sind. Fig. 5C zeigt, daß eine b-Bit-Eingangsgröße durch a Bits (mit b>a) nach oben geschoben wird, wie in Fig. 5D gezeigt. Fig. 5E zeigt, daß eine b-Bit-Eingangsgröße durch a Bits nach unten geschoben und als (b-a) Bits (mit b>a) ausgegeben wird, wie in Fig., 5F gezeigt. F1Ig. 5G zeigt, daß eine a-Bit~Eingangsgröße ausgegeben wird, in dem auf seiner hochrangigen Seite eine Null addiert wird, wie in Fig 5H dargestellt. Fig. 51 zeigt, daß hochrangige 10 Bits einer 38-Bit-Eingangsgröße unverändert ausgegeben und daß die niederrangigen 28 Bits in Schritten von 14 Bits halbiert und vier Bits,zwischen hochrangigen zwei Bits und niederrangigen acht Bits, jeder Gruppe zusammen mit den obigen hochrangigen zehn Bits ausgegeben werden,
JZZÖU lö
wie'in Fig. 5J verdeutlicht. Fig. 5K verdeutlicht, daß von einer 64-Bit-Eingangsgröße hochrangige vier Bits entfernt und vier Bits auf der niederrangigen Seite der Eingangsgröße hinzugefügt werden, um eine 64-Bit-Ausgangsgröße zu erhalten, wie in Fig. 5L gezeigt.
Fig. 5M zeigt, daß die Bezeichnung eines Signals auf einer Signalleitung 55 D-SIG lautet. Fig. 5N zeigt, daß 12 Arten von Steuersignalen auf der Signalleitung 55 vorhanden sind:
und ihre Bezeichnungen CTl bis CT12 lauten. Fig. 5P zeigt, daß fünf Signale an die Signalleitung 55 geliefert werden und daß ihre Bezeichnungen CLOCK, e-in, n-in, START bzw. C-out lauten. Fig. 5Q zeigt, daß die Anzahl der Signale auf einer Signalleitung 56 12 beträgt, daß die Signale mit CTl
Ί£ bis CT12 in dieser Reihenfolge benannt und daß sie in zwei Signale CT2 und CTl auf eine Signalleitung 57, ... in drei Signale CT5, CTIl und CT12 auf eine Signalleitung 58 usw. aufgezweigt werden.
Der Signalwerc auf der Signalleitung wird durch binäre Logik "0" oder "1" oder eine ganze Dualzahl, dargestellt als Zweierkomplement t angegeben.
Allgemeiner Aufbau eines Ausführungsbeispiels
Fig> 6 verdeutlicht den allgemeinen Aufbau eines Ausführungsbeispiels der Erfindung, bei dem die Teile, die jenen der Fig. 3 entsprechen, durch gleiche Bezugszeichen und Buchsta-3Q ben gekennzeichnet sind. Die Quotientenberechnungseinheit 9 ist in einen Quotientenberechnungs-Vorbearbeitungsabschnitt
60 und einen Quotientenberechnungs-Nachbearbeitungsabschnitt
61 unterteilt, wobei diese Bearbeitungsabschnitte 60 und 61 über eine Signalleitung 62 miteinander verbunden sind. Die
aufgeteilten Abschnitte 25, bis 25g sind mit Eingangssignalleitungen 63. bis 63Q, 65. bis 65O und 67. bis 67Q sowie Aus- χ οχ ο X ö
gangssignalleitungen «64. bis 64„ in dieser Reihenfolge versehen- Die Eingangssignalleitungen 67. bis 677 sind geerdet und geben einen Signalwert "0" ein, wohingegen die Eingangssignalleitung 67g einen Signalwert "1" eingibt. Der Signalwert "1" auf der Signalleitung 67g bedeutet, daß unter den aufgeteilten Abschnitten der aufgeteilte Abschnitt 25g sich am weitesten von der Quotientenberechnungseinheit 9 entfernt ur*d auf der Seite der niedrigstwertigen Ziffer befindet. Beliefert mit dem Signalwert "1",führt ein Teil des aufgeteilten Abschnitts 25ß eine spezielle Operation durch, die sich von den Operationen der aufgeteilten Abschnitte 25. bis 25? unterscheidet. Dies wird später beschrieben. Die Bezugszeichen
Ig 8. bis 8q kennzeichnen Steuerungen 8 in den individuellen unterteilten Abschnitten 25. bis 25O.
JL O
Dem Prinzip der Erfindung folgend wird das Kryptosystem gemäß Fig. 6 mit den Variablen seitens der Eingangssignalleitungen 28., 28 "udn 28., versorgt und führt die Operation CbM" mod η durch, um die Variable C auf der Ausgangssignalleitung 29 vorzusehen. Ähnlich werden die Variablen d, η und C von den Eingangssignalleitungen 28., 282 und 28, dem Schlüsselsystem zugeführt, falls die Operation M=C mod η durchgeführt wird, wobei die Variable M auf der Ausgangssignalleitung 29 vorgesehen wird.
Das Schlüsselsystem empfängt ein Arbeitssteuersignal von der Eingangssignalleitung 63. und die Steuerung 8. erzeugt ein Steuersignal für das gesamte Schlüsselsystem. Die Steuerungen 8O bis 8Q sind nicht in Betrieb. Mit anderen Worten, die aufgeteilten Abschnitte 25. bis 25R werden identisch iin Aufbau gemacht und eine der Steuerungen wird verwendet. Demzufolge kann - anstatt in jedem aufgeteilten Abschnitt eine Steuerung
O ΔΔΟΟ IO
vorzusehen - eine einzige Steuerung getrennt von den aufgeteilten Abschnitten vorgesehen werden, wie dies bei der Quotientenberechnungseinheit 9 der Fall ist.
Der Betriebszustand des Schlüsselsystems wird über die Ausgangssignalleitung 64.. nach außen gemeldet. Verschiedene Steuersignale, die für die Schlüssel-Berechnungen erforderlich sind,- werden nicht nur durch die Steuerung 8, , sondern auch durch den Quotientenberechnungs-Nachbearbsitungsabschnitt
•jQ 61 und andere Teile in den aufgeteilten Abschnitt 25, als der Steuerung 8, erzeugt. Die Bezeichnung der Signale auf der Exponent-iai-Steuersignalleitung 26, der Multiplikationssteuer-Signalleitung 21 und der Divisionssteuersignalleitung 22 lautet EXP-SEL, M-SIG bzw. D-SIG. Die Signalleitung 27 um-·
-jr faßt 12 leitungen, deren Bezeichnungen CTl bis CT12 in dieser Reihenfolge Deuten.
Quotientenberechnungs-Vorbearbeitungsabschnitt
Fig. 7 verdeutlicht den Quotientenberechnungs-Vorbearbeiturigsabschnitt, der in Form eines Festwertspeichers (ROM)68 aufgebaut ist. ROM 68 wird anstelle der Operation der Gl.(15) ver-
— 504
wendet. Wird ein Wert [η·2 j als eine Adresse auf der Sig-
oc nalleitung 19 vorgesehen, so sieht der Festwertspeicher ROM auf der Signalleitung 62 einen Wert [2 *fn*2~ ]] vor, der darin vorberechnet und gespeichert wird. Mit einem derartigen Aufbau kann der durch Gl. (15) berechnete Wert von ν auf der Signalleitung 62 erhalten werden, indem man hochrangige Bits
jo der Variablen η verwendet.
Quotientenberechnungs-Nachbearbeitungsabschnitt
Fiq. 8 verdeutlicht den allgemeinen Aufbau des Quotientenbe-
rechnungs-Nachbearbeitungsabschnitts 61, der die Operationen
der Gl. (18) und (19) ausführt. Das Signal M-SIG auf der Multiplikationssteuersignalleitung 21 setzt sich aus vier Signalen zusammen, wobei jedes einen Signalwert e4(i-l)+i*21 (i=0,l,2,3) aufweist. Übrigens ist
3 .
Σ 6Af- n,-'2' = M~ . aus Gl. (14) ersichtlich. Seitens i=0 1^*1' r £'^
der Eingangssignalleitung 24 wird ein Wert angelegt, der aus 11 hochrangigen Bits von M, besteht und durch Löschung von IU 501 niederrangigen Bits von M, erhalten wird, wobei M, in Gl. (J8) durch 512 Bits dargestellt wird. Seitens der Eingangssignalleitung 23 wird ein binärer Signalwert von 14 Bits angelegt, den man durch Löschung von 500 niederrangigen Bits von R... . (i-0,1) erhält, wobei R. , . in Gl. (18) durch
J+Jl 3+1,1
Ta 514 Bits dargestellt wird. Eine UND-Elementengruppe 70 führt die logische UND-Verknüpfung von M, und δ... ,.+.•21»2~J (i=0,1,2f3,4) in Gl. (18) durch. Ein Übertragsicherstellungs-Addiercr (CSA-Ql) führt die Addition in Gl. (18) zur Berechnung des Wertes von XV durch. Ein Übertragsicherstellungs-Addierer (CSA-Q2) 72 weist sieben Eingangsgrößen und zwei Ausgangsgrößen auf, die alle ganze Dualzahlen mit einer Breite von 14 Bits darstellen. Eine UND-Eiementengruppe 73.. führt die logische ÜND-Verknüpfung , die für die Berechnung von XV χ ν in Gl. (19) erforderlich ist, durch. D. h. an die UND-Elementengruppe 73. wird seitens der Signalleitung der Wert ν bestehend aus sechs Bits sowie der vom Addierer 72 stammende Wort XV angelegt und die UND-Elementengruppe 73, führt die UND-Verknüpfung jeder Ziffer ν mit jeder Ziffer von XV durch, wobei ν und XV jeweils als Binärziffer dargestellt sind.
Die Ergebnisse der UND-Verknüpfung werden durch einen Übertragsicherstellungsaddierer (CSA-Q2) 73„ mit 12 Eingängen und 2 Ausgängen addiert, um den Wert XV χ ν zu erhalten. Jede Ausgangsgröße des Addierers 732 wird einer Schaltung 733
Ί angelegt, in der 13 Bits der Ausgangsgröße gelöscht werden, wobei ein Wert [XV χ ν χ 2 ] als Summe der Signale, die auf den Signalleitungen 73. und 73,. vorgesehen werden, erhalten wird. Die Signale auf den Signalleitungen 73 und 73,- werden in dem einen Ausgang aufweisenden Übertragfortpflanzungsaddierer 74, bzw. 74- addiert und die Signale auf den Signalleitungen 73. und 73c und -1 werden in dem Übertragsicherstellungs-Addierer (CSA-Q3) 76 mit drei Eingängen und zwei Ausgängen addiert. Die Additionsergebnisse werden in dem Über-Ί0 tragfortpflanzungsaddierer 74., addiert.
Auf einer Ausgangssignalleitung 78, des Addierers 74, wird
— 13
ein Wert [X1.1 χ ν χ 2 " ]+l, auf einer Ausgangssignalleitung
3 „13
78O des Addierers 74O hingegen ein Wert [XV χ ν χ 2 ]-l
Ci C, j
'j5 vorgesehen. Das Signal auf der Signalleitung 78„ wird invertiert, wodurch auf einer Signalleitung 78., der binäre Wert
-13 "
[XV χ ν χ 2 ]~1 mit seinen entsprechend invertierten Bits
-* -13
erzeugt wird, das ist der absolute Wert von [XV χ ν χ 2 ],
— 13 ^
d. h. I [XV χ ν χ 2 ]| . Auf einer Ausgangssignalleitung 78^, mit höchstwertigem Bit des Addierer 74^ wird ein Wert "0" oder "1" erhalten, und zwar abhängig davon, ob das Vorzei-
"13
chen von [XV χ ν χ 2 ], d. h. das Vorzeichen von XV entweder XV _> 0 oder XV < 0 ist. Die UND-Verknüpfung des invertierten Signals des Signals auf der Signalleitung 78. und das Signal auf der Signalleitung 78, wird in der Form [XV χ ν χ 2 ] auf einer Signalleitung 79, erhalten, falls XV j> 0 ist. Die UND-Verknüpfung der Signale auf den
J —13
Signalleitunqen 78. und 78, wird als |[XV χ ν χ 2 ]| auf
einer Signalleitung 79» vorgesehen, falls XV < 0 ist. Das τη Signal auf der Signalleitung 78, wird einem 32-Detektor 7^1 angelegt, der einen Wert +31 auf einer Signalleitung 79-, er-
-11 ~*
zeugt, falls XV > 0 und [XV χ ν χ 2 ]+l = 32. Das inver-
D "~ D
tierte Signal auf der Signalleitung 78., wird einem 32--Detek-
tor 75„ zugeführt,· um einen Wert |-31j auf einer Signallei— ■ze tung 79. zu erzeugen, falls XV < 0 und | [XV χ ν χ 2"13]| =
Da der Bereich von QV sich ergibt zu -31 _< Q1.1 <_ 31, kann IQVI durch 5 Bits dargestellt werden. Die ODER-Verknüpfung der entsprechenden Bits der 5-Bit-Signale auf den Signalleitungen 79, bis 79. wird auf einer Signalleitung 80 vorgesehen. Das Signal auf der Signalleitung 80 setzt sich aus fünf Bits von IQVI des in Gl. (19) definierten QV zusammen. Auf der Signalleitung 78. wird ein Vorzeichen q von QV vorgesehen, das "0" oder "1" ist, und zwar abhängig davon* ob XV >, 0, d. h. QV >_ 0 ist, oder ob XV < 0, d. h. QV < 0 ist. Auf IQ einer Signalleitung 82, die eine Kombination der Signalleitungen 80 und 78. darstellt, wird das höchstwertige Bit in der Form von q und die anderen fünf Bit in-der Form von |QV|
s j
vorgesehen.
•J5 Auf der Divisionssteuersignalleitung 22 wird durch die Operation eines Selektors 83 der Inhalt der Signalledtung 82 vorgesehen, falls CTlO = 0 bzw. "100001", d. h. -1 von einer Schaltung 75- vorgesehen, falls CTlO = 1.
Zur Durchführung der Operationen der Gi. (18) und (19) wird der Quotientenberechnungs-Vorbearbeitungsabschnitt 61 mit 14 χ 2 hochrangigen Bits von R.. ,, . (i = 0,1) seitens der
j + χ, χ
Signalleitung 23, 11 hochrangige Bits von M-, seitens der Signalleitung 24 und vier Bits von fi 4/-+1\+i"2 (i = 0,1,2,3) seitens der Signalleitung 21 versorgt. Der Quotientenberechnungs-Vorbearbeitungsabschnitt 61 berechnet XV gemäß Gl. (18) und QV durch Gl. (19) entsprechend der Bedingung, ob das nächste XV > 0 oder XV < 0 ist. Falls CTlO = 0 , wird der
J "" 3
absolute Wert |QV| von Q" durch fünf Bits und das Vorzeichen
3Q von QV durch ein Bit dargestellt; insgesamt werden nämlich sechs Bits auf der Divisionssteuersignalleitung 22 vorgesehen. In diesem Fall wird das Vorzeichen q von QV durch 0
- s j
oder 1 dargestellt, und zwar abhängig davon, ob QV j> 0 oder
QV < 0 ist. Falls CTlO = 1, beträgt der absolute Wert von -J5 QV 1 und das Vorzeichen q von QV 1.
JZZÖU I ö
-j Details des Quotientenberechnungs-NachbearbeitungsabSchnitts
Fig. 9 verdeutlicht ein spezielles Beispiel der üND-Elementengruppe 70, in der θ.(._,.+.·2Χ·2 (i = 0,1,2,3) von der Signalleitung 21 und M. mit elf Bits von der Signalleitung 24 miteinander einer UND-Verknüpfung unterzogen werden, um die Operation M, ·θ.-.,. ,·21·2~ in Gl. (18) durchzuführen.
IQ Fig. 10 verdeutlicht eine logische Schaltung 71 zur Erzeugung der Konstanten S = 38 in Gl. (18). Fig. 11 zeigt einen Übertragsicherstellungs-Addie>ver (CSA-Ql) 72 mit sieben Eingängen und zwei Ausgängen, der durch eine Kombination von Übertragsicherstellungs-Addierern (CSAUQl) 90 bis 9O5 mit drei Eingängen und zwei Ausgängen aufgebaut ist. Jeder der Übertragsicherstellungs-Addierer (CSAÜQ1) 90, bis 9O5 mit drei Eingängen und zwei Ausgängen ist so angeordnet, daß entsprechende Bits der drei Eingänge in dieser Reihenfolge durch Volladdierer addiert werden, wobei die Anzahl der
2Q Addierer den Bits jedes Addierereingangs entspricht, wie in Fig. 12 dargestellt ist. Fig. 13 verdeutlicht, einen Übertragsicherstellungs-Addierer (CSA-Q2) 73? mit zwölf Eingängen und zwei Ausgängen, der aus Übertragsicherstellungs-Addierern (CSAUQ2) 91, bis 91,Q mit drei Eingängen und zwei Ausgängen
oc aufgebaut ist. Fig. 14 verdeutlicht beispielsweise einen der Übertragfortpflanzungsaddierer 74, bis 743 mit zwei Eingängen und einem Ausgang, der derart aufgebaut ist, daß entsprechende Bits der zwei Eingänge in dieser Reihenfolge durch Volladdierer addiert werden und der Übertrag jedes Volladdie-
2Q rers in aufsteigender Reihenfolge vorgesehen wird, wobei die Anzahl der Volladdierer den Bits jedes Addierereingangs entspricht.
Aufgeteilte Abschnitte
Fig. 15 verdeutlicht anhand eines Beispiels den Aufbau eines der aufgeteilten Abschnitte 25, bis 25g gemäß Fig. 6, in dem Register 101, 102, 103, 104 und 105 vorgesehen sind, wobei jedes einem der acht Teile entspricht, in die die M-, e-, n-, C- und M_-Register 1, 2 , 3, 4 und 5 jeweils unterteilt sind. Mit den niedrigstwertigen Enden der Register 101 bis 105 sind in dieser Reihenfolge Eingangssignalleitungen 101_ bis 105R verbunden* um von einem niederrangigen unterteilten Abschnitt Signale an diese Enden anzulegen. Mit den höchstwertigen Enden der Register 101 bis 105 sind Ausgangssignalleitungen 101T bis 105T verbunden, um von diesen Enden Sig-
Xj JLj
nale an einen höherrangigen aufgeteilten Abschnitt zu liefern.
"S5 Ein Selektor 106 - der einen der acht Teile, in die der Selektor 6 unterteilt ist, darstellt - ist vorgesehen, der durch ein Signal auf der Eingangssignalleitung 113 gesteuert wird. Ein Hauptaddierer 110 ist vorgesehen, der einen der acht- Teile darstellt, in die der Hauptaddierabschnitt 10 zur vorwiegenden Durchführung der Additionen in den Gl. (20) und (23) unterteilt ist. Mit dem Hauptaddierer 110 sind Eingangssignalleitungen 114 und 115 und eine Ausgangssignalleitung 116 verbunden. Der Inhalt des Registers 103 und ein Signal auf der Eingangssignalleitung 103o werden über eine Signalleitung dem Hauptaddierer 110 zugeführt. Der Inhalt des höchstwertigen Bit des Registers 102 wird über die Signalleitung 18 der Steuerung 8 zugeführt.
Signale zur Steuerung des Betriebs des aufgeteilten Abschnitts werden über die fünf Eingangssignalleitungen 63 vorgesehen, deren Signalbezeichnungen CLOCK, e-in, n-in, START und C--out lauten. Der Betriebszustand des aufgeteilten Abschnitts wird über die drei Signalleitungen 64 nach außen gemeldet, wobei deren Signalbezeichnungen CT2, n--end und CRYPT-end lauten. 35
Ein Signal zur Verdeutlichung des Übertragfortpflanzungszustands jedes der mehreren aufgeteilten Abschnitte wird über eine Eingangssignalleitung 65 angelegt. Ein Signal z.u Verdeutlichung des Übertragfortpflanzungszustands in dem Hauptaddierer 110 wird über die Ausgangssignalleitung 66 an die Außenseite des aufgeteilten Abschnitts geliefert, wobei diese Signalbezeichnung CRY-end lautet. Ein Signal, das verdeutlicht, daß der aufgeteilte Abschnitt 25 der von der Quotientenberechnungseinheit 9 am weitesten entfernteist, wie der aufgeteilte Abschnitt 25g in Fig. 6, wird über die Signaileitung 67 vorgesehen, wobei die Bezeichnung dieses Signals TAIL lautet. Ist das Signal TAIL "1", so ist der aufgeteilte Abschnitt 25 der von der Quotientenberechnungseinheit 9 am weitestens entfernte. Dem Exponential verfahren folgend, führt.
der aufgeteilte Abschnitt 25 die Gl- (16), (17).und (20) bis (24) auf der Prämisse der Gl. (14) aus. Gl. (15) wird durch den Quotientenberechnungs-Vorbearbeitungsabschnitt 60 und die Gl. (18) und (19) durch den Quotienteriberechnungs-Nachbearbeitungsabschnitt 61 ausgeführt. In dem Fall, bei dem
2Q die Quotientenberechnungseinheit 9 und eine Vielzahl von aufgeteilten Abschnitten, wie in Fig. 6 gezeigt, verbunden sind,. tragen die Hauptsignale jedes aufgeteilten Abschnitts und die Schlüsselberechnung solche Beziehungen, wie dies nachfolgend beschrieben wird. Details der Signale werden später beschrieben.
Das Schlüsselsystem legt die Variable e an die mehreren Register 102 (nachfolgend als e-Register) der mehreren aufgeteilten Abschnitte 25 an, wenn das Signal e-in seitens der TjQ Steuereingangssignalleitung 63 anliegt. Weiterhin legt das Schlüsselsystem die Variable η an die mehreren Register 103 an, wenn das Signal n-in anliegt und die Variable M an die mehreren Register 101 an, wenn das Signal START anliegt. Nach Anlegen der Variablen M fahren die e-Register 102 fort,
Bit um Bit eine zyklische Linksverschiebung vorzunehmen bis die höchstwertige Ziffer (MSD) jedes e-Registers 102 den Wert "1" aufweist.
Als nächstes führt das Schlüsselsystem auf das Anlegen des Signals CT5 hin die Operation des Schrittes 1 des Exponentialverfahrens durch.
D. h. die Operation C ■*- 1 wird durchgeführt.
Als nächstes wird auf das Anlegen des Signals CT6 hin, die Operation M2 ♦ C in Schritt 2a oder M„ +· M in Schritt 2b des ExponentialVerfahrens durchgeführt. (Aufgrund des Aufbaus des Schlüsselsystems gilt hier M, «· C immer ). Als nächstes
■J5 wird in dem Zeitabschnitt, in dem das Signal CT7 "1" wird, die Multiplikation und Division R s M, χ M. mod η in Schritt 2a oder 2b des Exponentialverfahrens ausgeführt und auf das Anlegen eines Signals MDEND hin, wird die Multiplikation und Division beendet. Dann wird C + R infolge des Aufbaus des
2Q Schlüsselsystems festgesetzt.
Die Durchführung der Multiplikation und Division R ξ Μ, χ M2 mod η, die dem Exponentialverfahren zugrunde liegt, wird wie folgt gesteuert: Der Wert des Signals EXP-SEL wird durch jedes Bit e. der Variablen e bestimmt. Ist das Signal EXP-SEL "0", so wird Schritt 2a des Exponentialverfahrens durchgeführt, ist das Signal EXP-SEL "1", so wird 2b des Sxponentialverfahrens durchgeführt. Nach Abschluß der Operation der Gl. (1), d. h. C = M mod n, infolge der obigen Berechnung, wird
JQ der Wert des Signals CRYPT-end von "0" auf "1" geändert und nach Anlegen des Signals C-out wird die durch die Schlüssel-Berechnung erhaltene Variable C ausgegeben.
Mit einem derartigen Aufbau kann die Schlüsselberechnung dem Prinzip der Erfindung folgend durch Verbindung der Quo-
JZZÖU I ö
Ί tientenberechnungseinheit 9 mit der Vielzahl von aufgeteilten Abschnitten ausgeführt werden. Das gleiche trifft für den Fall zu, bei dem die 'Quotientenberechnugnseinheit 9 in den Quotientenberechnungs-Vorbearbeitungsabschnitt 60 und den Quotientenberechnungs-Nachbearbeitungsabschnitt 61 unterteilt ist.
Details der aufgeteilten Abschnitte
•JO Die Register 101, 103, 104 und 105 bestehen aus Vier-Bit-Parallel-Eingangs-Ausgangs-Schieberegistern, wie in den Fig. 16, 17, 18 bzw. 19 dargestellt, wobei die Verschiebungen durch Signale CT4, CT3, CT12 bzw. CT6 und CT9 vorgenommen werden. Das Register 104 ist in der Lage ein von der Signal-
-J5 leitung 116 stammendes 64-Bit-Signal unter der Steuerung des Signals CTIl parallel voreinzustellen. In dem Fall, bei dem das Signal TAIL "1" beträgt, wenn das Signal CT5 vorgesehen wird, wird der Wert "1" nur in dem höchstwertigen Bit des Registers 104 voreingestellt, wobei die anderen Bits auf "0" voreingestellt werden. Ist das Signal TAIL "0", so wird durch Anlegen des Signals CT5 das Register 104 insgesamt gelöscht. Das Register 105 wird auch durch das Signal CT6 gesteuert und ist in der Lage, das 64-Bit-Gignal M2 parallel voreinzustellen. Das Register 102 besteht aus einem Ein-Bit-Schieberegister, wie in Fig. 20 verdeutlicht, wobei die Verschiebung durch das Signal CTl vorgenommen wird. Weist das Signal CT2 den Wert "1" auf, so wird das Register 102 in dem aufgeteilten Abschnitt 25„ in seine zyklische Arbeitsweise versetzt. Fig. 21 verdeutlicht ein spezielles Beispiel des Selektors 106.
Fig. 22 verdeutlicht den allgemeinen Aufbau eines Ausführungsbeipiels des Hauptaddierers 110. Ein aus Fig. 22 zu ersehender M1" M0 .-Rechner zur Berechnung von M1" M0 . ist, wie
•j in Fig. 23 dargestellt, aufgebaut. Ein -Q. «n-Rechner 150 zur Berechnung von -Q.*n ist entsprechend Fig. 24 aufgebaut. Durch das Vorzeichenbit des Signals Q. auf einer Divisionssteuerleitung 134 wird ein Selektor (SEL-Q) 151 gesteuert, um ein auf einer Signalleitung 152 befindliches und von dem n-Register 103 stammendes Signal η und eine Signalleitung 154 von dem nächsten rangniederen aufgeteilten Abschnitt bzw. ein auf der Signalleitung 153 befindliches und von dem n-Register 103 herrührendes Signal η und eine Signalleitung
•fO 155 vom nächsten rangniederen aufgeteilten Abschnitt auszuwählen. Das ausgewählte Signal und das Signal Q. auf der Signalleitung 134 werden durch eine UND-Verknüpfung miteinander verbunden. Ein in Fig. 22 zu sehender Addierer 160 besteht aus drei Eingänge und zwei Ausgänge aufweisenden
-J5 Übertragfortpflanzungsaddierern 161, bis 161, Q , wie in Fig. 25 gezeigt. Wie aus Fig. 26 zu ersehen, weist der drei Eingänge und zwei Ausgänge aufweisende Übertragsicherstellungsaddierer 161 66 Bits an jedem Eingang und Ausgang auf,und das höchstwertige der 64 Bits auf der niederrangigen Seite wird im Addierer 161 aufgezweigt und dem entsprechenden Übertragsicherstellungsaddierer 161 des nächsten ranghöheren aufgeteilten Abschnitts angelegt, wie dies durch eine Signalleitung 880 dargestellt ist. Ein von der entsprechenden rangniederen Seite über eine Signalleitung 880' angelegtes Signal
on wird an die Seite der Übertragausgänge aller Volladdierer FA gelegt. Die Schaltungen 170, und 170„ in Fig. 22 stellen, wie aus Fig. 27 zu ersehen, 66-Bit-Register dar. Eine in Fig. 22 dargestellte Schaltung 180 addiert zwei Ausgangsgrößen des Addierers 160 dieses aufgeteilten Abschnitts mit Hilfe
•rg eines Übertragfortpflanzungsaddierers 184,um eine Ausgangsgröße zu erzeugen, wie in Fig. 28 dargestellt. Die von dieser Addition herrührenden Überträge werden nacheinander dem nächsten ranghöheren aufgeteilten Abschnitt zugeführt. In dem höchstwertigen aufgeteilten Abschnitt 25, werden in der Aus-
J IlÖ U 18
gangsgröße des Addierers 160 befindliche Übertragkomponenten mit Hilfe eines Addierers 186 addiert und ein Teil des Additionsergebnisses wird der Steuerung 8, über eine· Signal-Isitung 187 zugeführt. Ein in Fig. 22 dargestellter Übertragdetektor 190 führt eine ODER-Verknüpfung der NICHT-Ausgangsgrößen der Exklusiv-ODER-Gatter der entsprechenden Bits von zwei addierten Ausgangsgrößen des Addierers 160 durch, wie in Fig. 29 dargestellt, und der Detektor 19 0 liefert eine Ausgangsgröße "0" oder "1", abhängig davon, ob durch die "JO Addition der 66 Bits in dem Addierer 160 ein zu einer höheren Rangfolge zu übertragender übertrag erzeugt wird.
In Fig. 22 werden Selektoren 301 und 302 durch das Signal CTlO gesteuert, um ein Signal, das durch Multiplikation jedes Rechenergebnxsses der entsprechenden Register 170L und 170R
mit 2 erhalten wird, und ein Signal, das direkt dem Rechenergebnis entspricht, auszuwählen. D. h. im Falle der Kompensationsberechnung bzw. Ausgleichsrechnung wird das dem Rechenergebnis entsprechende Signal ausgewählt und, wenn das durch Multiplikation erhaltene Signal vorliegt, werden vier ranghohe Bits von dem nächsten rangniederen aufgeteilten Abschnitt zur weniger bedeutsamen Seite des ausgewählten Signals addiert.
Fig. 30 zeigt den Zustand, bei dem die Register 10.1^ bis -101g der in Fig. 6 gezeigten, aufgeteilten Abschnitte 25, bis 25„ zusammengekoppelt sind, um das Register 1 mit einer Länge von 512 Bits auszubilden, da 64 χ 3 = 512. Das Register 1 speichert die Variable M mit einer Länge von 512 Bits. Fig. verdeutlicht den Zustand, bei dem die Register 102, bis 102g 3Q der aufgeteilten Abschnitte 25, bis 25ß zusammengekoppelt sind, um das e-Register 2 mit einer von 512 Bits aufzubauen, das die Variable e mit einer Länge von 512 Bits speichert. Das e-Register 2 hat die Aufgabe, Signale mit 512 Bits zyklisch Bit um Bit nach links zn verschieben. Fig. 32 verdeut-
"j licht den Zustand, bei dem die Register 103, bis 103« der aufgeteilten Abschnitte 25, bis 25„ zusammengekoppelt sind, um das Register 3 mit einer Länge von 512 Bits auszubilden, das die Variable η mit einer Länge von 512 Bits speichert. Fig. 33 zeigt den Zustand, bei dem die Register 104. bis der aufgeteilten Abschnitte 25, bis 25R zusammengekoppelt sind, um das C-Register 4 mit einer Länge von 512 Bits zu bilden, das die Variable R(C) mit einer Länge von 512 Bits speichert. Fig. 34 zeigt den Zustand, bei dem die Register
•J0 105, bis 105g der aufgeteilten Abschnitte 25, bis 25« zusammengekoppelt sind, um das M_-Register 5 mit einer Länge von 512 Bits zu bilden, das die Variable M_ mit einer Länge von 512 Bits speichert. Fig. 35 zeigt den Zustand, bei dem die Selektoren 106, bis 106g der aufgeteilten Abschnitte 25. bis
-«ς 25g zusammengekoppelt sind, um als Selektor 6 mit zwei Eingängen und einer Bitbreite von 512 zu dienen.
Fig. 36 zeigt den Sustand, bei dem die Hauptaddierer 110, bis HOo der aufgeteilten Abschnitte 25, bis 25R zusammengekoppelt sind, um den Hauptaddierer 10 mit einer Bitbreite von 514 auszubilden. Fig. 37 zeigt den Zustand, bei dem die M1" M0 .-Rechner 140, bis 14O0 jedes Hauptaddierers 110 der aufgeteilten Abschnitte 25, bis 25fi zusammengekoppelt und die Eingangssignalleitungen 114 (a = 1, 2, ... 8) in Ein-
»si; gangssignalleitungen 114r und 114_ unterteilt sind. Infol-
'-·* L·3. Ka
ge dieser Kopplung kann die UND-Verknüpfung von M, * M, . in Gl. (20) ausgeführt werden (wobei M1 512 Bits und M., . 4 Bits aufweist). Fig. 38 zeigt den Kopplungszustand, der -Q. «n-Rechner 150, bis 150« jedes Hauptaddierers 1.10 der τ« aufgeteilten Abschnitte 25, bis 25ß, durch den die UND-Verknüpfung von -Q'.'-n in Gl. (20") durchgeführt werden kann. Fig. 39 zeigt den Kopplungszustand der Addierer 160, bis 160g jedes Hauptaddierers 110 der aufgeteilten Abschnitte 25, bis 25„. Fig. 40 zeigt den Kopplungszustand der Register
.,r -^^lI kis x^^l8 Je(^ Hauptaddierers 110 der aufgeteilten Ab-
schnitte 25. bis 25g. Auch die Register l70Ri bis 170 „ sind ähnlich gekoppelt. Fig. 41 zeigt den Kopplungszustand der Schaltungen 180, bis«180g jedes Hauptaddierers 110 der aufgeteilten Abschnitte 25. bis 25g. Fig. 42 verdeutlicht den Kopplungszustand der Übertragdetektoren 190. bis 190g jedes Hauptaddierers 110 der aufgeteilten Abschnitte 25. bis 25„ mit der Schaltung 135. des aufgeteilten Abschnitts 25. .
Fig. 43 verdeutlicht die Operationen in den Fig. 39 bis 40. Jede der Schaltungen 160, 170v, 170- und 180 führt eine 66-Bit-Berechnung in den aufgeteilten Abschnitten 25. bis
X ο
dux-ch, jedoch im Kopplungszustand führt jeder der aufgeteilten Abschnitte 25O bis 25ß eine 64-Bit-Berechnung durch. Somit wird eine Berechnung von insgesamt 512 + 2 = 514 Bits durchgeführt. Die Fig. 44 und 45 verdeutlichen die Kopplungsoperation des M * M0 .-Rechners 140 in Fig. 37. J- ^fJ
Seitens der Eingangssignalleitungen 114T. bis 114 „ in Fig.
Ii X
*L8
37 wird die Variable M. in Schritten 64 Bits an die aufge-2Q teilten Abschnitte 2 5. bis 2 5ß angelegt, von jeder der Signalleitungen 114 . bis 114„7 werden drei hochrangige Bits der Eingangsgröße auf jede der Signalleitungen 114 , bis 114, _ .geliefert und von einer Signalleitung "· 14rq wird ein aus drei Bits bestehendes Signal "0" geliefert. Als Ergebnis dessen kann die UND-Verknüpfung von M.· M0 · (wobei M^ 512 Bits und M0 . 4 Bits aufweist) durchgeführt werden. Die Anzahl von bedeutsamen Ziffern, die für die Operation M1 · M0 verwendet wird, beträgt vom niederrangigen Ende ab 514, das 515te und die höherrangigen Bits werden vernachlässigt, •χη was jedoch für die schon beschriebenen Gründe nicht von Bedeutung ist.
Fig. 46 zeigt die Kopplungsoperation eines -Q.•n-Rechners, der in Fig. 38 dargestellt ist (vgl. auch Fig. 24). Signal-,r leitungen 152. bis 152ß unterteilen η (512 Bits) yleich-
mäßig in Schritten von 64 Bits acht Mal und liefern sie von der Seite der hochrangigen Stelle dem -Q.*n -Rechner. Signalleitungen 153^ bis 153g unterteilen -invertierte Signale der jeweiligen Bits von η in Schritten von 64 Bits acht Mal und liefern sie von der Seite "der hochrangigen Stelle. Signalleitungen 154, bis 154- liefern vier hochrangige Bits der Signale in dieser Reihenfolge auf die Signalleitungen 152_ bis 152g. Eine Signalleitung 154g liefert ein Signal "0000". Signalleitungen 155, bis 155? liefern vier hochrangige Bits
*{0 eier Signale auf die Signalleitungen 153~ bis 153„. Eine Signalleitung 155g liefert ein Signal "0000", falls das Signal TAIL von einer Signalleitung 156 (vgl. Fig. 24) den Wert "1" aufweist. Als Ergebnis dessen kann die UND-Verknüpfung von -QV und η durchgeführt werden. Die Anzahl der bedeutsamen
■J5 Ziffern für die Operation -QV χ η beträgt vom niederrangigen Ende aus 514. Das 515te und höherrangige Bits werden vernachlässigt, was für die schon dargelegten Gründe nicht von Bedeutung ist.
Fig. 47 verdeutlicht die Kopplungsoperation des in Fig. 40 gezeigten Registers 170. Die Register 170 , bis 170 g dienen insgesamt als ein Register mit 514 Bits, und zwar in der gleichen Weise wie vorstehend mit Bezug auf Fig. 44 beschrieben. Weist das Signal CTlO den Wert "1" auf, so werden die Signale der Register 170T, bis 170τρ - so wie sie sind an Signalleitungen 171,., bis 171Tg geliefert. Weist das Signal CTlO den Wert "0" auf, so werden Signale, die von der Verschiebung der Register 170-, bis 17Oj8 um vier Bits zur hochrangigen Seite resultieren, an die Ausgangssignalleitun-
3Q gen 171L, bis 171T8 angelegt. Als Ergebnis dessen werden, da die Werte von R-+1 -, und R- + i 0 ^n den Registern 170^ bzw. 17O1, gespeichert werden, die Ausdrücke 2 *R.Li Ί und 2 "R^+1 Q an die Signalleitungen 171L bzw. 171R geliefert,
falls das Signal CTlO "0" beträgt; beträgt das Signal CT.10 35
hingegen "1", so werden R.,, n und R.,, n an die Signallei-
J+-L / -I- J+1-1 υ
tungen 171T und 171_ geliefert. Die Bedingung CTlO = 0 erlaubt die Addition in Gl. (20) und die Bedingung CTlO = 1 erlaubt die Addition in Gl. (23).
5
Fig. 48 verdeutlicht die Kopplungsoperation eines in Fig. gezeigten Übertragdetektors 190. Pfeile 191. bis 191g verdeutlichen Signalwerte auf den Ausgangssignalleitungen 56-, bis 66g der jeweiligen Übertragdetektoren 190, bis 190g. 10
Steuerung
Fig. 49 zeigt den allgemeinen Aufbau der Steuerung 8, die
-J5 eine erste bis fünfte Steuerung (CTLl) 230, (CTL2) 250, (CTL3) 260, (CTL4) 270 und (CTL5) 280 sowie andere verbundene Schaltungen aufweist. Von einer Eingangssignalleitung 203 wird ein Signal CLOCK an alle Steuerungen 230 bis 280, das Signal e-in, n-in und START an die erste Steuerung 230 und das Signal C-out an die fünfte Steuerung 280 angelegt. Seitens einer Eingangssignalleitung 205 wird ein Signal CARRYEND an die vierte Steuerung 270 angelegt und seitens einer Eingangssignalleitung 206 wird ein Signal SIGN an die vierte Steuerung 270 angelegt. An einer Ausgangssignalleitung 204 werden Signale CT2 und η-end von der ersten Steuerung 230 und das Signal CRYPT-end von der zweiten Steuerung 25U geliefert. An eine Ausgangssignalleitung 220 der vierten Steuerung 270 wird von dieser Steuerung das Signal CTlG geliefert. An eine Ausgangssignalleitung 221 der dritten Steuerung 260 wird von der dritten Steuerung das Signal EXP-SEL geliefert» An eine Ausgangssignalleitung 227, die mit allen Steuerungen verbunden ist, werden die Signale CTl bis CT12 geliefert. Eine Ausgangssignalieitung 251 der zweiten Steuerung 250 überträgt ein Signal SFTl an eine ODER-
Schaltung 800, eine Ausgangssignalleitung 252 überträgt das Signal CT5 zur dritten Steuerung 260 und zur Ausgangsleitung 227,und eine Ausgangssignalleitung 253 überträgt ein. Signal es-end zur dritten Steuerung 260. Die dritte Steuerung liefert das Signal CT7 über eine Ausgangssignalleitung an die vierte Steuerung 270 und an die Signalleitung 227. Die vierte Steuerung 270 liefert ein Signal MDEND über eine Ausgangssignalleitung 264 an die dritte Steuerung 260 und ein Verzögerungsglied 801. Von der Signalleitung 18 wird e. der Variablen e an die zweite Steuerung 250 angelegt.
Die Fig. 5OA, bis 50U, und die entsprechend fortgeführten Fig. 50A_ bis 50U~ zeigen Wellenformen der Signale CLOCK, e-in, CTl, CT2, n-in, CT3, η-end, START, CT4, MDEND, CT5, SFTl, es-end, CT6, CT7, MDEND, e-out, CTIl, CT12 und CRYPT-end, die an entsprechenden Teilen der Steuerung gemäß Fig. 29 während des Betriebs auftreten.
Als nächstes wird mit Bezug auf Fig. 50 eine Beschreibung der Arbeitsweise der Steuerung 8 gegeben. Die Steuerung 8 empfängt und sendet Signale zur Steuerung der Opei-ation C=M. mod η in der folgenden Weise: Das Signal CLOCK des Schlüsselsystems wird ständig der Steuerung 8 zugeführt. Tritt das Signal e-in im Zeitpunkt t, auf, so gibt die erste Steuerung 230 das Steuersignal CTl für die Eingabe der Variablen e ab, wodurch die Variable e Bit um Bit durch 512 Taktircpulse eingegeben wird. Nach Beendigung dieses Vorganges gibt die erste Steuerung 230 im Zeitpunkt t? das Signal CT2 ab, das die Beendigung der Eingabe der Variablen e verdeutlicht.
Tritt danach das Signal n-in im Zeitpunkt t, auf, so erzeugt die erste Steuerung 230 das Steuersignal CT3 für die Eingabe der Variablem n, wodurch die Variable η Bit um Bit durch 128 Taktimpulse eingegeben wird. Nach Beendigung dieses Vor-
gangs erzeugt die erste Steuerung 230 das Signal η-end, das die Beendigung der Eingabe der Variablen η zum Zeitpunkt t. verdeutlicht.
Tritt danach im Zeitpunkt t5 das Signal START auf, so gibt die erste Steuerung 230 ein Steuersignal CT4 für die Eingabe der Variablen M ab, wodurch die Variable M in Schritten von vier bits durch 128 Taktimpulse eingegeben wird. Nach Beendigung der Eingabe der Variablen M erzeugt die Steuerung 230 das Signal MDEND, das das Ende der Eingabe der Variablen M im Zeitpunkt t, verdeutlicht. Gleichzeitig erzeugt die Steuerung 230 das Signal CT5 für die Initialisierung der Register .(Fig. 15) innerhalb des Schlüsselsystems, und zwar ehe die Operation C=M mod η gestartet wird.
Die zweite Steuerung 250 erzeugt als nächstes das Signal SFTl, wodurch der Inhalt des e-Registers 102, das die Variable e gespeichert hat, zyklisch Bit um Bit nach links verschoben wird, und gibt dieses Signal als Signal CTl über die ODER-Schaltung 800 ab, und zwar beginnend bei einem Zeitpunkt U7. Zu diesem Zeitpunkt wird das Signal CTl für Taktimpulse vorgesehen, wobei die Anzahl der Taktimpulse gleich der Anzahl der Nullen auf der hochrangigen Seite der durch 512 Bits dargestellten Variablen e ist. Wenn das höchstwertige Bit (MSß) des eine Bitbreite von 512 aufweisenden e-Registers, das die Variable e gespeichert hat, nach Wiederholung einer derartigen zyklischen Bit um Bit - Linksverschiebung den Wert "1" hat, erzeugt die zweite Steuerung 250 das Signal es-end, das die Beendigung des Signals SFTl zu einem Zeitpunkt tR darstellt.
Anschließend werden die folgenden verschiedenen Signale zur Durchführung der Schritte 2a und 2b des Exponentialverfahrens erzeugt.
Nach Ausgabe des Signals es-end erzeugt die dritte Steuerung 260 das Signal CT6 zur Vorbereitung des Beginns der Operation
für die Multiplikation-Division R = M, χ M- mod η und dann das Signal CT7, das die Operation anzeigt. Demzufolge führen alle Hauptaddierer 110, bis HO8 der entsprechenden aufgeteilten Abschnitte 25. bis 25„ die Multiplikation-Division R = M, χ M» mod η durch. Nach Empfang des Signals MDEND, das die Beendigung dieser Multiplikation-Division zum Zeitpunkt tg anzeigt, wird das von der dritten Steuerung 260 stammende Signal CT7 zu "0". Das Signal CARRYEND auf der Signalleitung 205 und das Signal SIGN auf der Signalleitung 206 werden während der Ausführung der Multiplikation-Division verwendet. Dies wird später im Detail beschrieben. Nach jeder Beendigung der Multiplikation-Division werden die Signale CT6 und SFTl ausgegeben, um zum wiederholten Male die Operation C=M, χ M-mod η auszuführen. Wenn jedoch der Ausdruck e. der Variablen e, der in das höchstwertige Bit (MSB) des e-Registers geschoben ist, sofort nach der Ausführung des Schrittes 2a des Exponentialverfahrens den Wert "1" aufweist, so ist das Signal SFTl "0". Das Signal CT7 wird als ein Signal ausgegeben, das die Zyklen der Durchführung der Schritte 2a und 2b des Exponentialverfahrens anzeigt. Während der Durchführung der Multiplikation-Division wird das Signal EXP-SEL, das das Schalten der Selektoren 106. bis 106« bewirkt, auf der Signalleitung 221 vorgesehen. Hierbei wird der Schritt 2a des Exponentialverfahrens ausgeführt, wenn der Wert des Signals EXP-SEL "0" ist und der Schritt 2b, wenn das Signal EXP-SEL den Wert "I" aufweist. Nach Beendigung des Exponent ialver-fahrens wird das Signal CRYPT-end von der zweiten Steuerung 250 abgeleitet.
3Q Nach Eingabe des Signals C-out, das die Ausgabe der Variablen C seitens des Schlüsselsystems zu einem Zeitpunkt t,„ befiehlt, gibt die fünfte Steuerung 280 das Signal CT12 ab, das davon in Kenntnis setzt, daß die Variable C in Schritten von vier Bits mittels 128 Taktimpulsen ausgegeben werden soll,
und das Signal CTIl, das die Zeitperiode verdeutlicht, bei der das Signal CT12 zulässig ist, bleibt während der obigen Operation auf dem Wert 1.
Zur Steuerung einer Reihe von Berechnungen, zur Eingabe der Variablen e, η und M, zur Durchführung der Operation C=M mod η und zur Ausgabe der Variablen C nimmt die Steuerung Signale auf und gibt Signale wieder ab.
Im folgenden werden Details der Arbeitsweise der Signale CARRYEND und SIGN sowie bestimmter Anordnungen der Steuerungen 230, 250, 260, 270 und 280 beschrieben.
Fig. 51 verdeutlicht ein spezielles Beispiel einer ersten Steuerung (CTI/1) 230 und die Fig. 52A bis 52J zeigen die Wellenformen der Signale, die an bestimmten Teilen der ersten Steuerung 230 während des Betriebs auftreten. Die Wellenformen sind mit entsprechenden Signalbezeichnungen auf der linken Seite beschriftet.
Falls das von einer Signalleitung 231 herrührende Signal e-in über ein Verzögerungsglied 805 an ein Flip-Flop 806 eingegeben wird, so geht die Ausgangsgröße des Flip-Flops 806 zur Öffnung des Gatters 807 auf den Wert 1. Anschließend wird das Signal CLOCK auf der Signalleitung 240 über das Gatter 807 einem Zähler 808 zum Zählen und gleichzeitig einem Gatter 809 zur Abgabe eines Signals CTl' an eine Ausgangssignalleitung 234 zugeführt. Das Signal CTl' wird zur Erzeugung des Signals CTl an die ODER-Schaltung 800 in Fig. 49 ange-
3Q legt. Erreicht der Wert des Inhalts des Zählers 808 den Wert 512, so wird das Gatter 809 geschlossen. D. h. es werden 512 Signale von CTl1 erzeugt. Weiterhin wird die Ausgangsgröße des Zählers 808 als Signal CT2 zu einer Signalleitung 238 geschickt. Wird das Signal n-in an eine Signalleitung
angelegt, so wird das Signal CT3 von einer Signalleitung durch 128 Taktimpulse ausgegeben, worauf das Signal n-end auf eine Signalleitung 239 geschickt wird. Werden die Signale CT2 und η-end gemeinsam erzeugt, so wird ein Gatter geöffnet. Wird anschließend das Signal START von einer Signalleitung 233 an das Gatter 814 angelegt, so wird das Signal CT4 128 mal im Gleichlauf mit Taktimpulsen an eine Signalleitung 236 entsprechend ausgegeben, und zwar mittels eines Flip-Flops 815, Gatter 816 und 818 und eines Zählers 817. Hierauf wird das Signal MEND auf eine Signalleitung 237 geschickt. Auf diese Weise steuert die erste Steuerung 230 die Eingabe der Variablen e, η und M.
Fig. 53 verdeutlicht ein spezielles Beispiel der zweiten
-J5 Steuerung (CTL2) 250 und die Fig. 54A bis 54G zeigen Signalwellenformen, die an bestimmten Teilen der zweiten Steuerung 250 während des Betriebs auftreten. Wird ein Signal MEND über ein von der ersten Steuerung 230 herrührende Signalleitung 237 vorgesehen, so wird das Signal CT5 von einem Gatter 820 für die Verzögerungszeit eines Verzögerungsgi.ieds 819 an einer Signalleitung 252 angelegt. Während weiterhin das Signal MEND angelegt wird und das von einer Signal!eitang 256 stammende Signal e. auf dem Wert 0 bleibt, sind die Gatter 821 und 822 geöffnet, um den Durchgang des Signals CLOCK zu ermöglichen, das als"Signal SFTl über eine ODER-Schaltung 823 auf einer Signalleitung 251 vorgesehen wird. Durch das Signal SFTl v/ird das e-Register 102 in Fig. 15 nach links verschoben. Geht das höchstwertige Bit des e-Registers 102 des aufgeteilten Abschnitts 25, auf den Wert
3Q 1, so geht das von der Signalleitung 256 stammende Signal e. auch auf den Wert 1, um eine Q-Ausgangsgröße eines Flip-Flops 824 auf den Wert 1 zu bringen, wodurch ein Gatter 825 geöffnet und das Signal es-end über ein Gatter 826 an eine Signalleitung 253 ausgegeben wird. Bei jedem Auftreten des
J 11 Ö U I 8
Signals SFT2 seitens der Signalleitung 254 wird es danach als Signal SFTl über das Gatter 82 5 und die ODER-Schaltung 823 ausgegeben. Die Ausgangsgrößen der ODER-Schaltung 823, d. h. die Signale SFTl, werden mit Hilfe eines Zählers 827 gezählt, der das Signal CRYPT-end an eine Signalleitung anlegt, falls er nach Eingabe des Signals CT5 den Wert 512 gezählt hat.
Die zweite Steuerung 250 führt auf diese Weise - wenn sie mit dem Signal MEND, das die Beendigung der Eingabe der Variablen M darstellt, beaufschlagt wird - die Steuerung dei zyklischen Verschiebung des Inhalts des e-Registers nach links durch, bis sein höchstwertiges Bit auf den Wert 1 geht, erzeugt das Signal SFTl für eine zyklische Verschiebung des e-Registers um eine Bitstelle nach links, und zwar bei jedem Auftreten des Signals SFT2 und gibt das Signal CRYPT-end nach der zyklischen Linksverschiebung des e-Recjisters um 5.12 Bitstellen ab, d. h. nach einem zyklischen Verschiebungsumlauf des e-Registers.
Fig. 55 verdeutlicht ein spezielles Beispiel der dritten Steuerung (CT3) 260 gemäß Fig. 4 9 und die Fig. 4 9 und die Fig. 56A bis 56B zeigen beispielsweise Signalwellenformen, die an bestimmten Teilen der dritten Steuerung 260 während des Betriebs auftreten.
Wird das von der zweiten Steuerung 2 50 stammende Signal CT5 über die Signalleitung 252 angelegt, so werden daraufhin die Flip-Flops 828, 829, 830 und 831 gelöscht. Wird das von der zweiten Steuerung 250 stammende Signal es-end über die Signalleitung 253 angelegt, so wird das Signal CTo über eine ODER-Schaltung 832 auf eine Signalleitung 261 gegeben und das Flip-Flop 831 wird über eine ODER-Schaltung 833 getriggert, wodurch eine Q-Ausgangsgröße des Flip-Flops 831 als Signal
322Β0ΊΒ-..
•J CT7' an eine Sinaileitung 263 gelangt. Die Operation R ξ Μ,χΜ, mod η wird gestartet und nach Beendigung dieser Berechnung wird das Signal MDEND über eine Signalleitung 264 van der vierten Steuerung 270 z. B. zu einem Zeitpunkt t, eingegeben. Das Signal MDEND wird über die ODER-Schaltung 833 dem Flip-Flop 831 zu dessen Triggerung zugeführt, wodurch das Signal CT7 von einem Wert 1 zu einem Wert 0 geht. Das Signal e. auf der Signalleitung 256 und die Q-Ausgangsgröße des Flip-Flops 828 wird einem NICHT-Exklusiv-ODER-Gatter 834 zugeführt und
•jQ seine Ausgangsgröße und das Signal MDEND wird einem UND-Gatter 835 angelegt, so daß, falls das Signal e. den Wert 1 aufweist, wenn das Signal MDEND zum Zeitpunkt t, vorgesehen wird, die Ausgangsgröße des NICHT-Exklusiv-ODER-Gatters 834 0 ist und die Ausgangsgröße des UND-Gatters 835 auf 0 verbleibt, wodurch letztlich das Signal SFT2, wie im Zeitpunkt t- gezeigt, nicht an die Signalleitung 254 abgegeben wird. Da außerdem das Signal MDEND, das Signal e.. auf der Signalleitung 256 und eine Q-Ausgangsgröße des Flip-Flops 828 an ein UND-Gatter 836 angelegt werden, geht die Q-Ausgangsgröße des Flip-Flops 828 auf den Wert 1, falls das Signal e. im Zeitpunkt des Anlegens des Signals MDEND der» Wert 1 auf v/eist. Weiterhin geht das Signal MDEND im Zeipunkt t, durch die Flip-Flops 829 und 830 hindurch, wobei es dann zu einem Zeitpunkt t., als Signal CT6 über ein Gatter 837 und die ODER-Schaltung 832 auf die Signalleitung 261 geschickt wird. Die Ausgangsgröße des Flip-Flops 830 wird über ein Gatter 8T8 und die ODER-Schaltung 833 dem Flip-Flop 831 zu dessen Triggerung angelegt, wodurch zu einem Zeitpunkt t. das Signal CT7 erzeugt wird. Infolgedessen wird die Operation Rb M, χ Μ- mod η wieder aufgenommen; der Schritt 2b wird nämlich durchgeführt. Wird das Signal MDKND zu einem Zeitpunkt tc- wieder angelegt, so werden die gleichen Operationen, wie oben beschrieben, durchgeführt, falls jedoch das Signal e. sich auf einem Wert- 1 befindet, geht die Ausgangsgröße
OZZOU IO
der Schaltung 834 auf den Wert 1, wodurch das Signal SFT2, wie zum Zeitpunkt tß gezeigt, erzeugt wird. Falls sich jedoch das Signal e. auf dem Wert O befindet, wenn das· Signal MDEND im Zeitpunkt t, auftritt, geht die Ausgangsgröße der Schaltung 834 auf einen Wert 1, um das Signal SFT2 zu erzeugen und beim nächsten Signal CT7 wird der Schritt 2a ausgeführt. Zu diesem Zeitpunkt wird die Q-Ausgangsgröße des Flip-Flops 828 zu O gemacht.
Somit wird in dem Exponentialverfahren, falls die Bedingung e. = ΰ sofort nach dem Schritt 2a anhält, dann der Inhalt des e-Registers 102 um eine Bitstelle verschoben und eine Operation i + i - 1 durchgeführt; falls e. =1 sofort nach der Beendigung des Schrittes 2a gegeben ist, so wird dann
-J5 der Schritt 2b durchgeführt und der Inhalt des e-Registers 102 um eine Bitstelle verschoben. Anschließend wird die Operation i -<- i - 1 durchgeführt. Diese Prozeduren werden wiederholt bis i den Wert 0 erreicht. Da das Gatter 837 geschlossen ist, wenn das Signal CRYPT-end über die Signalleitung 255 seitens der zweiten Steuerung 250 angelegt wird - selbst wenn das Signal MDEND vorliegt - wird das Signal CTö, wie im Zeitpunkt tfi gezeigt, nicht erzeugt.
Somit werden in dem Exponentialverfahren die Schritte 2a und 2b in der Reihenfolge i = k, k" - i, ... 1, 0 durchgeführt, nachdem die Berechnung des Schrittes 2 gesteuert wurCe, d. h. netchdem die Variable e zu e. , e, ,, ... e,, eQ in der binären Darstellung gemacht wurde.
2Q Fig. 57 verdeutlicht ein spezielles Beispiel der in Fig. 49 gezeigten vierten Steuerung (CTL4) 270 un d die Fig. 58A bis 58h zeigen beispielhaft Signalwellenformen, die an bestimmten Teilen der vierten Steuerung 270 beim Betrieb auftreten. Wird das Signal CT7 über die Signalleitung 263 seitens der
dritten Steuerung 260 angelegt, so wird daraufhin das Signal CT8 auf einer Signalleitung 271 eines Gatters 840 vorgesehen. Durch das Signal CT8 werden ein Zähler 841 und ein Flip-Flop 842 und über eine ODER-Schaltung 843 Zähler 276 und gelöscht. Durch das Signal CT7 wird ein Gatter 844 geöffnet, durch welches das von der Signalleitung 240 herrührende Signal CLOCK an einen Zähler 841 zum Zählen zugeführt wird. Zur gleichen Zeit wird das Signal CT9 über ein Gatter 845 einer Signalleitung 272 angelegt. Hat der Zähler 841 das Signal
•JO CLOCK bis auf 128 hochgezählt, so wird das Gatter 845 infolge der Ausgangsgröße des Zählers 841 geschlossen, um das Aussenden des Signals CT9 zu unterbinden. Andererseits wird jedoch ein Gatter 846 geöffnet, wodurch die Zähler 276 unä 277 zu einem Zeitpunkt t, beginnen können,das Signal CLOCK
•j5 zu zählen. Zum Zeitpunkt t, werden die aufeinanderfolgenden Berechnungen von R-= M, χ M2 "iod η beendet und R- > 0 wird in Gl. (22) überprüft. Falls sich das Signal CARRYEMD auf der Signalleitung 275 auf eijiem Wert 0 befindet, wenn der Zähler 226 das Signal CLOCK nach dem Zeitpunkt t, bis auf zwei heraufgezählt hat, bleibt ein Gatter 847 geschlossen und zu einem Zeitpunkt t„, bei dem der Zähler 277 das Signal CLOCK bis auf sechs hochgezählt hat, wird die Ausgangsgröße des Zählers 277 über eine ODER-Schaltung 848 einem Gatter 849 angelegt, durch dessen Ausgangsgröße wiederum Gatter 850 und 851 für einen· festgelegten Zeitraum geöffnet werden. Zu diesem Zeitpunjct t~ wird das Signal SIGN auf einer Signalleitung 274, d. h. das Vorzeichen von
R1 = Σ R1 . in Gl. (22) überprüft. Ist das Signal SIGN I, l i=0 X/1
d. h. wenn R1 < 0 ist, wird das Signal CTlO über das Gatter 85.1 auf eine Signalleitung 273 geschickt. Dadurch wird die Ausgleichsrechnung von Gl. (23) durchgeführt. Zu diesem Zeitpunkt werden die Zähler 276 und 277 durch die Ausgangsgröße des Gatters 84 9 über die ODER-Schaltung 843 gelöscht.
JZZbUlö
Jedoch beginnen zu einem Zeitpunkt t., bei dem die Löschung beendet ist, die Zähler 276 und 277 erneut zu zählen. Zu einem Zeitpunkt t,-, bei dem der Zähler 276 das Signal CLOCK auf den Wert zwei heraufgezählt hat, wird das Gatter 847 geöffnet, und falls das Signal CARRYEND auf der Signalleitung 275 den Wert 1 aufweist, wird die Ausgangsgröße des Gatters 847 über die ODER-Schaltung 848 dem Gatter 849 zugeführt und durch die Ausgangsgröße des Gatters 84 9 werden die Gatter 850 und 851 zum Zeitpunkt tfi geöffnet, wodurch das Signal SIGN, d. h. das Vorzeichen von R,, überprüft wird. Weist das Signal SIGN zu diesem Zeitpunkt einen Wert 1 auf, so wird das Signal CTlO im Zeitpunkt tg ausgegeben. Ähnlich wird die Ausgleichsrechnung der Gl. (23) durchgeführt und zum Zeitpunkt t?, bei dem die Gatter 850 und 851 geöffnet
-j5 werden, falls das Signal SIGN den Wert 0 aufweist, wird das Signal MDEND von dein Gatter 850 auf eine Signalleitung 264 geliefert. Durch dieses Signal MDEND wird das Signal CT7 zu 0 gemacht, wie dies vorstehend mit Bezug auf Fig. beschrieben wurde. Das Signal CT7 stellt ein Signal dar, das
2Q einen Wert 1 während der Operation R=M,- M- mod η hält. Weiterhin wird durch das Signal MDEND eine Q-Ausgancisgröße des Flip-Flops 842 auf den Wert 1 gebracht und ein Gatter 852 wird geöffnet, durch welches die Zufuhr des Signals CLOCK an die Zähler 276 und 277 aufrechterhalten wird, wo-
jK durch das Auftreten des Signals CTlO, während das Signal CT7 sich auf dem Wert 0 befindet, verhindert wird.
Auf diese Weise kann die Kompensationsberechnung bzw. Ausgleichsrechnung für die Multiplikationen und Divisionen TJO in den Gl. (22) bis (24) gesteuert werden. Fig. 59 verdeutlicht ein spezielles Beispiel einer in Fig. 49 gezeigten fünften Steuerung 280,und die Fig. 6OA bis 6OD zeigen Wellenformen, die an bestimmten Teilen der Steuerung 280 während des Betriebs auftreten. Wird ein Signal CRYPT-end über eine
SighaXleitung 282 seitens der zweiten Steuerung 250 angelegt, so wird daraufhin ein Gatter 853 durch das Signal CRYPT-end geöffnet. Wird das Signal C-out von einer Signallei,tung in diesem Zustand eingegeben, so wird ein Flip-Flop 854 über das Gatter 853 angesteuert, und seine Q-Ausgangsgröße, die als Signal CTIl über ein Gatter 855 auf eine Signalleitung 283 ausgegeben wird, geht auf den Wert 1. Durch die Ausgangsgröße des Flip-Flops 854 wird weiterhin ein Gatter 856 geöffnet und das Signal CLOCK auf der Signalleitung 240 wird mit Hilfe eines Zählers 857 gezählt. Gleichzeitig wird das Signal CT12' über ein Gatter 858 einer Signalleitung 284 zugeführt und als Signal CT12 über die ODER-Schaltung in Fig. 49 ausgegeben. Das Berechnungsergebnis in dem C-Register 104 wird vom Schlüsselsystem ausgegeben. Hat der Zähler 857
■J5 bis auf 128 hochgezählt, so werden die Gatter 855 und 858 beide geschlossen, wodurch die beiden Signale CTIl und CT121 angehalten werden.
Nachdem die Operation CbM mod η somit beendet wurde, kann die Variable mit 512 Bits vom Schlüsselsystem in Schritten von vier Bits durch 123 Taktimpulse ausgegeben werden.
In dem in Fig. 7 gezeigten Quotientenberechnungs-Vorbearbeitungsabschnitt 60 wird η (2 < η < 2 ) eingegeben und ν
durch Gl. (15) erhalten, d. h. ν ·♦· [ 213χ[η·2~504] ]. Eine zusätzliche Beschreibung wird für die Größe des Festwertspeichers ROM 68 des Vorbearbeitungsabschnitts 60 gegeben. Die Adresse des ROM 68 kann durch eine positive ganze Zahl mit einer Breite von acht Bits dargestellt werden, und zwar aufgrund
3Q der Bedingung 2 < [η·2 ] < 2 . Obwohl 2 oder weniger Adressen nicht verwendet werden, kann dennoch die Größe des
ROM 68 die Hälfte des ROM mit 2 oder weniger Adressen betragen. Der Wert von ν kann durch eine positive ganze Zahl mit einer Breite von sechs Bits aufgrund der Beziehung
JZZÖU I ö
2 < ν < 2 dargestellt werden. Jedoch ist das höchstwertige Bit (MSB) von ν iiomer l,und dieser Wert liegt fest, so daß der Wert von ν mit Ausnahme der "1" des höchstwertigen Bit in dem Festwertspeicher ROm 68 unter Verwendung von fünf Bits 5, gespeichert wird. Nimmt man Bezug auf den Wert von v, so wird ein Bit mit einem Wert "1" als höchstwertiges Bit von ν durch einen Inverter 859 hinzuaddiert. Es ist natürlich auch möglich den Vorbearbeitungsabschnitt 60 so auszugestallten, daß der Speicher ROM selbst η mit acht Bits in sich aufnimmt und IQ v mit acht Bits von dort ausgibt.
Ausgleichsrechnung
Die Berechnungen der Gl. (20) und (21) werden wiederholt und •J5 es wird geprüft, ob eine Ausgleichsrechnung in Gl . (22) erforderlich ist. Ist diese notwendig, wird die Ausgleichsrechnung durchgeführt. Mit Bezug auf Fig. 22 wird eine Beschreibung der' Ausgleichsrechnung gegeben. Während des Zeitraums, bei dem der Wert des Signal CTlO auf einer Signalleit.ung 300 on auf Null gehalten wird, d. h. während des Zeitraums, in dem hauptsächlich die Operationen der Gl. (17) bis (22) durchgeführt v/erden, werden Eingangssignalleitungen 303 und 304 der Selektoren 301 und 302 ausgewählt,und der Wert der Variablen R. , . wird in jeder der Schaltungen 861 und 862 um vier 9t; Bitstellen nach links verschoben, wodurch der Wert. 2 ·Κ. . . ,
/-•J j + X , X
der für die Berechnung der Gl. (20) erforderlich ist/ ausgewählt wird.
Hat das Signal CTlO auf der Signalleitung 300 einen Wert 1, 2Q d. h. bei Durchführung der Ausgleichsrechnugn der Gl. (22), so werden Eingangssignalleitungen 305 und 306 der Sslektoren 301 und 302 ausgewählt, d. h. der Wert der Variablen R·,-, wird gewählt. In dem in Fig. 8 gezeigten Quotientenberechnungs-Vorbearbeituncjsabschnitt-61 wählt der Selektor 83 die Ausgangs-Xt größe einer Schaltung 75-, mit Hilfe des Signals CTlO und
QV = -1 wird über die Signalleitung 22 dem -Q.«n-Rechner in Fig. 22 zugeführt. Weiterhin wird, wie aus Fig. 15 zu ersehen ,einem UND-Gatter 13 6 ein invertiertes Signal des Signals CTlO zugeführt, folglich wird dieses Gatter geschlossen und die Ausgangsgröße des M2-Registers 105 wird nicht auf die Signalleitung 105L gegeben. Der Wert des Signals auf der Signalleitung 10S1, d. h. der Wert $..._,. .«21 (i = 0, 1, 2 , 3) des Signals M-SIG auf einer Signalleitung 21 in Fig. 6, nämlich M- ., wird zu 0 und als Ergebnis dessen "50 wird die Gl. (23) in dem Addierer 160 berechnet.
Diese Ausgleichsrechnung kann wie folgt geändert werden:
Schritt 6·: R1 ♦ Σ R1 ± (22')
i=0 '
Schritt 7': Falls R. >.Ό, dann gehe zu Schritt 8'.
u(23')
Gehe zu Schritt T zurück. Schritt 8's R <■ R±. Stopp. (24')
Die Ausgleichsrechnung kann durch die Gleichungen (22') bis (24'), z. B. wie in Fig. 61 gezeigt, durchgeführt werden. Die Ausgangsgrößen R. ,, , und R. ,, n der Register 17O.r und
J T X , -L JT-L,U jj
Π®τ> werden über Signalleitungen 3'13 und 314 in dieser Reihenfolge an die Selektoren 311 und 312 angelegt und gleichzeitIg werden die Registerausgangsgrößen durch die Schaltungen 861 und 862 in dieser Reihenfolge um vier Bitstellen nach links verschoben und dem Addierer 160 zugeführt. 66 hochrangige Leitungen der Signalleitung 308 werden als Signalleitung 315 mit dem anderen Eingang des Selektors 311 verbunden. Der Signalleitung 309 werden zwei hochrangige Bits hinzugefügt und diese Leitung dann als Signalleitung 316 mit dem anderen Eingang des Selektors 312 verbunden. Die Anzahl der
R1 ■*■ R1 -i- η 1 1 ,
Leitungen der Ausgangssignalleitung 116 beträgt nicht 64, sondern wird auf 66 erhöht. Diese Ausgangsgröße wird dem in Fig. 15 gezeigten Register 104 eingegeben und von diesem über die Signalleitung 114 dem Hauptaddierer 110 zugeführt, so daß die Eingangssignalleitung 114 sich aus (66 + 3)-Leitungen zusammensetzt.
Während das Signal CTlO einen Wert 0 annimmt, d. h. während die wiederholten Berechnungen der Gl. (7) bis (12) und (211) durchgeführt werden, wählen die Selektoren 311 und 312 die Signalleitungen 313 und 314 aus, wodurch die Gl. (22') genau berechnet wird.
Nimmt das Signal CTlO einen Wert 1 an, so werden die Signalleitungen 315 und 316 ausgewählt,und in dem Addierer 180 werden die von den Selektoren 311 und 312 stammenden Signale R, und η addiert. Folglich wird die Gl. (231) genau berechnet. Der Wert des durch acht unterteilten Signals R1 auf der Ausgangssignalleitung 116 des Hauptaddierers 110' wird der in Fig. 61 gezeigten Signalleitung 308 über aas Register 104 und die Signalleitung 114, die in Fig. 15 gezeigt sind, zugeführt. Mit anderen Worten,· die durch acht geteilten Werte der Signale R, und η werden auf den Signalleitungen 315 bzw. 316 erhalten, infolgedessen die Berechnung R, + R, + n, d. h.
die Gl. (23') genau ausgeführt wird. Hier" stellt der durch acht geteilte Wert des Signals η 64 Bits dar, die durch eine gleichmäßige Unterteilung der Variablen η mit einer Bitbreite von 512 in acht Gruppen erzielt werden. Die Werte des durch acht geteilten Signals R. stellen acht Bitgruppen dar, die
3Q durch Unterteilung der eine Bitbreite von 514 aufweisenden Variablen R- in eine Gruppe mit 66 Bits und sieben Gruppen mit 64 Bits (d. h. 514 = 66 + 64 χ 7) erhalten werden. Da in diesem Fall der Addierer für die Ausgleichsrechung nicht benötigt wird, sind die Schaltung 75,, der Selektor 83 und die
Signalleitung 20 in Fig. 8 nicht erforderlich. Die Signalleitung 82 wird direkt mit der Signalleitung 22 verbunden. Ferner ist das Gatter 136 in Fig. 15 ebenso nicht erforderlich und die vier Ausgangssignalleitungen des !!„-Registers 105 werden direkt mit der Signalleitung 105.. verbunden. Außerdem nimmt das C-Register 104 in Fig. 15 eine Bitbreite von 66 und nicht eine Bitbreite von 64 ein. Außerdem wird bei der Kopplung der in Fig. 33 gezeigten Register 104, bis 104« das Register 104 als ein Register mit einer Bitbreite von 514 dargestellt, und zwar aufgrund der Berechnung 512 + 2 = 514, wie dies bei Fig. 44 der Fall ist.
Modifikation des -Qj'n-Rechners
Das wichtigste eines anderen Beispiels des in Fig. 22 gezeigten -Q.. «n-Rechners 150 wird nachfolgend beschrieben. IQVj wird als Binärzahl
2h
Σ H · 2μ dargestellt mit h ,> 3 und ist gegeben durch
[QV j = Qja + Qjb + Qjc (E-1)
Qjc = -H1^1 + H0 <E-4)
Z. B. beträgt in dem Fall mit |Q'.'| = 11011, Qia = 25, Q.. = -22, Q. - -1
-J Bei einer solchen Darstellung erfordert | Q V | - η 5 χ 66 Bits, falls Q1.' als eine reine Binärzahl dargestellt wird. Falls jedoch Q. , Q., und Q. . verwendet werden, sind 3 χ 66 Bits für ja jo je
5 2
für 2 , -2 und -1 ausreichend, so.daß 2 χ 66 Bits einge-
spart werden können. Dadurch kann die Anzahl der Eingänge des in Fig. 22 gezeigten Übertragsicherstellungs-Addierers 160 verkleinert werden. Fig. 62 verdeutlicht hierfür beispielhaft die Schaltkreisanordnung, die der in Fig. 24 gezeigten entspricht. In Fig. 62 nehmen Q. , Q., und Q. Generatoren ιυ 502, 503 bzw. 504 von einer Signalleitung 134 den Wert Q1.1 auf und berechnen Q. , Q., und Q. entSDrechend der in den
ja JD je
Fig. 63, 64 und 65 gezeigten Logik. Anschließend werden die Rechenergebnisse ausgegeben. Z. B. verdeutlicht in Fig. 63
ein Spalte 2" der D-SIG-EingangsgrÖße die Ziffernstelle von 2 des Wertes lO"!, der als Binärzahi dargestellt wird. Das gleiche gilt bei 2 . Die Werte 24, 25, -24 und -25 in der Ausgangsspalte verdeutlichen Ausgangsklemmen des Q. -Generators 502 und 'werden gezwunger., einen Wert 1 anzunehmen. Der Wert 0 in der Ausgangsspalte verdeutlicht, daß der Signalwert an der Ausgangsklemme den Wert 0 hat. Z. B. wird in
4 3
dem Fall, bei dem g , 2 und 2 in einer Eingangsspalte die
s r>
Werte 0, 1 und 1 aufweisen, angezeigt, daß ein Signal 2" an der Ausgangsklemme gezwungen wird, einen Wert 1 anzunehmen. Dadurch wird die Datenmenge, die -Q1Nn darstellt, .'erkleinert. Dadurch kann der Schaltkreisumfang' des über trag-Speicher-Addierers 160 verringert werden.
Der numerische Ausdruck des Prinzips des Multiplizier-Dividier-Vorgangs stellt den wesentlichen Teil des erfindungsgemäßen Schlüsselsystems dar.
Das Prinzip zur Erzielung des Quotienten Q und des Rests R einer Multiplikation-Division der ganzen Zahlen (M, χ M~) τ η wird durch numerische Ausdrücke als ein Theorem und ein System von Theoremen dargestellt.
Theorem
Der Quotient Q und der Rest der Multiplikation-Division der ganzen Zahlen (M, χ M_)τ η kann, wie anschließend beschrieben, durch die Gl. (P20) bis (F22) erhalten werden, und zwar auf der Grundlage von I. und R,, die durch Wiederholung von Rekursionsformeln der Gl. (F14) bis (F19) in einer Reihenfolge j =r I1 A-I, ..., 2, 1 unter der Prämisse der Gl. (Fl) bis (F13) erhalten werden. Hierbei verdeutlicht Gl. (F17) den Be-"JO reich, innerhalb dessen I. mit Gl. (F16) erhalten werden kann, Gl. (F18) verdeutlicht das Berechnungsverfahren von R.. In den Gleichungen stellen n, M1, M„, R·,-, und R. Variable,
ι δ J + J- D
m, K, A, λ, ω, S, t, und t„ Konstante und α. eine Zufallszahl dar, wobei sich der Wert der Zufallszahl unregelmäßig •\5 ändert bei Änderung des Wertes j, und t, und t~ reelle Zahlen und die anderen ganze Zahlen dar. Da übrigens der Wert o. natürlich auftritt, ist es nicht erforderlich, diesen beim Aufbau des Addierers in Betracht zu ziehen. Das bedeutet, daß
α. in Gl. (F16) vernachlässigt werden kann.
Wird eine Multiplikation-Division (M, χ Μ«') τ η1 mit M„' = M„ χ 2 und n' = η χ 2 durchgeführt, um so den Quotienten Q und den Rest R der Multiplikation-Division (M, ;c M„) ■:- η zu erhalten, so ist das niedrigstwertige Bit δ ' von M-* immer 0, so daß es keine schwierige Bedingung darstellt, Gl. (F13) einzuhalten, falls ω = 1. Da jedoch R = [R2 * 2]und Q = Q- für den Quotienten Q2 und den Rest R- von (M, χ Μ'): η1 gelten, ist das niedrigstwertige Bit von R2 für R nicht erforderlich.
Die Addition von Gl. (F18) wird für den Fall verwendet, bei dem ein Übertragsicherstellungs-Addierer vorgesehen wird. Jedoch kann diese Addition auch unter Verwendung eines Übertragfortpflanzungsaddierers mit α. = 0 und-A - 1 durchgeführt
werden. Im folgenden wird ein Konstante manchmal als ein Parameter bezeichnet.
0 ύ α. ύ Α
λ + log2A 2 K m = 0, 1/ 2; «·<
ω = 0 or
mit
and T-2=[
2m+1-nt.l+I1.2mSS.2mint1-W2m-{I2+1.)2ra
O ύ Μ. < η
wit
M_ 2D
U ;Λ (F1) (F2)
(F3) (F4) (F5) (F6)
(F7)
(F3) (F9) (F10) (F11)
6=0 -falls ω = (F12)
(F13)
= ü (F14)
-Α·η·
77
♦ η+ωδ ·
Ij = [{[(2XRj+1) 2"111J+C(M1.M^ j
(F15)
I. ί I 2X.Rj+1
R=R- + δ·η
. - Ι.·η 3 D
(F17) (F18)
(F19) (F20)
Q -
δ =
ί Σ
2 für R^ < -η
1 für -η ύ R1 <
O fur O £ R1 < η
-1 für η ί R1 ί 2η -2 für 2η ύ R^ <
(F21)
(F22)
Folgesatz des Theorems
30 Folgesätze des Theorems werden nachstehend unter der Annahme gegeben, daß der Anwendungsbereich des Theorems erweitert wird- Hierbei ist eine Kombination der Folgesätze 2 und 3 nicht möglich, jedoch ist eine gewünschte Kombination der anderen Folgesätze möglich, z. B. können die Folgesätze 1,
•j 2, 4 und 5 gleichzeitig Anwandung finden. Als nächstes werden abgekürzte Bezeichnungen X und X1 und eine Zufallszahl 3., die bei Änderung des Wertes j ihren Wert unregelmäßig ändert, durch die folgenden Gleichungen definiert:
Χ— Γ / O M
+α.-ω·δ,, λ,·CM,·2"°] (Ρ23)
«•Σ* [(Z. )2""m]+S'+aj (F24)
y=o 3'μ
mit
<F25)
Μ .Μ. . ,, ^1Z. (F26)
S1 β S + 3· {F27)
η <«.<«, ' (5'28)
wobei <p und ß. ganze Zahlen darstellen.
Folgesatz 1
I. kann mit Gleichung (F29) anstatt mit Gl. (F16) erhalten werden, wird jedoch Gl. (F29) verwendet, so wird S in dem Theorem durch S1 ersetzt. Übrigens,die Benutzung eines Übertragfortpflanzunysaddierers bedeutet, daß die Anwendung des Folgesatzes 1 bedeutungslos ist.
1 Ij = [X ν [n.2"m]] (F16)
Ij β EX' * [n.2~m]] (F29)
Folgesatz 2
Außer der Gl. (F16) können die Gl. (F30) und F(31) aus den Gl. (F32) bis (F34) unter der Prämisse, daß w eine ganze 10 Zahl ist, abgeleitet werden. In diesem Fall werden die Gl. (F8), (F18), (F19) und (F21) zu (F8)", (F18)", (F19)" bzw, (F21)11.
I1 S 2W (F30)
15 (I2 + 1) S 2W (F31)
X.v.2-(k+W+1)3-M für »0
E] für X<Q
v β [2 ik+w+1^Cn.2~m]] (P33)
δ* = 0 or 1 (F34)
25 -{S+A+ (I2+1) }2m+W· δ (J-1 j XCM1 · 2*"in3 · 2ra-nSR..
2m+1, -n. fc2 +Ir.2ra<S. 2m St. ,.η-ω.2111
(I 2+1 2m-n
Rj-2 λ·Ρ ,+M1-M-^ - (
£
Q= T,
2(j-i )X
(F18)" "j " "D + T f ^/U ' 3 3'
6 =
Γ 3 für R,<-2η
für -
fÜr -
2 für -2n<R,<-n
j λ fÜr n^Rl<0 (F22)"
0 für 0<.R1<n
-1 für n<R,<2n
i *" λ [~2 für 2n£R,<3n
D. h. eine Einheit von I! wird anstelle von I. verwendet, Folgesatz 3
Anstatt aus der zur Berechnung von I. dienenden Gl. (F16) kann I. aus den Gl. (F35) und (F36) abgeleitet werden. In diesem Falle werden die Gl. (F7), (F8) und (F1.9) durch die Gl. (F7)\ (FS)1 bzw. (F19)1 dargestellt.
X+[<-I.)n«2"m]ä0 (F35)
(P36)
~2K+1-i-cjäS<2K '-Ä-1-20J (ΪΊ) '
2m+1-n.t2<S.2111 m
m
2m
Folgesatz 4
30
Der Quotient Q und der Rest R kann dadurch erhalten werden, indem man die unteren und oberen Grenzwerte des durch die Gl. (F17) ausgedrückten Wertes von I. zu -I, + 1, falls
—k
A-2 + t, > 0 bzw. zu I„ - 2, falls Jr > 0 best iinrat -
3223 01.8
' In diesem Fall wird I, in dem Theorem zu I, - 1 sowie L zu 1,-2.
Folgesatz 5
Erhält man R. aus Gl. (F18) unter Verwendung von I! = I. + I!0 (mit I!o = ±1, +2, ...) anstelle des durch Gl. (F16) erhaltenen I., so ergibt sich der Bereich von R. durch Gl. (37). Ist dieser Bereich von R. in dem Bereich von R. , eingeschlossen, dann bleibt das Theorem gültig. Wird der Folgesatz 5 mit dem Folgesatz 3 kombiniert, so wird der Bereich von R. durch Gl. (F38) dargestellt, wird hingegen der Folgesatz mit dem Folgesatz 4 kombiniert, so wird der Bereich durch Gl. (F39) dargestellt. Wird dieser Folgesatz sowohl mit dem
-{5 Folgesatz 3 als auch dem Folgesatz 4 kombiniert, so wird der Bereich von R. durch Gl. (F38) wiedergegeben. In dem Fall, bei dem nur einer der oberen und unteren Grenzwerte von I. für den Folgesatz 4 verwendet wird, werden I, ~ 1 und (L + 2) - 2 in Gl. (F39) zu I, bzw. (I_ + 1) entsprechend
2Q den unteren Grenzwerten,
- (S+A+ (Io+1) ) · 2m+ü)· δ , . - . , [M- · 2*"m] · 2m-I · A' *- \J" ι) λ ι j-ü
Ij0-n (F37)
-(S+A) '211Vu)* δ , . .»,[Μ. *2~m]'211^-I.,.»nSR. \ J— IyAl JU j
<n+(2-S) t2m+(ü.5 ,. . v, [M. •2~m]»2m~I .„*n (F38) - (S+A+ (I„+1) --2) · 2'^tO' δ . . , ,, [M, · 2*"m3 · 2ΙΛ-
I._.niR.<n+(2-S+(I -·1))21+ω·δ , . ., ,, [M · 2 ]·.
-Ι.,ηβη (F39)
-j Spezielle Beispiele von Ausdrücken bzw. Formeln des Theorems und der Folgesätze
Die folgende Beschreibung soll beispielhaft verdeutlichen, daß das Prinzip des Multiplizier-Dividier-Vorgangs in verschiedenen Formen durch geeignete Definition der in dem Theorem und seinen Folgesätzen gezeigten Konstanten ausgedrückt werden kann. Im folgenden werden diejenigen Ausdrücke weggelassen, die zwangsläufig von der Definition der •jQ Konstanten resultieren würden. Jene betroffenen Gleicungen, die leicht durch Änderung ihrer numerischen Ausdrücke zu verstehen wären, werden mit j.nren geänderten Ausdrücken dargestellt.
-ic Beispiel 1
Dies ist ein Beispiel, bei dem die Konstanten K, A, λ, ω , S, t, und t? mit Ausnahme m wie folgt definiert sind:
K = 7, A = 1, λ = 4, ω = 0, S = 26, t, = ~| und t- = 0.
2Q Hierbei werden der Folgesatz 1, der Folgesatz 2, mit w = 5, und der Folgesatz 4 verwendet.
O < α· < 1
m — 0/ 1/ 2/ ···
0 S Μ« < η
23
mit
CO
Ϊ28 n ~ n
[Χ·.ν.2~13]+1, für X'SBO"
mit
δ* = 0 or
0 ί 0j ί
213
ν = [ 2 _m Cn-2 m]
-24 ^ I. S
R.=2
- η - γ·~ ^ Rj < η
R=R.+
I1. »24i"J~1)- 6
2 für R.<-n 1 für ■0 für R1
Beispiel 2
Dies ist ein Beispiel, bei dem I, und I_ unter Verwendung des Folgesatzes 4 bestimmt werden und anschließend der Folgesatz 3 verwendet wird.
(A) Vorbedingung
Die Konstanten K, λ, ω, t,, t_ und S, ausgenommen m und A, werden durch die folgenden Gleichungen bestimmt, ξ ist eine neu definierte Variable.
K Z 2
15 χ = 1
ω «= O
h = 2"k+1
t-, = 0 ι.
2* * A + S S = 2
(B) Berechnungen der Konstanten Berechnet man I, und I„ unter Verwendung des Folgesatzes 4,
v/erden I1 = 1 und I_ = 2 erhalten und -1 < I. < 2 gilt. 1 2 — j ™
Als nächstes folgt aus der Definition einer Variablen Q.,
die I. + 1 entspricht, daß 0 < Q. < 3 ist. Da hier der Fo] cje-
3 "'3
satz 4 angewendet wird, wird z. B. falls Q. > 4 ist, Q. ·-= ,. '3 ~~
ώϊ> gesetzt.
q u
Setzt man M0 = Σ S ·2 , so gilt die Beziehung M' . = δ.
2 μ=0 μ ^fD-D
unter den Bedingungen ω = 0, λ = 1. Demzufolge gelten durch den Folgesatz 3 die folgenden Gleichungen: 5
' )2"m]+C(6j-M1)2"mm
Nimmt man den in Gl. (F19) definierten Bereich von R., so ergibt sich unter Verwendung von S + A <_ 2 die folgende Gleichung:
-1^- φ*ϊ Rj <n
Gl. (F18) ergibt sich wie folgt:
R. -- 2R.,, + δ.-M- + (1 - I.)-n .
Zieht man in Erwägung, daß j = I, ί-1, ... 1, 0 ist, ergibt sich Gi. (F20) wie folgt:
R=R+ « -n
J
mit 1 für RQ <0
0 für RQ>,0
Es ist leicht zu verstehen,daß in dem Falle von ί,. = 1 der
erwartete Wert von δ«.. =1 sich zu 2 ^ ergibt, und zwar
unter der Annahme, daß RQ gleichmäßig in dem Bereich von η £ Rn < η vorteilt ist.
(C) Zusammenfassung der Konstanten und Gleichungen
Die folgende Gl. (H6) gilt für den Ausdruck R. (mit .j = q, q-1, ... 1, 0), der durch die folgenden Gl. (Hl) bis (H5) - die das oben Gesagte zusammenfassen - definiert ist.
Der Quotient Q und der Rest von (M, χ M„) * η sind durch die folgende Gl. (H7) bestimmt, wobei, falls δ. = 1 und Q. = 3 gleichzeitig gilt, berücksichtigt wird, daß Gl. (H2) und (H3) gilt.
0 S M1 < η
Σ δ,'2-1, j=0 3
K ä 2
ia £ 0
2 > 2 + α.
δ. = 0 oder} 3
(H 1 )
r(2Rj+1)-2
j - 2Rj+1 +
JL
< R. < η 3
-Qj)«n-
(Η2) (Η3)
(H4) (H5) (116)
Q= Σ (Q. -.1)2^ - δ,.
J=O 3 -^
mit (H7)
1 für
C für
1 für Rq<0
Der Mittelwert beträgt 2 ς , falls θ = 1 Beispiel 3
Dies ist ein Beispiel, bei dem die Folgesätze 1, 2 und 4 verwendet werden. Ist j - 1, so wird außerdem der Folgesatz 5 verwendet. Hierbei sind die Konstanten K, A, λ, ω, S, t, und ty, mit Ausnahme von m, wie folgt gesetzt: K= 11, A=I,
λ - 8f ω = 1, S = 405, ^ = 1 + rjföjfö und t2 = 1. Ferner ist
der Wert von w in dem Folgesatz 2 zu w = 10 bestimmt.
1 £ n«2~m~11 < 2
α.. =0, 1
ni = 0/1,2,...
"
0 έ M- < η
mit
M, = Σ M, ..28(j~1)
2 ji 2'3
0 8(3-1)+μ 8(3--1)--μ
S1 β 4 05 + β.
«J« [Χ^·ν·2 [Xi,- V 2
-22
für
für Xj<0
i = O,
- [222*[n.2~m]]
-403 S 766
R =
χ [Μ-»2 ]2
R = R1 + 5«η ■
0=0,1,2,3, 0 ί R. + 6·η < η
Beispiel 4
Dies ist ein Beispiel, bei dem die Werte von I, und I0 unter Verwendung des Folgesatzes 4 definiert werden und anschließend die Folgesätze 1 und 2 verwendet werden. ·
(A) Vorbedingung
Zuerst werden die Konstanten durch die folgenden Gleichungen definiert, wobei XV, QV und Z. neu zu definierende Konstanten sind.
K = λ +
L = die Anzahl der bedeutsamen Ziffern, d. h.
21·'1 < η < 2L
= 2 - 2~K
Ein Übertragsicherstellungsaddiex-er mit zwei Ausgängen wird verwendet.
322S018
90
d.h., A = 1 , α- = 0, 1
+ 2
X1J = X1
«3
j λ für ω = 0
10 Φ =
1 λ/2 für ω = 1
U = K + W + 1
(B) Berechnung der Konstanten
I, und I~, die unter Verwendung des Folgesatzes 4 erhalten werden, ergeben sich wie folgt:
25 _λ+1 _ ,,λ+1 ,.
I1 = 2 , I2 - 2. - 2
Aus Gl. (Fl) , L = m + K + 1 .-.πι = L - λ -
Der Bereich von S wird aus den Gl. (F7) und (F8) erhalten. 30 Jedoch ist der Bereich von S kleiner gemacht als der durch die Berechnung sich ergebende, und ω wird eliminiert.
2λ+1 + 2 < S < 2λ+2
jr Aus den Gl. (Fl5) und (F19) ergeben sich die Bereiche von
Ri+1 und R-i * Das F°l9ende ist eine vereinfachte Darstellung der Bereiche von R^+1 und R. unter Verwendung der Bedingung
~η]·2πι+2πι·ε mit
M1 =. [Μ1·2~η]·2πι+2πι·ε,
Aus den Folgesatz 2 ergibt sich I1S2 y
I2 + 1 S 2W J .·. w* λ + Λ US 2λ +
für Χ!·δΟ
°ϊ = f j -u 3 Ι [χ··.ν2 U3
für XV
mit v"c
Aus Gl. (F17) ergibt sich: -2λ+1 < I. < 2λ+1 -
Da QV = I! = I. + δί, mit δ* = ο oder 1, ergibt si^h der
J J J J «J
Bereich von QV zu -2λ < QV < 2 '. Erreicht jedoch der aus
Gl. (F32) erhaltene Ausdruck QV den Wert QV = -2X+1, dann
sollte QV auf den Wert QV = -2X+ + 1 gesetzt werden, und j
falls QV = 2λ+1, dann sollte QV auf den Wert QV - 2λ+1 -
gesetzt werden. Demzufolge sollte der Bereich von QV wie
folgt definiert sein:
-2X+1 + 1 < Q1.' < 2λ+1 - 1
Weist jedoch der aus Gl. (F32) erhaltene Ausdruck QV' den r Wert QV = -2λ+1 auf, dann setze QV = -2λ+1 + 1. Beträgt der Wert hingegen QV = 2X+1, dann setze QV = 2λ+1 - 1.
(C) Zusammenfassung des Berechnungsverfahrens der Parameter
Zuerst werden L, λ, ί,, und ω bestimmt und anschließend wird ein Satz von ganzen Zahlen n, S und u erhalten.
L = Anzahl der bedeutsamen Ziffern
(Anzahl der Bits)
λ = die Länge der Division von M„
ι = ceil {L :- λ}
ω = 0 oder 1
π» = L - χ - 3 ^
2λ+1 + 2 <. S <, 2λ*2
u > 2\ + 4
wobei, falls ω = 1, λ eine gerade Zahl darstellt, ceil {χ}
verdeutlicht eine minimale ganze Zahl größer als x, z. B. 25
ceil {1.5} = 2.
(D) Durchführung der Berechnung
(a) Vorbereitung
Zuerst wird η eingegeben, um ν zu erhalten, ν = [2U * [n-2-m]]
Als nächstes werden M, und M„ eingegeben
(b) Wiederholte Berechnung
Das Berechnungsverfahren wird nachstehend in Form einen Programmablaufplans dargestellt.
93
Schritt O: j «- ι, R£+i#1 + 0,
Schritt 1: 1 φ-1 _
XV ■*■ Σ C (2 'R^+1 ±)*2~mll + Σ [(ζ. μ)"2~
S + <Xj +
•^ -?u <r X" «i 2U mxt -Z < Aj < ^
Schritt 2: , [x«.v2~U] + 1 für XS Z Q
1 für XV < O
J " - 3
_„ 9λ+1 n„ _ „?λ+1 . ,
15 wobex, wenn QI- = —Ί· $ gätze. W^ - -* T »/
falls QV » 2λ+1 , setae QV = 2λ+1 - 1.
Schritt 3:
1 1 . φ="-0
?0 Σ R. , * Σ 2A«R.J.i ,+ Σ Z. „-Q?-n
Schritt 4; Falls j = 1, gehe zu Schritt 5
Dann j +j - 1, gehe, zu Schritt 1 zurück
Schritt 5: Wxederholte Berechnung endet.
(c) Wiederholte Berechnung
30 Schritt 6:
R1 <r Σ R
1 Ί X
Falls R > 0, dann gehe zu Schritt 8.
3228Ü18
Schritt 7:
Σ R1 . * Σ R1 . + η i=0 1>:L i=0 1^
Gehe zu Schritt 6 zurück.
Schritt 8:
Falls R, > ω·η, R1 * R1 - η χ "~ Ix
R + R1. Stopp.
Beispiel 5
Dies ist ein Beispiel, bei dem K= λ·+ 3 anstelle von
K = λ + 2 in Beispiel 4 gesetzt wird. Die anderen Bedingungen sind die gleichen wie in Beispiel 4. Lediglich die Unter schiede zwischen den beiden Beispielen werden nachstehend angegeben.
K = λ + 3
m - L - λ - 4
μ :> 2λ +5
Das vorerwähnte Ausführungsbeispiel der Erfindung wird in Verbindung mit dem Fall beschrieben, bei dem L = 512, λ - 4, l = 128.-und ω = 0 und m = 504, S = 38 und u = 13 angenommen werden.
Weiterhin ist leicht einzusehen, daß man durch Setzen von K= λ + i1, i1 =4, 5, ..., derartig verschiedene Ausdrücke wie oben mit Bezug auf Beispiel 4 und 5 beschrieben, erzielt werden können.
Verifizierung der numerischen Gleichungen des Prinzips des Multiplizier-Dividierwerks
Verifizierung des Theorems Vorbereitung der Verifizierung
Im folgenden werden Definitionen der abgekürzten numerischen Ausdrücke gegeben:
X2-m] (F67)
M = [(M..K· .)2"m3 ■ (F68)
ω-ΐη = n^-6jx2>:.M1)2*"m] (F6S)
ω-.πι-ι - t^'5(3-i)x#Mi)2"m:i = w<ö<j-m[Mr2~m3 (F70)
Aus Gl. (F15), 20
-A.n.2*"k+X-2X«t.n+u.6^,2XM1 S 2XR.+1
< 2.λ2λΜ1 (F71)
Setze h « κ - λ - 1Og2A, aus Gl. (F3) ,
h έ 0 (F72)
Weglassung von m niederrangigen Bits auf jeder Seite
der Gl. (F71),
hX x2XM1)2""in]<R_m (P73)
< [(2.n+2't_.n+(u'<S,,2XM, )2~mj (F74)
—ΠΙ ^. J Λ ι
1 Andererseits gilt die folgende Gleichung für die reelle
Zahl x^ und eine ganze Zahl f ,' wobei γ eine qanze Zahl ist
£ x.l - ν (F75)
0 S γφ S ψ - 1 <F76>
Falls ω ^ ο, Anwendung de*· G).(F75) auf Μχ χ α\. (FlO),
^m1+Y3^ (F77)
γ3 β O/ 1 or 2
15 Aus Gl. (F9) * Μ2 ή "
2"m] < E(n.M2ij)2"m] . (F7S)
Aus Gl. (F77) und (F79),
20
25 Als nächstes werden die Gl. (F67), (F68) und (F70) in die (F16)
α ω
* -m -m j -ra-1 / Ί
eingesetzt
m -m j
"W_m1 + (-Ij)Cn.2 ] ä O (F82)
Andererseits gilt die folgende Gleichung für die ganze Zahl I und die reelle Zahl x;
[I + x] = I + [x] (F84)
Durch Entfernen der Gaußsehen Symbole von beiden Seiten der Gl. (F82) und (F83) und Weglassung des Dezimalpunkts, werden demgemäß die Gl. (F82) und (F83) in die folgenden Gleichungen umgewandelt, da R , S, α. bzw. ω , ganze Zahlen darstellen.
-m j -m-±
"W_m_·, +£ (-1 -Wn'2""m3J έ 0 (F82)·
~w_m_1+[(-1·"1)·Cn*2"m3] < ° (P83)1 .20
Jedoch gilt die folgende Gleichung für die ganze Zahl I und die reelle Zahl χ > 0, mit P als ganze Zahl.
[(-D-Ex]] = [(-I)-X] +P (F85)
mit
D <P < I für I .> 0 1 f. p ^. 0 für I <. 0
(F86)
Das folgende wird vorausgesetzt, wobei man I,1 und Il in Form ganzer Zahlen als Bedingung von I. darstellt.
-I1' < I. < I· (F87)
-I' < -1
x j (F88)
x j
η > ο J
(A) Falls I. < O:
Die Gl. (F85) bis (F88) werden auf die Gl. (F821) und (F83) angewandt.
~τ{ 1 ρχ 1 ° (F91)
J(B) Falls I. >, 0:
Die folgenden Gleichungen werden in der gleichen Weise wie •jr; oben beschrieben, erhalten.
-"ω_Πι_-1+1· (-Ij)n«2 ] -I- P2 > 0 (F92)
l+C(-Ii-1)n«2"m] + ρ < ο (F93) 20
0 * P2 s 1J + 1 (F94)
Unterer Grenzwert von I. (linke Seite von Gl. (F17)
Man verwendet. U für die linke Seite der Gl. (F8S) und substituiert mit I. =-2Xt, - 2,
;f η1 11=U (P95)
3Q Aus Gl. (F73) ■+. Gl. (F88) + Gl. (F95) ergibt sich [ (~n · 2~h-2X· t1 »η+ω · 6 j χ · 2λΜ1) 2"Πν
(2Xt<l+2)n.
' Getrennte Anwendung der Gl. (F75) auf die obigen Gleichungen in den Fällen von ω = 0 und ω ^ 0:
"h~In"'m+P.j^ü (F96)
γ2 = O, ... 1 + ω ' (F97)
P-£ϋ (F98) -
mit C1 = 0 oder 1 (F99)
Aus Gl. (F72) ergibt sich [ (l~2""h)n«2~m]>0 und aus Gl. (Fl) 2K <. [n*2~m]. Deshalb erreicht die linke Seite der Gl. (F98) das Minimum, falls ε, = 0, γ2 = 1 + ω, γ3 -■ Q, α. =0 und
ρ = —τ'
*1 1I*
2Κ - (1+ω) + S - I^ £ U (FlOO)
Falls demgemäß I' derart ausgewählt wird, daß I,' = [2Xt»+2]>l
X XX
wird die Bedingung der Gl. (F88) durch Gl. (F7) und I· = ι erfüllt, was in der folgenden Gleichung resultiert:
D <_ U (PlOl)
Falls I. < -2Xt1-2 ist, bleibt die Gl. (F89) gültig, die Gl. (F90) hingegen nicht.
-In < I. (F102)
1 ~" 3
Oberer Grenzwert von I.. (rechte Seite der Gl. (F17)) J '
Verwendet man V für die linke3 Seite I. - 2λ +2X»t2 in Gl. (F93), so folgt aus 2λ+1 = 2λ+2λ, daß
V=R +M_ +S+α.-ω -+C(-2Än-2Xn"2Xt--n)2~m]+P- (F103) Gl. (F74) + Gl. (F81) + Gl. (F103)
I- I— \J ^J I \J
+S+α.-ω · 1+P9+C(-2'Xn-2Xn-2X.t -n)2"m] (FI04)
j *"IU"" I Δ Δ
mit Y3 = 0, 1 oder 2 (F105)
Die Formel der Gl. (F75) wird auf die Gl. (F105) angewendet
λ -m -m
Λ V<[ (M2 .-(2Λ-1))η·2 ]+[(-2n)2 ] + ε.,-γ4
+Y3.(0+S+a.+P2 (Fi 06)
2Q mit E1 = 0 oder 1 (F1G7)
Y4 = 0, 1, 2 oder 3 (F108)
Y3 = 0, 1 oder 2 (F78)'
Jedoch gilt [(-2n)2™m] <. -2k+1 aus Gl. (Fl) und M . <_ (2'"1),
d. h. [(M0 .-(2λ-1) )n-2~m] <. 0 aus Gl. (F12). Da d? e rechte
Seite der Gl. (F106) ihr Maximum erreicht, falls ε.. = 1,
γΛ = 0, γ·, = 2, α. = A, P0 = I0 + 1, so ist
1 J J δ δ
V<-2 + +1+2ω+3+Α+Ι'+1 (F109)
Wird demgemäß IJ!, derart ausgewählt, daß I' = [2 +2 *to3 >. 0, dann wird die Bedingung der Gl. (F88) durch Gl- (F7) erfüllt
und aus Gl. (F7) gilt die folgende Gleichung mit I' - I0.
3228078
V < O (FIlO)
Falls andererseits I. > 2X+1+2X»t2 ist, bleibt Gl. CF93)
gültig, hingegen Gl. (F92) nicht.
5
.'. Ij < I2 (Fill)
Bereich von R. (Verifizierung der Gl. (F19))
^O Die Gl. (F75) wird auf die Gl. (F89) und (F92) angewandt, um darin die Gl. (F18) einzusetzen.
[(R.^-^ü-Y^+S+a.-to „ -+P £ 0 (P112)
mit Y3 = 0, 1 oder 2 · (F113)
[P1 für 1. < 0
P - i (F114)
IP2 für I. >, 0 .
Die linke Seite der obigen Gleichung erreicht ihr Miminum, 25
falls γ3 = 0, α. = A, P = P2 = I2 +. 1 Λ -IS+A*<I2+D) +ω_ΐη^1 H (Rj)2~m3
Λ - (S+A+ (I2+1) ) .2m+ü)· δ (J-1 j J1CM1 >7."m1 '2mu?^ (F115)
Als nächstes wird die Gl. (F75)" auf die Gl. (F90) und (F93)
engewandt, um darin die Gl. (F18) einzusetzen.
[(Rj-n)2"m3-Y3+fr+aj-co_in_1+P<0 " (Ρ1Ϊ6)
mit Y3 = 0, 1 oder 2 (F117)
i- ί. KJ \J
102
P, für I. < 0
P = (F118)
P2 für I . ,>, 0
Die rechte Seite der obigen Gleichung erreicht ihr Maximum, falls Y3 = 2, α. = 0, P = P1 = -I1-
.._
Λ [(R -η) 2 m]<2-S-f-I1+wm_1
)'2Vu) m . j —m—ι
Λ R<n+(2S+I) 2m+
Die Gl. (F1.15) und (F119) wurden verifiziert, daß Gl. (F19) gilt.
20
Beziehung zwischen den Bereichen von R·,·. und R. ((FlS) und (F19))
Als nächstes wird die Tatsache, daß der Bereich von R., der durch die Gl. (F19) gegeben ist, geringer ist als der Bereich von R, ., der durch die Gl. (F15) gegeben ist, unter Verwendung von j + 1 für j und ό. für δ.. ., in Gl. (F19) be-
JA Ij"1/λ
wiesen.
Setze .R. = (oberer Grenzwert von R. , - unterer Grenzwert von R.
2m
-2 +n »t^-l ·2 )+2 (ω·6.-Μ
.,Μ .2"m]) (FI 20)
J Λ Ι
103 "*■" :
•J Deshalb ergibt sich aus Gl. (F8)
R0 > O . (F121)
Man setzt RL = (unterer Grenzwert von R. - unterer Grenzwert
von Rj)
RL=- (S+A+ (I2+1)) · 2^· δ ..[M1 · 2~m] · 2m
in -v
IU +Α·η·2
Λ R-=-(-S ·2m+t 1 ·η~ω·2m- (12+1) ·2m)
Demzufolge ergibt sich aus Gl. (F8)
R1. > 0 (F.122)
Durch die Gl. (F121) und (F122) wurde verifiziert, daß der
Bereich von R. in dem Bereich von R..-, eingeschlossen ist. 3 ■ 3+1 y
Durch die Gl. (F14) bis (F19) dargestellte Rekursionsformel wiederholt sich in der Reihenfolge j = ί, ί- - 1, . . . 2, 1, und R^, R^-1/ ·.·, R2, R1 und 1%I Ij1-1* ■·< I2* 1X können
erhalten werden.
30
Berechnung von R und Q (Gl. (F120) bis (F122)).
Die folgende Gleichung wird durch Durchführung einer Operation ζ ·2(^~1)λ zu beiden Seiten der Gl. (F20) erhalten.
Λ* Σ M ..2(j"1}X-u).δ Mi-2iX
3=1 3
Setzt man R.+1 = 0, δ =0, δ_ = 0 und Μ_ aus den Gl. (FIl) bis (F14) in die obige Gleichung ein, so ergibt sich
(P123)
mit Q1 = Σ Ι.·2(^~1)λ (F124)
j=l D
Andererseits gilt die folgende Gleichung für den Quotienten Q und den Rest R von (M, xMJ τ η.
R = M1XM2-HxQ (F125)
Aus den Gl. (F123) und (F125) folgt, daß 20
R-R1 = -Hx(Q-Q1) (F126)
Da Q und Q, ganze Zahlen sind, ist zu ersehen, daß die Differenz
zwischen R und R1 eine ganzzahliges Vielfaches von η ist. R1
genügt der Gl. (F19), aber 1. und 1„ werden darin substituiert.
Λ -(S+A+[2A+1+2X.t_+1])2m+W'6I.[M. .2~m] «2m< R1<n-i-(2-S+[2X«t1+2]) · 2m+oj· 6Ql^ ' 2"m]2m
Da jedoch 0<ω · eQ [M, •2~m] · 2Γη<ηω aus Gl. (F9) gilt, kann die folgende Gleichung erhalten werden.
•-(S+A+[2X+1+2X«t2+13)2mSR1<2n+(2-S+[2X«tT
+23)*2m+nw . (F127)
Anschließend wird die folgende Gleichung aus 2m χ Gl. (F7) erhalten
• (.yk+1+1+2ü).2V(S+A+[2i+1+2^t2+1])'2ia ■ (F128) (2-S+[2X.t1+2])2nii(2k+1-W)2m (F129)
Aus den Gl. (F127) bis (F129) folgt, daß
Weiterhin gilt aus Gl. (Fl) --2η<-2ΙΠ+1ς+1, 2m+lc < n. Diese Gleichungen substituiert man in die obige Gleichung,
-2η+(1+2ω) *2raSR1<2n+(1-ü)) ·2ηι+ηω
Aus Gl. (F6) ergibt sich ω = 0 oder 1. Substituiert man dies in die linke Seite der obigen Gleichung, so ergibt.sich
-2n<R1<2n+(1-w) '2^n11) (F131)
Da der Unterschied zwischen R und R, ein ganzzahliges Vielfaches von η ist, ist leicht aus den Gl. (F125) und (F126) zu ersehen, daß die Gl. (F20) bis (F22) gelten. Somit wurde insgesamt verifiziert, daß das Theorem gilt.
\J ί. L. \J U \
Verifizierung der Folgesätze des Theorems
Verifizierung des Fol-gesatzes Aus Gl. (F25) ergibt sich:
Vi,Oj,R (F132)
mit 0 <, B. o <. Aus Gl. (F26) ergibt sich
mit β. - ß, R + ß«.
μ=0 3'μ '
mit 0 < β.! If- 1 (F135)
Aus den Gl. (F132),„(F133) und (F134) ergibt sich: 25
<PX nzj/p)2"m3+ßj (F136)
Substituiert man die Gl. (F136) und (F137) in die Gl. (F23), so wird die folgende Gleichung erhalten, wenn man G1.(F27) in Erwägung zieht.
X=X' (F138)
Demgemäß ist aus den Gl. (F16) und (F138) ersichtlich t daß Gl. (F29) gültig ist. Falls übrigens die Gl. (F29) verwendet wird, wird S' verwendet, so daß es ersichtlich ist, daß S1 anstelle von S in dem Theorem verwendet wird.
Verifizierung des Folgesatzes 2
Man substituiert X in Gl. (F23) in die Gl. (F82) und (F83),
X+(-I.Wn.2~m3 δ 0 (F82)1
Χ+(-ϊ.-1)·[η·2<"πι] < 0 {F83)f
.*. (Ij) •tn.2"m]sx<(l.+1) ·Εη.2"ΐα] (F139)
Substituiert man den minimalen und den maximalen Wert von
I. in Gl. (F17) in die linke bzw. die rechte Seite, so erhält man folgende Gleichung.
1·[η·2"ιπ]δΧ<(.Ι2+1)·[η.2"'ΐα1 '.
Substituiert man die Gl. (F30) und (F31) in die obige Gleichung, so erhält man ,
-2 [n»2~ra]<X<2 .[n.2~m] (F140)
Gemäß Gl. (Fl) gilt [n«2~m] < 2k+1. Substituiert man diese Gleichung in die obige Gleichung, so gi.lt 35
~KX.2~(k+W+1)<1 (FI 41)
• Als nächstes wird Y in der folgenden Weise definiert.
• Y - E ^r-O - EX«v.2~(k+W+1)J (F142)
Cn.2~m] ·
Y - E—X X.v.2-<k+W+1>] + S1
En.2~m] ' 1
6=0 oder 1 (F143)
■JO Substituiert man ν aus Gl. (F33),
Y=[X-2 -^T"-'i{i — ]}]+δ (Ρ144)
En.2~m] En-2 m] 1
(k+w+1) 9(k+w+1)
Man setZtei = 2 y - 1TTT^1 , 0 S ^ < 1 ,
En»2 ] [n>2 J
so daß die folgende Gleichung unter Berücksichtigung der Gl. (F141) erhalten wird.
Γ 6, für X >. 0
γ =4 -1 (F144)
δ -1 für X < 0
Setzt man δ η = 1 - δΫ und substituiert man Y, so erqibt sich
χ -(k+w+1) f 1 " 5i für X--°
Cn·2 3 ^ -6Ϋ . für χ<ο
δΥ = 0, 1 und I. in Gl. (F16), um Gl. (F32) zu erhalten. Als nächstes wird Gl. (F19)" verifiziert.
Die Gl. (F75) wird auf die Gl. (F89) und (F92) angewendet, vr um darin die Gl. (F18)" zu substituieren.
109
mit γ3 = 0, 1, 2
P1 für I. < 0
P =
P2 für I. j> 0
Danach wird die folgende Gleichung in der gleichen Art und Weise wie in dem Fall der Gl. (F115) erhalten.
Λ -(S+A+ (I
Die linke Seite der obigen Gleichung erreicht ihr Minimum, falls 6* = 1, wodurch die linke Seite der Gl. (F19)" verifiziert wird. Als nächstes wird die Gl. (F75) auf die Gl.
(F90) und (F93) angewandt, um darin die Gl. (F18)" zu substituieren.
mit Y3 = 0, 1, 2
P1 für I. < 0
P =
P„ für I. > 0
2 D "
Danach wird die folgende Gleichung in der gleichen Art und Weise erhalten wie im Falle der Erzielung der Gl. (F119).
j Die rechte Seite der obigen Gleichung erreicht ihr Maximum, falls 6* = 0, wodurch die rechte Seite der Gl. (F19)" verifiziert wird.
Als nächstes wird verifiziert, daß Gl. (F8) erforderlich ist, Man setzt R1! = (unterer Grenzwert von R.) - (unterer Grenzwert von R4.i)f dann gilt:
R« = (-S-2ra+t1.n-oJ-2nl-(I9+1)-2in--n)+A.2m L 12
·. -(ω«6JxM1^""*1) +ω}
Somit wurde der Beweis dafür gegeben, daß Gl. (F8)" erforde lich ist. Der obere Grenzwert bleibt unverändert.
Als nächstes wird eine Operation Σ 2 ■· A auf beiden Sei-
1=l
ten der Gl. (F18)" durchgeführt, um die folgende Gleichung zu erhalten.
R1 -M1
(F123)· 25
mit
QJj « Σ (Ι.+δΐ)2(3"1)λ (F124)·
Es ist ersichtlich, daß die Gl. ^21)" und (F22)" in der gleichen Weise gelten wie die Gl;.(F125) bis (F131).
Verifizierung des Folgesatzes 3
Die Bedingungen, für die die Gl. (F35) bis (F36) gelten,
bedeuten, daß die Gl. (F90), (F92)-und (F93) gelten, und
zwar ungeachtet dessen,ob I. positiv oder negativ ist, und falls Ρχ = 0, P2 = 0.
Demgemäß ergibt sich die Gl. (FlOO) wie folgt:
2k-(l+w)+S.<U (FlOO) ·
Jedoch gilt 0 _< U bedingungslos aus Gl. (F7)1. Weitei'hin ist ersichtlich, daß, falls I. < -2xt1 - 2 ist, die Gl. (F90) und (F93) nicht gelten.
.-. -I1 < Ij (F102)'
Auf ähnliche Weise ergibt sich die G3 . (F109) wie folgt: 15
V<-2 +1+2W+S+A (F109)1
Jedoch gilt V < 0 bedingungslos aus Gl. (F7)1. Es ist ersichtlich, daß, falls I. > 2X+1+2X*t2 ist, die Gl. (F89) und (F92) nicht gelten.
··· Ij < I2 ' (Fill)1
Da P=O in Gl. (F114) gilt, gilt Gl. (F19)· indem man Gl. (F112) folgend den Beweis des Theorems prüft.
Verifizierung des Folgesatzes 4
(A) Unterer Grenzwert von I.
λ 3
I. = -2 ^t1 - 1 wird in Gl. (F18) eingesetzt.
* Aus Gl. (F12) ergibt sich M0 . > O, dies substituiert man in die obige Gleichung,
j j+1 1 j λ «
+n(1-2"(k"X""lOg2A))+W'M1.6(j_1)x (FI 46)
Deshalb ergibt sich aus den Gl. (F15) und (F3),
ω·«,· ,,,-M1 < R. (F147)
Als nächstes wird der Fall betrachtet, bei dem I. = -2 et,-2. In diesem Fall gilt die Gl. (F.19) naturgemäß). Erhält man
λ
R. aus Gl. (F18) mit I. -- -2 ^t1-I, so ist zu diesem Zeitpunkt R. um -n kleiner als in dem Fall, bei dem I.-~2 't,-2, jedoch wird der untere Grenzwert von R. durch Gi. (F147) definiert. Demzufolge kann man ersehen, daß der untere Grenzwert von R. größer ist als der untere Grenzwert des Wertes 3 _k
R.+-, der in Gl. (FlS) darqastellt ist, da -Α·η2 -t1*n<r0 als Vorbedingung für den Folgesatz 4 gilt.
(B) Oberer Grenzwert von I.
i. = 2λ+1 + 2X«t2 - 2 wird in Gl. <F18) substituiert.
Man setzt 2λ+1 = 2λ + 2λ,
Aus Gl. (F12) ergibt sich M„ . < 2λ - 1. Dies setzt man in die obige Gleichung ein,
\
RjS2X{Rj+1-(n+t2.η+ω'δJxM1))
+(M1-H)(2λ-1)+η+ω.M1·5(j_1)X (F148)
Demgemäß ergibt sich aus Gl. (F15)
R;.<n+M«M1-e(j_1)x (F149)
'Q Als nächstes wird der Fall betrachtet, bei dem 2λ + 2X*t,>.
I. > 2X"!"1 + 2Xt, - 1 gilt. In diesem Fall gilt Gl. (F13)
J ~" x
naturgemäß. Entnimmt man R. aus Gl. (F18) und setzt I. = 2
λ
+ 2 't,-2, so stellt sich zu diesem Zeitpunkt heraus, daß
l+l ι R. um +η oder +2n ■:größer., als der Wert (2 + 2t, >,!.>, 2**t, -1) des ersten I. ist, jedoch wird der untere Grenzwert von R.. zu diesem Zeitpunkt durch Gl. (F149) definiert.
Demzufolge kann man ersehen,daß der obere Grenzwert von R. kleiner ist als der obere Grenzwert von R-.-j"/ da t-
als Vorbedingung für den Folgesatz 4 gilt.
Somit wurde der Beweis erbracht, daß der Folgesatz 4 gilt.
Verifizierung des Folgesatzes 5
"
Es ist aus Gl. (F18) ersichtlich, daß Gl. (F19) gilt, wodurch auch der Folgesatz 5 gilt.
Da, wie oben beschrieben, gemäß der Erfindung (M, χ ML) τ η durch parallele Ausführung der Multiplikation und Division unter Verwendung des gleichen Taktimpulses durchgeführt werden kann, kann der Quotient Q oder/und der Rest R mit hoher Geschwindigkeit erhalten werden.
O L /L O U
114
M, «Μ« .-Rechner
■i- ^ > D
#
Hinsichtlich der in dem Theorem beschriebenen Multiplikation wird nachstehend eine zusätzliche Erläuterung bezüglich der Bedingung ω = 1 gegeben.
Setzt man in die Gl. (FlO) ω = 1 ein, so ergibt sich die folgende Gleichung
Nachstehend wird der Fall λ = 6 beschrieben. ia' ^2-ib un(^ M2 " e s-'-n<^ w^e folgt definiert
Mo,: ν. = "I
M2jc β "
Dann ergibt sich M0 . wie folgt:
M2,j - M2ja + M2jb + M2jc
M2- , M-.. und M2- können durch eine Schaltung ausgeführt werden, die ähnlich der Schaltung für Q. , Q.. und Q. ist
] α ~}u jC
3Q und vorstehend in Verbindung mit dem -Q.«η-Rechner mit Bezug auf Fig. 62 beschrieben wurde. Mit einem derartigen Aufbau wird die M1-MI . darstellende Datenmenge verringert, wodurch der Schaltungsumfang des Ubertragsicherstellungsaddierers 16 reduziert werden kann.
■J Zusätzliche Beschreibung des Theorems 3
Nachfolgend wird ein allgemeiner Aufbau einer Schaltung zur Berechnung des Wertes I. durch die Gl. (F35) und (F36)beschrieben· Da der Schaltungsaufbau identisch mit dem der Schaltung zur Berechnung des Wertes Q. durch die Gl. (H2) und (H3) ist, wie vorstehend im Beispiel 2 erläutert, wird die letztere anschließend mit Bezug auf;. Fig. 66 beschrieben.
Fig. 66 verdeutlicht einen Quotientenrechner 9" zur Berechnung des Wertes Q., und zwar auf der Grundlage der Gl. (H2) und (H3). Von Eingangssignalleitungen 601, 602, 603 und werden Variable R.+,, S. t M, bzw. η eingegeben. In einer UND-Schaltung 871 wird der Wert [6."M1^"1"] erhalten. Ein
<J5 Addierer 620 führt eine Operation [2R.+1«2~m]+ [ δ . 'K1'2~m] .+2 durch. Der letzte Ausdruck +2 dieser Gleichung wird innerhalb des Addierers 620 erzeugt. Schaltungen 621,-622 und 623 nehmen η auf und geben In-2"m], [-n*2-m] bzw. [-2n«2~m] ab. Die Ausgangsgröße des Addierers 620 und die Ausgangs-
2Q großen der Schaltungen 621, 622 und 623 werden durch die Addierer 625, 627 bzv;·. 628 addiert. Und der Ausgangsgröße des Addierers 620 wird in einem Addierer 626 der Wert 0 hinzugefügt. Jeder der Addierer 625 bis 628 gibt eine 0 oder eine 1 ab, und zwar aufgrund der folgenden Berechnung/ die davon abhängt, ob das Vorzeichen eines Wertes Q. =0, 1, 2, 3 positiv oder 0 oder negativ ist.
Die Ausgangsvorzeichen werden durch Signale QAl,.QA2, QA3 bzw. QA4 dargestellt. Diese Signale QAl, QA2, QA3 und QA4 werden einer Schaltung 629 angelegt, von der ein Signal QB auf der Grundlage der in Fig. 67 gezeigten Logik vorgesehen wird. Das Signal QB entspricht dem Wert Q., der den Gleicnun-' " ■ J
HG
gen (H2) und (H3) genügt. Auf diese Weise kann der Wert Q.
als Signal QB ausgegeben werden, das den Gl. (H2) und (H3)
genügt.
Ein anderes Multiplikations-Divisions-Verfahten
Im folgenden wird beschrieben, daß die Berechnung für die
RSA-Kryptographie selbst dann durchgeführt werden kann, falls die Multiplizier-Dividier-Schaltung, die eine Hauptkomporiente des erfindungsgemäßen Schlüsselsystems darstellt, durch eine
andere Art einer Multiplizier-Dividier-Schaltung ersetzt wird. Zuerst wird ein anderes Multiplikations-Divisions-Verfahren,
dann eine auf dem Berechnungsverfahren gründende Multiplizier-Dividier-Schaltung und letztlich der Aufbau des Schlüssel-
systems beschrieben.
Ein anderes Multiplikations-Divisions-Verfahren
Diese Multiplikation-Division wird durch ein. Verfahren durchgeführt, das einfach von einem üblichen Berechnungsverfahrer,
abgeleitet werden kann. Zuerst wird die Multiplikation
M1 χ M? und anschließend die Division (M, χ M_) -:- η durchgeführt, um den Rest zu erhalten.
(A) Multiplikation
Die Multiplikation M, χ M~ wird in der folgenden Woise durchgeführt. Man nimmt an, daß Z eine Variable darstellt.
Schritt 1: Z=O
Schritt 2: Die folgenden Operationen werden in einer Reihenfolge j = 1, 2, ... durchgeführt.
Z = Z + M, M .
'J
■32280T8
117
• Schritt 3: Stopp
(B) Division
** Eine Division Z τ η wird in der folgenden Weise ausgeführt. Hier stellt R. eine Variable dar und Z wird als Binärzahl dargestellt und gleichmäßig in 2% für jede λ Bits unterteilt und als Z. gesetzt.
Schritt 4:
R+- - 2,
* j
Schritt 5: Die folgenden Gleichungen werden in einer Reihen folge j = «,, ί,-Ι, ... 1 durchgeführt.
2»R.,„
Qj - I·
Rj = 2X"Rj+1 + 2J " 0J
Schritt 6: R=R,, Stopp.
Durch die Schritte 1 bis 6 kann der Rest R von (M, χ ML) ν η erhalten werden. Hier genügt der Bereich von R +, in Schritt 4 der folgenden Bedingung.
30
0 £ 1Vl < n
Diese Beqründung wird nachfolgend auf der Grundlage der Bedingungen 0 £ M, < η und 0 <_ NL < η verifiziert.
ί
Z β R 1·2 + Σ Ζ..2^""1>λ
Z β M1 χ M2 < η2
daraus folgt ίΛ ,
0 S R1+1·2ίλ < ηζ und
2 < η < 2iX
Λ 0 S Ri+1 < η
- Für die Verifizierung v/erden beide Seiten der Gleichung
von R. mit 2 -1 multipliziert und hinsichtlich des Multi-•5 plikationsergebnisses eine Addition J. durchgeführt.
Näherung des Berechnungsverfahrens des Quotienten Q bei der Division
20
Den Quotienten Q. kann man leicht durch eine enge Näherung, die das Weglassen von m Bits von der Variablen R.. , , umfaßt - wie dies bei der Berechnung des Quotienten I. in der vorerwähnten ,gleichzeitig durchgeführten Multiplikation-Division der Fall ist - sowie durch eine enge Näherung, die eine Multiplikation unter Verwendung eines Kehrwerts des in der Division verwendeten Divisors umfaßt, erhalten. D. h. die Division wird durchgeführt, indem man Q!, das durch die folgende Gleichung definiert ist, anstelle Q. verwendet.
[Xj χ ν χ 2 u] + 1 for X. £ 0 [X xvx 2~u] for X. < 0
119
mit
2U ν = [ 1 ]
[n.2"m]
L = die effektive Länge von n(2 < η < 2 ) Hierbei sind m, S und u wie folgt definiert
m £ L - λ ~ 2λ+2 + 2SSS 2λ+3
In diesem Fall gilt das gleiche wie in dem vorerwähnten Verfahren zur Berechnung von I. durch eine Näherung, so daß
on J
u das folgende gilt: Qj = Qj + Yjr Tj = 0, 1, oder
Hierbei wird R. in R. , und R. Q unterteilt und man setzt
R. = Σ R 3
(C) Division unter Verwenduna von Q! Für den Fall, daß man Q! anstelle von Q. verwendet, ändert sich die oben beschriebene Division wie folgtt
Schritt 4' : -J 2*
Σ R (j£1)X
ύ Δ Δ Z U 4
-J Schritt 51: Das folgende wird in der Reihenfolge j = ι, ί,-1, ...1 durchgeführt.
[X. xvx 2~"U] + 1 für X. £ O [X. χ ν χ 2~U] für χ, < O
1 1 λ
ZR..= Σ 2A.R. ·Λ . + Z - Q!.η
Schritt 6':
R1 ft» £ I
. ' i=0
Schritt 71: Falls R1 >, 0, gehe zu Schritt 91 Schritt 8': R. = R. + n, gehe zurück zu Schritt 7' Schritt 9': R=R. Stopp
Das oben beschriebene Multiplikations-Divisions-Verfahren wird als "Multiplikations-Divisions-Berechnungsverfahren mit sukzessiver Näherung" bezeichnet.
(D) Multiplizier-Dividier-Schaltung
Fig. 68 verdeutlicht den allgemeinen Aufbau einer MuItiplizier-Dividier-Schaltung, die auf dem gleichzeitigen Multiplikations-Divisions-Betriebsverfahren beruht, das vorher mit Bezug auf die Fig. 2 und 22 und die Gl. (3) bis (24) beschrieben wurde. Ein Hauptaddierer 110v stellt eine Baugruppe bzw. eine Zusammenstellung der in Fig. 36 gezeigten Hauptaddierer 110» bis 110Q dar. Ein Register 105v stellt eine Zusammenstellung der in Fig. 34 gezeigten Register 105, bis 105fi dar, und dient zum Verschieben seines Inhalts um Schritte von vier Bits nach links. Ein NL-M,- .-Rechner 140..
χ /., j λ
322 3.01?
stellt eine Zusammenstellung der in Fig. 37 gezeigten Rechner 140. bis 140g sowie ein -Q'n-Rechner 150χ eine Zusammenstellung der in Fig. 38 gezeigten Rechner 150, bis 150g dar. -Ein Addierer 160χ stellt eine Zusammenstellung der in Fig. 39 gezeigten
Addierer 160, bis 160g, und ein Addierregister 170_χ eine
Zusammenstellung der in Fig. 40 gezeigten Register 17O1., bis 170L8 dar. Ein Addierregister 170LY stellt auch eine ähnliche Zusammenstellung von individuellen Addierregistern dar. Die Selektoren 311χ und 312χ stellen Zusammenstellungen von acht Selektoren 311 bzw. 312 dar, die in Fig. 61 gezeigt sind.
Ein Addierer 180v stellt eine Zusammenstellung der Addierer 180, bis 180« dar, die in Fig. 4 gezeigt sind.
Fig. 69 verdeutlicht eine Multiplizier-Dividier-Schaltung,
die auf der Multiplikation-Division durch sukzessive Näherung beruht. In Fig. 69 sind die Teile, die denen in Fig. 68 entsprechen, mit gleichen Bezugszeichen versehen. Ein Selektor 410 wählt eine der Ausgangssignalleitungen 411, 412 der
Rechner 140v und 150v an und liefert eine Ausgangsgröße an
einen Übertragsichersteilungsaddierer 160 . Die Schaltsteuerung des Selektors 410 wird durch ein Signal auf einer Steuerleitung 415 bewirkt. Der übertragsicherstellungsaddierer 160v ist im Aufbau mit dem Addierer 160v identisch. Ein Register 105 ist dem Register 105v ähnlich, es unterscheidet sich aber von diesem im wesentlichen dadurch, daß sein Inhalt in Schritten von vier Bits nach rechts verschoben wird. Registerabschnitte 170T„ und 170OV stellen Register mit einer Länge von 1024 Bits dar. Wie aus Fig. 70 zu ersehen, wird
jeder der Registerabschnitte 170_„ und no^v durch eine Rei-
IjX Kl
henschaltung eines Registers 419 mit 514 Bits und eines Registers 420 mit 510 Bits gebildet, wodurch insgesamt ein Register mit 1024 Bits entsteht. Dieses Register hat die Aufgabe, seinen Inhalt nach rechts oder links in Schritten von vier Bits (λ=4) zu verschieben. Das Register 170γ ist mit
einer Signalleitung 421, die die Richtung der Verschiebung festlegt, einer Schiebebefehlsimpuls-Eingangssignalleitung 422, einer Signalleitung 423 zum Nullsetzen des Regi'sterinhalts, einer Registereingangssignalleitung 425 und einer Registerausgangssignalleitung 426 verbunden.
Bei der Anordnung gemäß Fig. 69 wird die Berechnung zur Erzielung des Restes von (M, χ M2)~- η wie folgt durchgeführt: Zuerst wird die Eingangssignalleitung 411 des Selektors 410 angewählt. Die Registerabschnitte 170TV und 170DV speichern zuerst den Wert 0 und führen die Multiplikation mit Hilfe des oben erwähnten Verfahrens durch, und zwar unter Verwendung der Funktion der Rechtsverschiebung in Schritten von vier Bits. Auf diese Weise erhält man den Wert von M, χ M„ an den 1024-Bit-Registerabschnitten !7CL und 170 .
(M, χ M- wird als Summe der in den Registerabschnitten 170Ly und 170RY gespeicherten Zahlen dargestellt.!
Als nächstes wird die Eingangssignalleitung 412 des Selektors 410 angewählt und die Division mit Hilfe der Quotientenrechner 60 und 61 in der vorbeschriebenen Art und Weise unter Verwendung der nach links gerichteten Schiebefunktion der Register 170TV und 170OV durchgeführt. Auf diese Weise kann
JuY KY
der Rest der Multiplikation-Division (M1 χ M„) ? η erzielt
1 Λ.
werden.
Fig. 70 verdeutlicht den Aufbau eines Registers 170γ, das die Registerabschnitte 170_,, und 17On.. aufweist.
i-il Kl
Fig. 71 verdeutlicht den allgemeinen Aufbau eines Ausführungsbeispiels des erfindungsgemäßen Schlüsselsystems, das das gleichzeitige Multiplikations-Divisions-Verfahren verwendet. Fig. 72 zeigt den allgemeinen Aufbau eines anderen Ausführungsbeispiels der Erfindung, das das Multiplikations-Dj vi·- sions-Verfahren mit sukzessiver Näherung verwendet. Bestimmte
Eingangs- und Ausgangssignalleitungen in den Fig. 71 und entsprechen jenen in den vorher beschriebenen Figuren und sind an den gleichen»Stellen gezeigt. Das Register 420 in Fig. 22 entspricht dem 510-Bit langen Register 420 in Fig. 70, das die Funktion der Rechts-Links-Verschiebung in Schritten von vier Bits durchführt. Die Signalleitung 21' stellt eine Multiplikationssteuersignalleitung dar. .Wie oben in Verbindung mit Fig. 69 beschrieben, besteht die Funktion des Registers 105γ in der Rechtsverschiebung seines Inhalts in Schritten von vier Bits. Die Multiplikationssteuerleitung 21' wird aus dem aufgeteilten Abschnitt 25„ herausgeführt und die Richtung des Signals auf dieser Leitung ist entgegengesetzt zu der Richtung des Signals auf der Signalleitung in Fig. 71. Das Register 419 in jedem der Registerabschnitte
•J5 170L und 170RV dient als ein Register, das einer Zusammen^ stellung der inFig. 33 gezeigten Register 104. bis 104g entspricht. Infolge dieses Aufbaus kann die Berechnung CeM' mod η unter Verwendung der Variablen e, η und JM durchgeführt werden.
Bei dem gleichzeitigen Multiplikations-Divisionsverfahren ist
es ebenso möglich, zuerst M1 χ M0 . für jedes j zu berechnen und anschließend die Operation -Q. χ η auszuführen. In diesem Fall ist, wie aus Fig. 69 ersichtlich, ein Selektor zwischen ?e den Rechnern 140v und 150v und dem Addierer 160v vorgesehen,
··** A Λ. Λ
wobei M1 χ M_ . und -Q. κ η abwechselnd vom Selektor an den Addierer 160v für jedes j angelegt werden.
Ferner kann in der Quotientenberechnungseinheit 9 die Operation
M1 M, . + 2 R,+1
. Q. = [ —— *—- ] direkt ohne Verwendung einer
engen Näherung durchgeführt werden.
Obwohl in den vorerwähnten Ausführungsbeispielen die Quotienten-35
3223018
berechnungseinheit 9 unabhängig von den aufgeteilten Abschnitten 25' vorgesehen ist, so ist es ebenso möglich, Quotientenrechner 9, bis 9g in den aufgeteiltenAbschnitten 25, bis 25g in dieser Reihenfolge vorzusehen, wie in Fig. verdeutlicht, und nur den Quotientenrechner 190 für die Schlüsselberechnung zu aktivieren und die anderen Rechner inaktiviert zu halten. Mit einer derartigen Anordnung kann das erfindungsgemäße Schlüsselsystem durch acht LSI-Chips von gleichem Aufbau ausgebildet und irgendwelche separate
•JO LSI-Chips für die Quotientenberechnungseinheit brauchen nicht vorgesehen zu werden. Ebenso ist es möglich, LSI-Chips vorzusehen, die einen Teil der Quotientenberechnungseinheit 9, z. B. den Nachbearbeitungsabschnitt 61 oder den Vorbearbeiw tungsabschnitt 60 in den entsprechenden aufgeteiltenAbschnitten 25, bis 25g einschließen, obwohl dies nicht gezeigt ist.
Da nur eine Steuerung 8, in dem in Fig. 6 gezeigten aufgeteilten Abschnitt 25, aktiviert wird, ist es umgekehrt möglich, alle Steuerungen 8, bis 8R von den entsprechenden aufgeteilten Abschnitten 25, bis 25g zu entfernen und eine einzige Steuerung auf einem LSI-Chip zur Steuerung der aufgeteilten Abschnitte 25, bis 25„ und des Quotientenrechner 9 vorzusehen.
Wie vorstehend beschrieben wurde, kann gemäß der Erfindung das Schlüsselsystem zur Ausführung der RSA-Verschlüsselung ChM mod η einfach unter Verwendung der gegenwärtigen LSI-Technologie aufgebaut werden, und zwar selbst dann,, wenn der Wert von η extrem groß ist. Z. B. verwendet die RSA-
3Q Kryptographie den Wert η = 10 bis 10 . In diesem Fall ist. der Schaltkreisumfang des Schlüsselsystems in der Größenordnung von 100 bis 200K Gatter. Gemäß der Erfindung kann das Schlüsselsystem durch einen kleinen Festwertspeicher (ROM) und 10 bis 30K-Gatter LSI-Chips von gleichem Aufbau
ausgebildet werden.
Ferner ist der Wert L-m,wie aus dem Vorstehenden entnommen werden kann, unabhängig vom Wert L. Demzufolge ist die durch den Quotientenberechnungs-Nachbearbeitungsabschnitt vorgenommene Berechnung vom Wort L, d. h. der Anzahl der Ziffern des Wertes η unabhängig. Demzufolge kann die Multiplikation-Division R = M. χ M~ mod η und die Operation C = Me mod η durchgeführt werden, indem man die Anzahl der aufgeteilten Ί0 Abschnitte vergrößert oder verringert. Mit anderen Worten, die Längen der Verschlüsselungscodes (n und e) können leicht durch Vergrößerung oder Verringerung der Anzahl der aufgeteilten Abschnitte geändert werden.
<j5 Außerdem kann gemäß der Erfindung die Arbeitsgeschwindigkeit durch die gleichzeitige Multiplikation-Division, wie oben beschrieben, gesteigert werden. In diesem Fall braucht die Hauptaddiereinheit nicht immer unterteilt werden, d. h. der Aufbau gemäß Fig. 68 kann verwendet werden.
82/8786
Zusammenfassung
Schlüsselsystem
Schlüsselsystem für die RSA-Kryptographie, die C = Me mod η berechnet und für diese Rechnung eine Operation C = M, x M2 mod η durchführt.
Eine Operation
mit
"2,3 = ·^(Μ)
20
£λ-1 .
M2 = ..Σ &x'2 ' «i = 0 oder 1,
R^4-·} -Ο/ und ω - 0 oder 1,
25
wird in der Reihenfolge j = «,, &-1, ... 1 durchgeführt, um das letzte R, als Ergebnis der Berechnung M, x M„ mod η zu erhalten. Dia Berechnung . χ
M1 χ Μ« + 2AR.+1
[_1 hJ 1±1] = Q.
- J
wird in einer Quotientenberechnungseinheit (9) durchgeführt und die Berechnung M1 χ ΜΛ . + 2XR. , - Q.-n wird in einer
1 <£,J J Tl J
Hauptaddiereinheit (10) durgeführt. Wobei die Variable R. in zwei Teile R. _ und R. , unterteilt werden kann. Auf die se Weise werden die Multiplikation und die Division gleichzeitig durchgeführt, wodurch die Rechengeschwindigkeit gesteigert v/erden kann.

Claims (22)

ii Rad«3Ckesltae«> 43 eOOO Mündien 60 leisten (08?) 883003/883604 Telex 05-212513 Töleoramme Patei'tcoiwuli Patsntccnsuü oonnönbsrger S'raiie 45 6200 Wlosbaden TelofOü (0A121) 562945/561998 Tole* Ο·ί-186237 Telegramme Patentconsult Hippon Telegraph. & Telephone 82/8786 Public Corporation/ Tokyo, Japan S chi üs se 1 sys ter& Patentansprüche
1. Scfclüsselsystem, dadurch q e 3c e η η ζ e i c h '··.
net , daß man
ganze Zahlen M, e und η (O <, M < η) an M*-, e- und n-Register
(1, Z bzw. 3) anisst;
Variable C und M7 in C- und-ML-Registcr (4 und 5) speichert..
die Cj an ze Zahl e durch k
e ~ ζ e.-2J· (e. = 1 oder 0) darste-llt .. i~0 x x
die Variable C anfangs auf den Wert 1 cetzt, wiederholte. Berechnungen gemäß den folgenden Schritten (I) und (2) für jeden Wert i in der Reihenfolge .1 ~ k, k-i, !;-?., ...1,0 d'.archf ührt, wofasi in Schritt. (1) eine'-Oper ca ion C = to, χ M- mod η mit M1 - C und K? ~ C durchgeführt wird und in Schritt (2) der Wert von e. überprüft v;ird und falls e.=·!
die Operation C - M1 χ M7 mod η v;eiter durchgeführt v/ird mit M1 --· c und M7 - Mi diese ^wiederholten üerechnungen wecden bsi· i - 0 beendet, wodurch das letzte C in der Form C s r-i mod n
erzeugt wird; . „
zur Durchführung der Operation C ί.'Μ,χ M_ mod η eine. Quotienl"e"Jibnr--;-rhi.rigi;c:inh6.Tt O), oine Haap-iuidiereiiiheit (l.;·1) und
t.'Mf.Ci··: S <r_rp.»i Dipt.-Inj. V/. W?«.«! OipL-HhVfc t>r. fj.·,Ml. Z ΐ--,Γ(η·οΓ;η Diol.-ln-j. "". :'-.':■'. ? ΐ. S:--.te > ί ■,.:'-!■■ j . r. ϊ.'ΐη.--.. >ίy D-- ■· -.0·:;1 ·''.·-,. S-'at·-%. ;. tv*. .V..-.- IM:. V«·' - G. 7vv)ir.e! PTp!.-!n3. ".r.-.-v.'-Inci.
' eine Steuerung (8) vorsieht, wobei die Hauptaddiereinheit
(10) ein Addierregister zur Speicherung einer Variablen R.
aufweist;
die folgende Operation in der Reihenfolge j = ι, 9,-1, %-2, ... 1 durchführt, um dadurch das letzte R-, in der Form
CsM, χ M_ mod η zu erhalten:
χ 1 Λ*2 . + 2 •21 -t M, χ M^ . + 2 R5+1 1 ti 5= M
2,j
a n
Μ· ,3 -DX Μ2 Z= ί,λ-1
Σ δ .
M2 ι η = O un = O 0 oder 1 R oder
wobei [ ] ein Gaußsches Symbol, [x] die größtmögliche ganze Zahl, die kleiner oder gleich χ ist, und λ und t Konstante darstellen;
die Quotientenberechungseinheit (9) mit den C-, H3- und n-Registern (4, 5, 3) und der Hauptaddiereinheit (10) verbindet und eine Operation M1 χ MI . + 2 R. ,
[_J: lljL 1+4-) = Q. durch
führt;
die Hauptaddiereinheit (10) mit der Quotientenberechnungs-5Q einheit (9) und den C-, M2- und η-Registern verbindet, und eine Operation M1 χ Ml . + 2 R.,-, - 0· ·η bildet, wobei
1 l, ~\ 3 + 1 3
die Steuerung (8) eine Steuerung durchführt, um den Wert C durch die entsprechenden Berechnungen der Quotientenberechnungseinheit (9) und der Hoaptaddiercinheit (10) zu erhalten.
2. Schlüsselsystem nach Anspruch 1, dadurch gekennzeichnet , daß erste und zweite Addierregister (170 und !70L) als Addierregister vorgesehen sind, daß die Variable
R. in R. 0 und _ 3 3r R. , (R. = ZR..) unterteilt wird und
daß R. rt und R. , in den ersten und zweiten Addierregistern gespeichert werden und daß die Hauptaddiereinheit (10) folgende Operation ausführt:
MxM'+ Σ 2A-R. - . - Q..n '·* i=0 3+J-tx Π
3. Schlüsselsystem nach Anspruch 2, dadurch gekennzeichnet , daß die Quotientenberechnungseinheit (9) 15
einen Vorbearbeitungsabschnitt (60) und einen damit verbundenen Nachbearbeitungsabschnitt (61) aufweist, wobei dem Vorbearbeitungsabschnitt η zugeführt wird, um [2U * [n-2~mj] = v (m und u sind Konstante) zu berechnen und dem Nachbearbeitungsabschnitt (61) R-I + -W M,, M' . und ν zugeführt wird, um QV durch Näherung zu berechnen, daß im Falle ω =
und im Falle ω =
2L1
1 λ ^n, 2 2i+2
2i1 + »'
S = XV
gesetzt wird
und als Q.
-U-
oder
QV = [X1.' .χ ν χ 2 U3 + 1 für XJ ^ 0 QV = [XV χ V χ 2~U] für X" < 0 QV = [XV xvx 2*"U] + 1 für xj > °
QV « [XV xvx 2~U] für XV g 0 3 3
gesetzt wird
(S ist eine Konstante, Q'.1 = Q. - δ gilt und δ ist eine ganze Zahl), und wobei eine Ausgleichsrechnungseinrichtung
eingeschlossen wird, um von R1 den Wert R1 + δ·η zu erhalte χ χ ten, der 0 ,< R, + δ-n < η genügt.
4. Schlüsse} system nach Anspruch 3, dadurch g e k. e η η zeichnet , daß der Vorbearbeitungsabschnitt einen Speicher darstellt, der unter Verwendung [n-2 m] als seine
^" Adresse ausgelesen wird.
5. Schlüsselsystem nach Anspruch 2, dadurch gekennzeichnet , daß λ = 1 und ω - 0 gilt, daß dio Quotientenberechnungseinheit (9) eine Einrichtung darstellt-, die mit
2»> Μ., δ., η und R·,·, versorgt wird, um einen angenäherten Wert QV von Q. zu erhalten, so daß das Rechenergebnis, das man durch die Berechnung [2R_. +a -2~m] + [δ.-M1-Z-111J [Q.-n-2 ] erhält, während Q. sich sukzessive ändert, sich im Vorzeichen bezüglich eines Referenzwertes ändert, und daß eine Einrichtung für die Ausgleichsrechnung vorgesehen ist, um aus R, den Wert R. + δ·η zu erhalten, der 0 £ R, + δ·η< n (δ ist eine ganze Zahl) genügt.
.;32280ί3
Sr
- 6-
6. Schlüsselsystem nach Anspruch 3 oder 5, dadurch gekennzeichnet , daß die Hauptaddiereinheit (10) folgende Bauteile aufweist: einen M, · M0 . -Berechn.ungsabschnitt (140) zur Berechnung von M1 χ Ml ., einen -Q..n-Be-
J- wj '3 rechnungsabschnitt (3.50) zur Berechnung von -QV χ η, die ersten und zweiten Addierregister (17 0 und 170.) zur Speicherung der Variablen R-,τ Λ und R·,·, -,, eine Einrichtung
J+J-/ U J+-L / -L
znm Multiplizieren der Inhalte R. ,, Λ und R. ,, , der ersten
j-t-x, υ D+Af J-
und zweiten Addierregister (170-, und 17O1 ) mit dem Wert
> RL
•JO 2 , einen Ubertragsicherstellungsaddierer (160), um die Ergebnisse 2 *R·,, η und 2' -R.., ,, den berechneten Wert j-rx, υ j+J-f J-
M1 χ ΜΛ ., und den berechneten Wert -QV χ η zu addieren und J- Δ t j j
das Additionsergebnis in den ersten und zweiten Additionsregistern (170D und 17O1.) zu speichern und einen übertrags-
JK Xj
<j5 fortpflanzungsaddierer (180) , um zwei Ausgangsgrößen des Übertragsicherstellungsaddierers (160) zu addieren und das Additionsergebm.s in dem C-Register (4) zu speichern, und daß die Einrichtung für die Ausgleichsrechnung folgende Bauteile aufweist: einen Selektor zur Auswahl eines cier
2fs Inhalte der ersten und zweiten Addierregister. R. , n und R. , ,, und ciie mit 2 multiplizierten Werte 2 -.R... ~ und 2 »R. ., .
J + X , U J T J. , X
zur Eingabe in den Übertragsicherstellungsaddierer (160), eine Einrichtung, um einen der Werte M, und MI . auf Null
J- *; J
zu setzen, die an den M1·ΜΛ .-Berechnungsabschnitt angelegt
χ /. ι j
werden, eine Einrichtung, um den Wert -Q-, der dem -QV-n-Berechnungsabschnitt zugeführt wird, auf den Wert +1 zu
von sf:t?.en und eine Einrichtung zur Auswahl R.,, Q und R^.i τ durch den Selektor im Zeitpunkt der Ausgleichsrechnung, indem man einen der Werte M1 und Mi . zu Null macht und
*' > 3 -Q. zu +1, und den übertragsicherstellungsaddierer (160) und den Übertragfortpflanzungsaddierer (180) aktiviert, um eine Operation R, + δ*η auszuführen.
7. Kryptosystem nach Anspruch 3 oder 5, dadurch gekennzeichnet , daß die Hauptaddiereinheit. (10) folgende Bauteile aufweist: einen M1-M- .-Berechnungsabschnitt zur Berechnung von M, χ ML . , einen -Q.-n-Berechnungsabschnitt zur Berechnung von -Q1' χ η, die ersten und zweiten Additionsregister (170R und 170T) zur Speicherung der Variablen R^+I ± (i - 0, 1), einen Übertragsicherstellungsaddierer (160) zum Addieren des Werts 2 -R. Λ .
j* x f X
(i = 0, 1) der durch die Multiplikation R. , . (i= 0, 1)
λ ^ ' ^"
iU mit 2 , erhalten wird, des berechneten Wertes M1-M' . und des berechna-
1 ^fJ
ten Werts -Q"-n und zum Speichern des Additionsergebnisses in den ersten und zweiten Additionsregistern, einen Übertragfortpflanzungsaddierer (180) zum Addieren von zwei Ausgangsgrößen des Übertragsicherstellungsaddierers (160) und
'5 Speichern des Additionsergebnisses in dem C-Register (4), und daß die Einrichtung für die Ausgleichsrechnung folgende Bauteile aufv?eist: einen ersten Selektor zur Auswahl dar einen Ausgangsgröße des Fortpflanzungsaddierers (I80)_ oder des Inhalts des C-Registers (4), einen zweiten Selektor zur Auswahl entweder der anderen Ausgangsgröße des Übertjragsicher-
stellungsaddierers (160) oder des Wertes n, der an dem -Q.'n-Berechnungsabschnit anliegt, und eine Einrichtung zur Auswahl des Inhalts des C-Registers (4) und des Werts η mit Hilfe des ersten bzw. zweiten Selektors während der Aus-
'-S gleichsrechnung und Aktivierung des Übertragfortpflanzimgsaddierers (180), um eine Operation R-,+ δ·η auszuführen.
8. Schlüsselsystem nach Anspruch 2, dadurch gekennzeichnet , daß die Hauptaddiereinrichtung folgende Bauteile aufweist: einen M1-M0 .-Berechnungsabschnitt(140)
J. ί , J
zur Berechnung von M1 χ M' ., einen -Q.-n-Berechnungsabschnitt
1 *· /'J J
(150) zur Berechnung von -QV χ η, die ersten und zweiten
Additionsregistör (170R und 17O1) zur Speicherung der Variablen R.,-, ■ ( i- - 1, 0), einen Übertragsicherstellungsaddierer 35
(160) zum Addieren des Werts 2 R. ,, der durch die Multipli-
λ ■*
kation von R·,-, ^ mit 2 erhalten wird, des Rechenergebnisses des M1-M- .-Berechnungsabschnitts (140) und des Berechnungsergebnisses" des -Q.-n-Berechnungsabschnittes (150) und zum Speichern des Additionsergebnisses in den ersten und zweiten Additionsregistern, und einen Übertragfortpflanzungsaddierer zum Addieren von zwei Ausgangsgrößen des übertragsicherstellungsaddierers (160) und zur Speicherung des Additionsergebnisses in dem C-Register (4).
10
9. Schlüssel system nach Anspruch 8, gekennzeichnet durch einen Selektor (410) zur Auswahl eines der Rechenergebnisse des M1·Μ_ .-Berechnungsabschnitts (14 0) und
X * / 3
des -Q.-n-Berechnungsabschnitts (150) und zum Anlegen des ausgewählten Rechenergebnisses an den Übertragsicherstellungsaddierer (160) und eine Einrichtung zum Addieren des ausgewählten Rechenergebnisses und des Werts 2 *R-+-« und zum Addieren des Additionsergebnisses für jedes j mit dem anderen, durch den Selektor ausgewählten Rechenergebnis.
10. Schlüsselsystem nach Anspruch 2, 3 oder 5, dadurch gekennzeichnet / daß die Hauptaddiereinheit (10) in eine Vielzahl von aufgeteilten Abschnitte (25-, bis 25p) von gleicher Funktion unterteilt ist, daß M, und η in jede festgelegte Breite ihrer binären ganzen Zahl unterteilt sind und sequentiell an die aufgeteilten Abschnitte (2 5, bis 25g) angelegt werden, daß ΜΛ . und Q. gemeinsam mit diesen an die aufgeteilten Abschnitte (25, bis 25R) angelegt werden, daß jeder der aufgeteilten Abschnitte eine Berechnung
R. = M1 χ M· + 2XR. - QV χ η für Μ,/n, Q., M« . J x * f j J + X J -X J *■ ι J und R-,T/ die an die Abschnitte angelegt werden, durchführt, und daß jeder der aufgeteilten Abschnitte mit einem höherrangigen Abschnitt über eine Verbindungssignalleitung verbunden ist, urn einen Teil dos Rechenergebnisses dorthin zu liefern.
JZZOU I ö
'
11. Schlüsselsystem nach Anspruch 10, dadurch gekennzeichnet , daß ein Addierer zur Durchführung der Addition in der Rechnung R. = M, χ M' . + 2XR.,, - QV χ η
J -1- ^ ι J J + 1- D in jedem aufgeteilten Abschnitt (25, bis 25„) vorgesehen ist, der aus einer Vielzahl von Übertragsicherstellungsaddierern besteht, daß die Anzahl der Bits jeder Eingangs- und Ausgangs-Signalleitung des Übertragsicherstellungsaddierers größer gewählt ist als die Anzahl der binären Bits von festgelegter Breite der ganzen Zahlen, und daß eine Einrichtung vorgesehen ist, die das höchstwertige der binären Bits von der festgelegten Breite der ganzen Zahlen auf der niederrangigen Seite in der Ausgangssignalleitung jedes Übertragsicherstellungsaddierers zu einem entsprechenden Übertragsicherstellungsaddierer der höherrangigen aufgeteilten Abschnitte über einen Teil der Verbindungssignalleitung liefert und die das höchstwertige Bit, das von den niederrangigen aufgeteilten Abschnitten herrührt, an den entsprechenden Übertragsicherstellungsaddierer anlegt, wodurch λ Bits der ]etststufigan Ausgangssignalleitung des ÜbertragsicherStellungsaddierers über den anderen Teil der Verbindungssignalleitung ar. die höherrangigen aufgeteilten Abschnitte angelegt werden, um ein Signal bestehend aus λ Bits von dem niederrangigen aufgeteilten Abschnittan den letztstufigen Ausgang des Übertragsicherstellungsaddierers anzulegen.
12. Schlüsselsystem nach Anspruch 10, dadurch g e k e η η zeichnet , daß jeder der aufgeteilten Abschnitt0 (25, bis 25n) ein M„-Register (5) zur Eingabe des unterteilten Werts M? aufweist.
13. Schlüsselsystem nach Anspruch 12, dadurch gekennzeichnet , daß jeder der aufgeteilten Abschnitte (25. bis 25R) einen e -gesteuerten Selektor aufweist, um einen der Werte M und C zur Eingabe in dieses M^-Register (5) auszuwählen.
«j 14. Schlüsselsystem nach Anspruch 13, dadurch gekennzeichnet , daß jeder der aufgeteilten Abschnitte ein M-Register (1) aufweist, um den unterteilten Wert von M zu speichern.
15. Schlüsselsystem nach Anspruch 13, dadurch gekennzeichnet , daß jeder der aufgeteilten Abschnitte (25, bis 25g) ein n-Register (3) zur Speicherung des unterteilten Werts η aufweist.
16. Schlüsselsystem nach Anspruch 13, dadurch gekennzeichnet , daß jeder der aufgeteilten Abschnitte (25, bis 25g) ein e-Register (2) zur Speicherung des unterteilten Werts e aufweist.
17. Schlüsselsystem nach Anspruch 13, dadurch g e k e η η--
zed c h η e t , daß jeder der aufgeteilten Abschnitte (25, bis 25g) ein C-Register (4) zur Speicherung des unterteilten Werts C aufweist.
18. Schlüsselsystem nach Anspruch 13, dadurch gekennzeichnet , daß jeder der aufgeteilten Abschnitte (25, bis 2 5g) wenigstens einen Teil des Quotientenberechnungsabschnitts (9) einschließt und nur einer der Quotientenbe-
^r rechnungsabschnitte der aufgeteilten Abschnitte betriebsfähig ist.
19. Schlüsselsystem nach Anspruch 13, dadurch gekennzeichnet, daß jeder der aufgeteilten Abschnitte (25,
2Q bis 2 5g) die Steuerung (8) aufweist und nur eine der Steuerungen der aufgeteilten Abschnitte betriebsfähig ist.
20. Schlüsselsystein, dadurch gekennzeichnet , daß man ganze Zahlen M, e und η (0 <, M < η) an M-, e- und n-
7r Register (1, 2 und 3) anlegt, Variable C und M0 in C- und
JZ.Z.UU IO
ίο ·:" '
M2~Registern (4 und 5) speichert, die ganze Zahl e durch e = Σ -e.-2x (e. = 0 oder 1) darstellt, die Variable C
anfangs auf den Wert 1 setzt, wiederholte Berechnungen gemaß den folgenden Schritten (1) und (2) für jeden Wert i in der Reihenfolge i = k, k-1, k-2, ... 1, 0 durchführt, wobei in Schritt (1) eine Operation C = M, χ M^ mod η mit M, = C und M2 = C durchgeführt wird, und in Schritt (2) der Wert von e. überprüft wird, und,falls e. = 1 die Operation •J0 C 5' M. χ M2 mod η weiter durchgeführt wird mit M, = C und M2 S= M; wobei diese wiederholten Berechnungen bei i - 0 beendet werden, wodurch das letzte C in der Form von C-M" mod η erzeugt wird;
dieses Schlüsselsystem weist eine Hauptaddiereinheit (10) mit wenigstens einem M, ·Μ2 .-Berechnungsabschnitt für die Berechnung M1 χ Mi ., eine -Q.-n-Berechnungsabschnitt zur Berechnung von -QV χ η, einen Selektor (410) zur Auswahl eines der Rechenergebnisse M1 · MJI, . und -QV-n, ein
J- «*■ / J J Addierregister und einem Addierer zum Addieren des Inhalts des 7\ddierregisters und des Ausgangs des Selektors und zur Speicherung dec Additionsergebnisses in dem Additionsreg.lstfer, ein Steuerung und ein Quotientenberechnungseinheit auf;
wobei die Hauptaddiereinheit (10) durch die Steuerung (8) Λ derart gesteuert wird, daß eine 0 als Variable Z dem Addi~rregister angelegt wird, daß das Rechenergebnis M,·Μ1 . durch den Selektor ausgewählt wird, eine Operation
Z = Z + M, χ Mi . in der Reihenfolge j = 1, 2, ...£ durch-· ι ι, j
geführt wird, um M, -M-, = Z zu erhalten, X 2
(X ist eine Konstante)
wird dem Additionsregister zugeführt, das Rechenergebnis -QV-n wird durch den Selektor ausgewählt und eine Operation
R. = 2XR.+1 + Z. - OV-n in der Reihenfolge j = %, fc-1, ...1 durchgeführt;
wobei die Hauptaddiereinheit (10) in eine Vielzahl von aufgeteilten Abschnitten gleicher Funktion unterteilt ist, M^ und η jede festgelegte Breite ihrer binären ganzen Zahlen unterteilt werden und sequentiell an die aufgeteilten Abschnitte angelegt werden, und wobei die Werte Mi . und Q" gemeinsam mit ihnen an die aufgeteilten Abschnitte ange-IQ legt werden, wobei jeder der aufgeteilten Abschnitte die Operationen Z = Z + M1 χ Ml . und R = 2XR. ,, + Z. - Q'.'-n für M1 , n, Q'.1 und Mi . , die an diese Abschnitte angelegt
J- D ^ ι j
v/erden, durchführt, und wobei jeder der aufgeteilten Abschnitte mit einem höherrangigen Abschnitt über eine erste Verbindungssignalleitung verbunden ist, um dorthin einen Teil des Rechenergebnisses Z zu liefern und jeder der aufgeteilten Abschnitte mit einem niederrangigen Abschnitt über eine zweite Verbindungsleitung verbunden ist, um dorthin das Rechenergebnis R. zu liefern.
21. Schlüsselsystem, dadurch gekennzeichnet , daß man ganze Zahlen M-, e und η (0 £ M < η) an M-,- e- und n-Register (1, 2 und 3) anlegt, Variable C und M„ in C- und M„-Regisrer speichert, die ganze Zahl e durch
k
e■ = Σ -e.^1 (e. - 0 oder 1) darstellt, die Variable i=0 x
C anfangs auf den Wert 1 setzt, wiederholte Berechnungen gemäß den folgenden Schritten (1) und (2) für jeden Wert i
JQ in der Reihenfolge i = k, k-1, k-2, ... 1, 0 durchfühlt, wobei in Schritt (1) eine Operation C=M, χ M? mod η mit M, - C und M„ = C durchgeführt wird und in Schritt (2) der Wert von e. überprüft wird und, falls eT= 1, die Operation C ξ M, χ M,, mod η weiter durchgeführt wird, mit Μ, - C und M - M; diese wiederholten Berechnungen werden
• bei i = O beendet, wodurch das letzte C in der Form ChM6 mod η erzeugt wird;
daß man eine Hauptaddiereinheit (10) vorsieht mit wenigstens einem M1-M0 .-Berechnungsabschnitt (14 0) zur Berechnung von M χ M1
1 2,j, einem -Q.«n-Berechnungsabschnitt (150) zur Berechnung von -QVx η , einem Selektor (410) zur Auswah.l eines der Rpchenergebnisse M,.M' . und -QV\n, einem Addierregister und einem Addierer zum Addieren des Inhalts des Addierregisters und der Ausgangsgröße des Selektors und zum Speichern des Additionsergebnisses in dem Additionsregister, einer
Steuerung (8) und einer Quotientenberechnungseinheit (9);
wobei eine 0 als Variable Z an das Addierregister angelegt,
das Rechenergebnis M1 1Mi . durch den Selektor (410) ausgebe '
• i> wählt und eine Operation Z - Z + M, χ Mi . in der Reihenfolge j = 1, 2, . . . Ä. durchgeführt wird, um M, 'M0 ξ ζ
zu erhalten, dann wird R ,, aus
Z = Z ·Ζ.·2Ό~ ; ( ist eine Konstante)
j=i 3
an das Addierregister angelegt, das Rechenergebnis -QV*n
wird durch den Selektor (410) ausgewählt/ die Quotientenberechnungseinheit (9) enthält einen Berechnungsabschnitt zur Berechnung von X. = [2X^R.· 2~m ] +S (S ist eine Konstante)
und einen Berechnungsabschnitt zur Berechnung von
30
2U
ν = [ —] und die Quotientenberechrmngseinheit (9)
wird durch die Steuerung (8) gesteuert, um
35
Q" = CXj * ν χ 2~U] + 1 falls X. SO Q" = [X. χ ν.χ 2"U3 falls Xj < 0
oder
Q" = [Xj χ ν χ 2"U] + 1 fans Xj > 0 Q" » [Xj χ ν χ 2"U3 falls Xj £ 0
zu berechnen und R. = 2 -R. + R. - QV·η in der Reihenfolge j = ι, A-I, ...1 zu berechnen;
wobei eine Einrichtung für eine Ausgleichsrechnung zur Berechnung eingeschlossen wird, falls R, >, 0, R* = R, + η bis R, ^ 0 erreicht wird;
wobei die Hauptaddiereinrichtung (IG) in eine Vielzahl von
aufgeteilten Abschnitten mit gleicher Funktion aufgeteilt ist, M, und η werden den aufgeteilten Abschnitten zugeführt, während sie sequentiell für jede feste Breite ihre ganzen Zahlen 2Q unterteilt werden, gemeinsam mit M, und η werden M^ . und Q" an die aufgeteilten Abschnitte angelegt, jeder der aufgeteilten Abschnitte führt die Operation Z = Z-I- M., χ ΜΛ .
λ J- W J
und R. = 2 R.., + Z. - QV-n für M1, η, QV und M' ., die an
D D+-*- DD ,1D ^/3 den Abschnitten anliegen, durch, jeder der aufgeteilten Abschnitte ist mit einem höherrangigen dieser Abschnitte über eine erste Verbindungsleitung verbunden, um dorthin einen Teil des Rechenergebnisses Z zu liefern und jeder der aufgeteilten Abschnitte ist mit einem niederrangigen dieser Abschnitte über eine zweite Verbindungsleitung verbunden, um
^q dorthin das Rechenergebnis R. zu liefern.
22. Schlüssel system nach Anspruch 20, ^dadurch g e k e η η zeichnet , daß erste und zweite Additlonsregister als Additionsregister vorgesehen sind, daß die Variable R. in
Ö Δ£0U I ö
1 1 R. n und R. , (d.h. R. = 2 R. .) unterteilt ist, daß
J ' υ 3 ' L 3 j^g 3 * x
R. . und R. , in den ersten und zweiten Additionsregistern gespei-
3 ι υ D ι *-
chert wird,und daß die Hauptaddiereinheit die folgende
5 Berechnung ausführt
1 1 λ
Σ R, ± = Σ 2A.R. L + Z, - QV.n.
i=0 3> ±=0 3 ' 3
DE3228018A 1981-07-27 1982-07-27 Schlüsselsystem für RSA-Kryptographie Expired DE3228018C2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP56117499A JPS5818748A (ja) 1981-07-27 1981-07-27 乗除算器
JP56166777A JPS5868158A (ja) 1981-10-19 1981-10-19 乗除算器
JP57106567A JPS58223170A (ja) 1982-06-21 1982-06-21 暗号装置

Publications (2)

Publication Number Publication Date
DE3228018A1 true DE3228018A1 (de) 1983-02-10
DE3228018C2 DE3228018C2 (de) 1985-03-21

Family

ID=27310764

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3228018A Expired DE3228018C2 (de) 1981-07-27 1982-07-27 Schlüsselsystem für RSA-Kryptographie

Country Status (4)

Country Link
US (1) US4514592A (de)
DE (1) DE3228018C2 (de)
FR (1) FR2510280B1 (de)
GB (1) GB2106758B (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7282983B2 (en) 2005-03-11 2007-10-16 Infineon Technologies Ag Secure and fast calculating unit
US7483936B2 (en) 2004-03-18 2009-01-27 Infineon Technologies Ag Calculating unit

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4658094A (en) * 1985-03-28 1987-04-14 Itt Corporation Encryption apparatus and methods for raising a large unsigned integer to a large unsigned integer power modulo a large unsigned integer
DE3631992A1 (de) * 1986-03-05 1987-11-05 Holger Sedlak Kryptographie-verfahren und kryptographie-prozessor zur durchfuehrung des verfahrens
ATE55033T1 (de) * 1986-03-05 1990-08-15 Holger Sedlak Kryptographie-verfahren und kryptographieprozessor zur durchfuehrung des verfahrens.
US4841570A (en) * 1987-05-11 1989-06-20 The United States Of America As Represented By The United States Department Of Energy One-way transformation of information
US5054066A (en) * 1988-11-16 1991-10-01 Grumman Corporation Error correcting public key cryptographic method and program
EP0383985A1 (de) * 1989-02-24 1990-08-29 Claus Peter Prof. Dr. Schnorr Verfahren zur Identifikation von Teilnehmern sowie zur Generierung und Verifikation von elektronischen Unterschriften in einem Datenaustauschsystem
US4932056A (en) * 1989-03-16 1990-06-05 Yeda Research And Development Company Limited Method and apparatus for user identification based on permuted kernels
US4964164A (en) * 1989-08-07 1990-10-16 Algorithmic Research, Ltd. RSA computation method for efficient batch processing
JP2606419B2 (ja) * 1989-08-07 1997-05-07 松下電器産業株式会社 暗号通信システムと暗号通信方法
US5321752A (en) * 1991-09-05 1994-06-14 Canon Kabushiki Kaisha Method of and apparatus for encryption and decryption of communication data
US10361802B1 (en) 1999-02-01 2019-07-23 Blanding Hovenweep, Llc Adaptive pattern recognition based control system and method
US5313521A (en) * 1992-04-15 1994-05-17 Fujitsu Limited Key distribution protocol for file transfer in the local area network
FR2701323A1 (fr) * 1993-02-08 1994-08-12 Trt Telecom Radio Electr Dispositif pour effectuer une division.
EP0656709B1 (de) * 1993-11-30 2005-07-13 Canon Kabushiki Kaisha Verfahren und Anordnung zur Verschlüsselung/Entschlüsselung auf der Basis des Montgomery-Verfahrens unter Verwendung von effizienter modularer Multiplikation
US5796833A (en) * 1996-09-23 1998-08-18 Cylink Corporation Public key sterilization
US5974151A (en) * 1996-11-01 1999-10-26 Slavin; Keith R. Public key cryptographic system having differential security levels
US5848159A (en) 1996-12-09 1998-12-08 Tandem Computers, Incorporated Public key cryptographic apparatus and method
US6748410B1 (en) 1997-05-04 2004-06-08 M-Systems Flash Disk Pioneers, Ltd. Apparatus and method for modular multiplication and exponentiation based on montgomery multiplication
KR100684134B1 (ko) 1997-05-04 2007-02-16 엠시스템스 리미티드 몽고메리 승산에 기초한 모듈의 승산 및 누승을 위한 개선된 장치와 방법
US6091821A (en) * 1998-02-12 2000-07-18 Vlsi Technology, Inc. Pipelined hardware implementation of a hashing algorithm
AU7182701A (en) 2000-07-06 2002-01-21 David Paul Felsher Information record infrastructure, system and method
US7181017B1 (en) 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
US7016494B2 (en) * 2001-03-26 2006-03-21 Hewlett-Packard Development Company, L.P. Multiple cryptographic key precompute and store
US7120248B2 (en) * 2001-03-26 2006-10-10 Hewlett-Packard Development Company, L.P. Multiple prime number generation using a parallel prime number search algorithm
GB0124686D0 (en) * 2001-10-15 2001-12-05 Hewlett Packard Co A scheme for splitting trusted authorities based on the shamir's secret sharing
FR2847402B1 (fr) * 2002-11-15 2005-02-18 Gemplus Card Int Procede de division entiere securise contre les attaques a canaux caches
US9818136B1 (en) 2003-02-05 2017-11-14 Steven M. Hoffberg System and method for determining contingent relevance
US20050029354A1 (en) * 2003-08-05 2005-02-10 Didier Frantz System associating sets of data into one barcode
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US20080114820A1 (en) * 2006-11-15 2008-05-15 Alaaeldin Amin Apparatus and method for high-speed modulo multiplication and division
JP2009250807A (ja) * 2008-04-07 2009-10-29 Seiko Epson Corp 周波数測定装置及び測定方法
US20090285387A1 (en) * 2008-05-15 2009-11-19 Chiou-Haun Lee Symmetric encryption/decryption method of variable length and application thereof
JP2010271091A (ja) * 2009-05-20 2010-12-02 Seiko Epson Corp 周波数測定装置
JP5440999B2 (ja) * 2009-05-22 2014-03-12 セイコーエプソン株式会社 周波数測定装置
JP5517033B2 (ja) * 2009-05-22 2014-06-11 セイコーエプソン株式会社 周波数測定装置
JP5582447B2 (ja) * 2009-08-27 2014-09-03 セイコーエプソン株式会社 電気回路、同電気回路を備えたセンサーシステム、及び同電気回路を備えたセンサーデバイス
JP5815918B2 (ja) * 2009-10-06 2015-11-17 セイコーエプソン株式会社 周波数測定方法、周波数測定装置及び周波数測定装置を備えた装置
JP5876975B2 (ja) * 2009-10-08 2016-03-02 セイコーエプソン株式会社 周波数測定装置及び周波数測定装置における変速分周信号の生成方法
JP5883558B2 (ja) 2010-08-31 2016-03-15 セイコーエプソン株式会社 周波数測定装置及び電子機器

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4200770A (en) * 1977-09-06 1980-04-29 Stanford University Cryptographic apparatus and method
US4405829A (en) * 1977-12-14 1983-09-20 Massachusetts Institute Of Technology Cryptographic communications system and method
US4351982A (en) * 1980-12-15 1982-09-28 Racal-Milgo, Inc. RSA Public-key data encryption system having large random prime number generating microprocessor or the like

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Communications of the ACM, Vol. 21, Feb. 1978, Nr. 2, S. 120-126 *
National Telecommunication Conference, 1980, Conference Record Vol. 30f4, S. 49.2.1-49.2.5 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7483936B2 (en) 2004-03-18 2009-01-27 Infineon Technologies Ag Calculating unit
US7282983B2 (en) 2005-03-11 2007-10-16 Infineon Technologies Ag Secure and fast calculating unit

Also Published As

Publication number Publication date
US4514592A (en) 1985-04-30
FR2510280B1 (fr) 1985-12-27
GB2106758A (en) 1983-04-13
FR2510280A1 (fr) 1983-01-28
DE3228018C2 (de) 1985-03-21
GB2106758B (en) 1985-09-25

Similar Documents

Publication Publication Date Title
DE3228018A1 (de) Schluesselsystem
DE3650335T2 (de) Rechenverfahren und -gerät für endlichfeldmultiplikation.
DE69431390T2 (de) Erzeugung eines Geheimübertragungsschlüssels unter Gebrauch sequentieller Verknüpfung
DE69329260T2 (de) Gerät zum Multiplizieren von Ganzzahlen mit vielen Ziffern
DE19827904C2 (de) Blockchiffrier- oder -dechiffrierverfahren und Blockchiffrier- oder -dechiffriervorrichtung
DE10201449C1 (de) Rechenwerk, Verfahren zum Ausführen einer Operation mit einem verschlüsselten Operanden, Carry-Select-Addierer und Kryptographieprozessor
DE19758079A1 (de) Verfahren und Vorrichtung zur Galoisfeld-Multiplikation
DE68906063T2 (de) Parametrischer galois-koerper-multiplizierer-addierer und dessen benutzung in einem digitalen signalprozessor.
DE69931606T2 (de) Datenwandler und aufzeichnungsmedium zur aufnahme eines programms zur datenumwandlung
DE69821408T2 (de) Multiplikationsverfahren und -vorrichtung
DE69906037T2 (de) Verfahren und Vorrichtung zur Datenverschlüsselung
DE602004007904T2 (de) Verschlüsselungsverfahren und -system
DE3927009A1 (de) Addierschaltung
DE102005028662A1 (de) Verfahren und Vorrichtung zum Berechnen einer Polynom-Multiplikation, insbesondere für die elliptische Kurven-Kryptographie
DE1549477B1 (de) Einrichtung zur schnellen akkumulation einer anzahl mehr stelliger binaerer operanden
DE2626432A1 (de) Arithmetische einheit fuer automatische rechengeraete
DE4101004A1 (de) Paralleler multiplizierer mit sprungfeld und modifiziertem wallac-baum
EP1664979B1 (de) Übergang zwischen maskierten repräsentationen eines wertes bei kryptographischen berechnungen
DE10219158B4 (de) Vorrichtung und Verfahren zum Berechnen eines Ergebnisses einer modularen Multiplikation
DE2730918A1 (de) Anordnung zum multiplizieren von binaerzahlen
DE3138698C2 (de)
DE10324422B4 (de) Verfahren und Vorrichtung zur Abbildung eines abzubildenden Eingangswertes auf einen verschlüsselten abgebildeten Ausgangswert
DE3854937T2 (de) Überlappendes Mehrbit untersuchendes Multipliziersystem mit einer Bandmatrix von Teilprodukten
DE3702697A1 (de) Paritaetserzeugungsschaltung
DE10201450B4 (de) Carry-Skip-Addierer für verschlüsselte Daten

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: NIPPON TELEGRAPH AND TELEPHONE CORP., TOKIO/TOKYO,

8339 Ceased/non-payment of the annual fee