DE69503308T2 - Codesequenzgenerator - Google Patents
CodesequenzgeneratorInfo
- Publication number
- DE69503308T2 DE69503308T2 DE69503308T DE69503308T DE69503308T2 DE 69503308 T2 DE69503308 T2 DE 69503308T2 DE 69503308 T DE69503308 T DE 69503308T DE 69503308 T DE69503308 T DE 69503308T DE 69503308 T2 DE69503308 T2 DE 69503308T2
- Authority
- DE
- Germany
- Prior art keywords
- code sequence
- matrix
- sequence generator
- integers
- code
- 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.)
- Expired - Fee Related
Links
- 239000011159 matrix material Substances 0.000 claims description 25
- 230000009466 transformation Effects 0.000 claims description 2
- 239000013598 vector Substances 0.000 description 8
- 101100311330 Schizosaccharomyces pombe (strain 972 / ATCC 24843) uap56 gene Proteins 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 101150018444 sub2 gene Proteins 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 3
- 102100023882 Endoribonuclease ZC3H12A Human genes 0.000 description 2
- 101710112715 Endoribonuclease ZC3H12A Proteins 0.000 description 2
- 101001096074 Homo sapiens Regenerating islet-derived protein 4 Proteins 0.000 description 2
- 102100037889 Regenerating islet-derived protein 4 Human genes 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- QGVYYLZOAMMKAH-UHFFFAOYSA-N pegnivacogin Chemical compound COCCOC(=O)NCCCCC(NC(=O)OCCOC)C(=O)NCCCCCCOP(=O)(O)O QGVYYLZOAMMKAH-UHFFFAOYSA-N 0.000 description 2
- 108700012361 REG2 Proteins 0.000 description 1
- 101150108637 REG2 gene Proteins 0.000 description 1
- 101100120298 Rattus norvegicus Flot1 gene Proteins 0.000 description 1
- 101100412403 Rattus norvegicus Reg3b gene Proteins 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical group [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J13/00—Code division multiplex systems
- H04J13/10—Code generation
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- 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
- H04L2209/125—Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Complex Calculations (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf einen Codesequenzgenerator, der Sequenzen mit maximaler Länge oder Gold-Sequenzen erzeugt.
- Digitale Codesequenzen werden in unterschiedlichen Gebieten wie etwa bei der Kryptographie von digitalen Informationen, und zum Aufspreizen von Codes für die Erweiterung der Signalbandbreite bei einer Kommunikation mit verteiltem Spektrum eingesetzt. Insbesondere werden die maximale Länge aufweisenden Sequenzen (M-Sequenzen) als ein Zufallscode oder als ein Pseudorauschsignal eingesetzt, da sie eine sehr lange Periode aufweisen und ihre Autokorrelationseigenschaften impulsförmig sind.
- Digitale Codes werden unter Einsatz eines Registers und einer Rechenschaltung, die eine Berechnung hinsichtlich des Inhalts des Registers ausführt, und durch Rückführung der Berechnungsergebnisse zu dem Register generiert.
- Beispielsweise kann die Berechnung zur Erzeugung von M-Sequenzen mit einer Periode 15 durch eine einzige Exklusiv-ODER-Schaltung und eine einfache Rückkopplungsschaltung implementiert werden, wie dies in Fig. 1 gezeigt ist.
- In Fig. 1 bezeichnet das Bezugszeichen 1 ein vierstufiges Schieberegister, das aus vier Registern R1 bis R4 besteht, und es bezeichnet das Bezugszeichen 2 eine Exklusiv-ODER- Schaltung, die die Ausgangssignale der Register R1 und R4 einer Exklusiv-ODER-Verknüpfung unterzieht. Das von der Exklusiv-ODER-Schaltung 2 abgegebene Ausgangssignal wird zu dem Eingang des Registers R1 zurückgeleitet. Jedes der Register R1 bis R4 wird auf einen anfänglichen Wert gesetzt (nicht alle anfänglichen Werte sind gleich Null) und es werden die Inhalte der Register R1 bis R4 durch ein an sie angelegtes Taktsignal verschoben, wodurch ein M-Sequenzcode mit der Periode 15 erzeugt wird:
- Fig. 2 zeigt einen M-Sequenzgenerator mit der Periode 15, der durch Generalisierung des Generators gemäß Fig. 1 gebildet ist. Dieser Generator enthält statt des in Fig. 1 gezeigten Schieberegisters 1 vier Register mit jeweils einem Bit. In Fig. 2 bezeichnet das Bezugszeichen 3 eine Registerschaltung, die vier Register REG1 bis REG4 mit jeweils einem Bit umfaßt, und es bezeichnet das Bezugszeichen 4 eine Rechenschaltung zur Ausführung von Berechnungen hinsichtlich des Inhalts der Registerschaltung 3 und zur Zurückführung der Rechenergebnisse zu der Registerschaltung 3. Die M-Sequenz wird an dem Ausgangsanschluß des Registers REG4 abgegeben.
- Bei diesen M-Sequenzcodegeneratoren sei nun angenommen, daß die Erzeugung einer Codesequenz begonnen wird, nachdem der Zustand der Registerschaltung 3 dadurch geändert worden ist, daß an sie eine bestimmte Anzahl von Taktimpulsen angelegt worden ist. Beispielsweise müssen zur Einleitung der Erzeugung einer Codesequenz nach dem Anlegen von fünf Taktimpulsen die fünf Taktimpulse rasch zu der Registerschaltung 3 geleitet werden, damit diese in den Startzustand gebracht wird. Auch wenn es in diesem Fall leicht ist, eine M-Sequenz mit der Periode 15 ab bzw. mit einer gewünschten Phase zu erzeugen, wird eine sehr viel längere Zeitdauer benötigt, damit ein Register in einen gewünschten Startzustand gebracht wird, indem es mit einer notwendigen Anzahl von Taktimpulsen gespeist wird, um hierdurch eine Codesequenz mit einer sehr viel längeren Periode ab einer gewünschten Phase zu erzeugen.
- In einem Aufsatz von M T G Hughes (Electronics Letters, Vol. 4, Nr. 19, 20. September 1968, Seiten 417 bis 419 mit dem Titel: "Transition-Matrix Construction for Pseudorandom Binary-sequence Generators") ist ein Codesequenzgenerator offenbart, der zum Erzeugen einer Codesequenz Y = AmX unter Einsatz einer festgelegten Tabelle und einer variablen n · n Matrix, die mit aus der Tabelle herausgegriffenen Werten bewertet wird, ausgelegt ist.
- Die vorliegende Erfindung stellt einen alternativen Codesequenzgenerator zu einer maximale Länge aufweisenden Sequenz bereit, der
- eine Einrichtung zum Erzeugen einer Startphase ab einer anfänglichen Phase Y aufweist, die durch Y = AmX definiert ist, wobei hierbei eine lineare Transformation, die durch Transformation einer n · n - Matrix A auf Daten X mit n Bits definiert ist, m mal wiederholt wird, wobei m eine positive ganze Zahl bezeichnet,
- gekennzeichnet durch
- eine Speichereinrichtung zum bereits vorhergehend erfolgenden Speichern der pj-ten Potenz der Matrix A, das heißt von Apj, für jede positive ganze Zahl aus t + 1 vorbestimmten positiven ganzen Zahlen pj, wobei j = 0, 1, 2, ..., t ist, und t > 0 ist,
- eine Einrichtung zum Aufteilen der ganzen Zahl m auf eine lineare Kombination aus den ganzen Zahlen pj, das heißt m = k&sub0;p&sub0; + k&sub1;p&sub1; + k&sub2;p&sub2; + ... + ktpt wobei k&sub0;, k&sub1;, k&sub2;, ..., kt ganze Zahlen sind, die gleich oder größer als Null sind,
- eine Wähleinrichtung zum aufeinanderfolgenden Auswählen von Matrizen Ap0, Ap1, Ap2, ..., Apt, die mit nicht bei Null liegenden Werten von k&sub0;, k&sub1;, k&sub2;, ..., kt verknüpft sind, aus der Speichereinrichtung, und
- eine Einrichtung zum Ausführen der folgenden Matrixberechnung für nicht bei Null liegende Werte von k&sub0;, k&sub1;, k&sub2;, ..., kt
- Y = (Ap0)k0(Ap1)k1(Ap2)k2...(Apt)ktX.
- Die ganzen Zahlen pj können durch aufeinanderfolgendes Dividieren von n durch 2 wie folgt festgelegt werden: p&sub0; = 1, p&sub1; = n/2, p&sub2; = n/2², ..., pt = n/2t, und durch Abrunden der Ergebnisse auf die nächstgelegenen ganzen Zahlen bestimmt werden.
- Die Wähleinrichtung kann n t + 1 - bis - 1 -Zeilen-Multiplexer aufweisen, die parallel arbeiten.
- Die Wähleinrichtung kann selektiv an die Speichereinrichtung eine Adresse anlegen, die mit einer Matrix, die aus den Matrizen Apj auszuwählen ist, verknüpft ist.
- Die Wähleinrichtung kann die Recheneinrichtung mit einer bestimmten Matrix speisen, die aus den Matrizen Apj so ausgewählt ist, daß der Codesequenzgenerator eine Codesequenz mit einem gewünschten Codeintervall erzeugt, das als die Differenz der Werte m der beiden aufeinanderfolgenden Codesequenzen festgelegt ist.
- Ein i-ter Zustandsvektor Xi (i bezeichnet eine positive ganze Zahl) der Registerschaltung des Codesequenzgenerators wird auf einen i - 1-ten Zustandsvektor xi+1 dadurch gewechselt, daß der Zustand um einen Schritt fortgeschaltet wird, wobei xi+1, in folgender Weise ausgedrückt ist:
- Xi+1 = AXj,
- wobei eine Matrix A eine Rechenprozedur repräsentiert. Bei der herkömmlichen Technik ist ein Registerzustand nach m Schritten (m bezeichnet eine positive ganze Zahl) in folgender Weise bestimmt:
- Xi+m = AmXi.
- Anders ausgedrückt müssen m-fache Multiplikationen der Matrix A ausgeführt werden.
- Bei dem Codesequenzgenerator kann die Anzahl von Multiplikationen seitens der Rechenschaltung verringert werden. Es sei beispielsweise angenommen, daß m durch die folgende Gleichung gegeben ist:
- m = k&sub0;P&sub0; + k&sub1;p&sub1; + k&sub2;p&sub2;
- wobei k&sub0;, k&sub1;, k&sub2;, p&sub0;, p&sub1; und p&sub2; ganze Zahlen bezeichnen, die gleich oder größer als Null sind. Wenn Matrizen berechnet worden sind, bei denen k&sub0;, k&sub1;, k&sub2;, p&sub0;, p&sub1; und p&sub2; ganze Zahlen sind, die gleich oder größer sind, können diese m Schritte später wie folgt ausgedrückt werden:
- Yi+m = AmXi = (Ap0)kn(Ap1)k1(Ap2)k2.
- Dies bedeutet, daß die Anzahl M von Multiplikationen wie folgt gegeben ist:
- M = k&sub0; + k&sub1; + k&sub2;.
- Demgemäß kann die Anzahl M von Multiplikationen stark verringert werden. Wenn beispielsweise m = 127 ist, p&sub1; = 100 und p&sub2; = 10 sind, ergibt sich, daß k&sub0; = 7 ist, k&sub1; = 1 ist und k&sub2; = 2 ist, und es ist die Anzahl M von Multiplikationen gleich 10. Eine noch größere Verringerung der Anzahl M von Multiplikationen läßt sich bei einer Zunahme des Weit m erwarten. Ferner wird es durch Kombinieren einer Mehrzahl von Matrizen möglich, das Register rasch auf eine gewünschte Phase einzustellen, und dann die Erzeugung einer Codesequenz ab der gewünschten Phase zu beginnen.
- Die vorliegende Erfindung unterscheidet sich von der herkömmlichen Methode dahingehend, daß sie nicht sequentiell die nächsten Registerzustände Schritt für Schritt ermittelt, sondern bereits vorab Matrizen vorbereitet, die Berechnungsprozeduren repräsentieren, die diskontinuierliche Registerzustände ergeben. Ferner kann eine Codesequenz mit einem gewünschten Intervall ohne eine Änderung der Taktrate erzeugt werden. Die vorliegende Erfindung ist daher insbesondere dann effektiv, wenn die Codesequenz lang ist und ein Registerzustand eingestellt werden soll, der von dem aktuellen Zustand weit entfernt ist.
- Ausführungsbeispiele der vorliegenden Erfindung werden nun unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, bezüglich deren gilt:
- Fig. 1 zeigt ein Blockschaltbild, in dem ein konkretes Beispiel eines herkömmlichen M-Sequenz-Generators mit der Periode 15 dargestellt ist,
- Fig. 2 zeigt ein Blockschaltbild, in dem der allgemeine Aufbau eines herkömmlichen M-Sequenz-Generators veranschaulicht ist, und
- Fig. 3 zeigt ein Blockschaltbild, in dem ein Beispiel eines in Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung stehenden Codesequenzgenerators veranschaulicht ist.
- Fig. 3 zeigt ein Blockschaltbild, in dem ein Ausführungsbeispiel eines in Übereinstimmung mit der vorliegenden Erfindung stehenden Codesequenzgenerators dargestellt ist. In Fig. 3 ist mit dem Bezugszeichen 5 ein Register mit n Bits bezeichnet, das n 1-Bit-Register REG1, REG2, ..., REGn enthält. Das Register 5 hält einen Zustandsvektor Xi mit n Bits (i bezeichnet eine ganze Zahl, die gleich oder größer als Null ist), der an eine Rechenschaltung 6 angelegt wird.
- Auf der anderen Seite bezeichnet das Bezugszeichen 7 eine Speicherschaltung, die bereits vorab t + 1 n x n - Matrizen Ap1, Ap2, ..., Apt speichert. Hierbei wird der Wert von t unter Berücksichtigung der Kapazität der Speicherschaltung 7 und des Ausmaßes der Vereinfachung der Berechnung festgelegt. Wenn beispielsweise t = 4 ist und n = 100 ist, wird pj (j = 0, 1, 2, ..., t = 4) in folgender Weise festgelegt: Zunächst wird p&sub0; auf p&sub0; = 1 festgelegt, da die Matrix A wichtig ist. Nachfolgend ergibt sich durch sequentielles Dividieren durch 2 und Abwärtsrunden der Ergebnisse auf die nächstliegenden ganzen Zahlen: p&sub1; = n/2 = 50, p&sub2; = n/2² = 25, p&sub3; = n/2³ = 12, und p&sub4; = pt = n/2&sup4; = 6.
- Die Ausgangsdaten der Speicherschaltung 7 werden an t+1, jeweils n Bit umfassende Eingangsanschlüsse eines Wählschalters 8 angelegt. Der Wählschalter 8 besteht aus n t+ 1 - bis - 1 - Zeilenmultiplexern, die parallel arbeiten, wählt eine gewünschte Matrix APL unter der Steuerung durch eine Steuerschaltung 9 aus und speist die Rechenschaltung 6 sequentiell mit jeder Zeile der ausgewählten Matrix über den n Bit umfassenden Ausgangsanschluß des Wählschalters 8. Die Rechenschaltung 8 multipliziert den Zustandsvektor Xi mit der an sie angelegten Matrix Apo.
- Der um einen Schritt fortgeschaltete Zustandsvektor Xi+1 des Zustandsvektors X, ist wie folgt gegeben:
- Xi+1 = AXi (1)
- und es ist der um m Schritte vorgeschaltete Zustandsvektor Xi+m wie folgt gegeben:
- Xi+m = AmXi (2)
- Die Steuerschaltung 9 führt eine Auflösung bzw. Aufteilung von m in einen linearen Ausdruck von pj in folgender Weise aus:
- m = k&sub0;p&sub0; + k&sub1;p&sub1; + k&sub2;p&sub2; + ... = ktPt (3)
- Bei dem vorstehend genannten Beispiel, bei dem n = 100 ist und t = 4 ist, kann beispielsweise m = 81 in folgender Weise aufgeteilt werden:
- m = 1 · 50 + 1 · 25 + 6 (4)
- Diese Aufteilung läßt sich in einfacher Weise dadurch bewerkstelligen, daß m sequentiell durch 2 dividiert wird. Gemäß dieser Aufteilung steuert die Steuerschaltung 9 den Wählschalter 8 derart, daß eine Matrix Apo, die bei der Rechnung benutzt wird, von der Speicherschaltung 7 zu der Rechenschaltung 6 gespeist wird. Die Steuerschaltung 9 speist dann die Speicherschaltung 7 mit einem ausgelesenen Signal derart, daß Zeilen der Matrix Apo sequentiell jeweils eine nach der anderen beginnend ab der oberen Zeile, gelesen und über den Wählschalter 8 zu der Rechenschaltung 6 gespeist werden. Zusätzlich legt die Steuerschaltung 9 an die Rechenschaltung 6 Informationen hinsichtlich der Anzahl von Berechnungen (Multiplikationen) an.
- Bei einer derartigen Ausgestaltung läßt sich AmXi unter Heranziehung der Gleichung (3) wie folgt ausdrücken:
- AmXi = (AP0)k0(Ap1)k1 ... (Apt)ktXi (5)
- Da Apj in diesem Fall bereits vorab berechnet und vorab in der Speicherschaltung 7 gespeichert worden sind, können diese dadurch erhalten werden, daß sie einfach aus der Speicherschaltung 7 ausgelesen werden. Demgemäß kann (APi)kj dadurch gebildet werden, daß Multiplikationen der Matrix (Apj) kj-fach wiederholt werden. Die Berechnung der Gleichung (5) läßt sich folglich durch M = k&sub0; + k&sub1; + ... + kt Multiplikationen ermitteln. Das Rechenergebnis wird in dem Register 5 gespeichert und aus diesem ausgelesen.
- Unter Berücksichtigung der Tatsache, daß die Multiplikationen der Matrix A bei der herkömmlichen Methode m-fach wiederholt werden, ist ersichtlich, daß der Rechenumfang stark verringert werden kann. Wenn beispielsweise m = 81 ist, ergibt sich aus der Gleichung (4) M = 1 + 1 + 6 = 8. Dies bedeutet, daß lediglich achtmalige Multiplikationen ein gewünschtes Ergebnis bereitstellen können.
- Auch wenn die Matrix Apo, die an die Rechenschaltung 6 anzulegen ist, bei diesem Ausführungsbeispiel über den Wählschalter 8 selektiert wird, kann die Matrix auch dadurch selektiert werden, daß die Speicherschaltung 7 von der Rechenschaltung 9 mit Adressinformationen gespeist wird. In diesem Fall kann der Wählschalter 8 weggelassen werden, und es übernimmt die Steuerschaltung 9 die Funktion einer Wähleinrichtung.
- Weiterhin kann die Geschwindigkeit der Berechnungen bei diesem Ausführungsbeispiel mit einer Zunahme des Werts t vergrößert werden. Jedoch führt dies zu einer Erhöhung der Anzahl von Matrizen, die bereits vorab berechnet werden müssen, und erfordert eine Speicherschaltung mit größerer Kapazität. Zusätzlich wird es bei Anlegen einer festgelegten Matrix Ap1 von der Speicherschaltung 7 an die Rechenschaltung 6 möglich, Zustandsvektoren bei jedem von p1 Schritten zu erzeugen. Auch wenn bei dem Ausführungsbeispiel lediglich eine Rechenschaltung 6 eingesetzt wird, und eine aus einer Mehrzahl von Matrizen in der Rechenschaltung dadurch eingestellt wird, daß diese aus der Speicherschaltung 7 ausgelesen wird, ist es ferner auch möglich, eine Mehrzahl von Rechenschaltungen einzusetzen, die jeweils einer der Matrizen zugeordnet sind, und Berechnungen auszuführen, indem diese Rechenschaltungen kombiniert werden.
- Ferner kann ein gewünschter Registerzustand bei diesem Ausführungbeispiel rasch erreicht werden. Als Ergebnis dessen kann eine gegebene Phase einer Codesequenz in kürzer Zeit erzielt werden, so daß die Codesequenz ab dieser Phase generiert werden kann. Weiterhin können Codesequenzen mit einem gewünschten Intervall erzeugt werden, ohne daß ein Taktsignal mit einer höheren Frequenz zum Einsatz kommt. Die vorliegende Erfindung ist folglich insbesondere bei der Einstellung von Registerzuständen effektiv, die mit einer langen Codesequenz verknüpft und durch eine große Anzahl von Schritten separiert sind.
- Die vorliegende Erfindung ist in größeren Einzelheiten im Hinblick auf ein Ausführungsbeispiel beschrieben worden und es ist für den Fachmann aus den vorstehenden Erläuterungen ersichtlich, daß Änderungen und Modifikationen durchgeführt werden können, ohne von der beanspruchten Erfindung abzuweichen.
Claims (5)
1. Codesequenzgenerator zur Erzeugung einer maximale Länge aufweisenden
Sequenz, mit
einer Einrichtung zur Erzeugung einer Startphase Y aus einer Anfangsphase X,
die durch Y = AmX definiert ist und dadurch erzeugt wird, daß eine durch eine n x n -
Matrix A definierte lineare Transformation auf n Bit aufweisende Daten X m-fach
wiederholt wird, wobei m eine positive ganze Zahl bezeichnet,
gekennzeichnet durch
eine Speichereinrichtung (7) zum bereits vorhergehend erfolgenden Speichern
der pj-ten Potenz der Matrix A, das heißt von Apj, für jede positive ganze Zahl aus t+ 1
vorbestimmten positiven ganzen Zahlen pj, wobei j = 0, 1, 2, ..., t ist, und t > 0 ist,
eine Einrichtung zum Aufteilen der ganzen Zahl m auf eine lineare
Kombination aus den ganzen Zahlen pj, das heißt m = k&sub0;p&sub0; + k&sub1;p&sub1; + k&sub2;p&sub2; + ... + ktpt wobei
k&sub0;, k&sub1;, k&sub2;, ..., kt ganze Zahlen sind, die gleich oder größer als Null sind,
eine Wähleinrichtung (8) zum aufeinanderfolgenden Auswählen von Matrizen
Ap0, Ap1, Ap2, ..., Apt, die mit nicht bei Null liegenden Werten von k&sub0;, k&sub1;, k&sub2;, ...,
verknüpft sind, aus der Speichereinrichtung, und
eine Einrichtung zum Ausführen der folgenden Matrixberechnung für nicht bei
Null liegende Werte von k&sub0;, k&sub1;, k&sub2;, ..., kt:
Y = (Ap0)k0(Ap1)k1(Ap2)k2...(Apt)ktX
2. Codesequenzgenerator nach Anspruch 1, dadurch
gekennzeichnet, daß die ganzen Zahlen pj durch aufeinanderfolgendes Dividieren von n durch 2 wie
folgt festgelegt sind: p&sub0; = 1, p&sub1; = n/2, p&sub2; = n/2², ..., pt = n/2t, und durch
anschließendes Abrunden der Ergebnisse auf die nächstgelegenen ganzen Zahlen bestimmt sind.
3. Codesequenzgenerator nach Anspruch 2, dadurch
gekennzeich
net, daß die Wähleinrichtung eine Anzahl von n(t + 1 bis 1)-Zeilen-Multiplexer auf
weist, die parallel arbeiten.
4. Codesequenzgenerator nach Anspruch 2, dadurch
gekennzeichnet, daß die Wähleinrichtung an die Speichereinrichtung selektiv eine Adresse anlegt, die
mit einer Matrix, die aus den Matrizen Apj auszuwählen ist, verknüpft ist.
5. Codesequenzgenerator nach Anspruch 1, dadurch
gekennzeichnet, daß die Wähleinrichtung an die Berechnungseinrichtung eine bestimmte Matrix
abgibt, die aus den Matrizen Apj so ausgewählt ist, daß der Codesequenzgenerator eine
Codesequenz mit einem gewünschten Codeintervall erzeugt, das als die Differenz der
Werte m der beiden aufeinanderfolgenden Codesequenzen festgelegt ist.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9035394 | 1994-04-27 | ||
JP7087191A JPH0818550A (ja) | 1994-04-27 | 1995-04-12 | 符号系列発生器 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69503308D1 DE69503308D1 (de) | 1998-08-13 |
DE69503308T2 true DE69503308T2 (de) | 1999-04-15 |
Family
ID=26428488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69503308T Expired - Fee Related DE69503308T2 (de) | 1994-04-27 | 1995-04-25 | Codesequenzgenerator |
Country Status (5)
Country | Link |
---|---|
US (1) | US5596516A (de) |
EP (1) | EP0680172B1 (de) |
JP (1) | JPH0818550A (de) |
CN (1) | CN1051661C (de) |
DE (1) | DE69503308T2 (de) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998032070A1 (en) * | 1997-01-17 | 1998-07-23 | Picturetel Corporation | Pseudo-random number generator exploiting processors having instruction-level parallelism and the use thereof for encryption |
US5943248A (en) * | 1997-01-17 | 1999-08-24 | Picturetel Corporation | w-bit non-linear combiner for pseudo-random number generation |
JP3329705B2 (ja) | 1997-09-02 | 2002-09-30 | 松下電器産業株式会社 | Pn符号発生装置及び移動無線通信システム |
CN1160888C (zh) | 1997-11-19 | 2004-08-04 | Ntt移动通信网株式会社 | 同时多代码序列产生器和采用其的码分多址无线接收机 |
KR100250466B1 (ko) * | 1997-12-27 | 2000-04-01 | 정선종 | 난수기의 효율적 구현방법 |
US6141669A (en) * | 1998-05-06 | 2000-10-31 | Nortel Networks Corporation | Pseudorandom binary sequence block shifter |
KR20010080248A (ko) * | 1998-10-19 | 2001-08-22 | 러셀 비. 밀러 | Cdma 통신 시스템의 유사잡음 확산을 위한 방법 및장치 |
US6636553B1 (en) * | 1998-12-29 | 2003-10-21 | Texas Instruments Incorporated | Pseudorandom noise generator for WCDMA |
JP3499460B2 (ja) | 1999-02-25 | 2004-02-23 | 松下電器産業株式会社 | 拡散符号発生回路および拡散符号発生方法 |
JP2000307477A (ja) * | 1999-04-21 | 2000-11-02 | Matsushita Electric Ind Co Ltd | 符号発生装置、その装置を用いた通信装置、通信システム及び符号発生方法 |
FI107094B (fi) * | 1999-05-10 | 2001-05-31 | Nokia Mobile Phones Ltd | Menetelmä päivittää koodigeneraattorin lineaarinen palautesiirtorekisteri |
US6640236B1 (en) * | 1999-08-31 | 2003-10-28 | Qualcomm Incorporated | Method and apparatus for generating multiple bits of a pseudonoise sequence with each clock pulse by computing the bits in parallel |
US6909783B2 (en) * | 1999-10-29 | 2005-06-21 | Joseph Samuel Incarnato | Alphabet soup cryptography |
JP2002084257A (ja) | 2000-07-05 | 2002-03-22 | Sanyo Electric Co Ltd | 直交符号生成装置、スクランブル符号生成装置、およびそれらを用いた携帯無線端末 |
WO2004031941A1 (ja) * | 2002-09-30 | 2004-04-15 | Fdk Corporation | 物理乱数の一様化手法と物理乱数発生装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1190809A (en) * | 1967-06-26 | 1970-05-06 | Ericsson Telefon Ab L M | Improvements in and relating to the Generation of a Pulse Code |
US4685132A (en) * | 1985-07-30 | 1987-08-04 | Sperry Corporation | Bent sequence code generator |
JP2620069B2 (ja) * | 1986-10-09 | 1997-06-11 | クラリオン株式会社 | スペクトラム拡散通信方式 |
JPH0457407A (ja) * | 1990-06-27 | 1992-02-25 | Fujitsu Ltd | 直列pnパターン並列発生回路、および、該回路の構成方法 |
US5444645A (en) * | 1992-02-14 | 1995-08-22 | Advantest Corporation | Multi-channel pseudo random pattern generating device |
JP2845308B2 (ja) * | 1993-04-02 | 1999-01-13 | 株式会社アドバンテスト | 並列疑似ランダムパターン発生器 |
US5515307A (en) * | 1994-08-04 | 1996-05-07 | Bell Communications Research, Inc. | Pseudo-random generator |
-
1995
- 1995-04-12 JP JP7087191A patent/JPH0818550A/ja active Pending
- 1995-04-25 DE DE69503308T patent/DE69503308T2/de not_active Expired - Fee Related
- 1995-04-25 EP EP95302772A patent/EP0680172B1/de not_active Expired - Lifetime
- 1995-04-25 US US08/428,389 patent/US5596516A/en not_active Expired - Fee Related
- 1995-04-26 CN CN95104236.XA patent/CN1051661C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1051661C (zh) | 2000-04-19 |
EP0680172B1 (de) | 1998-07-08 |
EP0680172A2 (de) | 1995-11-02 |
JPH0818550A (ja) | 1996-01-19 |
EP0680172A3 (de) | 1996-03-06 |
DE69503308D1 (de) | 1998-08-13 |
US5596516A (en) | 1997-01-21 |
CN1117673A (zh) | 1996-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69503308T2 (de) | Codesequenzgenerator | |
DE69330848T2 (de) | Einrichtung und Verfahren zur digitalen Unterschrift | |
DE69731470T2 (de) | Spiral-verwürfelungsverfahren | |
DE69615475T2 (de) | Schaltungsvorrichtung mit einer permutationseinheit und verarbeitungsverfahren für einen stapel von elementen | |
DE69326681T2 (de) | Verfahren und Apparat zum Erzeugen von linearen Rückführungsschieberegistersequenzen | |
DE3650335T2 (de) | Rechenverfahren und -gerät für endlichfeldmultiplikation. | |
DE3689377T2 (de) | Zufallsfolgengeneratoren. | |
DE10339999B4 (de) | Pseudozufallszahlengenerator | |
DE19758079A1 (de) | Verfahren und Vorrichtung zur Galoisfeld-Multiplikation | |
DE19680782C2 (de) | Hochgeschwindigkeits- Mustergenerierungsverfahren und unter Verwendung dieses Verfahrens arbeitender Hochgeschwindigkeits-Mustergenerator | |
DE102013213354A1 (de) | Zufallsbitstromgenerator mit garantierter mindestperiode | |
DE3887249T2 (de) | Digitaler Multiplexer. | |
DE10063240A1 (de) | Verfahren und Vorrichtung zum Erzeugen von Zahlen | |
DE2644478A1 (de) | Differential-phasenumtast-modulator | |
DE102004013480A1 (de) | Zufallszahlengenerator und Verfahren zum Erzeugen von Zufallszahlen | |
DE4005322A1 (de) | Pseudozufallsrauschcodegenerator | |
DE1260530B (de) | Zaehlschaltung zur Zaehlung jedes von einer Vielzahl von angelegten Eingangsimpulsen | |
DE10204647A1 (de) | Matrizenrechner des Zeitteilungstyps | |
DE69619361T2 (de) | Parametrisierbares steuermodul mit ersten und zweiten ladbaren zählern, elektronischer schaltkreis mit mehreren derartig parametrisierten steuermodulen und verfahren zur synthese eines solchen schaltkreises | |
DE69832755T2 (de) | Schaltung und Verfahren zum beliebigen Verschieben von M-Sequenzen | |
DE3735514A1 (de) | Gold-code-erzeugungssystem | |
DE3130380C2 (de) | ||
DE69330539T2 (de) | Steuerungseinrichtung zur Schnittstellensteuerung zwischen einer Testmaschine und einer elektronischen Mehrkanalschaltung, insbesondere nach dem "Boundary Test Standard" | |
DE60107129T2 (de) | Frequenzsynthetisierer und Rauschgenerator zur Erzeugung von Gauss-Geräuschen mit diesem Frequenzsynthetisierer | |
EP1071208A2 (de) | Verfahren zur Modulation eines Grundtaktes für digitale Schaltungen und Taktmodulator zur Ausführung des Verfahrens |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: NTT DOCOMO, INC., TOKIO/TOKYO, JP |
|
8328 | Change in the person/name/address of the agent |
Representative=s name: KRAMER - BARSKE - SCHMIDTCHEN, 81245 MUENCHEN |
|
8339 | Ceased/non-payment of the annual fee |