# US 2002/0006197 A1 · Stream-cipher method and apparatus

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2002/0006197 A1
- Document ID: US20020006197A1
- Status: Published application
- Kind: A1
- Application number: 09/851,870
- Filed: 2001-05-09
- Published: 2002-01-17
- Earliest claimed: 2000-05-09
- Assignees: Verizon Laboratories Inc.; Genuity Inc.
- Inventors: Christopher Paul Carroll; Muxiang Zhang; Agnes Chan
- Web page: https://patentgrep.com/patent/US20020006197A1

## CPC

- H04L 9/0662: {with particular pseudorandom sequence generator}
- H04L 2209/12: Details relating to cryptographic hardware or logic circuitry
- H04L 2209/24: Key scheduling, i.e. generating round keys or sub-keys for block encryption
- H04L 2209/80: Wireless
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Methods and systems are provided for processing information. In one embodiment, there is provided a method, providing a frame key based on a master key and a frame number of a frame of information to a keystream generator as an initial fill for one or more registers of the keystream generator such that the initial fill establishes a state for the one or more registers of the keystream generator; and generating, at the keystream generator, a keystream sequence based on the state established by the initial fill, wherein the keystream sequence includes a modulo-2 sum of a lagged-Fibonacci sequence and a pseudo-random sequence produced by a filter generator

## Claims

### Claim 1

A method for processing information comprising the steps of:
providing a frame key based on a master key and a frame number of a frame of information to a keystream generator as an initial fill for one or more registers of the keystream generator such that the initial fill establishes a state for the one or more registers of the keystream generator; and
generating, at the keystream generator, a keystream sequence based on the state established by the initial fill, wherein the keystream sequence includes a modulo-2 sum of a lagged-Fibonacci sequence and a pseudo-random sequence produced by a filter generator.

### Claim 2 (depends on 1)

The method of claim 1, further comprising the step of:
creating a second frame key based the master key and a second frame number such that the second frame key represents a second frame of information.

### Claim 3 (depends on 1)

The method of claim 1, wherein said providing further comprises the step of:
initializing the one or more registers of the keystream generator based on the frame key.

### Claim 4 (depends on 1)

The method of claim 1, wherein said generating further comprises the step of:
shifting one or more bits of a first word corresponding to one of a plurality of registers of the keystream generator; and
shifting one or more bits of a second word corresponding to a second of the plurality of registers.

### Claim 5 (depends on 4)

The method of claim 4, further comprising the step of:
combining the shifted first word with the shifted second word based on exclusive OR logic.

### Claim 6 (depends on 3)

The method of claim 3, wherein said initializing further comprises the step of:
initializing a first linear feedback shift register of the filter generator with the frame key.

### Claim 7 (depends on 6)

The method of claim 6, further comprising the step of:
defining the first linear feedback generator of the filter generator as producing the pseudo-random sequence that satisfies the following equation:
Sn=Sn−2⊕Sn−3<<31⊕Sn−4>>1, n≧4,
wherein <<corresponds to a zero-fill left-shift operation,>> corresponds to a zero-fill right shift operation, ⊕ denotes XOR logic, and n is the number of stages in the first linear feedback shift register.

### Claim 8 (depends on 1)

The method of claim 1, wherein said generating further comprises the step of:
producing the lagged-Fibonacci sequence using a lagged-Fibonacci generator.

### Claim 9 (depends on 8)

The method of claim 8, further comprising the step of:
initializing a second linear feedback shift register of the lagged-Fibonacci generator with the frame key.

### Claim 10 (depends on 8)

The method of claim 8, further comprising the step of:
defining the lagged-Fibonacci sequence as satisfying the following equation:
Ln=Ln−5+Ln−17 mod 232,
wherein n corresponds to the number of stages of in the second linear feedback shift register and is greater than or equal to 17 words of 32-bits, and mod 232 corresponds to modulo-2 addition of a 32 bit word.

### Claim 11 (depends on 8)

The method of claim 8, further comprising the step of:
rotating an output of the lagged-Fibonacci generator.

### Claim 12 (depends on 1)

The method of claim 1, further comprising the step of:
producing a bit stream of ciphertext by modulo-2 adding each bit in the keystream sequence produced by the keystream generator with a corresponding bit in a bit stream of plaintext.

### Claim 13 (depends on 1)

The method of claim 1, further comprising the step of:
producing a bit stream of plaintext by modulo-2 adding each bit in the keystream sequence produced by the keystream generator with a corresponding bit in a bit stream of ciphertext.

### Claim 14

A system for processing information, said system comprising:
at least one memory including:
code that provides a frame key based on a master key and a frame number of a frame of information to a keystream generator as an initial fill for one or more registers of the keystream generator such that the initial fill establishes a state for the one or more registers of the keystream generator, and
code that generates, at the keystream generator, a keystream sequence based on the state established by the initial fill, wherein the keystream sequence includes a modulo-2 sum of a lagged-Fibonacci sequence and a pseudo-random sequence produced by a filter generator; and
at least one processor that executes said code.

### Claim 15 (depends on 14)

The system of claim 14, further comprising:
code that creates a second frame key based the master key and a second frame number such that the second frame key represents a second frame of information to be enciphered.

### Claim 16 (depends on 14)

The system of claim 14, wherein said code that provides the frame key further comprises:
code that initializes the one or more registers of the keystream generator based on the frame key.

### Claim 17 (depends on 14)

The system of claim 14, wherein said code that generates further comprises:
code that shifts one or more bits of a first word corresponding to one of a plurality of registers of the keystream generator; and
code that shifts one or more bits of a second word corresponding to a second of the plurality of registers.

### Claim 18 (depends on 17)

The system of claim 17, further comprising:
code that combines the shifted first word with the shifted second word based on exclusive OR logic.

### Claim 19 (depends on 16)

The system of claim 16, wherein said code that initializes the one or more registers further comprises:
code that initializes a first linear feedback shift register of the filter generator with the frame key.

### Claim 20 (depends on 19)

The system of claim 19, further comprising:
code that defines the first linear feedback generator of the filter generator as producing the pseudo-random sequence that satisfies the following equation:
Sn=Sn−2⊕Sn−3<<31⊕Sn−4>>1, n≧4,
wherein <<corresponds to a zero-fill left-shift operation,>> corresponds to a zero-fill right shift operation, ⊕ denotes XOR logic, and n is the number of stages in the first linear feedback shift register.

### Claim 21 (depends on 14)

The system of claim 14, wherein said code that generates a keystream sequence further comprises:
code that produces the lagged-Fibonacci sequence using a lagged-Fibonacci generator.

### Claim 22 (depends on 21)

The system of claim 21, further comprising:
code that initializes a second linear feedback shift register of the lagged-Fibonacci generator with the frame key.

### Claim 23 (depends on 21)

The system of claim 21, further comprising:
code that defines the lagged-Fibonacci sequence as satisfying the following equation:
Ln=Ln−17 mod 232,
wherein n corresponds to the number of stages of in the second linear feedback shift register and is greater than or equal to 17 words of 32-bits, and mod 232 corresponds to modulo-2 addition of a 32 bit word.

### Claim 24 (depends on 21)

The system of claim 21, further comprising:
code that rotates an output of the lagged-Fibonacci generator.

### Claim 25 (depends on 14)

The system of claim 14, further comprising:
code that produces a bit stream of ciphertext by modulo-2 adding each bit in the keystream sequence produced by the keystream generator with a corresponding bit in a bit stream of plaintext.

### Claim 26 (depends on 14)

The system of claim 14, further comprising:
code that produces a bit stream of plaintext by modulo-2 adding each bit in the keystream sequence produced by the keystream generator with a corresponding bit in a bit stream of ciphertext.

### Claim 27

A computer program product, the computer program product comprising code, said code comprising:
code that provides a frame key based on a master key and a frame number of a frame of information to a keystream generator as an initial fill for one or more registers of the keystream generator such that the initial fill establishes a state for the one or more registers of the keystream generator; and
code that generates, at the keystream generator, a keystream sequence based on the state established by the initial fill, wherein the keystream sequence includes a modulo-2 sum of a lagged-Fibonacci sequence and a pseudo-random sequence produced by a filter generator.

### Claim 28 (depends on 27)

The computer program product of claim 27, said code further comprising:
code that produces a bit stream of ciphertext by modulo-2 adding each bit in the keystream sequence produced by the keystream generator with a corresponding bit in a bit stream of plaintext.

### Claim 29 (depends on 27)

The computer program product of claim 27, said code further comprising:
code that produces a bit stream of plaintext by modulo-2 adding each bit in the keystream sequence produced by the keystream generator with a corresponding bit in a bit stream of ciphertext.

### Claim 30

A hand held device for communicating information, said hand held device comprising:
at least one memory including:
code that provides a frame key based on a master key and a frame number of a frame of information to a keystream generator as an initial fill for one or more registers of the keystream generator such that the initial fill establishes a state for the one or more registers of the keystream generator, and
code that generates, at the keystream generator, a keystream sequence based on the state established by the initial fill, wherein the keystream sequence includes a modulo-2 sum of a lagged-Fibonacci sequence and a pseudo-random sequence produced by a filter generator;
at least one processor that executes said code.

### Claim 31 (depends on 30)

The hand held device of claim 30, further comprising:
code that receives code and information from a base station.

### Claim 32 (depends on 31)

The hand held device of claim 31, further comprising:
code that configures the keystream generator based on the received code and information.

### Claim 33 (depends on 30)

The hand held device of claim 30, further comprising:
code that receives one or more keys from a base station such that the one or more keys initialize one or more registers of the keystream generator.
