1
$\begingroup$

I have high performance nodes communicating with each other sending logs and data over network. The communication is heavy and over public network.

I would like to know how to know which is the best encryption algorithm to be used to encrypt and decrypt the data so that it has minimal affect over performance simultaneous making the encrypted data unbreakable and secure?

Currently according to my survey i have considered 2 Algorithms to be best i.e. 

TwoFish - Have heard that this is the fastest
AES 128 - Have heard that this is the most efficient
AES 256 - HAve heard that this is the most secure
Any other algorithm would also do fine

Security and performance overload of the system is to be kept in mind

$\endgroup$
  • $\begingroup$ Any of those algorithms will process data faster than your network connection. I consider Twofish to be the most secure option for confidentiality. $\endgroup$ – Richie Frame Sep 9 '15 at 8:53
4
$\begingroup$

You should use AES. If you have the AES-NI instruction (which most modern chips have), then this performs very fast. For most applications today, AES-128 is certainly sufficient. However, I want to stress that it's not just the algorithm, it's also the mode of operation. You should use GCM. If you use OpenSSL then with AES-128-GCM you'll get speeds of about 0.7 cycles per byte for encryption (with AES-NI).

$\endgroup$
1
$\begingroup$

If you have hardware support for e.g. AES, that will be fast – probably the fastest you can get. New x86 processors have AES-NI, for example. You can reach at least gigabit speeds without taking up the whole CPU for encryption (more like 5-10%). In that case, you should probably use AES GCM, unless you have a good reason not to. Either AES-128 or AES-256 is believed to be secure, though the latter has more of a security margin.

If you don't, Google has found ChaCha-Poly1305 to be a good choice for performance. It is also believed to be secure, though ChaCha has seen much less cryptanalysis than AES. However, the TLS standards are still drafts at the moment.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.