Techniques for key ratcheting with multiple step sizes
First Claim
1. A computer-implemented method, comprising:
- receiving a first encrypted message and a second encrypted message, the first and second encrypted messages encrypted according to a multi-dimensional ratcheting encryption scheme;
determining, via at least one processor, which of the first encrypted message or the second encrypted message is a most-recent message;
discarding, via the at least one processor, the first encrypted message and skipping decryption of the first encrypted message based at least in part on the determination that the second encrypted message is the most-recent message;
extracting, via the at least one processor, a message iteration count for the second encrypted message;
decomposing, via the at least one processor, the message iteration count into a plurality of message chain key iteration counts;
determining, by the at least one processor, a decryption key based on the plurality of message chain key iteration counts; and
generating, by the at least one processor, a decrypted message by decrypting the second encrypted message based on the decryption key.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques for key ratcheting with multiple step sizes are described. For example, an apparatus may be configured to receive two or more encrypted messages, where the encrypted messages are encrypted according to a multi-dimensional ratcheting encryption scheme. Moreover, the apparatus may be configured to determine which of the encrypted messages was most-recently received and extract a message iteration count from the most-recent encrypted message, generate a decrypted message by decrypting the encrypted message based on a decryption key, decompose the message iteration count into a plurality of message chain key iteration counts, and determine the decryption key based on the plurality of message chain key iteration counts.
-
Citations
20 Claims
-
1. A computer-implemented method, comprising:
-
receiving a first encrypted message and a second encrypted message, the first and second encrypted messages encrypted according to a multi-dimensional ratcheting encryption scheme; determining, via at least one processor, which of the first encrypted message or the second encrypted message is a most-recent message; discarding, via the at least one processor, the first encrypted message and skipping decryption of the first encrypted message based at least in part on the determination that the second encrypted message is the most-recent message; extracting, via the at least one processor, a message iteration count for the second encrypted message; decomposing, via the at least one processor, the message iteration count into a plurality of message chain key iteration counts; determining, by the at least one processor, a decryption key based on the plurality of message chain key iteration counts; and generating, by the at least one processor, a decrypted message by decrypting the second encrypted message based on the decryption key. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. An apparatus, comprising:
-
at least one processor for executing stored instructions to; receive a first encrypted message and a second encrypted message, the first and second encrypted messages encrypted according to a multi-dimensional ratcheting encryption scheme; determine which of the first encrypted message or the second encrypted message is a most-recent message; discard the first encrypted message and skip decryption of the first encrypted message based at least in part on the determination that the second encrypted message is the most-recent message; extract a message iteration count for the second encrypted message; decompose the message iteration count into a plurality of message chain key iteration counts; and determine the decryption key based on the plurality of message chain key iteration counts; and generate a decrypted message by decrypting the second encrypted message based on a decryption key. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. At least one non-transitory computer-readable storage medium comprising instructions that, when executed by at least one processor, cause a system to:
-
receive a first encrypted message and a second encrypted message, the first and second encrypted messages encrypted according to a multi-dimensional ratcheting encryption scheme; determine which of the first encrypted message or the second encrypted message is a most-recent message; discard the first encrypted message and skip decryption of the first encrypted message based at least in part on the determination that the second encrypted message is the most-recent message; extract a message iteration count for the second encrypted message; decompose the message iteration count into a plurality of message chain key iteration counts; determine a decryption key based on the plurality of message chain key iteration counts; generate a decrypted message by decrypting the second encrypted message based on the decryption key. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification