High speed encryption system and method
First Claim
1. 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.
2 Assignments
0 Petitions
Accused Products
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.
101 Citations
49 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. 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. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. 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. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. 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. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40, 41)
-
-
42. 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. - View Dependent Claims (43, 44, 45, 46, 47, 48, 49)
-
Specification