Please enable JavaScript in your browser for better use of the website!

Cryptographic Algorithms Recommendations

Connect.Protect

Cryptographic algorithms have been around for a while and are being use in more applications every day. The presence of a cryptographic function within any system gives users and operators a sense of increased security and privacy, and while that’s true for some cases, it’s not a valid assumption for all cryptographic algorithms. As all other technical security measures, cryptographic algorithms change, they get old, they can be broken and sometimes they simply can’t keep up with the advances in technology. Not every cryptographic algorithm is a secure one, and even for the ones considered secure, not all operation modes are secure by default. In this page, we will present a set of recommendations in regards to various popular cryptographic algorithms and their operation modes. These recommendations are based on the current best practices and will be updated as needed.

This document doesn’t go into details about the different cryptographic algorithms, basics concepts related to cryptography or other related topics, if you need to learn more about that you can check the links at the end of this page for a starting point. The rest of this document assumes the reader understands the different terms and is aware of the implementation details for various algorithms.

AlgorithmOperationRecommendationAlternative
DESEncryptionAvoidAES
3DESEncryptionAvoidAES
RC4EncryptionAvoidAES
SKIPJACKEncryptionAvoidAES
CAST-128

CAST-256
EncryptionAcceptableAES
AES-CBC mode

AES-GCM mode
Encryption

Authenticated encryption
AcceptableAES-GCM

---
DH-768, -1024

RSA-768, -1024

DSA-768, -1024
Key exchange

Encryption

Authentication
AvoidDH-3072 (Group 15)

RSA-3072

DSA-3072
DH-2048

RSA-2048

DSA-2048
Key exchange

Encryption

Authentication
AcceptableECDH-256



ECDSA-256
DH-3072

RSA-3072

DSA-3072
Key exchange

Encryption

Authentication
AcceptableECDH-256



ECDSA-256
MD5IntegrityAvoidSHA-256
SHA-1IntegrityLegacySHA-256
SHA-256

SHA-384

SHA-512
IntegrityAcceptableSHA-384



HMAC-MD5 IntegrityLegacyHMAC-SHA-256
HMAC-SHA-1 IntegrityAcceptableHMAC-SHA-256
HMAC-SHA-256 IntegrityAcceptable
ECDH-256

ECDSA-256
Key exchange

Authentication
AcceptableECDH-384

ECDSA-384
ECDH-384

ECDSA-384
Key exchange

Authentication
Acceptable