A method for accelerating compute intensive operations, comprising: generating, via a first circuitry (215, 212) of a server, respective job execution commands, in response to receiving input data communicated by a computing device, the input data being at least a portion of data on which the computing device requires encryption or decryption operations to be performed; transmitting, via the first circuitry (215,212), respective portions of the input data and the respective job execution commands to a plurality of solid state drives (301 1...301 n), wherein each job execution command is configured to specify the type of encryption or decryption operations to be performed on an associated portion of the input data, and a description of the associated portion of the input data on which the encryption or decryption operations are to be performed; transmitting, via a controller of an associated solid state drive (301 1...301 n), in response to receiving the associated job execution command from the first circuitry (215,212), the associated portion of the input data to a hardware acceleration engine of the said solid state drive (301 1...301 n), the hardware acceleration engine adapted to accelerate execution, via hardware, of at least one encryption or decryption algorithm on the input data, the hardware acceleration engine configured to perform the encryption or decryption operations at a higher processing speed compared to the computing device; performing, by the hardware acceleration engine, at least encryption or decryption operations on the associated portion of the input data, which is stored in a non-volatile memory of the said solid state drive (301 1...301 n); executing, by the hardware acceleration engine, the encryption or decryption operations on the associated portion of the input data to generate associated output data, wherein the generated associated output data is not stored in the non-volatile memory of said solid state drive (301 1...301 n); providing, by the controller, said generated associated output data to said server via said first circuitry (215,212); and providing, by the server, said generated associated output data to the computing device. generating, via a first circuitry (215, 212) of a server, respective job execution commands, in response to receiving input data communicated by a computing device, the input data being at least a portion of data on which the computing device requires encryption or decryption operations to be performed; transmitting, via the first circuitry (215,212), respective portions of the input data and the respective job execution commands to a plurality of solid state drives (301 1...301 n), wherein each job execution command is configured to specify the type of encryption or decryption operations to be performed on an associated portion of the input data, and a description of the associated portion of the input data on which the encryption or decryption operations are to be performed; transmitting, via a controller of an associated solid state drive (301 1...301 n), in response to receiving the associated job execution command from the first circuitry (215,212), the associated portion of the input data to a hardware acceleration engine of the said solid state drive (301 1...301 n), the hardware acceleration engine adapted to accelerate execution, via hardware, of at least one encryption or decryption algorithm on the input data, the hardware acceleration engine configured to perform the encryption or decryption operations at a higher processing speed compared to the computing device; performing, by the hardware acceleration engine, at least encryption or decryption operations on the associated portion of the input data, which is stored in a non-volatile memory of the said solid state drive (301 1...301 n); executing, by the hardware acceleration engine, the encryption or decryption operations on the associated portion of the input data to generate associated output data, wherein the generated associated output data is not stored in the non-volatile memory of said solid state drive (301 1...301 n); providing, by the controller, said generated associated output data to said server via said first circuitry (215,212); and providing, by the server, said generated associated output data to the computing device.