IP Library Granted Patent US 8,615,649
Granted Patent B2
US 8,615,649 · App. 12/887,012 · Granted Dec 24, 2013

Use of a private key to encrypt and decrypt a message

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 8,615,649
App. No.
12/887,012
Granted
Dec 24, 2013
Kind
B2
Abstract

The invention includes a method for encrypting and transmitting a message M from a first location to a second location. Random numbers P and Q are initially selected, each of them being either a prime or a non-prime number. P and Q are both furnished to a sender and a recipient at the first and second locations, respectively. A client at the first location generates an encrypted message E, which is the remainder left when a modulus operator divides a first quantity, equal to M multiplied by P to the i power, where i is a selected number, by a second quantity equal to (PQ−1). A tuple comprising E and i is transmitted from the first location to the second location, and a second data processing system at the second location to determines the message M from E, i and Q.

Claims (46)

1. A method for transmitting a message with encryption from a sender at a first location to a recipient at a second location, wherein the message comprises a specified number M, and said method comprises the steps of:

selecting a first random number P and a second random number Q;

furnishing the numbers P and Q to both the sender at the first location and the recipient at the second location;

operating a first data processing system at the first location to generate an encrypted value E that represents the message M, wherein E comprises the remainder which results when a modulus operator defined by a system of modular arithmetic is employed to divide a first quantity by a second quantity, the first quantity is equal to the product of M multiplied by P to the i power (MP i ), wherein i is a selected random number, and the second quantity is equal to the result obtained by subtracting one from the product of P multiplied by Q;

transmitting a tuple comprising the values of E and i from the first location to the second location; and

operating a second data processing system at the second location to determine the message M by applying the modulus operator to a third quantity and to said second quantity, wherein M comprises the remainder which results when the modulus operator is employed to divide the third quantity by the second quantity, and the third quantity is equal to the product of E multiplied by Q to the i power (EQ i ).

2. The method of claim 1 , wherein:

At least one of the numbers P and Q is a non-prime number, and the other of said numbers P or Q is a prime number or a non-prime number, selectively.

3. The method of claim 1 , wherein:

P is greater than 1, Q is greater than 1, and said second quantity, obtained by subtracting one from the product of P multiplied by Q, is greater than the message M.

4. The method of claim 1 , wherein:

the encrypted value E is limited to a value that is non-zero.

5. The method of claim 1 , wherein:

the encrypted value E provides a mapping that is limited to a one to one mapping between the specified number of message M, and the encrypted value E.

6. The method of claim 1 , wherein:

the number i is selectively chosen to provide a total data transmission length for said tuple comprising E and i which is less than the data transmission length required for the message M.

7. The method of claim 1 , wherein:

the encrypted value E representing the message comprises a number in a string of numbers that each comprises an encrypted message element.

8. A computer program product executable in computer readable storage medium for transmitting a message with encryption from a sender at a first location to a recipient at a second location, wherein the message comprises a specified number M, and said computer program product comprises:

instructions for selecting a first random number P and a second random number Q, wherein at least one of the numbers P and Q is a non-prime number;

instructions for furnishing the numbers P and Q to both the sender at the first location and the recipient at the second location;

instructions for operating a first data processing system at the first location to generate an encrypted value E that represents the message M, wherein E comprises the remainder which results when a modulus operator defined by a system of modular arithmetic is employed to divide a first quantity by a second quantity, the first quantity is equal to the product of M multiplied by P to the i power (MP i ), wherein i is a selected random number, and the second quantity is equal to the result obtained by subtracting one from the product of P multiplied by Q;

instructions for transmitting a tuple comprising the values of E and i from the first location to the second location; and

instructions for operating a second data processing system at the second location to determine the message M by applying the modulus operator to a third quantity and to said second quantity, wherein M comprises the remainder which results when the modulus operator is employed to divide the third quantity by the second quantity, and the third quantity is equal to the product of E multiplied by Q to the i power (EQ i ).

9. The computer program product of claim 8 , wherein:

either P or Q can be a prime number or a non-prime number, selectively.

10. The computer program product of claim 8 , wherein:

P is greater than 1, Q is greater than 1, and said second quantity, obtained by subtracting one from the product of P multiplied by Q, is greater than the message M.

11. The computer program product of claim 8 , wherein:

the encrypted value E is limited to a value that is non-zero.

12. The computer program product of claim 8 , wherein:

the encrypted value E provides a mapping that is limited to a one to one mapping between the specified number of message M, and the encrypted value E.

13. The computer program product of claim 8 , wherein:

the number i is selectively chosen to provide a total data transmission length for said tuple comprising E and i which is less than the data transmission length required for the message M.

14. A system for transmitting a message with encryption from a sender at a first location to a recipient at a second location, wherein the message comprises a specified number M, and said system comprises:

means for selecting a first random number P and a second random number Q, wherein at least one of the numbers P and Q is a non-prime number;

means for furnishing the numbers P and Q to both the sender at the first location and the recipient at the second location;

a first data processing system operable at the first location to generate an encrypted value E that represents the message M, wherein E comprises the remainder which results when a modulus operator defined by a system of modular arithmetic is employed to divide a first quantity by a second quantity, the first quantity is equal to the product of M multiplied by P to the i power (MP i ), wherein i is a selected random number, and the second quantity is equal to the result obtained by subtracting one from the product of P multiplied by Q;

means for transmitting a tuple comprising the values of E and i from the first location to the second location; and

operating a second data processing system at the second location to determine the message M by applying the modulus operator to a third quantity and to said second quantity, wherein M comprises the remainder which results when the modulus operator is employed to divide the third quantity by the second quantity, and the third quantity is equal to the product of E multiplied by Q to the i power (EQ i ).

15. The system of claim 14 , wherein:

either P or Q can be a prime number or a non-prime number, selectively, and P is greater than 1, Q is greater than 1, and said second quantity, obtained by subtracting one from the product of P multiplied by Q, is greater than the message M.

16. The system of claim 14 , wherein:

the encrypted value E is limited to a value that is non-zero, and provides a mapping that is limited to a one to one mapping between the specified number of message M, and the encrypted value E.

17. The system of claim 14 , wherein:

the number i is selectively chosen to provide a total data transmission length for said tuple comprising E and i which is less than the data transmission length required for the message M.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2014
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: LENOVO INTERNATIONAL LIMITED
Reel/Frame 034194/0291 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2010
From: CHANDRASEKARAN, SUBRAMANIYAM; RAMACHANDRAN, ARUN C.; VELUSAMY, LAKSHMANAN; VENKATESHAN, VINODH KUMAR
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 025022/0717 →