Patent ID: 9563785
Date: 2017-02-07
CPC Classifications: G06F,H04L

Claim:
1. A non-transitory computer readable medium comprising instructions that are executed in a computer system to carry out a method of encrypting write data and decrypting read data in an input-output (IO) path between an application and a file system driver, said method comprising: receiving a write IO operation from the application; reading contents of a first file block targeted by the write IO operation; determining whether or not the first file block contains all zeroes; if the first file block does not contain all zeroes, encrypting the first file block and issuing the write IO operation with the first file block in encrypted form to the file system driver, and if the first file block contains all zeroes, bypassing the encryption and issuing the write IO operation with the first file block in unencrypted form to the file system driver; receiving a read IO operation from the application; reading contents of a second file block targeted by the read IO operation; determining whether or not the second file block contains all zeroes; and if the second file block does not contain all zeroes, decrypting the second file block and returning the decrypted contents of the second file block as read data, and if the second file block contains all zeroes, bypassing the decryption and returning zeroes as the read data.