IP Library Granted Patent US 9,634,827
Granted Patent B2
US 9,634,827 · App. 15/078,311 · Granted Apr 25, 2017

Encrypting data

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 9,634,827
App. No.
15/078,311
Granted
Apr 25, 2017
Kind
B2
Abstract

A method and system. Ciphertext is generated by applying an initialization vector and an encryption key to plaintext. The initialization vector is combined with the ciphertext to generate encrypted data, by using an embedding rule to perform the combining, wherein using the embedding rule includes generating the encrypted data by: dividing the initialization vector into a specified number of bits to obtain an ordered sequence of initialization vector fragments; dividing the ciphertext into a specified number of bits to obtain ciphertext fragments; and distributing the initialization vector fragments between the ciphertext fragments according to the order of the initialization vector fragments in the sequence.

Claims (43)

1. A method, said method comprising:

generating, by a processor of a computer system, ciphertext by applying an initialization vector and an encryption key to plaintext; and

said processor combining the initialization vector with the ciphertext to generate encrypted data, by using an embedding rule to perform said combining,

wherein said using the embedding rule comprises generating the encrypted data by:

dividing the initialization vector into a specified number of bits to obtain an ordered sequence of initialization vector fragments;

dividing the ciphertext into a specified number of bits to obtain ciphertext fragments; and

distributing the initialization vector fragments between the ciphertext fragments according to the order of the initialization vector fragments in the sequence.

2. The method of claim 1 , wherein said generating ciphertext comprises:

dividing the plaintext into N plaintext blocks denoted as B 1 , . . . , B N , wherein N is an integer of at least 2;

encrypting block B 1 using the encryption key and the initialization vector to generate cypher block C 1 ;

encrypting block B n using the encryption key and block B n-1 to generate cypher block C n (n=2, . . . , N); and

combining cypher blocks C 1 , . . . , C N to generate the ciphertext.

3. The method of claim 1 , wherein the initialization vector is a pseudo-random number.

4. The method of claim 1 , said method further comprising:

said processor retrieving, from a storage unit, a process for determining the embedding rule; and

said processor performing the process to determine the embedding rule.

5. The method of claim 4 , wherein said performing the process comprises using the first two bits of the ciphertext to determine the embedding rule.

6. A computer program product, comprising a computer readable storage device having computer readable program code stored therein, said program code containing instructions which, upon being executed by a processor of a computer system, implement a method, said method comprising:

said processor generating ciphertext by applying an initialization vector and an encryption key to plaintext; and

said processor combining the initialization vector with the ciphertext to generate encrypted data, by using an embedding rule to perform said combining,

wherein said using the embedding rule comprises generating the encrypted data by:

dividing the initialization vector into a specified number of bits to obtain an ordered sequence of initialization vector fragments;

dividing the ciphertext into a specified number of bits to obtain ciphertext fragments; and

distributing the initialization vector fragments between the ciphertext fragments according to the order of the initialization vector fragments in the sequence.

7. The computer program product of claim 6 , wherein said generating ciphertext comprises:

dividing the plaintext into N plaintext blocks denoted as B 1 , . . . , B N , wherein N is an integer of at least 2;

encrypting block B 1 using the encryption key and the initialization vector to generate cypher block C 1 ;

encrypting block B n using the encryption key and block B n-1 to generate cypher block C n (n=2, . . . , N); and

combining cypher blocks C 1 , . . . , C N to generate the ciphertext.

8. The computer program product of claim 6 , wherein the initialization vector is a pseudo-random number.

9. A computer system comprising a processor, a memory coupled to the processor, and a computer readable storage device coupled to the processor, said storage device containing program code which, upon being executed by the processor via the memory, implements a method, said method comprising:

said processor generating ciphertext by applying an initialization vector and an encryption key to plaintext; and

said processor combining the initialization vector with the ciphertext to generate encrypted data, by using an embedding rule to perform said combining,

wherein said using the embedding rule comprises generating the encrypted data by:

dividing the initialization vector into a specified number of bits to obtain an ordered sequence of initialization vector fragments;

dividing the ciphertext into a specified number of bits to obtain ciphertext fragments; and

distributing the initialization vector fragments between the ciphertext fragments according to the order of the initialization vector fragments in the sequence.

10. The computer system of claim 9 , wherein said generating ciphertext comprises:

dividing the plaintext into N plaintext blocks denoted as B 1 , . . . , B N , wherein N is an integer of at least 2;

encrypting block B 1 using the encryption key and the initialization vector to generate cypher block C 1 ;

encrypting block B n using the encryption key and block B n-1 to generate cypher block C n (n=2, . . . , N); and

combining cypher blocks C 1 , . . . , C N to generate the ciphertext.

11. The computer system of claim 9 , wherein the initialization vector is a pseudo-random number.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: KYNDRYL, INC.
Reel/Frame 057885/0644 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 23, 2016
From: ONODA, YASUHIRO
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038082/0346 →