-
HINTERGRUND
DER ERFINDUNG
-
Erfindungsgebiet
-
Die vorliegende Erfindung betrifft
einen Pseudo-Zufallsgenerator, der ein lineares Rückkopplungsschieberegister
(im Nachfolgenden als LFSR bezeichnet) verwendet, und ein
Datenkommunikationssystem, welches die Schaltung verwendet, und
insbesondere einen Pseudo-Zufallsgenerator, der dem Zyklus von zufälligen Zahlen
eine Unregelmäßigkeit
verleiht, und ein Datenkommunikationssystem, welches diese Schaltung
verwendet.
-
Beschreibung
des Standes der Technik
-
Bis heute sind aus Sicherheitsgründen bei
Datenkommunikationssystemen kryptografische Algorithmen, die Zufallszahlen
verwenden, verwendet worden. Als Zufallszahlen, die in den kryptografischen
Algorithmen gebraucht werden, werden infolge der Einfachheit der
Handhabung und der Einfachheit bei der Bearbeitung häufiger Pseudo-Zufallszahlen,
welche leicht mittels Software erzeugt werden können, anstatt von intrinsischen
Zufallszahlen verwendet.
-
Für
den Pseudo-Zufallsgenerator zum Erzeugen von Pseudo-Zufallszahlen
sind Schaltungen, die ein LFSR verwenden, allgemein bekannt. Ein
LFSR hat eine Anzahl von Registern, die in Reihe geschaltet sind, und
eine Exklusiv-ODER-Schaltung. Die Aus gangssignale von zwei spezifizierten
Registern der Anzahl von Register werden an den Eingangsknoten der
Exklusiv-ODER-Schaltung angelegt und das Ausgangssignal der Exklusiv-ODER-Schaltung
wird zurück
zu dem führenden
Register geleitet. Darüber
hinaus wird allen diesen Registern gemeinsam ein Schiebetakt zugeführt. Mit
diesem Aufbau ist es möglich,
Pseudo-Zufallszahlensequenzen mit relativ langen Zyklen zu erhalten.
-
Beispielsweise ist der Zyklus der
Pseudo-Zufallszahlensequenzen, die von einem LFSR, das aus n Registern
besteht, erzeugt werden, gleich der maximalen Länge linear periodisch wiederkehrender
Sequenzen (so genannte N-Sequenzen) des nagten Grades, der 2n– 1 ist.
Anzumerken ist, dass, was hier als ein Zyklus definiert ist, nicht
etwas ist, was eine Zeit repräsentiert,
sondern es ist etwas, was die Anzahl der Wege (oder Länge), mit
welchen die erzeugten Pseudo-Zufallszahlen als unterschiedliche
Arten betrachtet werden können,
repräsentiert.
Anders ausgedrückt,
ein identischer Satz Pseudo-Zufallszahlen wird für jeden Zyklus wiederholt erzeugt.
-
In der 8 ist
ein Blockschaltbild eines herkömmlichen
Pseudo-Zufallsgenerators 50 gezeigt, der ein LFSR mit 7 Registerstufen
verwendet. Der Pseudo-Aufallsgenerator 50 hat eine Konfiguration,
bei der der Ausgang der zweiten Registerstufe 50–2 und
der Ausgang der letzten Registerstufe 50-7 von 7 in
Reihe geschalteten Registern 50–1 bis 50–7 an
den Eingangsknoten einer Exklusiv-ODER-Schaltung 52 angeschlossen
sind und der Ausgangsknoten der Exklusiv-ODER-Schaltung 52 zurück zu einem
führenden
Register 50–1 geleitet ist.
Ein Schiebetakt SCK wird gemeinsam allen Registern 50–1 bis 50–7 zugeführt und
das LFSR wird in Antwort auf den SCK getrieben. Die Ausgänge B1 bis B7 der
jeweiligen Register werden als eine Pseudo-Zufallszahl bildend abgenommen.
-
Da im Fall eines Pseudo-Zufallsgenerators,
der ein LFSR verwendet, Bitketten einer M-Sequenz erzeugt werden, erzeugt ein
LFSR bestehend aus 7 Stufenregistern 127 (nämlich 27-1) Arten von Pseudo-Zufallszahlen.
-
Wenn jedoch die Zufallszahlensequenzen,
die von dem Pseudo-Zufallsgenerator 50 erzeugt werden, also
Keime, nämlich
als Ziffernschlüssel
für eine
Ziffernschaltung verwendet werden, besteht die Möglichkeit, dass ein Zifferntext
relativ leicht dekodiert wird. Beispielsweise wird in einer Kryptografie
vom Stromtyp ein Stromkryptogramm erzeugt, indem ein Exklusiv-ODER
von binären
Sequenzen eines Klartextes und der binären Pseudo-Zufallszahlensequenzen,
die durch einen Pseudo-Aufallsgenerator erzeugt worden sind, genommen
wird. Wenn jedoch die Pseudo-Zufallszahlensequenzen oder die Pseudo-Zufallszahlensequenzerzeugungslogik
entziffert sind, ist es leicht, einen Klartext aus einem erhaltenen
Zifferntext zu reproduzieren. Als ein Ergebnis funktioniert die
Schaltung nicht länger
als eine Verschlüsselungsschaltung.
-
Daher ist es eine wichtige Funktion,
die von einem Pseudo-Zufallsgenerator gefordert ist, dass er in der
Lage ist, unvorhersehbare Pseudo-Zufallszahlensequenzen effizient
zu erzeugen, bei denen Versuche zum Dekodieren eines Zifferntextes
durch Entschlüsseln
mittels einer Entschlüsselungsschaltung
kaum zum Erfolg führen.
Das einfachste Verfahren zum Erzeugen von Pseudo-Zufallszahlensequenzen,
die sich nicht einfach selbst zu einer leichten Datenanalyse zur
Verfügung
stellen, ist es, den Grad n (Anzahl der Register) der N-Sequenzen
zu erhöhen.
Da dies jedoch lediglich eine Vergrößerung des Zyklus der Pseudo-Zufallszahlensequenzen
darstellt, kann dies nicht als eine essenzielle Lösung des
Problems betrachtet werden. Demgemäß ist es zum Erzeugen von Pseudo-Zufallszahlensequenzen,
die unter Verwendung des vorliegenden Verfahrens schwierig zu analysieren
sind, notwendig, eine extrem große Anzahl von Registern zu
verwenden, was zu einer Vergrößerung des
Schaltungsumfangs führt.
-
Ein Pseudo-Zufallsgenerator, der
Pseudo-Zufallszahlsequenzen unter Verwendung einer kleinen Anzahl
von Registern erzeugt, ist in der veröffentlichten japanischen Patentveröffentlichung
Nr.
JP 5327427 offenbart.
Die durch diese Schaltung erzeugten Pseudo-Zufallszahlsequenzen haben jedoch lediglich
einen offensichtlich langen Zyklus und die Maßnahme gegen eine leichte Dekodierung
bleibt im Wesentlichen ungelöst bestehen.
-
Der Stand der Technik ist voll von
Variationen zum Ausdehnen des Bereiches der Pseudo-Zufallszahlsequenzen,
um sich eine wirkliche, zufällige,
digitale Rauschquelle anzunähern.
Im Hinblick auf die vorliegende Anmeldung sind die Folgenden am
relevantesten:
-
EP
0 095 272 zeigt einen Pseudo-Zufallszahlsequenzgenerator
mit zwei Oszillatoren, wobei der erste derselben die Rate der Schritte
durch die Pseudo-Zufallszahlsequenz und der zweite die Wahl der
Sequenz steuert.
-
Die
JP
07248904 zeigt einen Pseudo-Zufallsgenerator mit unterschiedlichen
Takten.
-
Die
US
3,790,768 zeigt ein Verfahren zum Erzeugen eines Zufallstaktes
zum Abtasten eines weiteren Pseudo-Zufallsgenerators.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Die Aufgabe der vorliegenden Erfindung
ist es, einen Pseudo-Zufallsgenerator zu schaffen, der Pseudo-Zufallszahlensequenzen
erzeugen kann, die essenziell schwierig zu dekodieren sind.
-
Die Erfindung ist durch den Patentanspruch
1 definiert. Ausführungsformen
der Erfindung sind durch die Patentansprüche 2 bis 6 definiert.
-
Der Pseudo-Zufallsgenerator gemäß der vorliegenden
Erfindung ist ausgerüstet
mit einer Wählsignalerzeugungsschaltung,
die ein Wählsignal
erzeugt, einer Takterzeugungsschaltung, die eine Anzahl von Taktsignalen
erzeugt, welche zueinander unterschiedliche Frequenzen haben, einer
Wählschaltung,
die eines der Taktsignale in Antwort auf das Wählsignal wählt, einem ersten Schieberegister,
das eine Anzahl von ersten Registerschaltungen aufweist, die in
Reihe geschaltet sind, das die Schiebeoperation in Antwort auf das
gewählte
Taktsignal, welches von der Wählschaltung
gewählt
worden ist, durchführt,
einer ersten Exklusiv-ODER-Schaltung, die Ausgangssignale von zwei
der Anzahl von ersten Registerschaltungen empfängt, Mitteln zum Zuführen eines
Ausgangssignals der ersten Exklusiv-ODER-Schaltung zu einer ersten
Stufe des ersten Schieberegisters und Mittel zum Extrahieren der
Inhalte von wenigstens einem Teil der ersten Registerschaltungen.
-
Zusätzlich ist das Datenkommunikationssystem
gemäß der vorliegenden
Erfindung ausgerüstet
mit einem ersten und einem zweiten Ziffernschlüsselgenerator, der einen ersten
bzw. zweiten Ziffernschlüssel
erzeugt, einer Verschlüsselungsschahung,
die die Originaldaten basierend auf dem ersten Ziffernschlüssel in verschlüsselte Daten
verschlüsselt,
und einer Entschlüsselungsschaltung,
die die verschlüsselten
Daten basierend auf dem zweiten Ziffernschlüssel in entschlüsselte Daten
entschlüsselt,
wobei der erste Ziffernschlüsselgenerator
aufweist einen ersten Pseudo-Zufallsgenerator, der eine erste Pseudo-Zufallszahl
erzeugt, einen ersten Taktgenerator, der ein erstes Taktsignal basierend
auf der ersten Pseudo-Zufallszahl erzeugt, einen zweiten Pseudo-Zufallsgenerator,
der in Antwort auf das erste Taktsignal eine zweite Pseudo-Zufahlszahl
erzeugt, und Mittel zum Zuführen
der zweiten Pseudo-Zufallszahl zu der Verschlüsselungsschaltung als ersten Ziffernschlüssel, der
zweite Ziffernschlüsselgenerator
aufweist einen dritten Pseudo-Zufallsgenerator, der eine dritte
Pseudo-Zufallszahl erzeugt, einen zweiten Taktgenerator, der basierend
auf der dritten Pseudo-Zufallszahl ein zweites Taktsignal erzeugt,
einen vierten Pseudo-Zufallsgenerator, der in Antwort auf das zweite
Taktsignal eine vierte Pseudo-Zufallszahl erzeugt, und Mittel zum
Zu Führen
der vierten Pseudo-Zufallszahl zu der Entschlüsselungsschaltung als zweiten
Ziffernschlüssel.
-
KURZE BESCHREIBUNG
DER FIGUREN
-
Die vorstehenden und weitere Aufgaben,
Vorteile und Merkmale der vorliegenden Erfindung gehen aus der folgenden
Beschreibung anhand der begleitenden Figuren im Einzelnen hervor,
in welchen zeigt:
-
1 ein
Blockschaltbild eines Pseudo-Zufallsgenerators 2, das eine
erste Ausführungsform
der vorliegenden Erfindung zeigt;
-
2 ein
Blockschaltbild eines Datenkommunikationssystems, welches den Pseudo-Zufallsgenerator 2 gemäß 1 verwendet;
-
3 einen
Zeitablaufplan, der die Funktionsweise des Pseudo-Zufallsgenerators 2 zeigt;
-
4 ein
Blockschaltbild eines Pseudo-Zufallsgenerators 30 gemäß einer
zweiten Ausführungsform der
vorliegenden Erfindung;
-
5 einen
Zeitablaufplan der Funktionsweise des Pseudo-Zufallsgenerators 30;
-
6 ein
Blockschaltbild eines Pseudo-Zufallsgenerators 40 gemäß einer
dritten Ausführungsform der
vorliegenden Erfindung;
-
7 ein
Zeitablaufplan der Funktionsweise des Pseudo-Zufallsgenerators 40;
und 8 ein Blockschaltbild
eines herkömmlichen
Pseudo-Zufallsgenerators 50.
-
BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Bezugnehmend auf die Figuren, werden
Ausführungsformen
dieser Erfindung beschrieben.
-
Nunmehr bezugnehmend auf 1, hat ein Pseudo-Zufallsgenerator 2 gemäß einer
ersten Ausführungsform
der vorliegenden Erfindung einen Taktgenerator 4, eine
Wählschaltung 6,
einen Wählsignalgenerator 8 und
einen LFSR 10.
-
Der Taktgenerator 4 erzeugt
vier Taktsignale CLK1 bis CLK4 mit zueinander
unterschiedlichen Frequenzen durch Empfangen eines Taktsignals CLK0.
Die Frequenzen dieser Taktsignale CLK1 bis CLK4 sind nicht
besonders begrenzt, aber sie sind beispielsweise so gesetzt, dass
die Frequenz von CLK1 zweimal so groß wie die Frequenz von CLK2 ist,
die Frequenz von CLK2 zweimal so groß wie die Frequenz von CLK3 ist und
die Frequenz von CLK3 zweimal so groß wie die Frequenz von CLK4 ist.
-
Die Wählschaltung 6 ist
eine Schaltung, die die Taktsignale CLK1 bis CLK4 und
die Wählsignale b1 und b2 empfängt, entweder
eines der Taktsignale CLK1 bis CLK4 basierend
auf den Wählsignalen b1 und b2 wählt und
dieses als einen Schiebetakt SCK ausgibt. Die Wählschaltung 6 wählt das
Taktsignal CLK1, wenn beide Wählsignale b1 und b2 gleich
"0" sind (auf niedrigem Pegel), wählt das Taktsignal CLK2,
wenn das Wählsignal b1 "0"
und das Wählsignal b2 "1"
(auf hohem Pegel) ist, wählt
den Takt CLK3, wenn das Wählsignal b1 "1" und
das Wählsignal b2 "0"
ist, sind wählt
den Takt CLK4, wenn beide Wählsignale b1 und b2 "1" sind.
-
Der Wählsignalgenerator 8 hat
eine LFSR-Struktur, wie dies in der 1 gezeigt
ist, und besteht aus fünf
Stufenregistern 8–1 bis 8–5 und
einer Exklusiv-ODER-Schaltung 12. Das Ausgangssignal des
zweiten Schieberegisters 8-3 und das Ausgangssignal des
fünften
Stufen-(Endstufen-)Registers 8–5 werden an den Eingangsknoten
der Exklusiv-ODER-Schaltung 12 angelegt
und das Ausgangssignal der Exklusiv-ODER-Schaltung 12 wird
an das erste Stufenregister 8–1 angelegt. Das Taktsignal CLK4 wird
gemeinsam als ein Schiebetakt an die fünf Stufen der Register 8–1 bis 8–5 angelegt.
Die Register 8–1 bis 8–5 führen eine Schiebeoperation
in Antwort auf das Taktsignal CLK4 durch. Bei dieser Ausführungsform
wird der Wählsignalgenerator 8 mit
einer fünfstufigen
LFSR-Struktur verwendet,
aber diese Erfindung ist nicht auf fünf Stufen begrenzt und kann
beispielsweise eine siebenstufige Struktur haben. Darüber hinaus
wird bei dieser Ausführungsform CLK4 als
der Schiebetakt des Wählsignalgenerators 8 angenommen,
aber diese Erfindung ist nicht auf diesen Fall begrenzt und es kann
ein anderer Takt als der Schiebetakt verwendet werden.
-
Das FSR 10 besteht
aus sieben Stufenregistern 10–1 bis 10–7 und
einer Exklusiv-ODER-Schaltung 14.
Das Ausgangssignal des Registers 10–2 der zweiten Stufe und
das Ausgangssignal des Registers 10–7 der siebten Stufe (Endstufe)
werden dem Eingangsknoten der Exklusiv-ODER-Schaltung 14 zugeführt und
das Ausgangssignal der Exklusiv-ODER-Schaltung 14 wird
dem Register 10–1 der
ersten Stufe zugeführt.
Ein Schiebetakt SCK wird gemeinsam an die Register 10–1 bis 10–7 der
sieben Stufen angelegt. Die Register 10–1 bis 10–7 führen die
Schiebeoperation in Antwort auf den Schiebetakt SCK durch und die
Ausgänge B1 bis B7 der
Register werden als Pseudo-Zufallszahl nach außen gegeben. Die Struktur des
LFSR 10 ist nicht auf sieben Stufen begrenzt und kann beispielsweise
neun Stufen haben. Zusätzlich
sind in dem LSFR 10 die Eingangsan schlüsse der Exklusiv-ODER-Schaltung 14 an
den Ausgangsknoten des Registers 10–2 der zweiten Stufe und
des Registers 10–7 der
siebten Stufe angeschlossen, aber die vorliegende Erfindung ist
nicht auf diesen Fall allein begrenzt und kann solange als Pseudo-Zufallszahlen
einer M-Sequenz erzeugt werden, an andere Register angeschlossen
sein.
-
Darüber hinaus wird ein Rücksetzsignal RST gemeinsam
an die Register 8–1 bis 8–5 und 10–1 bis 10–7 angelegt.
Der Ausgang jedes dieser Register wird auf "1" (hoher Pegel) initialisiert,
wenn das Rücksetzsignal RST auf
"1" ( hoher Pegel) geht. Die Anfangswerte sind nicht auf den Fall,
dass alle "1" sind, begrenzt und können irgendein anderer Wert
sein, solange als keine der Registergruppen 8–1 bis 8–5 oder 10–1 bis 10–7 alle
auf "0" (niedrige Pegel) sind.
-
Als Nächstes wird unter Bezugnahme
auf die 3 die Funktionsweise
des Pseudo-Zufallsgenerators 2 beschrieben.
Als Erstes wird während
der Zeitspanne, in welcher das Rücksetzsignal RST auf
dem hohen Pegel ist, weder der Wählsignalgenerator 8 noch
die LFSR 10 den Schiebevorgang durchführen und deren Ausgänge b1 und b2 und B1 bis B7 sind
auf ihre Anfangswerte (alle "1") fixiert. Da beide Wählsignale b1 und b2 in
diesem Fall den Wert "1" haben, wählt die Wählschaltung 6 das
Taktsignal CLK4 und gibt dieses als den Schiebetakt SCK
aus. Die Register 10–1 bis 10–7 sind
jedoch durch den hohen Pegel des Rücksetzsignals RST,
wie vorstehend angegeben, initialisiert, die Ausgänge B1 bis B7 werden
ungeachtet des Schiebetakts SCK auf dem Zustand gehalten,
dass sie alle "1" sind.
-
Darauf folgend wird, da das Rücksetzsignal RST auf
"0" (niedriger Pegel) umschaltet, der Initialisierungszustand gelöst, um die
Schiebeoperation zu beginnen. Der Wählsignalgenerator 8 führt nämlich die Schiebeoperation
in Antwort auf das Taktsignal CLK4 durch und das LFSR führt die
Schiebeoperation in Antwort auf den Schiebetakt SCK durch.
-
Da die Wählsignale b1 und b2,
welche von dem Wählsignalgenerator 8 ausgegeben
werden, als Ergebnis der Schiebeoperationen geändert werden, wird die Wahl
der Wählschaltung 6 ebenfalls
umgeschaltet und die Frequenz des Schiebetaktes SCK geändert. In
der 3 ist die Situation
gezeigt, in welcher die Wählsignale b1 und b2 von
(1,1) auf (0,1) umschalten und basierend darauf die Frequenz des
Schiebetaktes SCK von der Frequenz des Taktsignals CLK4 auf
die Frequenz des Taktsignals CLK2 umgeschaltet wird. Ähnlich geht,
wenn die Wählsignale b1 und b2 auf
(1,0) umgeschaltet werden, die Frequenz des Schiebetaktes SCK auf
die Frequenz des Taktsignals CLK3, und wenn die Wählsignale b1 und b2 auf
(0,0) umgeschaltet werden, geht die Frequenz des Schiebetaktes SCK auf
die Frequenz des Taktsignals CLK1.
-
Wie vorstehend angegeben, wird bei
dem Pseudo-Zufallsgenerator 2 gemäß dieser Ausführungsform statt
der Verwendung eines Taktes mit einer einzigen Frequenz als dem
Schiebetakt für
das LFSR 10 eine Wahl aus einer Anzahl von Taktsignalen CLK1 bis CLK4 mit
zueinander unterschiedlichen Frequenzen unter Verwendung der Wählsignale b1 und b2 durchgeführt und
die Schiebeoperation wird basierend auf dem gewählten Taktsignal durchgeführt. Da
die Frequenz des Schiebetaktes sich auf diese Art und Weise von
Moment zu Moment ändert,
wird es sehr schwierig, Daten, die basierend auf den erzeugten Pseudo-Zufallszahlen
verschlüsselt
sind, zu dekodieren. Darüber
hinaus wird in dem Pseudo-Zufallsgenerator 2 gemäß dieser
Ausführungsform
ein Wählsignalgenerator 8,
bestehend aus einem fünfstufigen
LFSR, für
das Erzeugen der Wählsignale b1 und b2 verwendet,
so dass die Wählsignale
selbst Pseudo-Zufallszahlen sind und damit die Zeitschaltung selbst
der Wahl des Schaltens der Wählschaltung
sich zufällig ändert. Auf
diese Art und Weise wird die Analyse der erzeugten Pseudo-Zufallszahlen B1 bis B7 schwieriger
und demgemäß das Dekodieren
der Daten, die basierend auf solchen Pseudo-Zufallszahlen B1 bis B7 verschlüsselt worden
sind, extrem schwierig.
-
Weiterhin wird in dem Pseudo-Zufallsgenerator
gemäß dieser
Aus Führungsform
angenommen, dass die gewählten
Taktsignale CLK1 bis CLK4 Signale sind, welche
zueinander synchron sind, aber diese Signale können als asynchron angenommen
werden.
-
Wenn sie asynchron gemacht worden
sind, wird die Dekodierung der verschlüsselten Daten noch schwieriger.
-
In der 2 ist
nunmehr ein Datenkommunikationssystem gezeigt, Glas einen derartigen
Pseudo-Zufallsgenerator verwendet. Das Datenkommunikationssystem
hat eine Verschlüsselungsschaltung 16,
eine Entschlüsselungsschaltung 18 und
einen Pseudo-Zufallsgenerator 2. Die Verschlüsselungsschaltung 16 verschlüsselt einen
Klartext 20, der von einem Sender geschickt werden soll,
in verschlüsselte
Daten 22. Die verschlüsselten
Daten 22 werden über
Telefonleitungen oder Rundfunk auf die Entschlüsselungsschaltung 18 übertragen.
Die verschlüsselten
Daten 22 werden durch die Entschlüsselungsschaltung 18 in
die entschlüsselten
Daten 24 dekodiert und werden an den Empfänger gegeben.
Die entschlüsselten
Daten 24 enthalten Daten, welche vollständig identisch mit dem Originalklartext
sind.
-
Die Verschlüsselungsschaltung 16 und
die Entschlüsselungsschaltung 18 führen basierend
auf den Pseudo-Zufallszahlen B1 bis B7, die von
dem Pseudo-Zufallsgenerator 2 zugeführt worden sind, welche entsprechend
jeder derselben installiert sind, eine Verschlüsselung und Entschlüsselung
durch. Wenn beispielsweise der Klartext 20 7-Bit-Daten enthält, erzeugt
die Verschlüsselungsschaltung 16 für jedes
Bit der 7-Bit-Klartextdaten ein Exklusiv-ODER-Datum und jedes Bit
der 7-Bit-Pseudo-Zufallsziffern B1 bis B7 und
gibt das Ergebnis als verschlüsselte
Daten 22 aus. Die Entschlüsselungsschaltung 18 andererseits
erzeugt für
jedes der verschlüsselten
7-Bit-Daten 22 und jedes Bit der 7-Bit-Pseudo-Zufallszahlen B1 bis B7 ein
Exklusiv-ODER-Datum und gibt das Ergebnis als verschlüsselte Daten
aus.
-
Wenn hierbei die Pseudo-Zufallsgeneratoren 2,
die für
jede Verschlüsselungsschaltung 16 und
Eetschlüsselungsschaltung 18 vorgesehen
sind, als einander identische Schaltungen ausgebildet sind, und
das Rücksetzsignal RST gleichzeitig
freigegeben wird, dann werden die erhaltenen Pseudo-Zufallszahlen B1 bis B7 einander
identisch, so dass die Verschlüsselung
und Entschlüsselung
durchgeführt
werden kann. Wie vorstehend angegeben, haben die Pseudo-Zufallsziffern B1 bis B7,
die durch den Pseudo-Zufalls generator 2 erzeugt worden
sind, einen Zyklus von 27–1,
aber der Zykus wird nicht monoton wiederholt. Da nämlich basierend
auf den Wählsignalen
b1 und b2, die primäre
Pseudo-Zufallszahlen sind, sekundäre Pseudo-Zufallszahlen B1 bis B7 erzeugt
werden, treten nicht nur die Pseudo-Zufallszahlen B1 bis B7,
sondern auch die Zeitpunkte ihrer Änderungen zufällig auf.
Demgemäß werden
Versuche, die verschlüsselten
Daten 22 unter Verwendung eines normalen Verfahrens auf
eine extrem schwierige Situation treffen, das heißt, dass
die Sicherheit der Datenkommunikationen garantiert ist.
-
Als Nächstes wird unter Bezugnahme
auf die 4 eine zweite
Ausführungsform
des Pseudo-Zufallsgenerators 30 gemäß der vorliegenden Erfindung
beschrieben.
-
Der Pseudo-Zufallsgenerator 30 dieser
Ausführungsform
hat neun Stufenregister und hat ein LFSR, welches die Schiebeoperation
in Antwort auf einen Schiebetakt SCK durchführt, und
eine Wählschaltung,
die einen der Takte CLK1, CLK2, CLK3 und CLK4 wählt, die
von einem nicht gezeigten Taktgenerator ausgegeben werden, und gibt
dies als einen Schiebetakt SCK aus.
-
Das LSFR hat Register 30–3 bis 30–9,
die in Reihe in einer Anzahl gleich der Bitbreite der erzeugten Pseudo-Zufallszahlen B1 bis B7 (bei
dieser Ausführungsform
sieben) geschaltet sind, redundante Register 30–1 und 30–2,
die an der Stromaufwärtsseite
des LFSR in Reihe geschaltet sind, dessen Ausgänge nicht von außen gelesen
werden, und eine Exklusiv-ODER-Schaltung 32, die die Ausgangssignale
der Register 30–4 und 30–9 als
ihre Eingangssignale empfängt
und ihr Ausgangssignal an das Register 30–1 als dessen Eingangssignal
zurückleitet.
Jedes Ausgangssignal der Register 30–1 bis 30–8 ist
an den Eingang der nächsten Registerstufe
angeschlossen.
-
Die Wählschaltung 6 dekodiert
die Ausgangssignale b3 und b4 der redundanten
Register 30–1 und 30–2 und
wählt basierend
auf dem Ergebnis der Dekodierung einen der Takte CLK1, CLK2, CLK3 und CLK4. Bei
dieser Ausführungsform
wird davon ausgegangen, dass der Takt CLK1 gewählt wird, wenn die Ausgangssignale b3 und b4 der
redundanten Register 30–1 und 30–2 beide
"0" sind, der Takt CLK2 gewählt wird, wenn. sie "0" und
"1" sind, der Takt CLK3 gewählt wird, wenn sie "1" und
"0" sind, und der Takt CLK4 gewählt wird, wenn sie beide "1"
sind.
-
Darüber hinaus wird jedes Ausgangssignal
jedes Registers durch Eingeben eines Rücksetzsignals RST auf "1" initialisiert.
Wenn das Rücksetzen
nach der Initialisierung freigeben wird, wird die Schiebeoperation
zum Zeitpunkt der Führungsflanke
des Schiebetaktes SCK durchgeführt.
Hierbei ist das Rücksetzsignal RST
hochaktiv, so dass es freigibt (rücksetzt), wenn es "1" ist,
und sperrt (das Rücksetzen
freigibt), wenn es "0" ist.
-
Auf diese Art und Weise werden die
Werte B1 bis B7 der Register 30–3 bis 30–9 als
eine Pseudo-Zufallszahl mit einer 7-Bit-Breite ausgelesen. Um die
Situation zu vermeiden, bei der die gleiche Zahl ausgelesen wird,
wenn das Auslesen der Pseudo-Zufallszahl aufeinander folgend durchgeführt wird,
ist es vorzuziehen, dass die Frequenzen der Takte CLK1 bis CLK4 auf
eine zweifache oder höhere
Frequenz als der höchste
Wert der Lesefrequenz gesetzt sind.
-
Als Nächstes werden die zeitsequenziellen Änderungen
der redundanten Register 30–1 und 30–2 und der
Register 30–3 bis 30–9 in
der Tabelle 1 gezeigt.
-
Tabelle
1 Ausgangswerte der Register
-
In der vorstehenden Tabelle ist t0 der
Anfangszustandszeitpunkt, bei dem das Rücksetzsignal RST in dem Freigabezustand
ist, und t1 bis t5 sind Anstiegszeitpunkte des
Schiebetaktes SCK nach der Freigabe des Rücksetzens, wie in der 5 gezeigt.
-
Als Erstes wird mit dem Eingeben
des Rücksetzsignals RST mit
dem Pegel "1" der Ausgangswert jedes der Register 30–1 bis 30–9 auf
"1" initialisiert (Zeitpunkt t0).
-
Da die Ausgangswerte b3 und b4 der
redundanten Register 30–1 und 30–2 in
diesem Fall beide "1" sind, wählt
die Wählschaltung 6 den
Takt CLK4 und gibt diesen als den Schiebetakt SCK aus,
wie dies in der 5(f) gezeigt ist.
-
Nachdem das Rücksetzsignal RST in den Sperrzustand
geht, nämlich
auf "0", führen
als Nächstes
die redundanten Register 30–1 und 30–2 und
die Register 30–3 bis 30–9 die
Schiebeoperation beim Anstieg (Zeitpunkt t1) des Schiebetaktes
SCK durch.
-
Da die Ausgänge der redundanten Register 30–1 und 30–2 auf
"0" bzw. "1" gehen, wählt
die Wählschaltung 6 den
Takt CLK2 und gibt diesen als den Schiebebt SCK aus.
-
Darauf folgend führen beim Anstieg (Zeitpunkt t2)
des Schiebetaktes SCK die Register 30–1 bis 30–9 die
Schiebeoperation durch. Als ein Ergebnis gehen die Ausgangswerte
beider redundanter Register b3 und b4 auf "0",
so dass die Wählschaltung
t6 den Takt CLK1 wählt
und diesen als den Schiebetakt SCK ausgibt.
-
Wiederholt wird eine ähnliche
Operation wie die Schiebeoperation beim Anstieg (Zeitpunkt t5)
des Schiebetaktes SCK durchgeführt,
die Ausgangswerte der redundanten Register 30–1 und 30–2 gehen
auf "1" bzw. "0", so dass die Wählschaltung 6 den
Takt CLK3 wählt.
Danach werden ähnliche
Operationen wiederholt.
-
Wenn das LFSR dieser Ausführungsform
als ein LFSR mit einer 9-Bit-Konstruktion betrachtet wird, wird
der maximale Zyklus der Pseudo-Zufallszahlen 29-1 sein.
Demgemäß wird trotz
der Tatsache, dass die Anzahl der Kombinationen, die die Pseudo-Zu fallsziffern B1 bis B7 einnehmen
können,
gleich 27-1 ist, der Zyklus 29-1 werden. Anzumerken ist jedoch, dass
dieser Zyklus nicht insofern regelmäßig ist, als er sich basierend
auf den Ausgangswerten b3 und b4 der redundanten
Register 30–1 und 30–2 unregelmäßig ändert. Andererseits
führt die
Verschlüsselungsschaltung
normalerweise den Lesevorgang gemäß einem feststehenden Lesetakt
durch. Demgemäß ist der
erscheinende Zyklus der Pseudo-Zufallsziffern von der Leseschaltung
aus b trachtet, länger
als der Zyklus 29-1, der durch
die Bitzahl des LSFR bestimmt ist.
-
Bei dieser Ausführungsform wird der Schiebetakt SCK von
einem Wert zu einem anderen basierend auf den Ausgangswerten b3 und b4 der
redundanten Register 30–1 und 30–2 geändert. Demgemäß wird, selbst
wenn es jemand ist, der versucht, die Konstitution des Pseudo-Zufallsgenerators
zu durchschauen, die Person einer ernsthaften Schwierigkeit gegenüber stehen.
Darüber
hinaus ist das Durchschauen der Schaltungsstruktur noch schwieriger
gemacht, da es unmöglich
ist, die Ausgangswerte der redundanten Register 30–1 und 30–2 zum
Wählen
des Schiebetaktes SCK direkt auszulesen.
-
Bei der vorliegenden Ausführungsform
wird der Ausgang des Registers 30–4 als ein Eingang zur
Exklusiv-ODER-Schaltung 32 verwendet, aber die Wahl ist
nicht auf diesen Fall begrenzt. Es ist jedoch wünschenswert, den Ausgang eines
Registers, welches an einer Position liegt, für welche der maximale Zyklus
erzielt werden kann, als den Eingang der Exklusiv-ODER-Schaltung 32 zu
verwenden.
-
Die Zeitpunkte der Änderungen
der erzeugten Pseudo-Zufallszahlen in dem Pseudo-Zufallsgenerator 32 gemäß dieser
Ausführungsform
erfolgen ebenfalls in zufälliger
Art und Weise, ähnlich
wie bei dem Fall des Pseudo-Zufallsgenerators 2 der ersten
Ausführungsform.
Demgemäß ist die
Dekodierung des verschlüsselten Textes,
welcher durch den Pseudo-Zufallsgenerator 32 erzeugt worden
ist, ähnlich
schwierig wie bei dem Fall der ersten Ausführungsform und hat noch ein
vorteilhaftes Merkmal, dass der Pseudo-Zufallsgenerator mit einer einfacheren
Schaltungskonfiguration als bei der ersten Ausführungsform realisiert werden
kann.
-
Als Nächstes wird unter Bezugnahme
auf die 6 und 7 ein Pseudo-Zufallsgenerator 40 gemäß einer
dritten Ausführungsform
der vorliegenden Erfindung beschrieben.
-
Der Pseudo-Zufallsgenerator 40 dieser
Ausführungsform
verwendet einen Takt CLKS, der schneller als die Takte CLK1 bis CLK4 ist
und hat eine UND-Schaltung 44, die den Ausgang 46 der
Wählschaltung 6 und
den Takt CLKS addiert und das Ergebnis als den Schiebetakt
ausgibt, anstatt dass der Ausgang der Wählschaltung 6 selbst
als der Schiebetakt verwendet wird. Es ist vorzuziehen, dass der
Takt CLKS im Vergleich mit den Takten CLK1, CLK2, CLK3 und CLK4 eine
ausreichend hohe Frequenz hat, und es ist vorzuziehen, dass die
Frequenz wenigstens drei- bis viermal so hoch ist.
-
Darüber hinaus muss der Takt CLKS nicht
synchron mit den Takten CLK1 bis CLK4 sein. Für den Fall, dass er mit den
Takten CLK1 bis CLK4 asynchron ist, ist die Unregelmäßigkeit
des Schiebetaktes weiter verbessert und als ein Ergebns ist die
Unregelmäßigkeit
der Pseudo-Zufallsziffern noch weiter erhöht.
-
Die Operationen der redundanten Register 40–1 und 40–2,
der Register 40–3 bis 40–9 und
einer Exklusiv-ODER-Schaltung 42 sind ähnlich wie die bei dem Pseudo-Zufallsgenerator 30 der
zweiten Ausführungsform.
Der Takt 46, welcher von der Wählschaltung 6 gewählt worden
ist, dient jedoch nicht direkt als ein Schiebetakt des LSFR,
aber er dient als der Schiebetakt SCK, nachdem er dem Hochgeschwindigkeitstakt CLKS in der
UND-Schaltung 44 addiert worden ist (7(h)).
Anders ausgedrückt,
wird die Schiebeoperation des LSFR durch den Takt CLKS während der
Periode durchgeführt,
während
der einer der Takte CLK1 bis CLK4, der von der
Wählschaltung 6 gewählt worden
ist "1" ist.
-
Anzumerken ist, dass, je höher die
Frequenz des Taktes CLKS ist, umso größer ist die Anzahl der Verschiebungen
pro Zeiteinheit des LSFR. Das heißt, das die Wahrscheinlichkeit
des Lesens desselben Wertes in der periodischen Leseoperation der
Pseudo-Zufallszahlen höher
wird, das heißt,
dass die Zufälligkeit
relativ verbessert ist.
-
Anzumerken ist, dass die Bitzahl
der Register, welche die Pseudo-Zufallszahlensequenzen ausgeben, die
Bitzahl und der Ort der redundanten Register und die Arten der Takte
basierend auf der Bitzahl der erforderlichen Pseudo-Zufallszahlen,
der zulässigen
Schaltungsgröße, der
Länge der
Periodizität
der Pseudo-Zufallszahl und und dergleichen beliebig gesetzt werden
können
und nicht auf die bei den vorstehend beschriebenen Ausführungsformen
begrenzt sind. Beispielsweise muss die Anzahl der redundanten Register
nur eine oder mehr sein und die redundanten Register können an
irgendeinem Ort platziert sein, ohne dass sie auf den Ort stromaufwärts des
LSFR begrenzt sind.