RippleMessengerClient offers a decentralized, secure messaging solution leveraging blockchain technology. With local account generation, end-to-end encryption, and private data storage, this platform ensures user anonymity and data security. Featuring bulletin publishing and file transfer capabilities, it is designed for reliability and privacy in communication.
RippleMessengerClient
RippleMessengerClient is a unique blockchain-based messaging platform that prioritizes user privacy and security by allowing local account generation, enabling anonymous usage, and providing end-to-end encrypted communication. Its innovative features cater to modern communication needs while ensuring data integrity and security. Below are the key functionalities:
Key Features
- Local Account Creation: Users can generate accounts without the need for phone authentication or biometric verification, ensuring true anonymity in personal interactions.
- Local Data Storage: All data, including bulletins, private messages, group chats, and files, are stored locally, enhancing data security and providing users full control over their information.
- Private Deployment: The data exchange services can be privately deployed. For easy deployment, refer to the RippleMessengerServer, lowering operational costs and ensuring uninterrupted service without relying on third-party providers.
- Bulletin Feature: This feature replicates functionalities found in platforms like Twitter and blogs, allowing users to share updates that travel with them, maintaining data autonomy.
- Secure Chat: Implementing 256-bit AES encryption, this platform guarantees that chat content remains visible only to the participants involved. Communication data is owned by the users, reinforcing privacy.
- File Sharing: The platform supports file transfers of up to 64MB, all protected through end-to-end encryption to ensure confidentiality.
- Compact Software: The client application has a small footprint, with an executable size of only 5MB, and prioritizes security and openness.
Bulletin Data Structure
The bulletin data format is defined as follows:
const BulletinSchema = {
"type": "object",
"required": ["ObjectType", "Sequence", "PreHash", "Content", "Timestamp", "PublicKey", "Signature"],
"maxProperties": 10,
"properties": {
"ObjectType": { "type": "number", "const": ObjectType.Bulletin },
"Sequence": { "type": "number" },
"PreHash": { "type": "string" },
"Content": { "type": "string" },
"Tag": { "type": "array", "minItems": 1, "items": { "type": "string" } },
"Quote": { "type": "array", "minItems": 1, "items": { "type": "object", "required": ["Address", "Sequence", "Hash"], "properties": { "Address": { "type": "string" }, "Sequence": { "type": "number" }, "Hash": { "type": "string" } } }},
"File": { "type": "array", "minItems": 1, "items": { "type": "object", "required": ["Name", "Ext", "Size", "Hash"], "properties": { "Name": { "type": "string" }, "Ext": { "type": "string" }, "Size": { "type": "number" }, "Hash": { "type": "string" } } }},
"Timestamp": { "type": "number" },
"PublicKey": { "type": "string" },
"Signature": { "type": "string" }
}
};
Private Chat
To facilitate private conversations, end-to-end encryption is achieved through a secure process involving Diffie-Hellman key exchange:
- Key Exchange: Users securely share a symmetric encryption key (256-bit AES key).
- Message Encryption: Utilized shared session keys for encrypting content.
Group Chat Functionality
Building on the private chat mechanism, group chats enable multiple participants to communicate securely, addressing modern collaborative demands.
For detailed implementation and customization opportunities, the source code is open for contributions and enhancements. Contributions are welcome, and support for the project can be extended through donations.
No comments yet.
Sign in to be the first to comment.