|Publication number||US6122376 A|
|Application number||US 09/386,685|
|Publication date||Sep 19, 2000|
|Filing date||Aug 31, 1999|
|Priority date||Aug 28, 1997|
|Publication number||09386685, 386685, US 6122376 A, US 6122376A, US-A-6122376, US6122376 A, US6122376A|
|Inventors||Sailesh Krishna Rao|
|Original Assignee||Level One Communications, Inc.|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (12), Non-Patent Citations (2), Referenced by (33), Classifications (10), Legal Events (3)|
|External Links: USPTO, USPTO Assignment, Espacenet|
This application is a Continuation of application Ser. No. 08/924,064, filed Aug. 28, 1997, which application are incorporated herein by reference, now U.S. Pat. No. 5,946,398.
1. Field of the Invention
This invention relates in general to a parallel cipher text scrambler, and more particularly to cipher text scrambler and method for scrambling multiple, parallel data streams so that the data streams are uncorrelated and have a fixed delay therebetween.
2. Description of Related Art
Communication information encryption is performed in digital data communications to provide security. Furthermore, communication applications require the sequence of data bits transmitted over a communication channel to be statistically random. In order to achieve the required degree of randomness, the data can be scrambled using a Maximal Length Pseudo Random Sequence. Maximal Length Pseudo Random Sequences are known to have the lowest possible auto-correlation, and are therefore the optimal choice for scrambling.
Two techniques have been generally used in the prior art to perform the scrambling operation: block scrambling and stream scrambling. Both techniques take advantage of the fact that when a first sequence of bits is exclusively OR'ed with a second sequence of bits and is then again exclusively OR'ed with the second sequence of bits identically aligned, the output is the first sequence just as it was before any exclusive OR operations were performed.
Block scrambling uses a framing pattern or other known means to provide the bits into some definable blocks of information. These bits are then exclusively OR'ed with a fixed pattern of bits synchronized to the boundaries of the block. Since a pattern of scrambling bits is fixed with respect to the block, the same pattern can be used at the receiver end to unscramble the bits. Any bit error occurring in the transmission channel between the transmitter and receiver will cause an error in that particular bit, but will not cause other bits to be in error, provided only that the receivers remain synchronized with the transmitters to the block boundaries. However, the longest framing pattern is not usually equal to the 2n-1 length of the pseudo random pattern desired, so that only part of the pattern is used repetitively, introducing undesirable correlations in the data.
Stream scrambling of the known prior art generally operates on a continuous stream of bits. In typical implementation, the bits at the transmitting end of a communication channel to be scrambled are passed through one input of a two input exclusive OR gate. The output of the gate is the output of the scrambler and also the input to an N-stage shift register. This shift register is tapped at the Nth stage and one or more other stages, and the outputs of these taps are exclusively OR'ed together. The result of this exclusive OR operation is applied to the other input of the exclusive OR gate that has the data to be scrambled, as the first input. The tap positions are chosen so that a Galois polynomial represented by the tap weight is irreducible, and if the input data were all zeros and the shift register started out at any state other than all zeros, a Maximal Length Pseudo Random Sequence would be produced.
As mentioned, pulse patterns can have an energy component which is particularly high at certain discrete frequencies. In order to avoid these pulse patterns, the digital signal to be transmitted must be scrambled at the transmitting side with a pseudo random sequence. The descrambling occurs at the receiving side with the pseudo random sequence which was employed at the transmitting side. The synchronization of the pseudo random generators employed at the transmitting receiving sides which is thereby necessary, can be avoided by employing freewheeling and, therefore, self synchronizing scrambler and descrambler arrangements. In order to achieve high bit rates, modulating signals having a high clock frequency are often scrambled in a plurality of parallel channels having a lower bit repetition frequency. However, the bit streams must be synchronized in order to reconstruct the original signal.
Thus it can be seen that there is a need for a cipher text scrambler which enables multiple data streams to be scrambled in parallel in such a way that the data streams are uncorrelated with respect to each other.
It can also be seen that there is a need for a cipher text scrambler that provides a large fixed delay relationship between the scrambler bits over the multiple streams.
It can also be seen that there is a need to provide a cipher text scrambler that can correctly identify the ordering of the multiple data streams with the respect to each other, correct for any polarity or wore swap misconnections and align the received multiple data streams despite differential delays between the data streams.
To overcome the limitations in the prior art described above, and to overcome other limitations that will become apparent upon reading and understanding the present specification, the present invention discloses a cipher text scrambler.
The present invention solves the above-described problems by providing a state synchronized cipher text scrambler which enables multiple data streams to be scrambled in parallel in such a way that the data streams are uncorrelated with respect to each other and which provides a large fixed delay relationship between the scrambler bits over multiple streams.
A system in accordance with the principles of the present invention includes a four parallel data scramblers for receiving input streams and converting them into cipher text outputs, wherein the first data scrambler includes a first shift register for generating a first keystream representing a generating polynomial, the second data scrambler generating a second keystream based on the first keystream using taps from the first shift register, the taps from the first shift register defining a second polynomial, the third data scrambler including a second shift register for generating a third keystream based on the second keystream, the second shift registers using the second polynomial and the fourth data scrambler including a third shift register for generating a fourth keystream based on the third keystream, the third shift registers using the second polynomial.
Other embodiments of a system in accordance with the principles of the invention may include alternative or optional additional aspects. One such aspect of the present invention is that the second, third and fourth keystreams track the first polynomial when the first input stream has a correct polarity.
Another aspect of the present invention is that the second, third and fourth keystreams do not track the first keystream when the first input stream has an incorrect polarity.
Another aspect of the present invention is that a fixed delay occurs between the cipher text outputs.
Another aspect of the present invention is that the fixed delay is dependent upon the second polynomial.
Another aspect of the present invention is that the first, second, third and fourth cipher text outputs are uncorrelated with respect to each other.
These and various other advantages and features of novelty which characterize the invention are pointed out with particularity in the claims annexed hereto and form a part hereof. However, for a better understanding of the invention, its advantages, and the objects obtained by its use, reference should be made to the drawings which form a further part hereof, and to accompanying descriptive matter, in which there are illustrated and described specific examples of an apparatus in accordance with the invention.
Referring now to the drawings in which like reference numbers represent corresponding parts throughout:
FIG. 1 illustrates a transmit and receive side scrambler;
FIG. 2 illustrates a scrambler using a 1+x18 +x23 polynomial; and
FIG. 3 illustrates a 4-pair state synchronized cipher text scrambler according to the present invention.
In the following description of the exemplary embodiment, reference is made to the accompanying drawings which form a part hereof, and in which is shown by way of illustration the specific embodiment in which the invention may be practiced. It is to be understood that other embodiments may be utilized as structural changes may be made without departing from the scope of the present invention.
The present invention provides a state synchronized cipher text scrambler. The state synchronized cipher text scrambler according to the present invention enables multiple data streams to be scrambled in parallel in such a way that the data streams are uncorrelated with respect to each other and there is a large fixed delay relationship between the scrambler bits over the multiple streams. This enables a receiver to correctly identify the ordering of the multiple data streams with respect to each other automatically, correct for any polarity or wire-swap misconnections and align the received multiple data streams despite differential delays between the data streams.
FIG. 1 illustrates a transmit 100 and receive 150 side scrambler. Transmit scrambler 100 is used to randomize input data streams 102 so that the line signals so constructed are free of signal energy concentrated at specific frequencies and provides signal transitions adequate in number to assure reliable recovery of the data.
Cipher Text scramblers are typically constructed using Maximal Length Pseudo Random Sequence generators employing irreducible polynomials in the binary Galois field. In a Galois field, addition, subtraction, multiplication and division by non-zero elements are all well-defined. There is an additive identity, 0, and a multiplicative identity, 1. Every non-zero number has a unique inverse and the commutative, associative, and distributive laws are true. Further, in Galois fields, all of the number theory works while numbers are kept at a finite size and division does not cause rounding errors.
In a cipher text scrambler 100, input bits 102 are passed through one input 104 of a two input exclusive OR gate 106. The output 108 of the gate 106 is the output of the scrambler 100. The second input 110 of the exclusive OR gate 106 is produced by an N-stage shift register 120. This shift register is tapped at the Nth stage 122 and one or more other stages 124, and the outputs of these taps are exclusively OR'ed together 126. The result 128 of this exclusive Or operation is applied to the input 130 of the N-stage shift register 120 and the second input 110 of the exclusive OR gate 106 that has the data to be scrambled, as the first input 104. The result 128 at the second input 110 acts as the keystream for creating the cipher text output 108. The tap positions 122, 124 are chosen so that a Galois polynomial represented by the tap weight is irreducible. The same arrangement can be used at the receiver end 150 to unscramble the scrambled receive bits 152.
The transmitter 100 and the receiver 150 achieve synchronization of the scrambler states during start-up initialization by, e.g., simply transmitting the zeroth bit 132 of the scrambler for a fixed period of time. Once such synchronization is achieved, the sender 100 and the receiver 150 can scramble and unscramble the data stream and thus achieve reliable data transmission.
As suggested above, cipher text scramblers are typically constructed using primitive polynomial in the binary Galois field. For example, 1+x18 +x23 is one such polynomial of degree 23, that is used in voiceband modems. Such polynomials are known to exist for every degree.
FIG. 2 illustrates a scrambler 200 using the 1+x18 +x23 polynomial. To construct the scrambler 200, the 22nd bit 210 of a shift register 212 is exclusively OR'ed 214 with the 17th bit 220 in order to derive a new input 230 for the register 212. If the register 212 is initialized with any non-zero bit sequence, then the register states pass through every possible combination of values (other than the all-zero state) before returning to the initialized value.
Any polynomial p(x), of lesser degree than the generating polynomial, g(x), of a scrambler 200 can be expressed in modulo arithmetic as:
p(x)=xN modulo g(x)
where N is a fixed number. To determine N, one can either use Zech logarithms or use the procedure as described herein below.
First, the scrambler register 212 is initialized with zeros except for the first register 232 which is initialized to 1. Now, the scrambler is advanced while the count of the advancement is monitored until the register states correspond to p(x). The number of advances is N.
Typically, for simple functions, e.g., x+x2, N will be very large for a reasonably high degree polynomial g(x). This fact can be used to construct the state synchronized cipher text scrambler for a suitable choice of p(x) and g(x).
FIG. 3 illustrates a 4-pair state synchronized cipher text scrambler 300 constructed using the polynomials g(x)=1+18 +x23 and p(x)=x+x2. However, those skilled in the art will recognize that the invention is not meant to be limited to these two polynomials. Other polynomials can be used in accordance with the teaching of the invention.
The scrambler for pair A 302 uses the polynomial g(x)=1+18 +x23 as illustrated in FIG. 2. Pair A scrambler 302 receives first input data 303. The 22nd bit 304 of a first shift register 306 is exclusively OR'ed 310 with the 17th bit 308 in order to provide a new input 312 to the register 306. Again, if the register 306 is initialized with any non-zero bit sequence, then the register 306 states pass through every possible combination of values (other than the all-zero state) before returning to the initialized value.
Scramblers for Pairs B 320, C 340, and D 360 use the polynomial p(x)=x+x2. Pair B Scrambler 320 receives input data 321 at a first input 322 of an exclusive OR gate 324. The first two registers 326, 328 of the Pair A Scrambler's 302 shift register 306 act as the register for the Pair B Scrambler. The second bit 328 of the shift register 306 for Pair A Scrambler 302 is exclusively OR'ed 330 with the first bit 326 to produce a second input 332 to the exclusive OR gate 334. The output of the second keystream exclusive OR gate 330 is also the new zeroth bit 336 of the register 342 for the Pair C Scrambler 340.
Pair C Scrambler 340 receives input data 343 at a first input 344 of an input exclusive OR gate 346. The Pair C register 342 provides the second bit 348 of the shift register 342 which is exclusively OR'ed 350 with the first bit 352. The output 354 of the third keystream exclusive OR gate 350 provides a second input 354 to the Pair C scrambler's 340 input exclusive OR gate 346. The output of the register exclusive OR gate 350 is also the new input to the register 362 for the Pair D Scrambler 360.
Pair D Scrambler 360 receives input data 364 at a first input 336 of an input exclusive OR gate 368. The Pair D register 362 provides the second bit 370 of the shift register 362 which is exclusively OR'ed 372 with the first bit 374. The output of the register exclusive OR gate 376 provides a second input 378 to the Pair D scrambler's 360 input exclusive OR gate 368.
The 4-pair state synchronized cipher text scrambler 300 sequence obeys or tracks the generating polynomial of the first register 306, g(x), on every pair. If the scrambler sequence is inverted, i.e., if the receiver has an incorrect polarity on the wires, the sequence will not obey the generating polynomial, g(x), at all. This allows the receiver to correct for such errors automatically.
The 4-pair state synchronized cipher text scrambler 300 also provides a fixed delay between the pairs. The fixed delay depends upon the polynomial of the second 390, third 342 and fourth 362 registers, p(x). The scrambler output sequence 380 on pair B 320 is delayed with respect the output sequence 382 of pair A 302 by a large fixed amount. The output sequence 384 on pair C 340 is delayed with respect to the output sequence 380 of pair B 320 by the same large fixed amount. The output sequence 386 of pair D 360 is delayed with respect to the output sequence of pair C 360 by this amount as well.
Further, the scrambler sequence on any pair is essentially uncorrelated with respect to the sequence on any other pair. Once polarity is checked and corrected, the receiver can hypothesize the ordering and differential delay, if any, check that the bit-wise relationship between the sequences obtained on each pair holds, and correct for incorrect wire-pair connections.
In summary, the state synchronized cipher-text scrambler allows multiple data streams to be scrambled and synchronized in such a manner that the receiver at the other end can correct for incorrectly swapped connections, align the data streams in the presence of differential delays between the data streams and perform automatic polarity correction on each of the received streams. The state synchronized cipher-text scrambler does so without introducing error multiplication, unlike conventional self-synchronizing scramblers.
The foregoing description of the exemplary embodiment of the invention has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the invention be limited not with this detailed description, but rather by the claims appended hereto.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US3054857 *||Dec 29, 1959||Sep 18, 1962||Paramount Pictures Corp||Secrecy system|
|US3059054 *||Apr 28, 1958||Oct 16, 1962||Paramount Pictures Corp||Audio nonsense generator|
|US3784743 *||Aug 23, 1972||Jan 8, 1974||Bell Telephone Labor Inc||Parallel data scrambler|
|US3967066 *||Sep 24, 1941||Jun 29, 1976||Bell Telephone Labor Inc||ecret telephony|
|US4304962 *||Aug 25, 1965||Dec 8, 1981||Bell Telephone Laboratories, Incorporated||Data scrambler|
|US4663501 *||Jul 12, 1985||May 5, 1987||Siemens Aktiengesellschaft||Self-synchronizing descrambler|
|US4744104 *||May 31, 1985||May 10, 1988||Siemens Aktiengesellschaft||Self-synchronizing scrambler|
|US5163092 *||Nov 28, 1990||Nov 10, 1992||Siemens Aktiengesellschaft||Parallel scrambler used in sonet data transmission|
|US5185799 *||Feb 13, 1992||Feb 9, 1993||Siemens Aktiengesellschaft||Parallel scrambler used in SONET data transmission|
|US5377265 *||Jan 27, 1993||Dec 27, 1994||Alcatel N.V.||Parallel additive scrambler and descrambler|
|US5448640 *||Mar 16, 1994||Sep 5, 1995||Electronics And Telecommunications Research Institute||Parallel distributed sample descrambling circuit for cell-based asynchronous transfer mode physical layer|
|US5946398 *||Aug 28, 1997||Aug 31, 1999||Level One Communications, Inc.||State synchronized cipher text scrambler|
|1||Taso, S. H., "Generation of delayed replicas of maximal length linear binary sequences," Proc. IEE, vol. 111, No. 11, pp. 1803-1806 (Nov. 1964).|
|2||*||Taso, S. H., Generation of delayed replicas of maximal length linear binary sequences, Proc. IEE , vol. 111, No. 11, pp. 1803 1806 (Nov. 1964).|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US7002490||Sep 8, 2004||Feb 21, 2006||Ternarylogic Llc||Ternary and higher multi-value digital scramblers/descramblers|
|US7218144||Nov 30, 2004||May 15, 2007||Ternarylogic Llc||Single and composite binary and multi-valued logic functions from gates and inverters|
|US7227949||Jan 30, 2003||Jun 5, 2007||Texas Instruments Incorporated||Separate self-synchronizing packet-based scrambler having replay variation|
|US7355444||Mar 15, 2007||Apr 8, 2008||Ternarylogic Llc||Single and composite binary and multi-valued logic functions from gates and inverters|
|US7487194 *||Apr 4, 2007||Feb 3, 2009||Peter Lablans||Binary and n-valued LFSR and LFCSR based scramblers, descramblers, sequence generators and detectors in Galois configuration|
|US7505589||Aug 6, 2004||Mar 17, 2009||Temarylogic, Llc||Ternary and higher multi-value digital scramblers/descramblers|
|US7548092||Dec 26, 2007||Jun 16, 2009||Ternarylogic Llc||Implementing logic functions with non-magnitude based physical phenomena|
|US7562106||Dec 20, 2004||Jul 14, 2009||Ternarylogic Llc||Multi-value digital calculating circuits, including multipliers|
|US7580472||Feb 25, 2005||Aug 25, 2009||Ternarylogic Llc||Generation and detection of non-binary digital sequences|
|US7643632||Sep 8, 2004||Jan 5, 2010||Ternarylogic Llc||Ternary and multi-value digital signal scramblers, descramblers and sequence generators|
|US7696785||Dec 19, 2008||Apr 13, 2010||Ternarylogic Llc||Implementing logic functions with non-magnitude based physical phenomena|
|US7864079||Aug 26, 2010||Jan 4, 2011||Ternarylogic Llc||Ternary and higher multi-value digital scramblers/descramblers|
|US8345873||Nov 18, 2008||Jan 1, 2013||Ternarylogic Llc||Methods and systems for N-state signal processing with binary devices|
|US8374289||Jul 14, 2009||Feb 12, 2013||Ternarylogic Llc||Generation and detection of non-binary digital sequences|
|US8577026||Dec 29, 2010||Nov 5, 2013||Ternarylogic Llc||Methods and apparatus in alternate finite field based coders and decoders|
|US8589466||Feb 15, 2011||Nov 19, 2013||Ternarylogic Llc||Ternary and multi-value digital signal scramblers, decramblers and sequence generators|
|US20050053240 *||Aug 6, 2004||Mar 10, 2005||Peter Lablans||Ternary and higher multi-value digital scramblers/descramblers|
|US20050084111 *||Sep 8, 2004||Apr 21, 2005||Peter Lablans||Ternary and higher multi-value digital scramblers/descramblers|
|US20050184888 *||Feb 25, 2005||Aug 25, 2005||Peter Lablans||Generation and detection of non-binary digital sequences|
|US20050185796 *||Sep 8, 2004||Aug 25, 2005||Peter Lablans||Ternary and multi-value digital signal scramblers, descramblers and sequence generators|
|US20050194993 *||Nov 30, 2004||Sep 8, 2005||Peter Lablans||Single and composite binary and multi-valued logic functions from gates and inverters|
|US20060021003 *||Jun 23, 2005||Jan 26, 2006||Janus Software, Inc||Biometric authentication system|
|US20060031278 *||Dec 20, 2004||Feb 9, 2006||Peter Lablans||Multi-value digital calculating circuits, including multipliers|
|US20070110229 *||Jan 2, 2007||May 17, 2007||Ternarylogic, Llc||Ternary and Multi-Value Digital Signal Scramblers, Descramblers and Sequence of Generators|
|US20070152710 *||Mar 15, 2007||Jul 5, 2007||Peter Lablans||Single and composite binary and multi-valued logic functions from gates and inverters|
|US20070239812 *||Apr 4, 2007||Oct 11, 2007||Peter Lablans||Binary And N-Valued LFSR And LFCSR Based Scramblers, Descramblers, Sequence Generators and Detectors In Galois Configuration|
|US20090060202 *||Nov 4, 2008||Mar 5, 2009||Peter Lablans||Ternary and Higher Multi-Value Digital Scramblers/Descramblers|
|US20090092250 *||Nov 18, 2008||Apr 9, 2009||Peter Lablans||Methods and Systems for N-State Signal Processing with Binary Devices|
|US20090128190 *||Dec 19, 2008||May 21, 2009||Peter Lablans||Implementing Logic Functions with Non-Magnitude Based Physical Phenomena|
|US20100164548 *||Feb 23, 2010||Jul 1, 2010||Ternarylogic Llc||Implementing Logic Functions With Non-Magnitude Based Physical Phenomena|
|US20100322414 *||Aug 26, 2010||Dec 23, 2010||Ternarylogic Llc||Ternary and higher multi-value digital scramblers/descramblers|
|US20110064214 *||Nov 23, 2010||Mar 17, 2011||Ternarylogic Llc||Methods and Apparatus in Alternate Finite Field Based Coders and Decoders|
|US20110170697 *||Feb 15, 2011||Jul 14, 2011||Ternarylogic Llc||Ternary and Multi-Value Digital Signal Scramblers, Decramblers and Sequence Generators|
|U.S. Classification||380/33, 380/287, 380/274, 380/28, 380/42|
|Cooperative Classification||H04L2209/125, H04L9/12, H04L25/03872|
|Mar 19, 2004||FPAY||Fee payment|
Year of fee payment: 4
|Mar 13, 2008||FPAY||Fee payment|
Year of fee payment: 8
|Mar 14, 2012||FPAY||Fee payment|
Year of fee payment: 12