Abstract
With the existence of communication comes the need to protect confidential data. The technology to secure data from unauthorized third parties needs to advance as communication technology and data processing capabilities are improved. The way that encryption evolves is by making, with newer methods, harder for an agent to brute-force [1] confidential data from its encrypted form. This involves developing complex mathematical algorithms to ensure this process is time-consuming. There are many implementations of these algorithms publicly available, each implementation having different performance and security characteristics. None of these commonly used methods are designed with multi-tiered storage systems in mind. However, if selected and applied smartly, these methods can provide predictable security and both CPU and I/O performance benefits that a naive approach wouldn’t provide. In this project, we design and implement HEncrypt: a single library that can dynamically choose the best method for data encryption on multi-tiered storage systems following one of two main directives: minimize the amount of time spent encrypting given a protection level, or maximize the protection level given a maximum time frame for the encryption process. The data will subsequently be encrypted and stored encrypted on the various storage devices.