Be certain that we are really talking about the
kernel's implementation of these ciphers, which are necessarily used for things like VPN, versus the
user space implementation of many of these same ciphers.
The bottom line for you, though, Aliasgar, is simply that ...
ummm... "
you have a
bug in your code."
The easiest solution is ...
grep the kernel source-tree to find other examples where these routines are used successfully, and very faithfully and very precisely
imitate them. Crypto debugging always sux ...
... because you can only see that your code
is wrong, but not
why.