On Wednesday 08 July 2015 01:23 PM, Herbert Xu wrote: > On Wed, Jul 08, 2015 at 03:48:05PM +0800, Herbert Xu wrote: >> On Wed, Jul 08, 2015 at 12:29:47PM +0530, Lokesh Vutla wrote: >>> >>>>> + if (req->assoclen + req->cryptlen == 0) { >>>>> + scatterwalk_map_and_copy(ctx->auth_tag, req->dst, 0, authlen, >>>>> + 1); >>>>> + return 0; >>>>> + } >>>> >>>> How can this be right? Did you enable the selftest? >>> Why not? Self tests are passed for this case. >>> >>> As per the equation given in GCM spec[1], we can see that >>> if assoclen and cryptlen is 0, then output of GCM is just E(K, Y0) >>> where Y0 = IV||(0^31)1 >>> I have E(K, Y0) calculated in previous step. And copying it >>> to destination if assoclen and cryptlen is 0. >>> >>> Correct me if I am wrong. >> >> It should be E(K, Y0) ^ GHASH(0). So unless GHASH(0) == 0, your >> code doesn't work. > > OK, GHASH(0) is indeed zero so I guess your code does work after > all. Sorry. I did not see this message and replied on the other thread. Thanks and regards, Lokesh > > Cheers, > -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html