"authenc" and "hmac" are templates, not different implementations of a cipher. Please take a look at: https://kernel.readthedocs.io/en/sphinx-samples/crypto-API.html#terminology On Thu, Apr 6, 2017 at 9:56 AM, Harsh Jain <harshjain.prof@xxxxxxxxx> wrote: > On Tue, Apr 4, 2017 at 6:07 PM, Stephan Müller <smueller@xxxxxxxxxx> wrote: >> Am Dienstag, 4. April 2017, 09:53:17 CEST schrieb Harsh Jain: >> >> Hi Harsh, >> >>> Hi, >>> >>> Do we have any guidelines documented to decide what should be the >>> algorithm priority. Specially for authenc implementation.Most of the >>> drivers have fixed priority for all algos. Problem comes in when we >>> have cbc(aes), hmac(sha1) and authenc(cbc(aes),hmac(sha1)) >>> implementation in driver. Base authenc driver gets more precedence >>> because of higher priority(enc->base.cra_priority * 10 + >>> auth_base->cra_priority;) >>> >>> What should be the priority of >>> cbc(aes), >>> hmac(sha1) >>> authenc(cbc(aes),hmac(sha1)) >> >> There is no general rule about the actual numbers. But commonly, the prios are >> set such that the prios of C implementations < ASM implementations < hardware >> accelerators. The idea is to give users the fastest implementation there is >> for his particular system. > > It means cbc, hmac should have smaller(nearly 10 times less) priority > than their authenc implementation otherwise request will not offload > to driver because sw authenc priority is (aes * 10 + hmac). > >> >> Ciao >> Stephan