Chat Room Message Encryption with Shared Key Generation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing message encryption methods with full forward secrecy require multiple encryption steps, leading to inefficiencies in network usage and encryption time when sending messages to multiple recipients.
Innovation Solution
A method and system that reduces the number of encryption steps by using a shared message encryption key generated through a key generator based on timestamp-based random numbers, allowing efficient key sharing among participants in a chat room.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If forward secrecy is applied by encrypting one message N times for N recipients, then security is improved, but network usage efficiency deteriorates
Solution Approach 1:
The patent segments the encryption process by introducing a key generator terminal that separately generates and manages message encryption keys. Instead of each terminal performing full encryption N times, the system divides the work: the key generator creates unique encryption keys for each recipient, while other terminals only need to encrypt once using their shared secret key. This segmentation maintains security while reducing network encryption overhead.
Solution Approach 2:
The patent introduces a key generator terminal as an intermediary component. This intermediary terminal receives public keys from all recipients, generates appropriate message encryption keys, and distributes them. This mediator approach allows the system to achieve forward secrecy without requiring every terminal to perform N encryption operations, thereby improving network efficiency while maintaining security.
2Reliability
If forward secrecy is applied by encrypting one message N times for N recipients, then security is improved, but encryption time increases
Solution Approach 1:
The encryption process is segmented into key generation and message encryption phases. The key generator terminal performs the computationally intensive key generation work once, creating message encryption keys that are then reused. Other terminals only perform lightweight encryption operations using their shared secret keys, dramatically reducing total encryption time while maintaining the security benefits of forward secrecy.
Solution Approach 2:
The system performs preliminary key generation action by having the key generator terminal create message encryption keys in advance before actual message transmission. This preliminary action allows subsequent message encryptions to use pre-generated keys, reducing the time required for each message transmission while ensuring that unique encryption keys are available for each recipient, thus maintaining forward secrecy.
3Productivity
If a shared message encryption key is generated through a key generator, then network efficiency is improved, but key management complexity increases
Solution Approach 1:
The key generator terminal performs multiple functions: it generates shared secret keys through key exchange, creates message encryption keys based on those shared secrets, and distributes the appropriate keys to recipients. This multi-functional approach consolidates key management tasks into a single terminal, improving network efficiency by eliminating the need for multiple terminals to perform complex key management operations independently.
Data Source
AI summary
There is provided a method for encrypting a message, performed by a computing device. The method may comprise receiving a public signature key and a public mid term key, which are generated in a terminal, from the terminal and storing them; forwarding the stored public signature key and the stored public mid term key to all terminals participating in a chat room; designating a key generator based on a timestamp-based first random number value included in all the terminals; and generating a message encryption key by using a private mid term key of the designated key generator, wherein the message encryption key is shared is all the terminals.


