Multilevel Public Key Cryptography

Currently, we use THREE different Public Key Cryptography systems (NaCl, RSA, ECDSA) in different layers of the platform to prevent the cracking of one bringing down the whole platform.

1. Processing NaCl

The public key cryptography system in processing of data messages is NaCl based with 256-bit keys.

2. Networking RSA

The public key cryptography system for the HTTPS transport is RSA based with 2048-bit keys for HTTP Servers (from Let's Encrypt) and 4096-bit keys for HTTP Clients.

3. Storage ECDSA

The public key cryptography system for the blockchain storage is ECDSA based with 256-bit keys (from the Bitcoin Core).

4. Future Public Key Systems

For future versions of the platform, we are investing quantum-resistant cryptography (e.g. using OQS instead of RSA in the Networking layer).

The preference is to always have different public key systems handling the Processing, Networking and Storage layers.