← Back to Patent Explorer
US5365588A Expired / Lapsed US ⏱️ 0.0 years remaining

High speed encryption system and method

Assignee: The AT&T MVPD Group LLC
•
Filing: 1993-03-12
•
Granted: 1994-11-15
•
Expires: 2013-03-12
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A general purpose, high-speed encryption system and method, based on a linear feedback shift register (LFSR) that provides inputs to one or more mathematically independent nonlinear output functions, resulting in the generation of multiple keystream outputs per clock cycle. Due to the parallel architecture, the system need only operate at a rate of 1/N, where N is the number of output functions. For example, the system can encrypt an 8-bit byte in one-eighth the time required for a conventional bit-oriented stream cipher. Alternatively, with high-speed serial-to-parallel and parallel-to-serial interface converters, the system can encrypt a serial data stream at a rate N times that of the system itself.

Inventors

  • 👤 Mark E. Bianco
  • 👤 Gregory L. Mayhew

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 00:40
CPC Classifications
H; H04; H04L; H04L9/00; H04L9/06; H04L9/065; H04L9/0656; H04L9/0662; H04L9/0668; H04L9/12; H04L2209/00; H04L2209/12; H04L2209/125

Claims Analysis

Total Claims: 54
Claim 1
Independent Claim 166 words
A high speed data encryption system for encrypting input data to produce encrypted data, comprising: a working register, comprising a linear feedback shift register having a plurality of stages including an output stage and a plurality of intermediate stages; means for initializing the working register by loading it with a binary sequence; means for selectively feeding back the output state of said output stage of said working register into selected inputs of said intermediate stages, as determined by a cryptographic key; N mathematical independent nonlinear output function means, where N≧2, each for performing a different nonlinear function on the output states of T selected stages of said working register, where T≧1; means for clocking said working register, wherein with each clock cycle, said working register is advanced one state, and the outputs of said selected working register stages feed said N output function means; and means for logically operating on respective input data bits and said outputs of said output function means to produce encrypted data.
Claim 2
Dependent Claim 166 words
A high speed data encryption system for encrypting input data to produce encrypted data, comprising: a working register, comprising a linear feedback shift register having a plurality of stages including an output stage and a plurality of intermediate stages; means for initializing the working register by loading it with a binary sequence; means for selectively feeding back the output state of said output stage of said working register into selected inputs of said intermediate stages, as determined by a cryptographic key; N mathematical independent nonlinear output function means, where N≧2, each for performing a different nonlinear function on the output states of T selected stages of said working register, where T≧1; means for clocking said working register, wherein with each clock cycle, said working register is advanced one state, and the outputs of said selected working register stages feed said N output function means; and means for logically operating on respective input data bits and said outputs of said output function means to produce encrypted data.
Claim 3
Dependent Claim 20 words
The system of claim 1 wherein said N sets of T stages of said working register are randomly selected stages.
Claim 4
Dependent Claim 40 words
The system of claim 1 wherein said N output function means comprise N means programmed with nonlinear functions with random properties to map said respective working register stage outputs into N corresponding nonlinear outputs of said N output function means.
Claim 5
Dependent Claim 24 words
The system of claim 3 wherein said N means programmed with nonlinear functions comprises read only memory means having said nonlinear functions stored therein.
Claim 6
Dependent Claim 14 words
The system of claim 3 wherein said nonlinear functions comprise nonlinear de Bruijn sequences.
Claim 7
Dependent Claim 18 words
The system of claim 1 wherein said logical operating means comprises means for performing a logical XOR function.
Claim 8
Dependent Claim 19 words
The system of claim 6 wherein said means for performing a logical XOR function comprises a modulo-2 digital adder.
Claim 9
Dependent Claim 29 words
The system of claim 1 further comprising a key shift register comprising a plurality of cascaded register stages, and means for loading said key register with said cryptographic key.
Claim 10
Dependent Claim 15 words
The system of claim 1 wherein said binary sequence comprises a randomly generated binary sequence.
Claim 11
Dependent Claim 15 words
The system of claim 1 wherein said binary sequence comprises a pseudorandomly generated binary sequence.
Claim 12
Dependent Claim 215 words
A high speed data encryption system for encrypting input data to produce encrypted data, comprising: a key shift register having a plurality of cascaded register stages; means for loading said key register with a cryptographic binary data sequence; a working register, comprising a linear feedback shift register having a plurality of stages including an output stage and a plurality of intermediate stages; means for initializing the working register by loading it with a binary sequence; means for selectively feeding back the output state of said output stage of said working register into selected inputs of said intermediate stages, as determined by the contents of said key register; N mathematically independent nonlinear output function means for performing N different nonlinear functions on data input to said function means, where N≧2; means for feeding the output states of N sets of T stages of said working register into respective inputs of said N output function means, where T≧1; means for clocking said working register, wherein with each clock cycle, said working register is advanced one state, and said N sets of T working register stage outputs feed said N output function means; and means for performing a logical XOR function on respective input data bits and said outputs of said output function means to produce encrypted data.
Claim 13
Dependent Claim 215 words
A high speed data encryption system for encrypting input data to produce encrypted data, comprising: a key shift register having a plurality of cascaded register stages; means for loading said key register with a cryptographic binary data sequence; a working register, comprising a linear feedback shift register having a plurality of stages including an output stage and a plurality of intermediate stages; means for initializing the working register by loading it with a binary sequence; means for selectively feeding back the output state of said output stage of said working register into selected inputs of said intermediate stages, as determined by the contents of said key register; N mathematically independent nonlinear output function means for performing N different nonlinear functions on data input to said function means, where N≧2; means for feeding the output states of N sets of T stages of said working register into respective inputs of said N output function means, where T≧1; means for clocking said working register, wherein with each clock cycle, said working register is advanced one state, and said N sets of T working register stage outputs feed said N output function means; and means for performing a logical XOR function on respective input data bits and said outputs of said output function means to produce encrypted data.
Claim 14
Dependent Claim 20 words
The system of claim 11 wherein said N sets of T stages of said working register are randomly selected stages.
Claim 15
Dependent Claim 40 words
The system of claim 11 wherein said N output function means comprise N means programmed with nonlinear functions with random properties to map said respective working register stage outputs into N corresponding nonlinear outputs of said N output function means.
Claim 16
Dependent Claim 24 words
The system of claim 13 wherein said N means programmed with nonlinear functions comprises read only memory means having said nonlinear functions stored therein.
Claim 17
Dependent Claim 14 words
The system of claim 13 wherein said nonlinear functions comprise nonlinear de Bruijn sequences.
Claim 18
Dependent Claim 19 words
The system of claim 11 wherein said means for performing a logical XOR function comprises modulo-2 digital adder means.
Claim 19
Dependent Claim 24 words
The system of claim 11 wherein said working register has W stages, and said key register has W-1 stages to accommodate said working register.
Claim 20
Dependent Claim 148 words
The system of claim 11 wherein said means for selectively feeding back the output state of said output stage comprises: a plurality of logical AND gate means, each gate means having a first input coupled to a corresponding output of a register stage of said key register and a second input coupled to the output of said output stage of said working register; and an XOR gate means disposed between each stage of said working register, one input of each said gate means coupled to the output of the preceding stage of said working register, and a second input of each said XOR gate means coupled to the output of a corresponding logical AND gate means, whereby the output of said output stage is selectively fed back into said intermediate stages of said working register in dependence on the respective states of said registers comprising said key register.
Claim 21
Dependent Claim 55 words
The system of claim 11 wherein said input data is arranged in 8-bit bytes, the number N of said output function means and said stages whose output states are fed into respective inputs of said output function means is eight, and said means for performing a logical XOR function comprises an 8-bit modulo-2 adder means.
Claim 22
Dependent Claim 102 words
The system of claim 11 wherein said means for initializing said working register comprises a multiplexer means having an output coupled to the input of a first of said stages of said working register, a first input connected to a source of said binary sequence, and a second input connected to the output of said working register output stage, said multiplexer providing a means for connecting said input stage of said working register to said source of said binary sequence during an initializing mode, and for connecting said output stage of said working register to said input stage during an encryption mode.
Claim 23
Dependent Claim 15 words
The system of claim 11 wherein said binary sequence comprises a randomly generated binary sequence.
Claim 24
Dependent Claim 15 words
The system of claim 11 wherein said binary sequence comprises a pseudorandomly generated binary sequence.
Claim 25
Independent Claim 158 words
A method for high speed encryption of digital input data, comprising a sequence of the following steps: providing a cryptographic key binary data sequence; providing a working register comprising a linear feedback shift register having a plurality of stages including an output stage and a plurality of intermediate stages; initializing the working register with a binary sequence; selectively feeding back the output stage of said output stage into selected intermediate stages, as determined by said cryptographic key sequence; operating on the outputs of N set of T stages of said working register with N respective mathematically independent nonlinear output functions to provide N output keystreams, where N≧2 and where T≧1; logically operating on N bits of input data with N output keystreams to provide encrypted data; and clocking said working register stages at a selected clock rate, wherein said working register is advanced by one state, and N bits of input data are encrypted during each clock cycle.
Claim 26
Independent Claim 158 words
A method for high speed encryption of digital input data, comprising a sequence of the following steps: providing a cryptographic key binary data sequence; providing a working register comprising a linear feedback shift register having a plurality of stages including an output stage and a plurality of intermediate stages; initializing the working register with a binary sequence; selectively feeding back the output stage of said output stage into selected intermediate stages, as determined by said cryptographic key sequence; operating on the outputs of N set of T stages of said working register with N respective mathematically independent nonlinear output functions to provide N output keystreams, where N≧2 and where T≧1; logically operating on N bits of input data with N output keystreams to provide encrypted data; and clocking said working register stages at a selected clock rate, wherein said working register is advanced by one state, and N bits of input data are encrypted during each clock cycle.
Claim 27
Dependent Claim 17 words
The method of claim 23 wherein said N sets of T working register stages are selected randomly.
Claim 28
Dependent Claim 12 words
The method of claim 23 wherein said output functions have random properties.
Claim 29
Dependent Claim 16 words
The method of claim 25 wherein said output functions are determined by nonlinear de Bruijn sequences.
Claim 30
Dependent Claim 27 words
The method of claim 23 wherein said logical operating step includes the step of logically XORing input data bits with corresponding bits of said N output key-streams.
Claim 31
Dependent Claim 59 words
The method of claim 23 further comprising the steps of providing a key shift register comprising a plurality of cascaded register stages, filling the shift register stages with said key sequence, and using the states of the shift register stages to logically determine whether the state of the working register output stage is fed back into said intermediate stages.
Claim 32
Dependent Claim 11 words
The method of claim 23 wherein the number N is eight.
Claim 33
Dependent Claim 15 words
The method of claim 23 wherein said binary sequence comprises a randomly generated binary sequence.
Claim 34
Dependent Claim 15 words
The method of claim 23 wherein said binary sequence comprises a pseudorandomly generated binary sequence.
Claim 35
Dependent Claim 193 words
A high speed data decryption system for decrypting input ciphertext data to produce decrypted data, comprising: a working register, comprising a linear feedback shift register having a plurality of stages including an output stage and a plurality of intermediate stages; means for initializing the working register by loading it with a binary sequence; means for selectively feeding back the output state of said output stage of said working register into selected inputs of said intermediate stages, as determined by a cryptographic key; wherein said binary sequence and said cryptographic key corresponds to a respective binary sequence and a cryptographic key used to encrypt said ciphertext; N mathematically independent nonlinear output function means, where N≧2, each for performing a different nonlinear function on the output states of T selected stages of said working register, where T≧1; means for clocking said working register, wherein with each clock cycle, said working register is advanced one state, and the outputs of said selected working register stages feed said N output function means; and means for logically operating on respective input data bits and said outputs of said output function means to produce decrypted data from said ciphertext.
Claim 36
Dependent Claim 193 words
A high speed data decryption system for decrypting input ciphertext data to produce decrypted data, comprising: a working register, comprising a linear feedback shift register having a plurality of stages including an output stage and a plurality of intermediate stages; means for initializing the working register by loading it with a binary sequence; means for selectively feeding back the output state of said output stage of said working register into selected inputs of said intermediate stages, as determined by a cryptographic key; wherein said binary sequence and said cryptographic key corresponds to a respective binary sequence and a cryptographic key used to encrypt said ciphertext; N mathematically independent nonlinear output function means, where N≧2, each for performing a different nonlinear function on the output states of T selected stages of said working register, where T≧1; means for clocking said working register, wherein with each clock cycle, said working register is advanced one state, and the outputs of said selected working register stages feed said N output function means; and means for logically operating on respective input data bits and said outputs of said output function means to produce decrypted data from said ciphertext.
Claim 37
Dependent Claim 20 words
The system of claim 32 wherein said N sets of T stages of said working register are randomly selected stages.
Claim 38
Dependent Claim 40 words
The system of claim 32 wherein said N output function means comprise N means programmed with nonlinear functions with random properties to map said respective working register stage outputs into N corresponding nonlinear outputs of said N output function means.
Claim 39
Dependent Claim 24 words
The system of claim 34 wherein said N means programmed with nonlinear functions comprises read only memory means having said nonlinear functions stored therein.
Claim 40
Dependent Claim 14 words
The system of claim 34 wherein said nonlinear functions comprise nonlinear de Bruijn sequences.
Claim 41
Dependent Claim 17 words
The system of claim 32 wherein said logical operating comprises means for performing a logical XOR function.
Claim 42
Dependent Claim 19 words
The system of claim 37 wherein said means for performing a logical XOR function comprises a modulo-2 digital adder.
Claim 43
Dependent Claim 29 words
The system of claim 32 further comprising a key shift register comprising a plurality of cascaded register stages, and means for loading said key register with said cryptographic key.
Claim 44
Dependent Claim 15 words
The system of claim 32 wherein said binary sequence comprises a randomly generated binary sequence.
Claim 45
Dependent Claim 15 words
The system of claim 32 wherein said binary sequence comprises a pseudorandomly generated binary sequence.
Claim 46
Independent Claim 186 words
A method for high speed decryption of digital input ciphertext data, comprising a sequence of the following steps: providing a cryptographic key binary data sequence corresponding to a cryptographic key sequence used to generate said ciphertext data; providing a working register comprising a linear feedback shift register having a plurality of stages including an output stage and a plurality of intermediate stages; initializing the working register with a binary sequence, said binary sequence corresponding to a binary sequence used to generate said ciphertext data; selectively feeding back the output state of said output stage into selected intermediate stages, as determined by said cryptographic key sequence; operating on the outputs of N set of T stages of said working register with N respective mathematically independent nonlinear output functions to provide N output keystreams, where N≧2 and where T≧1; logically operating on said N bits of input data with N output keystreams to provide decrypted data; and clocking said working register stages at a selected clock rate, wherein said working register is advanced by one state, and N bits of input data are decrypted during each clock cycle.
Claim 47
Independent Claim 186 words
A method for high speed decryption of digital input ciphertext data, comprising a sequence of the following steps: providing a cryptographic key binary data sequence corresponding to a cryptographic key sequence used to generate said ciphertext data; providing a working register comprising a linear feedback shift register having a plurality of stages including an output stage and a plurality of intermediate stages; initializing the working register with a binary sequence, said binary sequence corresponding to a binary sequence used to generate said ciphertext data; selectively feeding back the output state of said output stage into selected intermediate stages, as determined by said cryptographic key sequence; operating on the outputs of N set of T stages of said working register with N respective mathematically independent nonlinear output functions to provide N output keystreams, where N≧2 and where T≧1; logically operating on said N bits of input data with N output keystreams to provide decrypted data; and clocking said working register stages at a selected clock rate, wherein said working register is advanced by one state, and N bits of input data are decrypted during each clock cycle.
Claim 48
Dependent Claim 17 words
The method of claim 42 wherein said N sets of T working register stages are selected randomly.
Claim 49
Dependent Claim 12 words
The method of claim 42 wherein said output functions have random properties.
Claim 50
Dependent Claim 16 words
The method of claim 42 wherein said output functions are determined by nonlinear de Bruijn sequences.
Claim 51
Dependent Claim 27 words
The method of claim 42 wherein said logical operating step includes the step of logically XORing input data bits with corresponding bits of said N output key-streams.
Claim 52
Dependent Claim 59 words
The method of claim 42 further comprising the steps of providing a key shift register comprising a plurality of cascaded register stages, filling the shift register stages with said key sequence, and using the states of the shift register stages to logically determine whether the state of the working register output state is fed back into said intermediate stages.
Claim 53
Dependent Claim 15 words
The method of claim 42 wherein said binary sequence comprises a randomly generated binary sequence.
Claim 54
Dependent Claim 15 words
The method of claim 42 wherein said binary sequence comprises a pseudorandomly generated binary sequence.

References Cited (Backward Citations)

US4202051A Cited
US4663500A Cited
US4965881A Cited
US5054067A Cited
US5048086A Cited
US5148485A Cited
US5060265A Cited
US5208853A Cited
US5195136A Cited
US5191610A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-11-14 1998-05-16 1998-11-15 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-11-14 2002-05-16 2002-11-15 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-11-14 2006-05-16 2006-11-15 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag