DE3228018A1 - Schluesselsystem - Google Patents
SchluesselsystemInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods 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/72—Methods 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/723—Modular exponentiation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public 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/302—Public 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details 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
Falls e. = 1
M3 - C, M2 = M
R = M, χ M2 mod η
R = M, χ M2 mod η
C = R
Schritt 3: Stopp.
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 , „
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
Schritt 3: Aus
Gl.
~31. (6)
Q3 — 71 ι n« — —"3 0
~ J ' Und Wer-pn. Wj - J/'i
~ J ' Und Wer-pn. Wj - J/'i
5+38
(19)
Σ R,
i-0 -
i-0 -
Schritt 4:
1
Σ
Σ
R 3 + M ·Μ . - Q"·η
1 2,τ 3 .
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
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-
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
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
eines in Fig. 22 verwendeten Registerabschnitts
17V
Fig. 28 ein Diagramm zur Verdeutlichung eines Beispiels
eines in Fig. 22 verwendeten Addierer 180;
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';
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-
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
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
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-
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
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.
•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(^eö 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
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.
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
Σ 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-
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
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^ < 3η
(F21)
(F22)
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 -
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
m
2m
Folgesatz 4
30
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 -
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
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' . = δ.
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
J
mit 1 für RQ <0
0 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
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 -^
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
α.. =0, 1
ni = 0/1,2,...
"
0 έ M- < η
mit
M, = Σ M, ..28(j~1)
2 ji 2'3
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·η
< η
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 ^
ω = 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
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
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.
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
μ :> 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),
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
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_m„1 + (-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 (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*
*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,
Seite der Gl. (F106) ihr Maximum erreicht, falls ε.. = 1,
γΛ = 0, γ·, = 2, α. = A, P0 = I0 + 1, so ist
1 J J δ δ
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.
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
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+w„m_1
)'2Vu) m .
j —m—ι
Λ R<n+(2S+I) 2m+
Die Gl. (F1.15) und (F119) wurden verifiziert, daß Gl. (F19) gilt.
20
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
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 l± — ]}]+δ (Ρ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.
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ß
+ 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
■i- ^ > D
#
Hinsichtlich der in dem Theorem beschriebenen Multiplikation wird nachstehend eine zusätzliche Erläuterung bezüglich der Bedingung ω = 1 gegeben.
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.
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-
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.
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.
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
'J
■32280T8
117
• Schritt 3: Stopp
(B) Division
(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
* 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
30
0 £ 1Vl <
n
Diese Beqründung wird nachfolgend auf der Grundlage der Bedingungen
0 £ M, < η und 0 <_ NL <
η verifiziert.
ί
Z β R 1·21λ + Σ Ζ..2^""1>λ
Z β R 1·21λ + Σ Ζ..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
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
. ' 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.
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
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
20
£λ-1 .
M2 = ..Σ &x'2 ' «i = 0 oder 1,
M2 = ..Σ &x'2 ' «i = 0 oder 1,
R^4-·} -Ο/ und ω - 0 oder 1,
25
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)
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:
2,j
Σ δ .
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
J· *' >
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
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);
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
zu erhalten, dann wird R ,, aus
Z = Z ·Ζ.·2Ό~ ; ( ist eine Konstante)
j=i 3
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
30
2U
ν = [ —] und die Quotientenberechrmngseinheit (9)
wird durch die Steuerung (8) gesteuert, um
35
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
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)
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)
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)
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 |
-
1982
- 1982-07-14 US US06/398,016 patent/US4514592A/en not_active Expired - Fee Related
- 1982-07-20 GB GB08220921A patent/GB2106758B/en not_active Expired
- 1982-07-27 DE DE3228018A patent/DE3228018C2/de not_active Expired
- 1982-07-27 FR FR8213070A patent/FR2510280B1/fr not_active Expired
Non-Patent Citations (2)
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)
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 |