IP Library Granted Patent US 9,178,699
Granted Patent B2
US 9,178,699 · App. 14/073,379 · Granted Nov 3, 2015

Public key encryption algorithms for hard lock file 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 9,178,699
App. No.
14/073,379
Granted
Nov 3, 2015
Kind
B2
Abstract

In some aspects, an encryption method comprises encrypting a first portion of a message using a first secret key. The first secret key is generated based on the public key of an entity. A one-way function is used to generate a second secret key from the first secret key, and the first secret key is subsequently discarded. A second portion of the message is encrypted using the second secret key. The encrypted first portion of the message and the encrypted second portion of the message are provided to the entity.

Claims (55)

1. A public key encryption method comprising:

generating a shared secret based on a public key of an entity and an ephemeral private key;

using a key derivation function to generate a first secret key from the shared secret;

encrypting, by operation of a computing device, a first portion of a message using the first secret key;

using the key derivation function to generate a second secret key from the first secret key;

discarding the first secret key;

encrypting, by operation of the computing device, a second portion of the message using the second secret key;

providing an ephemeral public key associated with the ephemeral private key to the entity; and

providing the encrypted first portion of the message and the encrypted second portion of the message to the entity.

2. The method of claim 1 , wherein the key derivation function produces one or more outputs comprising the second secret key, and the key derivation function operates on one or more inputs comprising the first secret key.

3. The method of claim 2 , wherein the one or more outputs further comprise at least one of an initialization vector or a key to be used in a message authentication code.

4. The method of claim 1 , comprising using an iterative algorithm to encrypt the message, wherein the iterative algorithm comprises, on each respective iteration:

accessing a current portion of the message to be encrypted by the current iteration of the iterative algorithm;

encrypting the current portion of the message using a current secret key generated for the current iteration;

using the key derivation function and the current secret key to generate a subsequent secret key for a subsequent iteration of the iterative algorithm; and

discarding the current secret key before the subsequent iteration.

5. The method of claim 4 , wherein the iterative algorithm comprises, on each respective iteration:

incrementing a counter to a new value for the current iteration; and

using the new value of the counter as an input to the key derivation function.

6. The method of claim 1 , comprising:

generating multiple distinct secret keys from the ephemeral private key; and

using each distinct secret key to encrypt respective, distinct portions of the message.

7. The method of claim 1 , wherein generating the first secret key based on the public key of the entity consumes more computational resources than using the key derivation function to generate the second secret key from the first secret key.

8. A non-transitory computer-readable medium comprising instructions that are operable when executed by data processing apparatus to perform public key encryption operations comprising:

generating a shared secret based on a public key of an entity and an ephemeral private key;

using a key derivation function to generate a first secret key from the shared secret;

encrypting a first portion of a message using the first secret key;

using the key derivation function to generate a second secret key from the first secret key;

discarding the first secret key;

encrypting a second portion of the message using the second secret key;

providing the encrypted first and second portions of the message to the entity; and

providing an ephemeral public key associated with the ephemeral private key to the entity.

9. The computer-readable medium of claim 8 , wherein the key derivation function produces one or more outputs comprising the second secret key, and the key derivation function operates on one or more inputs comprising the first secret key.

10. The computer-readable medium of claim 8 , the operations comprising using an iterative algorithm to encrypt the message, wherein the iterative algorithm comprises, on each respective iteration:

accessing a current portion of the message to be encrypted by the current iteration of the iterative algorithm;

encrypting the current portion of the message using a current secret key generated for the current iteration;

using the key derivation function and the current secret key to generate a subsequent secret key for a subsequent iteration of the iterative algorithm; and

discarding the current secret key before the subsequent iteration.

11. A device comprising:

one or more processors operable to decrypt a public-key encrypted message by performing operations comprising:

accessing an encrypted message, the encrypted message having been encrypted using multiple secret keys based on a public key of an entity;

generating a shared secret based on an ephemeral public key and a private key of the entity;

using a key derivation function to generate a first secret key based on the shared secret;

decrypting a first portion of the message using the first secret key;

using the key derivation function to generate a second secret key from the first secret key; and

decrypting a second portion of the message using the second secret key.

12. The device of claim 11 , wherein the key derivation function produces one or more outputs comprising the second secret key, and the key derivation function operates on one or more inputs comprising the first secret key.

13. The device of claim 11 , the operations comprising using an iterative algorithm to decrypt the message, wherein the iterative algorithm comprises, on each respective iteration:

accessing a current portion of the message to be decrypted by the current iteration of the iterative algorithm;

decrypting the current portion of the message using a current secret key generated for the current iteration of the iterative algorithm;

using the key derivation function and the current secret key to generate a subsequent secret key for a subsequent iteration; and

discarding the current secret key before the subsequent iteration.

14. The device of claim 11 , the operations comprising:

generating multiple distinct secret keys from the ephemeral public key; and

using each distinct secret key to decrypt respective, distinct portions of the message.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE ADDED PATENT NUMBER TO REMOVE PATENT NO. 8,873,407 AT PREVIOUSLY RECORDED ON REEL 64066 FRAME 1. ASSIGNOR(S) HEREBY CONFIRMS THE NUNC PRO TUNC ASSIGNMENT EFFECTIVE DATE MARCH 20, 2023. Recorded Feb 2, 2026
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 074921/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT 12817157 APPLICATION NUMBER PREVIOUSLY RECORDED AT REEL: 064015 FRAME: 0001. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 5, 2023
From: OT PATENT ESCROW, LLC
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064807/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE COVER SHEET AT PAGE 50 TO REMOVE 12817157 PREVIOUSLY RECORDED ON REEL 063471 FRAME 0474. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 5, 2023
From: BLACKBERRY LIMITED
To: OT PATENT ESCROW, LLC
Reel/Frame 064806/0669 →
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064066/0001 →
NUNC PRO TUNC ASSIGNMENT Recorded Jun 16, 2023
From: OT PATENT ESCROW, LLC
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064015/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2023
From: BLACKBERRY LIMITED
To: OT PATENT ESCROW, LLC
Reel/Frame 063471/0474 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2019
From: CERTICOM CORP.
To: BLACKBERRY LIMITED
Reel/Frame 050610/0937 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2014
From: LAMBERT, ROBERT JOHN; BROWN, DANIEL RICHARD L.
To: CERTICOM CORP.
Reel/Frame 032370/0679 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2014
From: YAMADA, ATSUSHI
To: BLACKBERRY LIMITED
Reel/Frame 032370/0725 →