I would like to know if there are any effective methods to choose a cryptographic algorithm from a pool of algorithms depending on a certain situation.

Let's say we know the performances of these algorithms when encrypting or signing messages of different sizes for example (there are too many metrics other than msg size) and we want the best algorithm to do the job. Are there any machine learning methods to do this?

Thank you

  • 3
    $\begingroup$ The title and actual question seem unrelated to me. $\endgroup$ Sep 13 at 13:07
  • $\begingroup$ Sorry for the confusion with the notion of adaptive security. It's actually an adaptive architecture that can change it's cryptographic suite depending on the context, not only the continuous monitoring of threats but also in order the improve the performances. $\endgroup$
    – ditd
    Sep 13 at 13:23
  • $\begingroup$ I'm sure that you could do this, but the choice of algorithm itself would not be cryptography. We generally don't use these kind of methods as an attacker can then try and make sure that the weakest algorithm is chosen, and then attack that. Besides that, complexity is more often than not a threat to security. $\endgroup$
    – Maarten Bodewes
    Sep 15 at 23:21

There certainly are mechanisms for choosing cryptographic algorithms from a pool. The obvious example is the TLS handshake to agree on a cipher suite for a connection between two computers. The two endpoints will have a list of the ciphers that it is willing/able to support. This will be set by the policy of the device owner and may be determined by believed bit-level of security, forward security, or performance, or other factors.

The decision mechanism is essentially an "I cut you choose" method, where the client lists its supported suites in order of preference and the server selects one suite from the list.

More complex negotiations would be possible, taking more information about the performance and preferences of the endpoint, but in practice, the speed of the decision process is deemed sufficiently important to keep with the "I cut you choose" version.

I expect that companies such as Google measure the performance of their data centres and handsets in order to choose the default preferences of Chrome and Google websites to optimise performance for both. How they perform the optimisation however I do not know.

  • $\begingroup$ Thank you for your response. I will explore the protocol used in the case of TLS. In fact i was thinking about a more complex case, where two or more entities handshake in a dynamic and dense topology (vehicles for example). $\endgroup$
    – ditd
    Sep 13 at 13:19

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.