A new project: Secure Email [S-Mail]

So I’ve recently started a new, open-source project called S-Mail. It’s is an attempt to create a standard email service (based on standard postfix/SMTP) but also provide a web front end for secure email delivery. Upon joining, a 2048 bit RSA key pair is generated (via JavaScript) and the private key is encrypted with AES-256-CBC with the SHA256 hash of your password. The server stores your public key, a triple SHA256 hash of your password (so it doesn’t have your encryption key), and your encrypted private key. When an external email is received, it is encrypted with your public key and stored only in that format. When sending a local email, the server sends the recipient’s public key to you so that you can encrypt it locally first before sending it. You can also verify the key identities of the recipients by verifying the little word phrases which summarize your public key.

This service is really lacking features as it is the most basic start of a project possible but I’m attempting to at least develop a basic framework that people could theoretically use to exchange secure messages without having to exchange asymmetric keys. The “key” to making this system work includes choosing a strong passphrase to begin with and verifying a recipient’s key id.

The source code: Fossjon GitHub S-Mail

Below are some screenshots of the service working:

Joining
smail-join

Login
smail-login

Empty inbox
smail-inbox

External SMTP Receive
gmail-send

Inbox Receive
smail-inbox1

External SMTP Read
smail-reade

External SMTP Send
smail-send

Reading the external email
gmail-read

Internal SMTP Send
smail-local

Internal SMTP Read
smail-sread

3 thoughts on “A new project: Secure Email [S-Mail]

  1. Hi, I have a few questions. Is there a webservice where I could test this? Also, if release, would this be free or a subscription base service?

    Thanks.

Leave a reply to fossjon Cancel reply