Double-Ratchet Encryption with Epoch Key Exchange
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current end-to-end encryption methods, such as the Signal Protocol, lack formal security proofs against brute force attacks by quantum computers and have limited message loss retrieval functionality, compromising security and message order integrity.
Innovation Solution
Implementing a system that uses a pseudo-random number generator (PRG) and Continuous Key Agreement (CKA) engine to generate and refresh symmetric keys, ensuring forward secrecy and post-compromise security, while allowing immediate decryption of messages even if received out of order, through a double ratchet protocol.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If Diffie-Hellman algorithm is used for asymmetric ratcheting in Signal Protocol, then end-to-end encryption is achieved, but vulnerability to quantum computer brute force attacks increases
Solution Approach 1:
The patent transitions from traditional Diffie-Hellman parameters to post-quantum cryptographic parameters, specifically using lattice-based or code-based algorithms that are resistant to quantum computer attacks. This parameter change fundamentally alters the mathematical foundation of key agreement to provide quantum security.
Solution Approach 2:
The patent replaces the traditional Diffie-Hellman cryptographic mechanism with post-quantum cryptographic mechanisms. This substitution introduces new mathematical structures (lattices or error-correcting codes) that provide equivalent key agreement functionality but with resistance to quantum attacks.
2Reliability
If cryptographic ratchets are used to maintain security, then forward secrecy and post-compromise security are achieved, but immediate decryption and message loss retrieval functionality is lost
Solution Approach 1:
The patent performs preliminary actions by maintaining multiple key states and pre-computing potential decryption keys. When a message is received, the system proactively checks multiple possible keys in advance准备好的 manner, enabling immediate decryption without sacrificing security properties.
Solution Approach 2:
The patent introduces an intermediary mechanism that bridges cryptographic ratchets and message retrieval. This intermediary layer maintains auxiliary key information and state data that enables both secure ratcheting and efficient message loss retrieval, acting as a mediator between security and functionality.
3Reliability
If new symmetric keys are generated for every message, then encryption security is improved, but computational overhead and key management complexity increases
Solution Approach 1:
The patent segments key generation into hierarchical levels: long-lived epoch keys that change less frequently, and short-lived message keys derived from them. This segmentation reduces the total number of keys that need independent management while maintaining security through the derivation hierarchy.
Solution Approach 2:
The patent implements periodic key refreshment at epoch boundaries rather than for every single message. Epoch keys are updated periodically, and message keys are derived within each epoch, creating a rhythm of key management that balances security with operational simplicity.
Data Source
AI summary
Systems, devices, and methods are disclosed for instantaneously decrypting data in an end-to-end encrypted secure messaging session while maintaining forward secrecy and post-compromise security using a double ratchet communication protocol. Unique message keys can be generated in a predictable progression independently on each device, ratcheting keys for each message on an as-needed basis, and a seed key and state for the predictable progression can be updated based on an asymmetric key exchange between the devices, thereby serving as a second ratchet. Message keys can feed a pseudo-random number generator (PRG) to generate the next message key in a progression. A Continuous Key Agreement (CKA) engine can use an asymmetric key pair to generate a shared secret key to feed a Pseudo-Random Function (PRF-PRNG) to reset the state of the PRG and provide a refresh key to the PRG.


