← Back to Patent Explorer
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
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

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)

US4316055A Cited
US4876740A Cited
US4811377A Cited
US4860353A Cited
US5008935A Cited

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag