AES256
<aside> 💡
1.AES-GCM: Offers both encryption and authentication in a single operation.
2.AES-CBC: A widely used mode, but requires a padding scheme
</aside>
1.RSA
2.ECDSA
3.Ed25519
comparing RSA, ECDSA, and Ed25519 to determine the most suitable option:
RSA is a widely used asymmetric encryption algorithm that provides good security and is supported by many platforms and applications. It is suitable for encrypting small amounts of data, such as symmetric keys. However, RSA can be computationally intensive for encrypting large shards directly.
ECDSA is an elliptic curve-based digital signature algorithm primarily used for authentication and integrity. While it can be used for encryption, it is not as widely adopted as RSA or Ed25519 for this purpose. ECDSA may not be the best choice for encrypting shards due to its limited adoption for encryption use cases.
Ed25519 is an elliptic curve-based digital signature algorithm that is gaining popularity due to its strong security properties and performance advantages. While Ed25519 is designed for signing, it can be used for encryption by converting the Ed25519 keys to X25519 keys and using them for key exchange
.For encrypting shards of data,
Ed25519 combined with X25519 for key exchange
is a suitable choice: