DE69503308T2 - Codesequenzgenerator - Google Patents

Codesequenzgenerator

Info

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
Application number
DE69503308T
Other languages
English (en)
Other versions
DE69503308D1 (de
Inventor
Akihiro Yokosuka-Shi Kanagawa 238-03 Higashi
Koji Yokohama-Shi Kanagawa 235 Ohno
Narumi Yokohama-Shi Kanagawa 236 Umeda
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Docomo Inc
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Mobile Communications Networks Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp, NTT Mobile Communications Networks Inc filed Critical Nippon Telegraph and Telephone Corp
Application granted granted Critical
Publication of DE69503308D1 publication Critical patent/DE69503308D1/de
Publication of DE69503308T2 publication Critical patent/DE69503308T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J13/00Code division multiplex systems
    • H04J13/10Code generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization 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.
DE69503308T 1994-04-27 1995-04-25 Codesequenzgenerator Expired - Fee Related DE69503308T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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