NO300909B1 - Nökkelströmgenerator med tilbakekoblet skiftregisterstruktur - Google Patents

Nökkelströmgenerator med tilbakekoblet skiftregisterstruktur Download PDF

Info

Publication number
NO300909B1
NO300909B1 NO891934A NO891934A NO300909B1 NO 300909 B1 NO300909 B1 NO 300909B1 NO 891934 A NO891934 A NO 891934A NO 891934 A NO891934 A NO 891934A NO 300909 B1 NO300909 B1 NO 300909B1
Authority
NO
Norway
Prior art keywords
shifted
stage
bits
register
predetermined
Prior art date
Application number
NO891934A
Other languages
English (en)
Other versions
NO891934D0 (no
NO891934L (no
Inventor
David S Brown
Original Assignee
Gen Instrument Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Gen Instrument Corp filed Critical Gen Instrument Corp
Publication of NO891934D0 publication Critical patent/NO891934D0/no
Publication of NO891934L publication Critical patent/NO891934L/no
Publication of NO300909B1 publication Critical patent/NO300909B1/no

Links

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Lock And Its Accessories (AREA)
  • Telephone Function (AREA)
  • Cosmetics (AREA)
  • Shift Register Type Memory (AREA)
  • Storage Device Security (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

Foreliggende oppfinnelse angår omkasting av binære data i sin alminnelighet, og gjelder særlig opprettelse av en nøkkelstrøm ved å anvende en eller flere tilbakekoblede skiftregisterstrukturer.
Binære data kan omkastes (krypteres) ved å behandle vedkommende data med en nøkkelstrøm. Vanligvis adderes et binært datasignal og nøkkelstrømmen residualt bit for bit ved et logisk element i form av en eksklusiv ELLER-port (XELLER-port) for derved å frembringe et omkastet binært datasignal. Nøkkelstrømgeneratoren frembringer typisk en nøkkelstrøm ved å behandle en innledende binær krypteringsnøkkel som inneholder flere nøkkeldatabit. Det omkastede binære datasignal kan gjenopprettes ved å addere til det omkastede signal en identisk nøkkelstrøm, som er synkront frembragt av en nøkkelstrømgenerator av samme art og som åpnes med samme binære krypterings-nøkkel.
En nøkkelstrømgenerator av tidligere kjent type og som utnytter en tilbakekoblet skiftregisterstruktur, omfatter et tilbakekoblet skiftregister med inngangstrinn, mellomtrinn og utgangstrinn som databiter forskyves i rekkefølge gjennom i takt med et klokkesignal, idet flere logiske elementer er anbragt mellom forskjellige par av registertrinn, og utstyr er anordnet for å føre databiter som forskyves ut fra utgangstrinnet inn i inngangstrinnet samt inn i forutbestemte elementer av de nevnte logiske elementer i samsvar med en polynomkode, hvor de logiske elementer behandler en databit forskjøvet fra det forutgående trinn med tilbakekoblet databit fra utgangstrinnet i samsvar med polynom-koden for å danne inngangssignal til det påfølgende registertrinn, mens utstyr er anordnet for å behandle de databiter som forskyves fra et forutbestemt trinn med det formål å opprette en nøkkelstrøm. Nøkkeldatabiter i den krypterte nøkkel lastes parallelt inn i skiftregisterstrukturen for å sette igang nøkkelstrømgeneratorens drift. Behandlings-utstyret omfatter en hukommelse, slik som en lesehukommelse (ROM - Read Only Memory), som frembringer de enkelte nøkkelstrømbiter i overensstemmelse med en hukommmelsesadresse som utgjøres av databiter som er forskjøvet fra flere av trinnene i skiftregisteret. I en sådan tidligere kjent nøkkelstrømgenerator kombineres databiter forskjøvet fra to separate tilbakekoblede skiftregistre for på denne måte å opprette nevnte hukommelsesadresse.
Foreliggende oppfinnelse gjelder en nøkkelstrømgenerator med en omkastingsteknikk som omfatter et dynamisk tilbakekoblingsarrangement (DFAST - Dynamic Feedback Arrangement Scrambling Technique).
Nøkkelstrømgeneratoren i henhold til foreliggende oppfinnelse omfatter således en tilbakekoblet skiftregisterstruktur med inngangstrinn, mellomtrinn og utgangstrinn, gjennom hvilke trinn databiter forskyves sekvensielt i takt med et klokkesignal, idet flere logiske elementer er anbragt mellom hvert sitt par av forutbestemte registertrinn og utstyr er anordnet for å lede databiter fra utgangstrinnet tilbake inn i inngangstrinnet samt inn i forutbestemte av de logiske elementer i overensstemmelse med en polynomisk kode, og hvor nevnte logiske elementer er innrettet for å behandle en databit som forskyves ut fra det forutgående trinn med en databit som i samsvar med nevnte polynomiske kode blir tilbakeført fra utgangstrinnet for innføring i det etterfølgende registertrinn, mens utstyr er anordnet for å behandle databiter som forskyves fra et forutbestemt trinn med henblikk på å frembringe en nøkkelstrøm.
På denne bakgrunn av prinsipielt kjent teknikk har da nøkkelstrømgeneratoren i henhold til foreliggende oppfinnelse som særtrekk at ytterligere utstyr er anordnet og innrettet for å variere den polynomiske kode ved å tilføre nevnte logiske elementer et polynomisk kodet utløsningssignal som varierer i samsvar med innholdet i de databiter som forskyves fra et forutbestemt registertrinn.
Det vil da følgelig være vanskeligere for uberettigede personer å kopiere nøkkel-strømmen enn i det tilfelle den polynomiske kode ikke var utsatt for variasjoner. Dessuten kan nøkkelstrømgeneratoren i henhold til foreliggende oppfinnelse omfatte ytterligere anordninger som i enda større grad vil øke vanskeligheten ved å kopiere nøkkelstrømmen uten å være berettiget til dette.
Særlig kan det ordnes slik at de databiter som gjør at det polynomiske kodesignal varierer, ikke inngår i nøkkelstrømmen.
Nøkkelstrømgeneratoren kan videre omfatte organer for å behandle databiter fra et forutbestemt registertrinn for å opprette en for-nøkkelstrøm, hvor vekslende biter fra for-nøkkelstrømmen behandles for å frembringe variasjonene i det polynomiske kodesignal, og hvor i det minste noen av de gjenværende biter i for-nøkkelstrømmen behandles for å frembringe selve nøkkelstrømmen.
Nøkkelstrømgeneratoren kan også omfatte utstyr for å behandle databiter som er forskjøvet ut fra flere forutbestemte registertrinn, for derved å opprette en for-nøkkel-strøm, idet utstyret for å variere det polynomiske kodesignal gjør dette i samsvar med innholdet i vekslende biter i for-nøkkelstrømmen, og utstyret for å opprette nøkkel-strømmen gjør dette ved å behandle i det minste noen av de gjenværende biter i for-nøkkelstrømmen.
Det utstyr som frembringer for-nøkkelstrømmen omfatter da fortrinnsvis første hukommelsesorganer for å frembringe de enkelte for-nøkkelstrømbiter i samsvar med innholdet i et flerbiters adressesignal, samt andre hukommelsesorganer for å frembringe noen av adressesignalets databiter i samsvar med innholdet av forskjøvede databiter fra noen av nevnte forutbestemte registertrinn, idet en bit i nevnte flerbiters adressesignal frembringes direkte fra ett av nevnte forutbestemte registertrinn.
Nøkkelstrømgeneratoren kan dessuten omfatte multipleksutstyr for å velge mellom databiter forskjøvet fra forskjellige trinn av nevnte forutbestemte registertrinn, for derved å frembringe adressebiter for å adressere de andre hukommelsesorganer. Multipleksutstyrets valg mellom databiter forskjøvet fra forskjellige forutbestemte registertrinn styres da med fordel i samsvar med en databit som er forskjøvet ut fra et annet forutbestemt registertrinn.
Videre kan nøkkelstrømgeneratoren omfatte et tredje hukommelsesorgan for å frembringe de enkelte kodestrømbiter i samsvar med innholdet i nevnte flerbiters adressesignal, samt logisk utstyr for å behandle hver databit som forskyves ut fra utgangsregistertrinnet med en bit i kodestrømmen for inngang inn i inngangstrinnet, samt de forutbestemte elementer av nevnte logikkelementer i skiftregisterstrukturen, som aktiveres av det polynomiske kodesignal. Denne kodestrøm er forskjellig fra for-nøkkelstrømmen.
I den foretrukne utførelse omfatter nøkkelstrømgeneratoren to tilbakekoblede skiftregisterstrukturer, idet den polynomiske kode for bare en av de to skiftregisterstrukturene varieres av det polynomiske kodesignal. Databiter som er forskjøvet fra flere forutbestemte trinn i hver skiftregisterstruktur kombineres og behandles for å frembringe for-nøkkelstrømmen, og valget ved hjelp av multipleksutstyret mellom databiter forskjøvet fra forskjellige forutbestemte trinn i ett av skiftregisterstrukturene, styres i samsvar med en databit som er forskjøvet fra et forutbestemt trinn i den annen skiftregisterstruktur. I andre sammenhenger kan utførelsen med to skiftregisterstrukturer utnytte de trekk som er beskrevet ovenfor i forbindelse med utførelsen med bare en eneste skiftregisterstruktur.
Foreliggende oppfinnelsesgjenstand vil nå bli nærmere beskrevet med henvisning til de vedføyde tegninger, på hvilke: Fig. 1 viser et blokkskjema ved å kombinere fig. 1a og 1b, av en foretrukket utførelse
av en nøkkelstrømgenerator i henhold til foreliggende oppfinnelse,
fig. 2 er et blokkskjema av den dynamiske, tilbakekoblede skiftregisterstruktur som
inngår i den viste nøkkelstrømgenerator i fig. 1,
fig. 3 er et blokkskjema av den statiske, tilbakekoblede skiftregisterstruktur som inngår
i nøkkelstrømgeneratoren i fig. 1, og
fig. 4 er et blokkskjema av kjedevelgerbufferen og de logiske dekodingsenheter som
inngår i den viste nøkkelstrømgenerator i fig. 1.
I fig. 1 er det vist at en foretrukket utførelse av nøkkelstrømgeneratoren i henhold til foreliggende oppfinnelse omfatter en dynamisk tilbakekoblet skiftregisterstruktur 10, en statisk tilbakekoblet skiftregisterstruktur 12, en inngangsbuffer 14, flere ROM-lagre 16, 17, 18, 19, 20, flere multipleksere (MUX) 21, 22, 23, 24, 25, 26, 27, 28, et for-nøkkel-strømregister 29, en nøkkelstrømbuffer 30, en kjedevelgerbuffer 31, en logisk dekodingsenhet 32, et kodestrømregister 33 og en XELLER-port 34.
En inngangsdatanøkkel 35 bufferlagres av inngangsbufferen 14. Halvparten av de databiter som inngår i inngangsdatanøkkelen lastes inn parallelt fra inngangsbufferen 14 inn i den dynamiske tilbakekoblede skiftregisterstruktur 10, mens den annen halvdel av vedkommende databiter i inngangsdatasignalet lastes inn i parallell fra inngangsbufferen 14 i den statiske tilbakekoblede skiftregisterstruktur 12.
I fig. 2 er det vist at den dynamiske tilbakekoblede skiftregisterstruktur 10 omfatter n trinn, hvor trinn n er inngangstrinnet, trinn 1 er utgangstrinnet, og trinnene 2 til og med n -1 utgjør de mellomliggende trinn. I skiftregisterstrukturen 10 serieforskyves vedkommende databit hvert trinn i takt med et klokkesignal som tilføres CLK-klemmene. Databiter som forskyves fra registertrinnene foreligger på hver sin utgangsklemme RG1 til og med RGn. Flere XELLER-porter 36 er anbragt mellom hvert sitt forutbestemte par av registertrinnene. En inngang til hver XELLER-port 36 er opprettet fra det forutgående registertrinn, og den annen inngang til hver XELLER-port 36 er en tilbakekobling fra utgangsklemmen RG1 for utgangstrinnet 1 over en OG-port 38. Et polynomisk kodesignal fra den logiske dekodingsenhet 32 påtrykkes gjennom noen av ELLER-portene 39 til forskjellige SEL-klemmer for OG-portene 39, idet bare sådanne OG-porter 38 som er angitt ved det påtrykte polynomiske kodesignal åpnes for å slippe gjennom databittilbakekoblingen fra utgangen RG1 for utgangsregistertrinnet 1 til den tilsluttede XELLER-port 36. Overføringen av det polynomiske kodesignal gjennom ELLER-portene 39 for å angi hvilke OG-porter som er åpne, er nærmere omtalt nedenfor etter at fremstillingen av de polynomiske kodesignaler ved hjelp av den logiske dekodingsenhet
32 er beskrevet.
De databiter som er forskjøvet ut fra et forutgående registertrinn behandles av hver XELLER-port 36 med de eventuelle tilbakekoblede databiter som overføres til denne port av vedkommende OG-port 38, og de avgitte utgangsbiter fra XELLER-porten 36 klokkes inn i det påfølgende registertrinn. Kombinasjonen av XELLER-porten 36 og OG-porten 38 kan anbringes mellom hvert par av registertrinn eller bare mellom visse forut fastlagte par av sådanne registertrinn.
I fig. 3 er det vist at den statiske tilbakekoblede skiftregisterstruktur 12 omfatter n trinn, hvor trinn n er inngangstrinn, trinn 1 er utgangstrinn og trinnene 2 til og med n-1 utgjør de mellomliggende trinn. I skiftregisterstrukturen 12 serieforskyves databiter fra hvert trinn i takt med et klokkesignal som påtrykkes CLK-klemmene. Databiter som forskyves ut fra registertrinnene avgis over hver sin utgangsklemme RG1 til og med RGn. Flere XELLER-porter 40 er anbragt mellom hvert sitt forutbestemte par av registertrinnene. En av inngangene til hver XELLER-port 40 er forbundet med det forutgående registertrinn, mens den annen inngang til hver XELLER-port 40 utgjør en tilbakekoblingsinngang fra utgangsklemmen RG1 for utgangstrinnet 1. XELLER-portene 40 er imidlertid ikke anbragt mellom hvert par av registertrinn, men bare plassert mellom forutbestemte par av sådanne trinn i samsvar med en polynomkode. De databiter som forskyves fra et forutgående registertrinn behandles av hver XELLER-port 40 med de tilbakekoblede databiter fra utgangsklemmen RG1 for registerets utgangstrinn, og utgangsdatabiter fra XELLER-porten 40 klokkes inn i det etterfølgende registertrinn.
Det skal igjen henvises til fig. 1, hvor det er vist at ROM 16 avgir enkeltstående for-nøkkelstrømbiter på linje 42 fra utgangsklemmen Y i samsvar med innholdet i et adressesignal som tilføres inngangsklemmene AO til A5. ROM 16 er et 2 x 64 biters ROM, som frembringer forskjellige kombinasjoner av utgangssignaler på de respektive utgangsklemmer Y og YO som reaksjon på 64 forskjellige felles adresser. I hovedsak er ROM 16 et dobbelt ROM som reagerer forskjellig på felles adresser.
Fire av bitverdiene i det tilførte adressesignal ROM 16 avgis fra utgangene for de fire ROM-lagre 17, 18, 19 og 20, mens de øvrige to bitverdier i det tilførte adressesignal til ROM 16 frembringes direkte fra de forskjellige utgangsklemmer for de to skiftregisterstrukturer 10, 12. Disse to bitverdier avgis direkte i den betydning at de ikke er gjenstand for mellomliggende behandling av hukommelsesenheter når databitverdier forskyves ut av de mellomliggende trinn i forskjellige skiftregisterstrukturer 10, 12.
Hver av ROM-lagrene 17, 18, 19 og 20 avgir en enkelt bitverdi av adressesignalet til ROM 16 i samsvar med et adressesignal opprettet av databitverdier forskjøvet fra forskjellige forutbestemte trinn i hver av skiftregisterstrukturene 10, 12. I fig. 1 angir betegnelsen RGA at bitverdien forskyves fra et trinn i A-skiftregisterstrukturen 10, mens betegnelsen RGB angir at bitverdien er forskjøvet fra et trinn av B-skiftregisterstrukturen 12. I adressen for hver av de fire ROM-lagrene 17, 18, 19, 20 forskyves to av adressebitverdiene direkte fra forskjellige trinn i A-skiftregisterstrukturen 10, mens to adressebitverdier forskyves direkte fra forskjellige trinn i B-skiftregisterstrukturen 12, og en av adressebitverdiene velges av en MUX 21, 23, 25, 27 mellom to bitverdier som forskyves ut fra forskjellige trinn i A-skiftregisterstrukturen 10 i samsvar med en databit som er forskjøvet fra et trinn i B-skiftregisterstrukturen 12, samt en av adressebitverdiene velges av en MUX 22, 24, 26, 28 mellom to bitverdier som forskyves ut fra forskjellige trinn i B-skiftregisterstrukturen 12, som reaksjon på en databit som forskyves ut fra et trinn i A-skiftregisterstrukturen 10. Samtlige adressebitverdier som avgis til ROM-lagrene 16, 17, 18, 19, 20 er forskjøvet fra forskjellige trinn i skiftregisterstrukturene 10, 12.
For-nøkkelstrømmen på ledning 42 klokkes inn i for-nøkkelstrømmens register 29 i systemets klokketakt. Annenhver bitverdi i for-nøkkelstrømmen klokkes med halvparten av systemets klokketakt inn i kjedevelgerbufferen 31 av et invertert KLOKKE/2-signal og de gjenværende bitverdier i for-nøkkelstrømmen klokkes også i halvparten av systemets klokketakt inn i nøkkelstrømbufferen 30 av et KLOKKE/2-signal. Samtlige eller en viss andel av bitverdiene i nøkkelstrømbufferen 30 avgis etter behov som et nøkkelstrøm-utgangssignal på ledning 44. På denne måte unngås plassering av påfølgende bitverdier i for-nøkkelstrømmen på ledning 42 inn i nøkkelstrømmen på ledning 44. Dette sikrer også at nøkkelstrømmens bitverdier ikke anvendes som signaler for å styre valget av polynomiske kodesignaler.
Kombinasjonen av kjedevelgerbufferen 31 og den logiske dekodingsenhet 32 er nærmere vist i fig. 4. Kjedevelgerbufferen 31 er et serieskiftregister som omfatter m trinn, nemlig trinn 1, trinn 2, ..., trinn m, som annenhver bitverdi fra for-nøkkelstrøm-registeret 29 klokkes gjennom med halvparten av systemets klokketakt ved hjelp av det inverterte KLOKKE/2-signal som påtrykkes CLK-klemmene. Kjedebitverdier, KJEDE1, KJEDE2, ..., KJEDEm, klokkes ut av de forskjellige trinn av kjedevelgerbufferen 31 inn i den logiske dekodingsenhet 32. I en viss utførelse er den logiske dekodingsenhet 32 et ROM-lager som kan frembringe opp til 2m forskjellige polynomiske kodesignaler, nemlig POLYNOM1, POLYNOM2, POLYNOM3 POLYNOM2<m>, som reaksjon på 2m forskjellige ROM-adresser som frembringes av de m kjedebitverdier. Den logiske dekodingsenhet 32 anvender de bitverdier som er lagret av kjedevelgerbufferen 31 til å dekode et bestemt polynomsignal, idet et enkelt signal som tilsvarer et bestemt polynom gis sannhetsverdi, mens alle de øvrige polynomsignaler angis som falske.
En hvilken som helst forskrift for dekoding av kjedevelgerbufferens bitverdier til signaler som velger de korrekte polynomiske kodesignaler, kan anvendes så sant en fast 1:1 eller 2:1 avbildning finner sted. For ethvert bitmønster som foreligger i kjedevelgerbufferen, kan det bare være ett eneste polynomisk kodesignal som er sant. Et bestemt polynomisk kodesignal kan imidlertid velges av to forskjellige bit-mønstre i kjedevelgerbufferen 31. Dette sistnevnte tilfelle finner sted når antall anvendte polynomer ikke er en liketalls potens av 2.
Kjedevelgerbufferen 31 lagrer så mange påfølgende vekselvise bitverdier fra for-nøkkelstrømregisteret 29 som er nødvendig for å velge mellom det ønskede antall forskjellige polynomiske kodesignaler. Kjedens størrelse er den høyeste verdi av m som har den egenskap at 2<m>"<1> er mindre enn antallet polynomiske kodesignaler og 2m er større enn eller lik antallet polynomiske kodesignaler. Hvis syv forskjellige polynomer er ønsket, vil man opprette en kjedevelgerbuffer 31 med m = 3 trinn, da 2<3> = 8, som er større enn 7, mens 2<2> = 4 er mindre enn 7.
Det valgte polynomiske kodesignal avgis til den registertrinnsvelgende inngangslogikk for den dynamiske tilbakekoblede skiftregisterstruktur 10. Den trinnvelgende inngangslogikk for denne dynamiske skiftregisterstruktur omfatter OG-porter 38 og ELLER-porter 39, slik som angitt i fig. 2. Den ELLER-port 39 som inngår i den logiske elementsammenstilling 36, 38, 39 som er tilordnet et gitt registertrinn, er forbundet med den logiske dekodingsenhet 32 for å motta bare de polynomiske kodesignaler som gjør det mulig for de logiske elementer 36, 38 for dette registertrinn å behandle den databit RG1 som kobles tilbake fra registerets utgangstrinn.
Registerets velgerlogikk er således ganske enkelt en logisk ELLER-funksjon. For et hvilket som helst gitt registertrinn innenfor en dynamisk registerstruktur finner tilbake-koblingsvalget til velgeren for dette trinn sted i samsvar med følgende formel: Velgerfunksjonen = SANN hvis vedkommende registertrinn er del av polynomsignalet, og FALSK hvis ikke dette er tilfellet.
Hvert SEL-signal er således et logisk ELLER for så mange polynomsignaler som vedkommende registertrinn inngår i. Velgersignalene, SEL n-1 ..., SEL 1, er logiske enerverdier (sanne) hvis ELLER-porten 39 i det tilordnede registertrinn mottar et sant polynomisk kodesignal fra den logiske dekodingsenhet 32. Dette tillater den tilbakekoblede bitverdi RG1 å avgis av OG-porten 38 til XELLER-porten 36. Hvis et velger-signal er falsk, er den tilhørende OG-portutgang også falsk, og den tilhørende XELLER-port tas effektivt bort fra inngangen til det påfølgende registertrinn. Det polynomiske kodesignals komponenter som påtrykkes en enkelt OG-port 38 er SELn = POLYNOM1 + ... + POLYNOMm, hvor n er antall registertrinn, m er antall anvendte forskjellige polynomer, + er logisk ELLER-funksjon, og bare polynomsignaler som påtrykkes dette spesielle registertrinn inngår. POLYNOM-signalene frembringes av dekodingsbit fra kjedevelgerbufferen 31.
De forskjellige polynomkoder er fastlagt ved forbindelser mellom den logiske dekodingsenhet 32 og utgangsklemmene for ELLER-portene 39, idet inngangsklemmene for forskjellige ELLER-PORTER 39 er forbundet med forskjellige sett av utgangsklemmer for den logiske dekodingsenhet 32.
I en annen foretrukket utførelse avgis bare to forskjellige polynomkodesignaler fra den logiske dekodingsenhet 32. Hver av disse polynomkoder er primitive og ureduserbare således at hver av dem av seg selv vil frembringe en sekvens av maksimal lengde.
Kjedevelgerbufferen behøver i denne utførelse bare ett trinn, da bare to forskjellige polynomkoder anvendes i den dynamiske tilbakekoblede skiftregisterstruktur 10. I dette tilfelle anvendes derfor enhver annen for-nøkkelstrømbit direkte for å velge mellom de polynomiske kodesignaler, således at den logiske dekodingsenhet 32 bare omfatter en enkel logisk inverterport. Utgangen fra det eneste trinn i kjedevelgerbufferen 31 blir således det polynomiske kodesignal POLYNOM1, og dens inverse verdi blir da det polynomiske kodesignal POLYNOM2. I denne utførelse inngår ikke ELLER-portene 39 i registertrinnets inngangsvelgerlogikk, da SEL-inngangen til en OG-port som utpekes av bare et polynomisk kodesignal er koblet direkte til utgangen for den logiske dekodingsenhet 32 som frembringer et sådant polynomisk kodesignal. For de trinn som er angitt ved begge polynomiske kodetilstander, er OG-porten 38 også utelatt og den tilbakekoblede databit RG1 avgis direkte til XELLER-porten 36. Registertrinn som ikke er angitt ved noen av de polynomiske kodesignaler er koblet direkte til utgangen for det forutgående trinn.
Tilbakekoblingssignalet RG1 påtrykkes inngangen for inngangsregistertrinnet n uavhengig av hvilket polynomisk kodesignal som anvendes.
Da det polynomiske kodesignal ikke kan forandres hyppigere enn med halvparten av systemets klokketakt, nemlig med den takt hvor de vekslende for-nøkkelstrømbitverdier klokkes inn i kjedevelgerbufferen 31, forblir den polynomkode som påtrykkes den dynamiske tilbakekoblede skiftregisterstruktur 10 av hvert polynomisk kodesignal gjeldende for to systemklokkeperioder.
Kodestrømregisteret 33 mottar kodestrømbitverdier på ledning 45 fra YO-utgangsklemmen for ROM 16 som reaksjon på adressesignaler som påtrykkes ROM 16. Kodestrømmens bitverdier klokkes gjennom kodestrømregisteret 33 til ledning 46 og adderes residuelt av XELLER-porten 34 med de databitverdier som forskyves fra LSB-utgangstrinnet (trinn 1) i den dynamiske tilbakekoblede skiftregisterstruktur 10, for derved å frembringe på ledning 48 den databit RG1 som tilbakekobles til inngangstrinnet (trinn n) og forutbestemte mellomtrinn i skiftregisterstrukturen 10 i samsvar med den påtrykte polynomkode. Databitverdien på linje 48 avgis også til ROM 16 som en del av den flerbitsadresse som påtrykkes denne.
I den foretrukkede utførelse har hver tilbakekoblet skiftregisterstruktur 10, 12, 32 trinn. Den statiske tilbakekoblede skiftregisterstruktur 10 frembringer et primitivt og ureduser-bart polynom av grad 32 for å opprette en binærsekvens av maksimal lengde 232-1. Dette sikrer at lengden av nøkkelstrømmens utgangsfrekvens også vil være minst <232->1 før gjentagelse. 20 av de 32 registerutgangsklemmer fra hver av de tilbakekoblede skiftregisterstrukturer 10, 12 (40 utganger totalt) tappes ut som innganger til ROM-lagrene 16, 17, 18, 19, 20, og MUX-enhetene 21, 22, 23, 24, 25, 26, 27, 28. Hver uttapning tas ut bare en gang som inngang.
Denne utførelse kan frembringe et hvilket som helst antall forskjellige polynomer av grad 32.
Det foretrekkes også at hvilket som helst par av inngangssignaler til en bestemt ROM 17, 18, 19, 20 er forskjøvet ut fra registertrinn som har minst en XELLER-port 36, 40 mellom seg.
Utgangsmønstrene for hver av ROM-lagrene 16, 17, 18, 19, 20 er fortrinnsvis underlagt følgende regler:
De må inneholde et like antall enerverdier og nuller.
Enerverdiene (og således også nullverdiene) må være jevnt fordelt i et rekke/kolonne-format som er lik kvadratroten av mønsterets størrelse. Figuren viser en mønster-størrelse på 64, således at antallet enerverdier og nullverdier må være det samme i hver gruppe på åtte lagersteder. De må også være jevnt fordelt innenfor hver gruppe på åtte lagersteder. Hvis innholdet skrives ut i et like antall rader og kolonner fra øverst til venstre til nederst til høyre, vil alle rader og kolonner ha samme antall enerverdier og nullverdier, hvilket vil si fire enere og fire nuller.
Intet kvadratrotdimensjonert mønster kan anvendes mer enn to ganger, nemlig en gang som en rad og en gang som en kolonne. Intet 8-biters radmønster gjentas som rad, og intet 8-biters kolonnemønster gjentas som kolonne. Hvis en større mønsterfunksjon skulle anvendes ville det være ønskelig å anvende hvert kvadratrotdimensjonert mønster bare en gang, men i et mønsterkart av størrelse 64 er dette ikke mulig.
Det er mange kombinasjoner av kartleggingsfunksjoner som vil tilfredsstille disse fordringer, skjønt antallet er ikke uendelig. For en mønsterkartstørrelse på 64 foreligger det 70 forskjellige måter å plassere fire enerverdier på innenfor åtte posisjoner i et binærsett. Da den foretrukkede utførelse faktisk krever seks mønsterkart på 64 lagersteder hver (åtte rader på åtte), vil det bare være behov for 48 av de 70 mulige mønstre som rader. Dette betyr at ingen rad behøver å anvendes mer enn en gang, og vil da heller ikke bli brukt flere ganger. Likeledes anvendes hver kolonne bare en gang, skjønt visse mønstre kan opptre en gang som rad og en gang som kolonne. Virkemåten av en foretrukket utførelse av nøkkelstrømgeneratoren er som følger. En nøkkel 35 med en 64-biters inngangsverdi lastes av inngangsbufferen 14 inn i de to tilbakekoblede skiftregisterstrukturer 10, 12. Registerstrukturene 10, 12 utfører da forskyvning ved hver påfølgende periode av systemets klokkesignal. Nøkkelstrøm-generatoren er således faktisk synkron med systemets klokkesignal. I hver klokke-periode frembringes en enkelt bitverdi for for-nøkkelstrømmen på ledning 42 til for-nøkkelstrømregisteret 29.
Den for-nøkkelstrøm som er registrert i for-nøkkelstrømregisteret 29 deles så opp ved de vekslende KLOKKE/2 og inverterte KLOKKE/2-klokkeinnganger til nøkkelstrømbufferen 30 og kjedevelgerbufferen 31 for å frembringe en nøkkelstrøm på ledning 44 for anvendelse ved kryptering eller dekryptering samt å frembringe det nødvendige innhold i kjedevelgerbufferen 31 for å velge mellom de forskjellige forut fastlagte polynomiske kodesignaler.

Claims (11)

1. Nøkkelstrømgenerator som omfatter en tilbakekoblet skiftregisterstruktur (10) med inngangstrinn, mellomtrinn og utgangstrinn, gjennom hvilke trinn databiter forskyves sekvensielt i takt med et klokkesignal, idet flere logiske elementer (36, 38, 39) er anbragt mellom hvert sitt par av forutbestemte registertrinn og utstyr (48) er anordnet for å lede databiter fra utgangstrinnet tilbake inn i inngangstrinnet samt inn i forutbestemte av de logiske elementer (36) i overensstemmelse med en polynomisk kode, og hvor nevnte logiske elementer er innrettet for å behandle en databit som forskyves ut fra det forutgående trinn med en databit (48) som i samsvar med nevnte polynomiske kode blir tilbakeført fra utgangstrinnet for innføring i det etterfølgende registertrinn, mens utstyr (16, 29, 30) er anordnet for å behandle databiter som forskyves fra et forutbestemt trinn med henblikk på å frembringe en nøkkelstrøm (44), karakterisert ved at ytterligere utstyr (31, 32) er anordnet og innrettet for å variere den polynomiske kode ved å tilføre nevnte logiske elementer (39) et polynomisk kodet utløsningssignal som varierer i samsvar med innholdet i de databiter som forskyves fra et forutbestemt registertrinn.
2. Generator som angitt i krav 1, karakterisert ved at den omfatter en andre tilbakekoblet skiftregisterstruktur (12), med inngangstrinn, mellomtrinn og utgangstrinn som databiter forskyves sekventielt igjennom og i takt med et klokkesignal, flere logiske elementer (40) som er anordnet mellom hvert sitt forutbestemte par av registertrinn, utstyr (48) for å føre databiter som er skjøvet ut fra utgangstrinnet inn i inngangstrinnet samt inn i forutbestemte av de logiske elementer (40) i samsvar med en polynomisk kode, idet utstyret (16, 29, 30) for å frembringe nøkkelstrømmen er innrettet for å behandle de databiter som er forskjøvet fra et forutbestemt trinn i hvert skiftregister med henblikk på å opprette nøkkelstrømmen (44).
3. Generator som angitt i krav 2, karakterisert ved at den polynomiske kode for et av skiftregisterstrukturene (12) ikke blir variert i samsvar med det polynomiske kodesignal.
4. Generator som angitt i krav 1 eller 2, karakterisert ved at de biter som bringer det polynomiske kodesignal til å varieres, ikke inngår i nøkkelstrømmen.
5. Generator som angitt i krav 1 eller 2, karakterisert ved at: - utstyr (16, 33) er anordnet for å behandle databiter som er forskjøvet fra flere forutbestemte registertrinn, for derved å opprette en kodestrøm (46), og - logisk utstyr (34) er anordnet for behandling av hver databit (47) som forskyves fra registerets utgangstrinn med en bit i kodestrømmen (46) for innføring inn i inngangstrinnet samt de forutbestemte av de logiske elementer (38) i den skiftregisterstruktur som aktiveres av det polynomiske kodesignal.
6. Generator som angitt i krav 1 eller 2, karakterisert ved at utstyr (16, 19, 20, 25, 26, 27, 28) er anordnet for behandling av databiter som er forskjøvet fra flere forutbestemte registertrinn, for dreved å opprette en for-nøkkelstrøm (42), idet: - utstyret (31, 32) for å variere det polynomiske kodesignal utfører dette i samsvar med innholdet i annenhver bit i for-nøkkelstrømmen (42), og - utstyret (30) for å opprette nøkkelstrømmen (44) utfører dette ved å behandle i det minste noen av de gjenværende biter i for-nøkkelstrømmen (42).
7. Generator som angitt i krav 5 eller 6, karakterisert ved at utstyret (16, 33) for å behandle databiter som er forskjøvet fra flere forutbestemte registertrinn med henblikk på å opprette kodestrømmen, er innrettet for å frembringe en kodestrøm (46) som er adskilt og forskjellig fra for-nøkkelstrømmen (42).
8. Generator som angitt i krav 5 eller 6, karakterisert ved at utstyret som frembringer for-nøkkelstrømmen omfatter: - en første hukommelsesenhet (16) for å frembringe de enkelte for-nøkkelstrømbiter i samsvar med innholdet i et flerbiters adressesignal, og - andre hukommelsesenheter (19, 20) for å frembringe noen av bitene i adressesignalet i samsvar med innholdet i databiter som forskyves fra noen av nevnte forutbestemte registertrinn, idet minst en av bitene i nevnte flerbiters adressesignal avgis direkte fra ett av nevnte forutbestemte registertrinn.
9. Generator som angitt i krav 8, karakterisert ved at den videre omfatter multipleksutstyr (25, 26, 27, 28) innrettet for å velge mellom databiter som forskyves ut fra forskjellige trinn av nevnte forutbestemte registertrinn, for derved å opprette adressebiter for adressering av nevnte andre hukommelsesenheter (19, 20).
10. Generator som angitt i krav 9, karakterisert ved at multipleksutstyrets (25, 26, 27, 28) valg mellom de forskjøvede databiter fra forskjellige forutbestemte registertrinn, styres i samsvar med en databit som forskyves ut fra et annet forutbestemt registertrinn.
11. Generator som angitt i krav 8, karakterisert ved at den videre omfatter en tredje hukommelsesenhet (33) for å frembringe de enkelte kodestrømbiter (46) i samsvar med innholdet i nevnte flerbiters adressesignal, samt logisk utstyr (34) for å behandle hver databit (47) som forskyves fra registerets utgangstrinn med en bit i kodestrømmen (46) for innføring i inngangstrinnet samt i de forutbestemte logiske elementer (38) i den skiftregisterstruktur som utløses av vedkommende polynomiske kodesignal.
NO891934A 1988-05-17 1989-05-12 Nökkelströmgenerator med tilbakekoblet skiftregisterstruktur NO300909B1 (no)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/194,850 US4860353A (en) 1988-05-17 1988-05-17 Dynamic feedback arrangement scrambling technique keystream generator

Publications (3)

Publication Number Publication Date
NO891934D0 NO891934D0 (no) 1989-05-12
NO891934L NO891934L (no) 1989-11-20
NO300909B1 true NO300909B1 (no) 1997-08-11

Family

ID=22719132

Family Applications (1)

Application Number Title Priority Date Filing Date
NO891934A NO300909B1 (no) 1988-05-17 1989-05-12 Nökkelströmgenerator med tilbakekoblet skiftregisterstruktur

Country Status (11)

Country Link
US (1) US4860353A (no)
EP (1) EP0342832B1 (no)
JP (1) JP3024702B2 (no)
AT (1) ATE104100T1 (no)
AU (1) AU608439B2 (no)
CA (1) CA1331789C (no)
DE (1) DE68914322T2 (no)
DK (1) DK174597B1 (no)
ES (1) ES2097742T3 (no)
IE (1) IE62615B1 (no)
NO (1) NO300909B1 (no)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5054067A (en) * 1990-02-21 1991-10-01 General Instrument Corporation Block-cipher cryptographic device based upon a pseudorandom nonlinear sequence generator
SE465797B (sv) * 1990-03-07 1991-10-28 Ericsson Telefon Ab L M Foerfarande att oeverfoera synkroniseringsinformation vid krypterad oeverfoering i ett mobilradiosystem
US5008938A (en) * 1990-03-09 1991-04-16 Motorola, Inc. Encryption apparatus
US5081679A (en) * 1990-07-20 1992-01-14 Ericsson Ge Mobile Communications Holding Inc. Resynchronization of encryption systems upon handoff
US5091942A (en) * 1990-07-23 1992-02-25 Ericsson Ge Mobile Communications Holding, Inc. Authentication system for digital cellular communications
NZ238651A (en) * 1990-07-20 1994-04-27 Ericsson Ge Mobile Communicat Encryption system for digital cellular communications
US5148485A (en) * 1990-07-20 1992-09-15 Ericsson Ge Mobile Communications Holding, Inc. Encrypton system for digital cellular communications
US5237612A (en) * 1991-03-29 1993-08-17 Ericsson Ge Mobile Communications Inc. Cellular verification and validation system
US5241598A (en) * 1991-05-22 1993-08-31 Ericsson Ge Mobile Communications, Inc. Rolling key resynchronization in cellular verification and validation system
US5210770A (en) * 1991-09-27 1993-05-11 Lockheed Missiles & Space Company, Inc. Multiple-signal spread-spectrum transceiver
JPH08505275A (ja) * 1992-12-30 1996-06-04 テルストラ・コーポレイション・リミテッド 暗号ストリームを発生させるための装置及び方法
US5365588A (en) * 1993-03-12 1994-11-15 Hughes Aircraft Company High speed encryption system and method
CA2128115C (en) * 1993-07-20 1999-08-10 Keiichi Iwamura Encryption apparatus, communication system using the same and method therefor
US5345507A (en) * 1993-09-08 1994-09-06 International Business Machines Corporation Secure message authentication for binary additive stream cipher systems
ES2078178B1 (es) * 1993-12-31 1998-02-01 Alcatel Standard Electrica Dispositivo de cifrado de datos.
US5557678A (en) * 1994-07-18 1996-09-17 Bell Atlantic Network Services, Inc. System and method for centralized session key distribution, privacy enhanced messaging and information distribution using a split private key public cryptosystem
US5838792A (en) * 1994-07-18 1998-11-17 Bell Atlantic Network Services, Inc. Computer system for centralized session key distribution, privacy enhanced messaging and information distribution using a split private key public cryptosystem
US5748735A (en) * 1994-07-18 1998-05-05 Bell Atlantic Network Services, Inc. Securing E-mail communications and encrypted file storage using yaksha split private key asymmetric cryptography
DE19757370C2 (de) * 1997-12-22 2000-03-23 Siemens Ag Verfahren zur taktilen Erzeugung pseudo-zufälliger Datenworte
JP2001527728A (ja) * 1998-03-05 2001-12-25 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 疑似ランダムノイズ発生器用のマスク発生多項式
KR100756435B1 (ko) * 1999-11-23 2007-09-07 제너럴 인스트루먼트 코포레이션 키스트림 생성방법 및 장치
US6961427B1 (en) 1999-11-23 2005-11-01 General Instrument Corporation Methods and apparatus for keystream generation
GB0121793D0 (en) * 2001-09-08 2001-10-31 Amphion Semiconductor Ltd An apparatus for generating encryption/decryption keys
US6862446B2 (en) * 2003-01-31 2005-03-01 Flarion Technologies, Inc. Methods and apparatus for the utilization of core based nodes for state transfer
US7620179B2 (en) 2004-01-29 2009-11-17 Comcast Cable Holdings, Llc System and method for security processing media streams
US8151110B2 (en) * 2004-08-05 2012-04-03 Digital Keystone, Inc. Methods and apparatuses for configuring products
US7711954B2 (en) * 2004-08-05 2010-05-04 Digital Keystone, Inc. Methods and apparatuses for configuring products
US20060031873A1 (en) * 2004-08-09 2006-02-09 Comcast Cable Holdings, Llc System and method for reduced hierarchy key management
US8099369B2 (en) * 2004-12-08 2012-01-17 Ngna, Llc Method and system for securing content in media systems
US7383438B2 (en) * 2004-12-18 2008-06-03 Comcast Cable Holdings, Llc System and method for secure conditional access download and reconfiguration
US7933410B2 (en) * 2005-02-16 2011-04-26 Comcast Cable Holdings, Llc System and method for a variable key ladder
US20060200412A1 (en) * 2005-02-23 2006-09-07 Comcast Cable Holdings, Llc System and method for DRM regional and timezone key management
US7934083B2 (en) * 2007-09-14 2011-04-26 Kevin Norman Taylor Configurable access kernel
US8879733B2 (en) * 2012-07-10 2014-11-04 Infineon Technologies Ag Random bit stream generator with guaranteed minimum period
US8861725B2 (en) * 2012-07-10 2014-10-14 Infineon Technologies Ag Random bit stream generator with enhanced backward secrecy
US9027159B2 (en) 2012-10-29 2015-05-05 Arris Technology, Inc. Handshake protocol to control actors and functions in a cable set-top-box system to propagate acceptance of an IP license to securely authenticate software application program interfaces (APIs)
RU2653470C1 (ru) * 2017-06-27 2018-05-08 Федеральное государственное бюджетное образовательное учреждение высшего образования "Казанский национальный исследовательский технический университет им. А.Н. Туполева - КАИ" (КНИТУ-КАИ) Способ передачи криптограммы в системе связи и устройство для его осуществления

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US434322A (en) * 1890-08-12 Seam-compressing machine
US4343967A (en) * 1950-02-28 1982-08-10 General Dynamics Corporation Electronics Division Autokey code generator
US4434322A (en) * 1965-08-19 1984-02-28 Racal Data Communications Inc. Coded data transmission system
US3781473A (en) * 1971-04-15 1973-12-25 Datotek Random digital code generator
US3911330A (en) * 1974-08-27 1975-10-07 Nasa Nonlinear nonsingular feedback shift registers
US4274085A (en) * 1979-06-28 1981-06-16 Motorola, Inc. Flexible mode DES system
US4760598A (en) * 1981-07-23 1988-07-26 Racal Data Communications Inc. Coded data transmission system
CH664056A5 (de) * 1984-11-02 1988-01-29 Borer Communications Ag Verfahren und vorrichtung fuer die umwandlung einer digitalen datensequenz in die verschluesselte form.
US4797921A (en) * 1984-11-13 1989-01-10 Hitachi, Ltd. System for enciphering or deciphering data
US4785410A (en) * 1985-06-05 1988-11-15 Clarion Co., Ltd. Maximum length shift register sequences generator

Also Published As

Publication number Publication date
IE62615B1 (en) 1995-02-22
NO891934D0 (no) 1989-05-12
DK174597B1 (da) 2003-07-14
DE68914322D1 (de) 1994-05-11
AU608439B2 (en) 1991-03-28
ATE104100T1 (de) 1994-04-15
NO891934L (no) 1989-11-20
DE68914322T2 (de) 1995-11-23
DK237189D0 (da) 1989-05-16
US4860353A (en) 1989-08-22
AU3485989A (en) 1989-11-23
IE891503L (en) 1989-11-17
DK237189A (da) 1989-11-18
EP0342832A3 (en) 1991-05-29
ES2097742T3 (es) 1997-04-16
CA1331789C (en) 1994-08-30
JPH0222693A (ja) 1990-01-25
JP3024702B2 (ja) 2000-03-21
EP0342832B1 (en) 1994-04-06
EP0342832A2 (en) 1989-11-23

Similar Documents

Publication Publication Date Title
NO300909B1 (no) Nökkelströmgenerator med tilbakekoblet skiftregisterstruktur
JP3029381B2 (ja) データ変換装置
US4157454A (en) Method and system for machine enciphering and deciphering
US4751733A (en) Substitution permutation enciphering device
US6125182A (en) Cryptographic engine using logic and base conversions
US4085447A (en) Right justified mask transfer apparatus
US3984668A (en) Method for generating pseudo-random bit sequence words and a device for carrying out the method
US4047008A (en) Pseudo-random number sequence generator
JP2845308B2 (ja) 並列疑似ランダムパターン発生器
US20030152221A1 (en) Sequence generator and method of generating a pseudo random sequence
KR20010111120A (ko) 데이터 암호화 표준 알고리즘을 이용한 암호화 장치
JPH08179690A (ja) プロダクト暗号装置
JP2002040933A (ja) データ暗号化標準アルゴリズムを利用した暗号化装置
DK170266B1 (da) Chifreringssystem og fremgangsmåde til chifrering og dechifrering
JP3744285B2 (ja) シフトレジスタ及びその制御方法
KR20010110162A (ko) 데이터 암호화 표준 알고리즘을 이용한 암호화 장치
US4937574A (en) Data conversion
US5237615A (en) Multiple independent binary bit stream generator
EP0297581A2 (en) Pseudo-noise sequence generator
JPH09251267A (ja) 暗号化装置及び暗号化方法
KR910012920A (ko) 병렬로 생성되는 순환 여유 에러 검사 코드를 호출하는 장치 및 방법
EP0035048A1 (en) Cipher system using a variant key matrix
KR100377173B1 (ko) 데이터 암호화 표준 알고리즘을 이용한 암호화 장치
JP2003131566A (ja) ランダム関数演算方法及び演算装置
JP2003500681A (ja) 暗号テキストの分散性を高めるためにデータアレイに基数変換、論理演算及び疑似乱数ジェネレータを用いる暗号化エンジン