IP Library Granted Patent US 7,319,751
Granted Patent B2
US 7,319,751 · App. 10/268,971 · Granted Jan 15, 2008

Data encryption

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,319,751
App. No.
10/268,971
Granted
Jan 15, 2008
Kind
B2
Abstract

A method of encrypting a data unit, the method comprising the steps of dividing the data unit into a series of data blocks, and for each data block, applying a block cipher function to a data block counter value to generate an encrypted block counter value, performing a logical operation to combine the encrypted block counter with the data block, and applying a block cipher function to the combined data.

Claims (22)

1. A method of encrypting a data unit, the method comprising the steps of:

dividing the data unit into a series of data blocks;

assigning a data block counter value to each data block; and

for each data block, applying a block cipher function to the assigned data block counter value to generate an encrypted block counter value, performing a logical operation to combine the encrypted block counter with the data block, and applying a block cipher function to the combined data.

2. A method according to claim 1 , wherein the block cipher function which is applied to the combined data is the same block cipher function which is applied to the data block counter.

3. A method according to claim 1 , wherein both cipher functions use the same encryption key.

4. A method according to claim 1 , wherein both cipher functions use different encryption keys.

5. A method according to claim 4 , wherein the encryption key used by the cipher function when applied to the data block counter value is derived from the key used by the cipher function when applied to the combined data.

6. A method according to claim 1 , wherein said logical operation is an exclusive-OR operation.

7. A method according to claim 1 , wherein said counter is initialised to some known value and is incremented for each data block of the series of blocks.

8. A method according to claim 1 , wherein a logical operation is carried out on the counter value prior to its encryption with a cipher function to prevent the counter value from exceeding the block length.

9. A method of decrypting a data block of a data unit encrypted with the method of claim 1 , the method comprising applying the cipher function to the block counter value for the block, applying an inverse cipher function to the encrypted block, and combining the two results with a logical operation.

10. A computer storage medium having stored thereon a program for causing a computer to encrypt a data unit by:

dividing the data unit into a series of data blocks;

assigning a data block counter value to each data block; and

for each data block, applying a block cipher function to the assigned data block counter value to generate an encrypted block counter value, performing a logical operation to combine the encrypted block counter with the data block, and applying a block cipher function to the combined data.

11. A storage medium according to claim 10 , the program being arranged to cause the computer to decrypt an encrypted block by applying the cipher function to the block counter value for the block, applying an inverse cipher function to the encrypted block, and combining the two results with a logical operation.

12. A computer device comprising:

a memory for storing data:

first processing means for dividing a data unit into a series of data blocks and assigning a data block counter value to each data block, and, for each data block, applying a block cipher function to the assigned data block counter value to generate an encrypted block counter value, performing a logical operation to combine the encrypted block counter with the data block, applying a block cipher function to the combined data, and storing the encrypted data block in said memory; and

second processing means for decrypting an encrypted block stored in the memory by reading the encrypted block from the memory, applying the cipher function to the block counter value for the block, applying an inverse cipher function to the encrypted block, and combining the two results with a logical operation.

13. A device according to claim 12 , wherein the first processing means is arranged to reencrypt an individually decrypted block following modification of the block.

Assignments (1)
CHANGE OF NAME Recorded Jun 7, 2022
From: F-SECURE CORPORATION (A/K/A F-SECURE CORPORATION OYJ)
To: WITHSECURE CORPORATION (A/K/A WITHSECURE OYJ)
Reel/Frame 060301/0770 →