Technical overview

 How REDDCRYPT works

REDDCRYPT is based on the PGP encryption method. This means that our solution works with a respective certificate pair – consisting of a private and a public key. However we solve the biggest problem that the established standards have: they are not operable for a “normal” (non-technical) user!

The difference between REDDCRYPT and other solutions: The entire handling of the certificates takes place automatically in the background. No user ever has to deposit a certificate somewhere or even know how the technology works. And with this approach we make e-mail encryption usable for everyone!

On this page we explain to you in detail and completely transparently how the encryption and decryption of REDDCRYPT works.

Quick overview

This happens automatically in the background

The end-to-end encryption of REDDCRYPT encrypts all e-mails already in the browser (and of course in the REDDCRYPT apps if you use them) of the user. In this way, we ensure that no unauthorized person – not even we as the platform operator – can decrypt or view the e-mails. All e-mails are encrypted on their way to and from the server.

Generating a key pair
By registering on the REDDCRYPT app a key pair is generated locally on your device. The private key is encrypted with your password key and is uploaded to our servers together with your public key.
Encrypting emails
When writing emails these are encrypted locally on your device and then transferred to the REDDCRYPT servers. The encryption takes place with the recipient’s public key or a passphrase.
Decrypting emails
After the recipient is authenticated in the REDDCRYPT app the email is downloaded in the background and decrypted with the private key. Alternatively, the recipient has to enter the passphrase.

In detail

Creating a key pair

Every REDDCRYPT user generates a key pair when first using REDDCRYPT. This RSA key pair consists of a private and a public key and is generated from the combination of the user’s email address and a chosen password.

The generation of the key pair takes place locally on your device.

Register Keypair

A password key and password hash are created by key derivation from the user’s password.

The password key is used to encrypt the private key. This ensures that the private key can only be used after the password is entered.

The password hash is necessary to authenticate the user in the REDDCRYPT app. We use a hash value so that the actual password of the user is never transferred. Furthermore, a hash value is much more secure as it has higher entropy – more randomness – compared to passwords in plain text.

The private key, encrypted by the password key, is transferred to the REDDCRYPT servers together with the public key.

Data protection: What data we store and how we protect it

Fundamentally, the REDDOXX App serves to store and transfer encrypted emails. For our service to work smoothly and on different devices we have to store some data.

Email Address
The email address is required to log in to the REDDCRYPT app.

Public Key
We store your public key unencrypted. This is uncritical as public keys don’t contain any sensitive information. It is in their nature to be unencrypted so that other users can use them to send you encrypted emails.

Private Key
Your private key has already been encrypted locally on your device with the password key. This encrypted private key is transferred to us and stored securely.

Password Hash
In order to encrypt and decrypt an email the REDDCRYPT user’s password is mandatory. This password has already been hashed on your device and is hashed again on our servers.

Encrypted Email
To improve the user experience we store encrypted mails on our servers. This allows recipients to access and read emails instantly from any device via web browser. Emails have already been encrypted in a container on your device before being transferred to us.

What if REDDCRYPT were hacked?

The simple answer: nothing! As all data on our servers is additionally encrypted potential attackers would only be able to see your email adress and 'waste data'. It is impossible to restore or calculate the real plain text password from the password hash stored on our servers. This ensures that a hacker would be unable to read the encrypted emails because he would require a user's password to decrypt the private key (and the emails respectively).

Zero knowledge – Full control over your emails

REDDCRYPT is a so-called zero-knowledge provider. All private and sensitive information are fully encrypted before being transferred to REDDCRYPT. The important thing about about the zero-knowledge technique is the fact that we neither know your password  nor is it being transferred to us at any point. Thus, we do not have access to your emails.

The encryption and decryption of your emails happens 100% locally on your device.

Every decryption starts with the user’s password key which is necessary to decrypt the private key, which – again – is necessary to decrypt the encrypted email.
This is further evidence of the zero-knowledge technique as your keys, despite being stored on our servers, can only be used in combination with your password.

Only your public key is stored unencrypted on our servers so that other REDDCRYPT users can use it to send you encrypted emails.

Security – Your password stays with you

As mentioned, the encryption and decryption of the emails only works if you authenticate with your email address and password in the REDDCRYPT App. Your password never leaves your device. As part of the zero-knowledge technique

Your password is needed in two cases: To authenticate in the REDDCRYPT app and to decrypt your private key. As part of the zero-knowledge technique a password key and a password hash are generated from your password through key derivation.

When logging in to the REDDCRYPT app a password hash is derived from the combination of your email address and a password and then transferred to us. If the hash value matches the hash value stored on our servers, access to your encrypted emails will be granted. If the hash value does not match access will be denied.

In order for the emails to be automatically decrypted on your device the derived password key is used

The authentication process for accessing the REDDCRYPT app

If a user accesses the REDDCRYPT app, the following happens:

  1. A password hash is derived from the password entered on the user’s device
  2. The entered email address and password hash are sent to the REDDCRYPT server
  3. The password hash is hashed again on the server
  4. On the server the hashed password hash is compared to the hash value stored in our database. If both values match, the entered password is correct and the user’s authentication is successful.

If the user’s authentication is successful he is granted access to the encrypted emails. To decrypt these emails the private key is needed which is automatically downloaded in the background to your device and decrypted with the password key.

Why happens when clicking the 'Forgot Password' option?

Since your password does not leave your device and is completely unknown to us there is no way we can recover your password. So what happens if you generate a new password via "Forgot password"? When you generate a new password you will be treated like a new user and new certificates (including password hash and password key) will be generated for you - of course fully automated. Please note that you can no longer decrypt your old emails when new certificates are generated.

Functionality: Client-side encryption

After successful authentication a random session key is generated on the user’s device with which the email is encrypted for the first time. To make sure that nobody else besides the recipient gains access to the email’s content, the session key is also encrypted.

Recipient is already REDDCRYPT user
Upon entering the recipient’s email address a request is send to REDDCRYPT’s key server. If the recipient is already a user of REDDCRYPT, his public key is already stored on our servers and is downloaded to encrypt the session key.

If the recipient is already a user of REDDCRYPT, his public key is already stored on our servers and is downloaded to encrypt the session key

Recipient is not yet a REDDCRYPT user
If no public key is available for the entered email address the sender has to define a random passphrase with which the session key is encrypted.

If no public key is available for the entered email address the sender has to define a random passphrase

On Sending
When the REDDCRYPT user clicks send the encrypted email and the encrypted session key are bundled in a container which is then transferred to the REDDCRYPT server.

Functionality: Client-side decryption

How the email is decrypted depends on whether the recipient has already been a REDDCRYPT user at the time of the email’s sending.

The recipient is already a REDDCRYPT user and has a key pair
After the recipient’s successful authentication on the REDDCRYPT app the private key and container are downloaded. Afterwards, the private key is decrypted with the password key which was derived upon authentication. The password key is now used to to decrypt the session key.

The decrypted session key is used to decrypt the encrypted email. The complete process takes place in the background and the email opens automatically afterwards.

Mail is decrypted

The recipient is not a REDDCRYPT user yet and does not have a key pair
The user generates a key pair for authentication on the REDDCRYPT app. This process is similar to a traditional registration process for the user. Afterwards the user authenticates on the REDDCRYPT app and the container is downloaded in the background.

As the session key has not been encrypted with a public key but with a passphrase this passphrase is needed for decryption. After the passphrase is correctly entered the decrypted session key is used to decrypt the email.

Enter passphrase for decryption