Claims Analysis
Total Claims: 29
Claim 1
Independent Claim
156 words
A method for encrypting and decrypting digital data, comprising the steps of: forming an actual user key, said step of forming an actual user key comprising the steps of: receiving an input user key comprising a sequence of bits; permuting said input user key to form a permuted user key; circularly shifting said permuted user key to form a shifted user key; and filling a location having a length equal to the length of said base key with said shifted user key to form said actual user key; forming an actual base key, said step of forming an actual base key comprising the step of: circularly shifting a predetermined base key comprising a sequence of bits; forming a final key, said step of forming a final key comprising the step of: calculating the exclusive-OR of said actual base key and said actual user key; and calculating the exclusive-OR of said final key and said digital data.
Claim 2
Independent Claim
156 words
A method for encrypting and decrypting digital data, comprising the steps of: forming an actual user key, said step of forming an actual user key comprising the steps of: receiving an input user key comprising a sequence of bits; permuting said input user key to form a permuted user key; circularly shifting said permuted user key to form a shifted user key; and filling a location having a length equal to the length of said base key with said shifted user key to form said actual user key; forming an actual base key, said step of forming an actual base key comprising the step of: circularly shifting a predetermined base key comprising a sequence of bits; forming a final key, said step of forming a final key comprising the step of: calculating the exclusive-OR of said actual base key and said actual user key; and calculating the exclusive-OR of said final key and said digital data.
Claim 3
Dependent Claim
77 words
The method recited in claim 1, wherein said step of permuting said input user key comprises the steps of: selecting two selected portions of said input user key, each said selected portion comprising a sequence of bits, each said selected portion determined in response to the value and position within said input user key of each of a plurality of predetermined portions of said input user key; and swapping said selected portions of said input user key.
Claim 4
Dependent Claim
14 words
The method recited in claim 2, wherein each said portion consists of a byte.
Claim 5
Dependent Claim
22 words
The method recited in claim 3, wherein said predetermined portions consist of a plurality of consecutive bytes of said input user key.
Claim 6
Dependent Claim
20 words
The method recited in claim 4, wherein said predetermined portions consist of three consecutive bytes of said input user key.
Claim 7
Dependent Claim
118 words
The method recited in claim 5, wherein: said step of selecting two selected portions of said input user key comprises the steps of: selecting a byte KEY i of said input user key having an index number equal to i; selecting a byte KEY L of said input user key having an index number equal to L; and said step of permuting said input user key comprises repeating said steps of selecting a byte for values of i between 2 and N-1 inclusive, wherein each byte of said input user key has an index number, wherein N is the length of said input user key in bytes, and wherein: L=((KEY i-1 +KEY i +KEY i+1 +i) modulo N)+1.
Claim 8
Dependent Claim
63 words
The method recited in claim 1, wherein said step of circularly shifting said permuted user key comprises the step of: circularly shifting said permuted user key by a number of bit positions, said number determined in response to the value and positional weight of each of a plurality of portions of said permuted user key, each said portion comprising a sequence of bits.
Claim 9
Dependent Claim
14 words
The method recited in claim 7, wherein each said portion consists of a byte.
Claim 10
Dependent Claim
18 words
The method recited in claim 8, wherein said portions consist of all bytes of said permuted user key.
Claim 11
Dependent Claim
102 words
The method recited in claim 9, wherein said step of circularly shifting said permuted user key by a number of bit positions comprises the steps of: forming a shift factor S equal to the sum of the values (255+i)*KEY i for values of i between 1 and N inclusive, wherein KEY is a byte of said user key, wherein each said byte of said user key has an index number, wherein N is the length of said user key in bytes; and circularly shifting said permuted user key by L bit positions toward the most significant bit position, wherein: L=(S modulo (N*8))+1.
Claim 12
Dependent Claim
68 words
The method recited in claim 1, wherein said step of circularly shifting a predetermined base key comprises the step of: circularly shifting said predetermined base key by a number of bit positions; and said number of bit positions is determined in response to the value and positional weight of each of a plurality of portions of said permuted user key, each said portion comprising a sequence of bits.
Claim 13
Dependent Claim
14 words
The method recited in claim 11, wherein each said portion consists of a byte.
Claim 14
Dependent Claim
18 words
The method recited in claim 12, wherein said portions consist of all bytes of said permuted user key.
Claim 15
Dependent Claim
114 words
The method recited in claim 13, wherein said step of circularly shifting said predetermined base key by a number of bit positions comprises the steps of: forming a shift factor S equal to the sum of the values (255+i)*KEY i for values of i between 1 and N inclusive, wherein KEY is a byte of said user key, wherein each said byte of said user key has an index number, wherein N is the length of said user key in bytes; and circularly shifting said predetermined base key by L bit positions toward the most significant bit position; wherein M is the length of said base key in bytes, and wherein: L=(S modulo (M*8))+1.
Claim 16
Dependent Claim
116 words
The method recited in claim 1, wherein said step of forming a final key comprises the steps of: forming a shift factor S equal to the sum of the values (255+i)*KEY i for values of i between 1 and N inclusive, wherein KEY is a byte of said user key, wherein each said byte of said user key has an index number, wherein N is the length of said user key in bytes; calculating the exclusive-OR of said shifted base key and said filled user key to form a semifinal key; and calculating the exclusive-OR of said semifinal key and said shift factor S, wherein said shift factor S is represented as a four byte word.
Claim 17
Dependent Claim
97 words
The method recited in claim 1, wherein said step of receiving an input user key comprises the steps of: reading said input user key from an input device; packing said input user key; determining the number of unique bytes in said packed input user key; and rejecting said input user key if said packed input user key has a number of bytes less than a predetermined minimum number of total user key bytes or if said packed input user key has a number of unique bytes less than a predetermined minimum number of unique user key bytes.
Claim 18
Dependent Claim
34 words
The method recited in claim 16, wherein said step of packing said user key comprises the step of deleting all bytes consisting of all ones ("1") and all bytes consisting of all zeros ("0").
Claim 19
Dependent Claim
82 words
The method recited in claim 1, wherein said step of forming an actual user key comprises the steps of: receiving at least one input user key from an input device, each comprising a sequence of bits; permuting each said input user key to form a permuted user key; calculating the exclusive-OR of each said permuted user key with every other said permuted user key to form a total user key; permuting said total user key; and circularly shifting said total user key.
Claim 20
Dependent Claim
100 words
The method recited in claim 18, wherein said step of forming an actual user key further comprises, before said step of permuting said total user key, the steps of: packing said total user key to form a packed total user key; determining the number of unique bytes in said packed total user key; and rejecting all said input user keys if said packed total user key has a length less than a predetermined minimum total user key length or if said packed total user key has a number of unique bytes less than a predetermined minimum number of unique bytes.
Claim 21
Independent Claim
275 words
A method for encrypting and decrypting digital data, comprising the steps of: forming an actual user key, said step of forming an actual user key comprising the steps of: receiving an input user key comprising a sequence of bits; selecting two selected portions of said input user key, each said selected portion comprising a sequence of bits, each said selected portion determined in response to the value and position of each of a plurality of predetermined portions of said user key; swapping said selected portions of said input user key to form a permuted user key; and circularly shifting said permuted user key by a number of bit positions to form a shifted user key, said number determined in response to the value and positional weight of each of a plurality of portions of said permuted user key, each said portion comprising a sequence of bits; and filling a location having a length equal to the length of said base key with said shifted user key to form said actual user key; forming an actual base key, said step of forming an actual base key comprising the step of: circularly shifting said predetermined base key by a number of bit positions, said number of bit positions determined in response to the value and positional weight of each of a plurality of portions of said permuted user key, each said portion comprising a sequence of bits; forming a final key, said step of forming a final key comprising the step of: calculating the exclusive-OR of said actual base key and said actual user key; and calculating the exclusive-OR of said final key and said digital data.
Claim 22
Independent Claim
275 words
A method for encrypting and decrypting digital data, comprising the steps of: forming an actual user key, said step of forming an actual user key comprising the steps of: receiving an input user key comprising a sequence of bits; selecting two selected portions of said input user key, each said selected portion comprising a sequence of bits, each said selected portion determined in response to the value and position of each of a plurality of predetermined portions of said user key; swapping said selected portions of said input user key to form a permuted user key; and circularly shifting said permuted user key by a number of bit positions to form a shifted user key, said number determined in response to the value and positional weight of each of a plurality of portions of said permuted user key, each said portion comprising a sequence of bits; and filling a location having a length equal to the length of said base key with said shifted user key to form said actual user key; forming an actual base key, said step of forming an actual base key comprising the step of: circularly shifting said predetermined base key by a number of bit positions, said number of bit positions determined in response to the value and positional weight of each of a plurality of portions of said permuted user key, each said portion comprising a sequence of bits; forming a final key, said step of forming a final key comprising the step of: calculating the exclusive-OR of said actual base key and said actual user key; and calculating the exclusive-OR of said final key and said digital data.
Claim 23
Dependent Claim
117 words
The method recited in claim 20, wherein: said step of selecting two selected portions of said user key comprises the steps of: selecting a byte KEY i of said user key having an index number equal to i; selecting a byte KEY L of said user key having an index number equal to L; and said step of forming an actual user key comprises repeating said steps of selecting a byte of said user key for values of i between 2 and N-1 inclusive, wherein each byte of said user key has an index number, wherein N is the length of said user key in bytes, and wherein: L=((KEY i-1 +KEY i +KEY i+1 +i) modulo N)+1.
Claim 24
Dependent Claim
102 words
The method recited in claim 20, wherein said step of circularly shifting said permuted user key by a number of bit positions comprises the steps of: forming a shift factor S equal to the sum of the values (255+i)*KEY i for values of i between 1 and N inclusive, wherein KEY is a byte of said user key, wherein each said byte of said user key has an index number, wherein N is the length of said user key in bytes; and circularly shifting said permuted user key by L bit positions toward the most significant bit position, wherein: L=(S modulo (N*8))+1.
Claim 25
Dependent Claim
114 words
The method recited in claim 20, wherein said step of circularly shifting said predetermined base key by a number of bit positions comprises the steps of: forming a shift factor S equal to the sum of the values (255+i)*KEY i for values of i between 1 and N inclusive, wherein KEY is a byte of said user key, wherein each said byte of said user key has an index number, wherein N is the length of said user key in bytes; and circularly shifting said predetermined base key by L bit positions toward the most significant bit position; wherein M is the length of said base key in bytes, and wherein: L=(S modulo (M*8))+1.
Claim 26
Dependent Claim
116 words
The method recited in claim 20, wherein said step of forming a final key comprises the steps of: forming a shift factor S equal to the sum of the values (255+i)*KEY i for values of i between 1 and N inclusive, wherein KEY is a byte of said user key, wherein each said byte of said user key has an index number, wherein N is the length of said user key in bytes; calculating the exclusive-OR of said shifted base key and said filled user key to form a semifinal key; and calculating the exclusive-OR of said semifinal key and said shift factor S, wherein said shift factor S is represented as a four byte word.
Claim 27
Independent Claim
90 words
An apparatus for encrypting and decrypting digital data, comprising: interface means for bidirectionally communicating digital data; processor means for computing a final key in response to a predetermined user key and a predetermined base key; memory means for storing said final key; exclusive-OR means for receiving said final key and said digital data and for providing the exclusive-OR of said digital data and said final key to said interface; and addressing means for sequentially providing addresses to said memory means, said addresses corresponding to successive portions of said final key.
Claim 28
Independent Claim
90 words
An apparatus for encrypting and decrypting digital data, comprising: interface means for bidirectionally communicating digital data; processor means for computing a final key in response to a predetermined user key and a predetermined base key; memory means for storing said final key; exclusive-OR means for receiving said final key and said digital data and for providing the exclusive-OR of said digital data and said final key to said interface; and addressing means for sequentially providing addresses to said memory means, said addresses corresponding to successive portions of said final key.
Claim 29
Dependent Claim
15 words
The apparatus recited in claim 25, wherein each of said successive portions is a byte.