Patent US5230761A successfully refreshed from Google Patents.
Patent US2027097A successfully refreshed from Google Patents.
← Back to Patent Explorer
US4115657A Expired / Lapsed US ⏱️ 0.0 years remaining

Random digital code generator

Assignee: Datotek Inc
•
Filing: 1976-11-11
•
Granted: 1978-09-19
•
Expires: 1996-11-11
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The specification discloses a random digital code generator operable over a series of key cycles for generating a randomized digital bit during each key cycle. The generator includes a plurality of first registers each having a predetermined cycle period which does not have a common factor with the cycle period of any other of the first registers. Circuitry is provided to step each of the first registers a predetermined number of steps per key cycle. A plurality of second registers are provided, along with circuitry for generating different numbers of clocking signals per key cycle for each of the second registers. Circuitry generates control pulses in response to the clocking signals and further in response to digital bits derived from selected taps on the first registers. The control pulses randomly control the number of times each of the second registers is stepped during each key cycle. The number of steps taken by each of the second registers does not have any common factor with the number of steps taken by any of the other second registers. Circuitry is responsive to the outputs of the second registers in order to generate a randomized digital bit during each key cycle. This circuitry includes two levels of multiplexing and further includes bit flipping and spoof circuitry to enhance the security and randomness of the generator.

Inventors

  • 👤 Barrie O. Morgan

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-23 15:44
CPC Classifications
H; H04; H04L; H04L9/00; H04L9/06; H04L9/065; H04L9/0656; H04L9/0662

Claims Analysis

Total Claims: 36
Claim 1
Independent Claim 168 words
A random code generator operable over a series of key cycles for generating a randomized digital bit during each key cycle comprising: a plurality of first sequential stepping circuits each having a predetermined cycle period length which does not have a common factor with the cycle period length of any other of said stepping circuits, means for stepping each of said first sequential stepping circuits a predetermined number of steps per key cycle, a plurality of second sequential stepping circuits, means for generating different numbers of clocking signals per key cycle for each of said second sequential stepping circuits, means for generating control pulses in response to said clocking signals and to digital bits derived from selected taps on said first sequential stepping circuits, said control pulses randomly controlling the number of times each of said second sequential stepping circuits is stepped during each key cycle, and circuitry responsive to the outputs of said second sequential stepping circuits for generating a randomized digital bit during each key cycle.
Claim 2
Dependent Claim 168 words
A random code generator operable over a series of key cycles for generating a randomized digital bit during each key cycle comprising: a plurality of first sequential stepping circuits each having a predetermined cycle period length which does not have a common factor with the cycle period length of any other of said stepping circuits, means for stepping each of said first sequential stepping circuits a predetermined number of steps per key cycle, a plurality of second sequential stepping circuits, means for generating different numbers of clocking signals per key cycle for each of said second sequential stepping circuits, means for generating control pulses in response to said clocking signals and to digital bits derived from selected taps on said first sequential stepping circuits, said control pulses randomly controlling the number of times each of said second sequential stepping circuits is stepped during each key cycle, and circuitry responsive to the outputs of said second sequential stepping circuits for generating a randomized digital bit during each key cycle.
Claim 3
Dependent Claim 31 words
The random code generator of claim 1 wherein the number of zero and one digital bits generated by each of said first sequential stepping circuits are known and are substantially equal.
Claim 4
Dependent Claim 59 words
The random code generator of claim 2 and further comprising: means for applying first and second different numbers of clocking signals per key cycle to each of said second sequential stepping circuits, means for AND combining said clocking signals with the digital ones and zeroes generated by one of said first sequential stepping circuits to generate said control signals.
Claim 5
Dependent Claim 119 words
The random code generator of claim 3 wherein each of said control signals is derived by: means for generating a first number in response to said first number of clocking signals and the number of digital one bits generated during one cycle operation of one of said first sequential stepping circuits, means for generating a second number in response to said second number of clocking signals and the number of digital zero bits generated during one cycle operation of one of said first sequential stepping circuits, and means for adding said first and second numbers to derive the number of steps said second sequential stepping circuits take per key cycle per cycle operation of said first sequential stepping circuits.
Claim 6
Dependent Claim 42 words
The random code generator of claim 4 wherein said number of steps taken by each of said second sequential stepping circuits does not have any common factors with the number of steps taken by any other of said second sequential stepping circuits.
Claim 7
Dependent Claim 40 words
The random code generator of claim 1 wherein said first sequential stepping circuits are stepped each key cycle for a number which is not a common factor to the cycle period length of any of said first sequential stepping circuits.
Claim 8
Dependent Claim 31 words
The random code generator of claim 1 and further comprising: means for loading said first and second sequential stepping circuits with digital sequences prior to generation of said randomized digital bits.
Claim 9
Dependent Claim 38 words
The random code generator of claim 1 and further comprising: multiplexing means operable in response to contents of said first and second stepping circuits for selecting outputs of said second stepping circuits to provide said randomized digital bits.
Claim 10
Dependent Claim 38 words
The random code generator of claim 8 and further comprising: means for generating cipher text in response to said randomized digital bits, and means for controlling said multiplexing means in response to a portion of said cipher text.
Claim 11
Dependent Claim 98 words
A random code generator for generating a randomized digital key stream comprising: a plurality of first registers of different lengths and different cycle periods, the cycle period of each of said first registers not including common factors with the cycle periods of any of the remaining ones of said first registers, a plurality of second registers, means for individually clocking said second registers in dependence upon the digital data contained within different ones of said first registers, and means for receiving the output from said second registers and for generating a randomized digital key stream in response thereto.
Claim 12
Dependent Claim 98 words
A random code generator for generating a randomized digital key stream comprising: a plurality of first registers of different lengths and different cycle periods, the cycle period of each of said first registers not including common factors with the cycle periods of any of the remaining ones of said first registers, a plurality of second registers, means for individually clocking said second registers in dependence upon the digital data contained within different ones of said first registers, and means for receiving the output from said second registers and for generating a randomized digital key stream in response thereto.
Claim 13
Dependent Claim 27 words
The random code generator of claim 10 wherein each of said second registers is clocked in dependence upon a different stage of one of said first registers.
Claim 14
Dependent Claim 19 words
The random code generator of claim 10 wherein each of said second registers has the same number of stages.
Claim 15
Dependent Claim 31 words
The random code generator of claim 10 and further comprising: means for loading predetermined digital sequences into said first and second registers prior to generation of the randomized digital key stream.
Claim 16
Dependent Claim 35 words
The random code generator of claim 10 wherein the number of times said second registers are clocked during a key cycle does not have a common factor to the cycle period of said first registers.
Claim 17
Dependent Claim 34 words
The random code generator of claim 10 wherein each of said first registers are clocked at the same rate, the rate not having a common factor to the cycle period of said first registers.
Claim 18
Dependent Claim 38 words
The random code generator of claim 10 wherein the number of steps taken by each of said second registers while generating one key bit does not have a common factor with the cycle period of said first registers.
Claim 19
Dependent Claim 64 words
The code generator of claim 10 and further comprising: a plurality of first multiplexing means each having plural inputs connected to stages of said second registers and having address inputs connected to stages of said first and second registers, and each of said multiplexers having an output operable to be connected to any one of said multiplexer inputs in dependency upon said address inputs.
Claim 20
Dependent Claim 41 words
The code generator of claim 17 and further comprising: second multiplexing means connected to receive the output of said first multiplexing means, said second multiplexing means having address inputs operable in response to outputs of said stages of said first registers.
Claim 21
Dependent Claim 38 words
The code generator of claim 18 and further comprising: bit flipping means for inverting the output of said first multiplexing means in dependency upon a predetermined pattern of output bits from predetermined ones of said first multiplexing means.
Claim 22
Dependent Claim 43 words
The code generator of claim 19 and further comprising: means for controlling one of said address inputs of said second multiplexing means in dependence upon cipher text generated as a result of the randomized key stream previously generated by said random code generator.
Claim 23
Dependent Claim 26 words
The random code generator of claim 10 and further comprising: storage means containing non-linear digital sequences for being loaded into the input of said second registers.
Claim 24
Dependent Claim 26 words
The random code generator of claim 21 wherein the digital sequences stored within said storage means is selected in response to one of said first registers.
Claim 25
Dependent Claim 228 words
A random code generator operable over a series of key cycles to generate a randomized digital bit during each key cycle comprising: a plurality of autonomous first registers each having a predetermined cycle period which does not have a common factor with the cycle period of any other of said first registers, the number of zero and one digital bits generated by each of said first registers during a cycle period being known and substantially equal, means for clocking each of said first registers for a predetermined number during each key cycle, said predetermined number not having a common factor to the cycle period of any of said first registers, a plurality of autonomous second registers, means for generating two sets of clock pulses for each of said second registers during each key cycle, means for selecting one of said sets of clock pulses in dependence upon a digital bit contained in one of said first registers and for applying the selected set of clock pulses to clock one of said second registers a number of steps during a key cycle, and a multiplexer responsive to the outputs of said second registers and operable in response to outputs from said first and second registers for selecting ones of said outputs of said second registers to form a key stream having a randomized digital bit for each key cycle.
Claim 26
Dependent Claim 228 words
A random code generator operable over a series of key cycles to generate a randomized digital bit during each key cycle comprising: a plurality of autonomous first registers each having a predetermined cycle period which does not have a common factor with the cycle period of any other of said first registers, the number of zero and one digital bits generated by each of said first registers during a cycle period being known and substantially equal, means for clocking each of said first registers for a predetermined number during each key cycle, said predetermined number not having a common factor to the cycle period of any of said first registers, a plurality of autonomous second registers, means for generating two sets of clock pulses for each of said second registers during each key cycle, means for selecting one of said sets of clock pulses in dependence upon a digital bit contained in one of said first registers and for applying the selected set of clock pulses to clock one of said second registers a number of steps during a key cycle, and a multiplexer responsive to the outputs of said second registers and operable in response to outputs from said first and second registers for selecting ones of said outputs of said second registers to form a key stream having a randomized digital bit for each key cycle.
Claim 27
Dependent Claim 30 words
The random code generator of claim 23 and further comprising: means for loading predetermined digital sequences into said first and second registers prior to generation of the randomized key stream.
Claim 28
Dependent Claim 35 words
The random code generator of claim 24 wherein the number of times said second registers are clocked during a key cycle does not have a common factor to the cycle period of said first registers.
Claim 29
Dependent Claim 64 words
The code generator of claim 23 and further comprising: a plurality of first multiplexing means each having plural inputs connected to stages of said second registers and having address inputs connected to stages of said first and second registers, and each of said multiplexers having an output operable to be connected to any one of said multiplexing inputs in dependence upon said address inputs.
Claim 30
Dependent Claim 41 words
The code generator of claim 23 and further comprising: second multiplexing means connected to receive the output of said first multiplexing means, said second multiplexing means having address inputs operable in response to outputs of said stages of said first registers.
Claim 31
Dependent Claim 38 words
The code generator of claim 23 and further comprising: bit flipping means for inverting the output of said first multiplexing means in dependence upon a predetermined pattern of output bits from predetermined ones of said first multiplexing means.
Claim 32
Dependent Claim 42 words
The code generator of claim 23 and further comprising: means for controlling one of said addresses of said second multiplexer means in dependence upon cipher text generated as a result of the randomized key stream previously generated by said random code generator.
Claim 33
Dependent Claim 26 words
The random code generator of claim 23 and further comprising: storage means containing non-linear digital sequences for being loaded into the input of said second registers.
Claim 34
Dependent Claim 25 words
The random code generator of claim 30 wherein the sequences stored within said storage means are selected in response to one of said first registers.
Claim 35
Dependent Claim 97 words
In a digital random code generator wherein a randomized digital key stream enciphers plain text to create cipher text, the spoofing combination comprising: a key generator for generating a randomized digital key stream, cipher means responsive to said key stream for enciphering plain digital text into cipher digital text, means coupled between said key generator and the output of said cipher means for partially controlling the generation of said randomized digital key stream in response to a portion of said cipher digital text previously generated in order to inhibit unauthorized deduction of said randomized digital key stream.
Claim 36
Dependent Claim 97 words
In a digital random code generator wherein a randomized digital key stream enciphers plain text to create cipher text, the spoofing combination comprising: a key generator for generating a randomized digital key stream, cipher means responsive to said key stream for enciphering plain digital text into cipher digital text, means coupled between said key generator and the output of said cipher means for partially controlling the generation of said randomized digital key stream in response to a portion of said cipher digital text previously generated in order to inhibit unauthorized deduction of said randomized digital key stream.

References Cited (Backward Citations)

US3522374A Cited
US3700806A Cited
US3781472A Cited
US3838259A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1981-09-18 1982-03-20 1982-09-19 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1985-09-18 1986-03-20 1986-09-19 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 1989-09-18 1990-03-20 1990-09-19 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag