1. A computer implemented method, implemented using a hardware processor, for avoiding data copying between a kernel space and a user space of an operating system comprising: maintaining a set of cryptographic algorithms in the kernel space of the operating system; receiving by a first protocol head in the user space of the operating system a request to send a data payload over a data socket; reading the data payload from at least one disk to a kernel space memory; instructing the kernel by the protocol head to perform a subset of the set of cryptographic logic on the data payload in the kernel space memory; performing by the kernel the subset of the set of cryptographic logic on the data payload, wherein the performing generates at least one of a cryptographic result and a transformed data payload; in response to generating the cryptographic result, copying the cryptographic result to a user space memory of the operating system; generating a message framing by the protocol head, wherein the message framing includes at least the cryptographic result, and wherein the message framing is stored in the user space memory; instructing the kernel to send a protocol message based on a user space supplied vector wherein the user space supplied vector includes the message framing in the user space memory and one of the data payload in the kernel space memory or the transformed data payload in the kernel space memory; assembling the protocol message in kernel memory space based on the user space supplied vector; and sending, using the hardware processor, the protocol message over the data socket.