Secure PGP-Encrypted Messaging App Development

Job ID: 38716962

Budget: £250 – £750 GBP

Job Title:
Build a Secure Messaging App with PGP Encryption (User-to-User Messaging)

Job Description:
I am looking for an experienced developer to build a highly secure messaging app that uses PGP encryption for user-to-user communication. Each user must be able to encrypt and decrypt messages using their public/private key pairs. The app must ensure the highest level of security and encryption standards throughout the messaging process.

Project Scope:

1. Key Generation:

Implement a system where users generate their PGP key pair (public/private) upon registration.

Public keys are shared for encryption, while private keys remain securely stored or managed by the user.



2. Encryption/Decryption:

Users will encrypt messages using the recipient's public key.

Only the recipient can decrypt the message using their private key and passphrase.



3. Message Signing (Optional):

Provide the ability for users to sign their messages with their private key for authenticity.

Recipients should be able to verify the signature using the sender’s public key.



4. Backend:

Build a secure backend (using Django, Flask, or Node.js) to handle:

User registration and key generation.

Encrypted message storage.

Retrieval of messages for decryption by the recipient.


Use secure databases (e.g., PostgreSQL with encryption enabled) to store:

Users’ public keys.

Encrypted messages.




5. Frontend:

Design a clean and intuitive messaging interface.

Implement message encryption, decryption, and signing functionality in the user interface.



6. Security Considerations:

Ensure end-to-end encryption for all communications between users.

Use HTTPS for all communications between frontend and backend.

Store private keys securely, or allow users to manage them locally if needed.

Implement strong authentication (e.g., 2FA) and encryption mechanisms to safeguard user data.




Preferred Skills:

Experience with PGP encryption and GPG libraries (e.g., python-gnupg).

Strong knowledge of secure communication protocols and data protection best practices.

Proficient in backend development with frameworks like Django, Flask, or Node.js.

Frontend development experience (e.g., React, Vue, or Angular) to create the messaging UI.

Familiarity with database encryption and secure storage solutions.


Deliverables:

A fully functioning, secure messaging app with PGP encryption for user-to-user communication.

Backend and frontend implementation with complete encryption, decryption, and signing features.

Well-documented code and instructions for deploying the app.


Please provide your relevant experience, estimated time to complete the project, and any questions you may have.