US5148485A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Encrypton system for digital cellular communications
Assignee: Ericsson Inc
•
Filing: 1991-05-31
•
Granted: 1992-09-15
•
Expires: 2011-05-31
Abstract
Abstract A system for generating a pseudo-random bit sequence which may be used in enciphering digital data prior to transmission or storage of the data. The bit sequence is generated by expanding a plurality of secret key bits in a manner suitable for implementation with a conventional microprocessor arithmetic logic unit (ALU). The system of the present invention may be used, for example, to secure voice or data communications between a base station and a mobile station in a digital cellular communications system.
Inventors
- 👤 Paul Dent
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-27 16:40
CPC Classifications
H; H04; H04L; H04L9/00; H04L9/06; H04L9/065; H04L9/0656; H04L9/0662; H04L9/12; H04W; H04W12/00; H04W12/03; H04W12/033; H04L2209/00; H04L2209/12; H04L2209/122; H04L2209/80; H04L2209/805; H04L63/00; H04L63/04; H04L63/0428; H04L63/0457
Claims Analysis
Total Claims: 76
Claim 1
Independent Claim
217 words
A method of generating a pseudo-random bit sequence for use in enciphering digital data in which said bit sequence is a function of a plurality of selected key bits, said method comprising: generating a plurality of multi-bit values each of which is a function of at least some of said selected key bits; storing each of said plurality of multi-bit values in a discrete location in a memory; storing each of a plurality of multi-bit values in a look-up table; generating a sequence of values in a register having a present value at a particular moment by changing the present value contained in said register in response to each cycle of operation; cyclically calculating a sequence of multi-bit values in accordance with a first preselected algorithm each of which values is a function of at least one of the multi-bit values stored in either said look-up table or in said memory and at least part of the value contained in said register; cyclically resetting the present value contained in said register with a value obtained as a result of each calculation; cyclically calculating a multi-bit keyword which is a function of a value obtained as a result of each multi-bit value calculation; and sequentially combining at least some of said multi-bit keywords into said pseudo-random bit sequence.
Claim 2
Independent Claim
217 words
A method of generating a pseudo-random bit sequence for use in enciphering digital data in which said bit sequence is a function of a plurality of selected key bits, said method comprising: generating a plurality of multi-bit values each of which is a function of at least some of said selected key bits; storing each of said plurality of multi-bit values in a discrete location in a memory; storing each of a plurality of multi-bit values in a look-up table; generating a sequence of values in a register having a present value at a particular moment by changing the present value contained in said register in response to each cycle of operation; cyclically calculating a sequence of multi-bit values in accordance with a first preselected algorithm each of which values is a function of at least one of the multi-bit values stored in either said look-up table or in said memory and at least part of the value contained in said register; cyclically resetting the present value contained in said register with a value obtained as a result of each calculation; cyclically calculating a multi-bit keyword which is a function of a value obtained as a result of each multi-bit value calculation; and sequentially combining at least some of said multi-bit keywords into said pseudo-random bit sequence.
Claim 3
Dependent Claim
45 words
A method of generating a pseudo-random bit sequence for use in enciphering digital data as set forth in claim 1, wherein said step of generating a plurality of multi-bit values includes generating values which are each a function of all of said selected key bits.
Claim 4
Dependent Claim
35 words
A method of generating a pseudo-random bit sequence for use in enciphering digital data as set forth in claim 1, which includes the additional step of periodically initializing the present value contained in said register.
Claim 5
Dependent Claim
77 words
A method of generating a pseudo-random bit sequence for use in enciphering digital data as set forth in claim 1, wherein said step of generating a plurality of multi-bit values includes generating values which are each a function of both at least some of said selected key bits and of the value contained in a counter which is periodically incremented in value at a rate which is slow in comparison to the cyclic repetition of said calculations.
Claim 6
Dependent Claim
58 words
A method of generating a pseudo-random bit sequence for use in enciphering digital data as set forth in claim 1, wherein said step of generating a sequence of values in a register includes storing a plurality of discrete bytes of data in said register and incrementing only one of said bytes in response to each cycle of operation.
Claim 7
Dependent Claim
58 words
A method of generating a pseudo-random bit sequence for use in enciphering digital data as set forth in claim 5, wherein said step of generating a sequence of values in a register includes storing at least three discrete bytes of data in said register and incrementing only one of said bytes in response to each cycle of operation.
Claim 8
Dependent Claim
78 words
A method of generating a pseudo-random bit sequence for use in enciphering digital data as set forth in claim 5, wherein said step of calculating a sequence of multi-bit keywords includes making said calculations in accordance with an algorithm in which each calculated value is a function of at least one multi-bit value stored, respectively, at at least one discrete location in said memory and at least one of said discrete bytes of data contained in said register.
Claim 9
Dependent Claim
157 words
A method of generating a pseudo-random bit sequence for use in enciphering digital data as set forth in claim 7, wherein said step of calculating a sequence of multi-bit values includes making said calculations in accordance with at least three separate algorithms in which each value calculated with said first algorithm is a function of at least one multi-bit value stored, respectively, at one discrete location in either said memory or in said look-up table and a first one of said discrete bytes of data contained in said register; each value calculated with said second algorithm is a function of a multi-bit value stored at a discrete location in said look-up table and a second one of said discrete bytes of data contained in said register; and each value calculated with said third algorithm is a function of the third one of said discrete bytes of data contained in said register and an incremental value added thereto.
Claim 10
Dependent Claim
200 words
A method of generating a pseudo-random bit sequence for use in enciphering digital data as set forth in claim 8, wherein said first algorithm is A'=A#[K(B)+K(C)] where A is the value of the first one of said discrete bytes of data; K(B) and K(C) signify that B and C, respectively, are used as the addresses in said memory from which to fetch a value K; + represents an addition modulo the word length; and # represents either addition modulo the word length or bitwise Exclusive OR with the whole wordlength; said second algorithm is B'=B#R(A) where B is the value of the second one of said discrete bytes of data; R(A) signifies that A is the address in a fixed look-up table from which to fetch a value R or that the bits of A are to be applied as the inputs of a combinatorial logic block which will give the output R; and # represents either addition modulo the word length or bitwise Exclusive OR with the whole wordlength; and said third algorithm is C'=C+1 where C is the value of the third one of said discrete bytes of data; and + represents an addition modulo the word length.
Claim 11
Dependent Claim
61 words
A method of generating a pseudo-random bit sequence for use in enciphering digital data as set forth in claim 9, wherein the look-up table or combinatorial logic which yields the value for the R having a number of output bits which is at least as great as the wordlength of A and less than or equal to the wordlength of B.
Claim 12
Dependent Claim
39 words
A method of generating a pseudo-random bit sequence for use in enciphering digital data as set forth in claim 10, wherein every possible state of input bits to the look-up table maps to a unique output value for R.
Claim 13
Dependent Claim
103 words
A method of generating a pseudo-random bit sequence for use in enciphering digital data as set forth in claim 5, wherein said step of generating a sequence of values in a register includes storing at least three discrete bytes of data in said register, said step of calculating a sequence of multi-bit values includes calculating at least three discrete values, and said step of cyclically resetting the present value contained in said register includes replacing each of said at least three discrete bytes of data in said register with respective ones of said at least three discrete calculated values following each calculation step.
Claim 14
Dependent Claim
48 words
A method of generating a pseudo-random bit sequence for use in enciphering digital data as set forth in claim 12, wherein said step of cyclically calculating a multi-bit keyword includes selecting at least one of said at least three discrete calculated values as a part of said keyword.
Claim 15
Dependent Claim
67 words
A method of generating a pseudo-random bit sequence for use in enciphering digital data as set forth in claim 12, wherein said step of cyclically calculating a multi-bit keyword includes selecting at least one of said at least three discrete calculated values and calculating said keyword in accordance with a second algorithm in which said keyword is a function of said at least one selected calculated value.
Claim 16
Dependent Claim
87 words
A method of generating a pseudo-random bit sequence for use in enciphering digital data as set forth in claim 14, which includes the additional step of initializing the value in said register at the beginning of each keyblock of sequential keywords combined into said pseudo-random bit sequence and wherein said second algorithm defines said keyword as a function of at least one of the values calculated in accordance with said first algorithm as well as the sequential position of the particular keyword being calculated within the keyblock.
Claim 17
Dependent Claim
160 words
A method of generating a pseudo-random bit sequence for use in enciphering digital data as set forth in claim 14, which includes the additional step of initializing the value in said register at the beginning of each keyblock of sequential keywords and wherein said step of cyclically calculating a multi-bit keyword includes selecting only one of said three discrete calculated values and said second algorithm is W(N)=B+'K[A+N] where W(N) is the keyword to be calculated; N is the sequential position of the particular keyword being calculated within the keyblock; A is the value of the first one of said discrete bytes of data, B is the second one of said discrete bytes of data; + means Exclusive OR, K[A+N] signifies that the Exclusive Or combination of the A and N is to be used as an address in the memory from which to fetch the value of K; and +' can either be Exclusive Or or addition modulo the wordlength.
Claim 18
Dependent Claim
203 words
A method of generating a pseudo-random bit sequence for use in enciphering digital data as set forth in claim 14, which includes the additional step of initializing the value in said register at the beginning of each keyblock of sequential keywords and wherein said step of cyclically calculating a multi-bit keyword includes selecting only one of said three discrete calculated values and said second algorithm is W(N)=B+K[R(A+N)] where W(N) is the keyword to be calculated; N is the sequential position of the particular keyword being calculated within the keyblock; A is the value of the first one of said discrete bytes of data; B is the second one of said discrete bytes of data, R(A+N) signifies that A+N is the address in a fixed look-up table from which to fetch a value R or that the bits of A+N are to be applied as the inputs of a combinatorial logic block which will give the output R; + means Exclusive OR; and K[R(A+N)] signifies that the value R found in the look-up table at the address of the Exclusive Or combination of A and N is to be used as an address in the memory from which to fetch the value of K.
Claim 19
Dependent Claim
194 words
A method of generating a pseudo-random bit sequence for use in enciphering digital data as set forth in claim 14, which includes the additional step of initializing the value in said register at the beginning of each keyblock of sequential keywords and wherein said step of cyclically calculating a multi-bit keyword includes selecting only one of said three discrete calculated values and said second algorithm is W(N)=R[A+N]+K[B+N] where W(N) is the keyword to be calculated; N is the sequential position of the particular keyword being calculated within the keyblock; A is the value of the first one of said discrete bytes of data; B is the second one of said discrete bytes of data; R[A+N]) signifies that A+N is the address in a fixed look-up table from which to fetch a value R or that the bits of A+N are to be applied as the inputs of a combinatorial logic block which will give the output R; + means Exclusive OR; and K[B+N] signifies that the address of the Exclusive Or combination of B and N is to be used as an address in the memory from which to fetch the value of K.
Claim 20
Independent Claim
237 words
A system for generating a pseudo-random bit sequence for use in enciphering digital data in which said bit sequence is a function of a plurality of selected key bits, said system comprising: means for generating a plurality of multi-bit values each of which are a function of at least some of said selected key bits; means for storing each of said plurality of multi-bit values in a discrete location in a memory; means for storing each of a plurality of multi-bit values at a discrete location in a look-up table; means for generating a sequence of values in a register having a present value at a particular moment by changing the present value contained in said register in response to each cycle of operation; means for cyclically calculating a sequence of multi-bit values in accordance with a first preselected algorithm each of which values is a function of at least one of the multi-bit values stored in either said look-up table or in said memory and at least part of the value contained in said register; means for cyclically resetting the present value contained in said register with a value obtained as a result of each calculation; means for cyclically calculating a multi-bit keyword which is a function of a value obtained as a result of each multi-bit value calculation; and means for sequentially combining at least some of said multi-bit keywords into said pseudo-random bit sequence.
Claim 21
Independent Claim
237 words
A system for generating a pseudo-random bit sequence for use in enciphering digital data in which said bit sequence is a function of a plurality of selected key bits, said system comprising: means for generating a plurality of multi-bit values each of which are a function of at least some of said selected key bits; means for storing each of said plurality of multi-bit values in a discrete location in a memory; means for storing each of a plurality of multi-bit values at a discrete location in a look-up table; means for generating a sequence of values in a register having a present value at a particular moment by changing the present value contained in said register in response to each cycle of operation; means for cyclically calculating a sequence of multi-bit values in accordance with a first preselected algorithm each of which values is a function of at least one of the multi-bit values stored in either said look-up table or in said memory and at least part of the value contained in said register; means for cyclically resetting the present value contained in said register with a value obtained as a result of each calculation; means for cyclically calculating a multi-bit keyword which is a function of a value obtained as a result of each multi-bit value calculation; and means for sequentially combining at least some of said multi-bit keywords into said pseudo-random bit sequence.
Claim 22
Dependent Claim
47 words
A system for generating a pseudo-random bit sequence for use in enciphering digital data as set forth in claim 19, wherein said means for generating a plurality of multi-bit values includes means for generating values which are each a function of all of said selected key bits.
Claim 23
Dependent Claim
34 words
A system for generating a pseudo-random bit sequence for use in enciphering digital data as set forth in claim 19, which also includes means for periodically initializing the present value contained in said register.
Claim 24
Dependent Claim
79 words
A system for generating a pseudo-random bit sequence for use in enciphering digital data as set forth in claim 19, wherein said means for generating a plurality of multi-bit values includes means for generating values which are each a function of both at least some of said selected key bits and of the value contained in a counter which is periodically incremented in value at a rate which is slow in comparison to the cyclic repetition of said calculations.
Claim 25
Dependent Claim
62 words
A system for generating a pseudo-random bit sequence for use in enciphering digital data as set forth in claim 19, wherein said means for generating a sequence of values in a register includes means for storing a plurality of discrete bytes of data in said register and means for incrementing only one of said bytes in response to each cycle of operation.
Claim 26
Dependent Claim
62 words
A system for generating a pseudo-random bit sequence for use in enchiphering digital data as set forth in claim 23, wherein said means for generating a sequence of values in a register includes means for storing at least three discrete bytes of data in said register and means for incrementing only one of said bytes in response to each cycle of operation.
Claim 27
Dependent Claim
80 words
A system for generating a pseudo-random bit sequence for use in enciphering digital data as set forth in claim 23, wherein said means for calculating a sequence of multi-bit keywords includes means for calculating said values in accordance with an algorithm in which each calculated value is a function of at least one multi-bit value stored, respectively, at at least one discrete location in said memory and at least one of said discrete bytes of data contained in said register.
Claim 28
Dependent Claim
159 words
A system for generating a pseudo-random bit sequence for use in enchiphering digital data as set forth in claim 25, wherein said means for calculating a sequence of multi-bit values includes means for making said calculations in accordance with three separate algorithms in which each value calculated with said first algorithm is a function of at least one multi-bit value stored, respectively, at at least one discrete location in either said memory or in said look-up table and a first one of said discrete bytes of data contained in said register; each value calculated with said second algorithm is a function of a multi-bit value stored at a discrete location in said look-up table and a second one of said discrete bytes of data contained in said register; and each value calculated with said third algorithm is a function of the third one of said discrete bytes of data contained in said register and an incremental value added thereto.
Claim 29
Dependent Claim
200 words
A system for generating a pseudo-random bit sequence for use in enciphering digital data as set forth in claim 26, wherein said first algorithm is A'=A#[K(B)+K(C)] where A is the value of the first one of said discrete bytes of data; K(B) and K(C) signify that B and C, respectively, are used as the addresses in said memory from which to fetch a value K; + represents an addition modulo the word length; and # represents either addition modulo the word length or bitwise Exclusive OR with the whole wordlength; said second algorithm is B'=B#R(A) where B is the value of the second one of said discrete bytes of data; R(A) signifies that A is the address in a fixed look-up table from which to fetch a value R or that the bits of A are to be applied as the inputs of a combinatorial logic block which will give the output R; and # represents either addition modulo the word length or bitwise Exclusive OR with the whole wordlength; and said third algorithm is C'=C+1 where C is the value of the third one of said discrete bytes of data; and + represents an addition modulo the word length.
Claim 30
Dependent Claim
61 words
A system for generating a pseudo-random bit sequence for use in enciphering digital data as set forth in claim 27, wherein the look-up table or combinatorial logic which yields the value for the R having a number of output bits which is at least as great as the wordlength of A and less than or equal to the wordlength of B.
Claim 31
Dependent Claim
39 words
A system for generating a pseudo-random bit sequence for use in enciphering digital data as set forth in claim 28, wherein every possible state of input bits to the look-up table maps to a unique output value for R.
Claim 32
Dependent Claim
97 words
A system for generating a pseudo-random bit sequence for use in enciphering digital data as set forth in claim 23, wherein said means for generating a sequence of values in a register includes means for storing at least three discrete bytes of data in said register, said means for calculating a sequence of multi-bit values includes means for calculating resetting the present value contained in said register includes means for replacing each of said three discrete bytes of data in said register with respective ones of said at least three discrete calculated values following each calculation step.
Claim 33
Dependent Claim
51 words
A system for of generating a pseudo-random bit sequence for use in enciphering digital data as set forth in claim 30, wherein said means for cyclically calculating a multi-bit keyword includes means for selecting at least one of said at least three discrete calculated values as a part of said keyword.
Claim 34
Dependent Claim
72 words
A system for of generating a pseudo-random bit sequence for use in enciphering digital data as set forth in claim 30, wherein said means for cyclically calculating a multi-bit keyword includes means for selecting at least one of said at least three discrete calculated values and means for calculating said keyword in accordance with a second algorithm in which said keyword is a function of said at least one selected calculated value.
Claim 35
Dependent Claim
86 words
A system for generating a pseudo-random bit sequence for use in enciphering digital data as set forth in claim 32, which also includes means for initializing the value in said register at the beginning of each keyblock of sequential keywords combined into said pseudo-random bit sequence and wherein said second algorithm defines said keyword as a function of at least one of the values calculated in accordance with said first algorithm as well as the sequential position of the particular keyword being calculated within the keyblock.
Claim 36
Dependent Claim
161 words
A system for generating a pseudo-random bit sequence for use in enciphering digital data as set forth in claim 32, which also includes means for initializing the value in said register at the beginning of each keyblock of sequential keywords and wherein said means for cyclically calculating a multi-bit keyword includes means for selecting only one of said three discrete calculated values and said second algorithm is W(N)=B+'K[A+N] where W(N) is the keyword to be calculated; N is the sequential position of the particular keyword being calculated within the keyblock; A is the value of the first one of said discrete bytes of data; B is the second one of said discrete bytes of data; + means Exclusive OR, K[A+N] signifies that the Exclusive Or combination of the A and N is to be used as an address in the memory from which to fetch the value of K; and +' can either be Exclusive Or or addition modulo the wordlength.
Claim 37
Dependent Claim
219 words
A digital communication system in which the streams of digital data being transmitted and received are cryptographically encoded to provide security of telecommunications, said system comprising: means for adding a pseudo-random keystream of binary bits to the information carrying digital signal of at least one transmitter and at least one receiver in said system to create streams of digital data to be transmitted and received within said system; means for generating said pseudo-random keystream of binary bits which includes: means for storing each of a plurality of multi-bit values in a discrete location; means for generating a sequence of values in a register by changing the present value contained in said register in response to each cycle of operation; means for cyclically calculating a sequence of multi-bit values in accordance with a first preselected algorithm each of which values is a function of at least one of said stored multi-bit values and the value contained in said register; means for cyclically resetting the contents of said register with a value obtained as a result of each calculation; means for cyclically calculating a multi-bit keyword which is a function of a value obtained as a result of each multi-bit value calculation; and means for sequentially combining at least some of said multi-bit keywords into said pseudo-random keystream of binary bits.
Claim 38
Dependent Claim
219 words
A digital communication system in which the streams of digital data being transmitted and received are cryptographically encoded to provide security of telecommunications, said system comprising: means for adding a pseudo-random keystream of binary bits to the information carrying digital signal of at least one transmitter and at least one receiver in said system to create streams of digital data to be transmitted and received within said system; means for generating said pseudo-random keystream of binary bits which includes: means for storing each of a plurality of multi-bit values in a discrete location; means for generating a sequence of values in a register by changing the present value contained in said register in response to each cycle of operation; means for cyclically calculating a sequence of multi-bit values in accordance with a first preselected algorithm each of which values is a function of at least one of said stored multi-bit values and the value contained in said register; means for cyclically resetting the contents of said register with a value obtained as a result of each calculation; means for cyclically calculating a multi-bit keyword which is a function of a value obtained as a result of each multi-bit value calculation; and means for sequentially combining at least some of said multi-bit keywords into said pseudo-random keystream of binary bits.
Claim 39
Dependent Claim
90 words
A digital communications system as set forth in claim 35, wherein said means for generating said pseudo-random keystream of binary bits includes means for generating said keystream as a function of a plurality of selected secret key bits, comprising: means for generating a plurality of multi-bit values each of which are a function of at least some of said selected key bits; and said means for storing each of a plurality of multi-bit values at a discrete location includes means for storing each of said plurality of generated multi-bit values.
Claim 40
Dependent Claim
22 words
A digital communications system as set forth in claim 35, which also includes means for periodically initializing the contents of said register.
Claim 41
Dependent Claim
69 words
A digital communications system as set forth in claim 36, wherein said means for generating a plurality of multi-bit values includes means for generating values which are each a function of both at least some of said selected key bits and of the value contained in a counter which is periodically incremented in value at a rate which is slow in comparison to the cyclic repetition of said calculations.
Claim 42
Dependent Claim
53 words
A digital cellular communications system as set forth in claim 35, wherein said means for generating a sequence of values in a register includes means for storing a plurality of discrete bytes of data in said register and means for incrementing only one of said bytes in response to each cycle of operation.
Claim 43
Dependent Claim
53 words
A digital cellular communications system as set forth in claim 39, wherein said means for generating a sequence of values in a register includes means for storing at least three discrete bytes of data in said register and means for incrementing only one of said bytes in response to each cycle of operation.
Claim 44
Dependent Claim
71 words
A digital cellular communications system as set forth in claim 39, wherein said means for calculating a sequence of multi-bit values includes means for calculating said values in accordance with an algorithm in which each calculated value is a function of at least two multi-bit values stored, respectively, at at least two discrete locations in said memory and at least one of said discrete bytes of data contained in said register.
Claim 45
Independent Claim
125 words
A method of reducing the amount of logic hardware needed to generate a pseudo-random bit sequence to be used for enciphering a stream of digital information, said bit sequence being a function of plurality of selected key bits, said method comprising: storing in memory a set of digital values larger in number than the number of selected key bits and each of which values is a logical function of at least some of said key bits; iteratively calculating a sequence of multi-bit values with a general purpose microprocessor under program control each of which values is a function of at least one of the digital values stored in memory; and assembling at least part of said calculated sequence of values into said pseudo-random bit sequence.
Claim 46
Independent Claim
125 words
A method of reducing the amount of logic hardware needed to generate a pseudo-random bit sequence to be used for enciphering a stream of digital information, said bit sequence being a function of plurality of selected key bits, said method comprising: storing in memory a set of digital values larger in number than the number of selected key bits and each of which values is a logical function of at least some of said key bits; iteratively calculating a sequence of multi-bit values with a general purpose microprocessor under program control each of which values is a function of at least one of the digital values stored in memory; and assembling at least part of said calculated sequence of values into said pseudo-random bit sequence.
Claim 47
Dependent Claim
70 words
A method of reducing the amount of logic hardware needed to generate a pseudo-random bit sequence as set forth in claim 42 wherein said step of storing in memory also includes the steps of: generating a plurality of multi-bit values each of which is a function of at least some of said selected key bits; storing each of said plurality of multi-bit values in a discrete location in a memory.
Claim 48
Dependent Claim
47 words
A method of reducing the amount of logic hardware needed to generate a pseudo-random bit sequence as set forth in claim 43, wherein said step of generating a plurality of multi-bit values includes generating values which are each a function of all of said selected key bits.
Claim 49
Dependent Claim
52 words
A method of reducing the amount of logic hardware needed to generate a pseudo-random bit sequence as set forth in claim 43, which also includes the step of: generating a sequence of values in a register by changing the present value contained in said register in response to each cycle of operation.
Claim 50
Dependent Claim
95 words
A method of reducing the amount of logic hardware needed to generate a pseudo-random bit sequence as set forth in claim 45, wherein said step of iteratively calculating a sequence of multi-bit values includes the following steps: cyclically calculating a sequence of multi-bit values in accordance with a first preselected algorithm each of which values is a function of at least one of the stored digital values and at least part of the value contained in said register; cyclically resetting the contents of said register with a value obtained as a result of each calculation.
Claim 51
Dependent Claim
35 words
A method of reducing the amount of logic hardware needed to generate a pseudo-random bit sequence as set forth in claim 45, which includes the additional step of periodically initializing the contents of said register.
Claim 52
Dependent Claim
77 words
A method of reducing the amount of logic hardware needed to generate pseudo-random bit sequence as set forth in claim 43, wherein said step of generating a plurality of multi-bit values includes generating values which are each a function of both at least some of said selected key-bits and of the value contained in a counter which is periodically incremented in value at a rate which is slow in comparison to the cyclic repetition of said calculations.
Claim 53
Dependent Claim
60 words
A method of reducing the amount of logic hardware needed to generate a pseudo-random bit sequence as set forth in claim 45, wherein said step of generating a sequence of values in a register includes storing a plurality of discrete bytes of data in said register and incrementing only one of said bytes in response to each cycle of operation.
Claim 54
Dependent Claim
60 words
A method of reducing the amount of logic hardware needed to generate a pseudo-random bit sequence as set forth in claim 45, wherein said step of generating a sequence of values in a register includes storing at least three discrete bytes of data in said register and incrementing only one of said bytes in response to each cycle of operation.
Claim 55
Dependent Claim
73 words
A method of reducing the amount of logic hardware needed to generate a pseudo-random bit sequence as set forth in claim 45, wherein said step of iteratively calculating a sequence of multi-bit values includes making said calculations in accordance with an algorithm in which each calculated value is a function of at least one of said stored digital values and at least one of said discrete bytes of data contained in said register.
Claim 56
Dependent Claim
140 words
A method of reducing the amount of logic hardware needed to generate a pseudo-random bit sequence as set forth in claim 50, wherein said step of iteratively calculating a sequence of multi-bit values includes making said calculations in accordance with at least three separate algorithms in which each value calculated with said first algorithm is a function of at least one of said stored digital values and a first one of said discrete bytes of data contained in said register; each value calculated with said second algorithm is a function of a stored digital value and a second one of said discrete bytes of data contained in said register; and each value calculated with said third algorithm is a function of the third one of said discrete bytes of data contained in said register and an incremental value added thereto.
Claim 57
Independent Claim
157 words
A method of generating a pseudo-random bit sequence for use in enciphering digital data, said method comprising: generating a plurality of multi-bit values; storing said plurality of multi-bit values at discrete locations; generating a sequence of values in a register having a present value at a particular moment by changing the present value contained in said register in response to each cycle of operation; cyclically calculating a sequence of multi-bit values in accordance with a first preselected algorithm each of which values is a function of at least one of said stored multi-bit values and the value contained in said register; cyclically resetting the present value contained in said register with a value obtained as a result of each multi-bit value calculation; cyclically calculating a multi-bit keyword which is a function of a value obtained as a result of each multi-bit value calculation; sequentially combining at least part of said multi-bit keywords into said pseudo-random bit sequence.
Claim 58
Independent Claim
157 words
A method of generating a pseudo-random bit sequence for use in enciphering digital data, said method comprising: generating a plurality of multi-bit values; storing said plurality of multi-bit values at discrete locations; generating a sequence of values in a register having a present value at a particular moment by changing the present value contained in said register in response to each cycle of operation; cyclically calculating a sequence of multi-bit values in accordance with a first preselected algorithm each of which values is a function of at least one of said stored multi-bit values and the value contained in said register; cyclically resetting the present value contained in said register with a value obtained as a result of each multi-bit value calculation; cyclically calculating a multi-bit keyword which is a function of a value obtained as a result of each multi-bit value calculation; sequentially combining at least part of said multi-bit keywords into said pseudo-random bit sequence.
Claim 59
Dependent Claim
91 words
A method of generating a pseudo-random bit sequence for use in enciphering digital data as set forth in claim 53, wherein said bit sequence is a function of a plurality of selected key bits and which also includes the step of: generating a plurality of multi-bit values each of which are a function of at least some of said selected key bits; and wherein said step of storing a plurality of multi-bit values at discrete locations includes storing each of said generated multi-bit values at a discrete location in a memory.
Claim 60
Dependent Claim
45 words
A method of generating a pseudo-random bit sequence for use in enciphering digital data as set forth in claim 54, wherein said step of generating a plurality of multi-bit values includes generating values which are each a function of all of said selected key bits.
Claim 61
Dependent Claim
35 words
A method of generating a pseudo-random bit sequence for use in enciphering digital data as set forth in claim 53, which includes the additional step of periodically initializing the present value contained in said register.
Claim 62
Dependent Claim
77 words
A method of generating a pseudo-random bit sequence for use in enciphering digital data as set forth in claim 54, wherein said step of generating a plurality of multi-bit values includes generating values which are each a function of both at least some of said selected key bits and of the value contained in a counter which is periodically incremented in value at a rate which is slow in comparison to the cyclic repetition of said calculations.
Claim 63
Dependent Claim
58 words
A method of generating a pseudo-random bit sequence for use in enciphering digital data as set forth in claim 53, wherein said step of generating a sequence of values in a register includes storing a plurality of discrete bytes of data in said register and incrementing only one of said bytes in response to each cycle of operation.
Claim 64
Dependent Claim
58 words
A method of generating a pseudo-random bit sequence for use in enciphering digital data as set forth in claim 58, wherein said step of generating a sequence of values in a register includes storing at least three discrete bytes of data in said register and incrementing only one of said bytes in response to each cycle of operation.
Claim 65
Dependent Claim
74 words
A method of generating a pseudo-random bit sequence for use in enciphering digital data as set forth in claim 58, wherein said step of calculating a sequence of multi-bit keywords includes making said calculations in accordance with an algorithm in which each calculated value is a function of at least one multi-bit value stored, respectively, at least one discrete location and at least one of said discrete bytes of data contained in said register.
Claim 66
Dependent Claim
144 words
A method of generating a pseudo-random bit sequence for use in enciphering digital data as set forth in claim 59, wherein said step of calculating a sequence of multi-bit values includes making said calculations in accordance with at least three separate algorithms in which each value calculated with said first algorithm is a function of at least one multi-bit value stored, respectively, at one discrete location and a first one of said discrete bytes of data contained in said register; each value calculated with said second algorithm is a function of a multi-bit value stored at a discrete location and a second one of said discrete bytes of data contained in said register; and each value calculated with said third algorithm is a function of the third one of said discrete bytes of data contained in said register and an incremental value added thereto.
Claim 67
Independent Claim
95 words
A method of generating cryptographic variables for use in a communications system comprising the steps of: storing a plurality of multi-bit values in a memory; initializing a register to a starting multi-bit value; and iteratively calculating a new value for said register in accordance with an algorithm wherein at least some of the bits of the new register value calculated at each iteration are the result of combining at least some of the bits of the previous register value with at least some of the bits of one of the values stored in said memory.
Claim 68
Independent Claim
95 words
A method of generating cryptographic variables for use in a communications system comprising the steps of: storing a plurality of multi-bit values in a memory; initializing a register to a starting multi-bit value; and iteratively calculating a new value for said register in accordance with an algorithm wherein at least some of the bits of the new register value calculated at each iteration are the result of combining at least some of the bits of the previous register value with at least some of the bits of one of the values stored in said memory.
Claim 69
Dependent Claim
13 words
A method according to claim 62 wherein said memory comprises a look-up table.
Claim 70
Dependent Claim
22 words
A method according to claim 63 wherein said register comprises a plurality of 8-bit registers and said look-up table containe 256 values.
Claim 71
Dependent Claim
23 words
A method according to claim 62 wherein at least some of the values stored in said memory are a function of secret data.
Claim 72
Independent Claim
92 words
A system of generating cryptographic variables comprising: means for storing a plurality of multi-bit values in a memory; means for initializing a register to a starting multi-bit value; and means for iteratively calculating a new value for said register in accordance with an algorithm wherein at least some of the bits of the new register value calculated at each iteration are the result of combining at least some of the bits of the previous register value with at least some of the bits of one of the values stored in said memory.
Claim 73
Independent Claim
92 words
A system of generating cryptographic variables comprising: means for storing a plurality of multi-bit values in a memory; means for initializing a register to a starting multi-bit value; and means for iteratively calculating a new value for said register in accordance with an algorithm wherein at least some of the bits of the new register value calculated at each iteration are the result of combining at least some of the bits of the previous register value with at least some of the bits of one of the values stored in said memory.
Claim 74
Dependent Claim
13 words
A system according to claim 66 wherein said memory comprises a look-up table.
Claim 75
Dependent Claim
22 words
A system according to claim 67 wherein said register comprises a plurality of 8-bit registers and said look-up table contains 256 values.
Claim 76
Dependent Claim
23 words
A system according to claim 66 wherein at least some of the values stored in said memory are a function of secret data.
References Cited (Backward Citations)
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1995-09-15 | 1996-03-16 | 1996-09-15 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 1999-09-15 | 2000-03-16 | 2000-09-15 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2003-09-15 | 2004-03-16 | 2004-09-15 | $7700.00 | Window Closed / Lapsed |