Energy-aware encryption recommendation system

Recently I have been working on a project mainly in researching the potential of a system where we can automatically predict the most efficient set up to run encryption in a cloud environment.

A Mordor Intelligence report estimates the Encryption Software Market at $19.4 bn in 2025, anticipating growth to $43.9 bn by 2030 (≈ 17.8% CAGR), with cloud-specific deployment growing fastest (~24.8–27.6% CAGR).

This clearly shows the remarkable rising demand for encryption in the future. Since we are living in an era of digital data, people are more concerned with their privacy, and the volume of data that needs to be encrypted continues to grow. Meanwhile, encryption is a CPU-heavy task and consumes a huge amount of energy. In order to protect the environment by offsetting carbon footprint and save more energy, we are exploring machine learning models that can help us predict the most energy-efficient encryption setups.

There are several steps involved in preparing the data.

For cloud infrastructure, we used AWS EC2 T2.micro instances because they are free with AWS Free Tier for 1 year. Since many developers and organizations start with T2.micro due to its accessibility and low cost, we expected that our research results would be most relevant to this common use case.

For programming languages to run encryption, we selected two programming languages: C++ (compiled) and Python (interpreted). Based on other research, low-level language like C++ delivers significant better results in terms of CPU runtime compared to Python, and we want to see if this still applies in our test scenarios.

For encryption, we decided to start with AES (Advanced Encryption Standard), a symmetric algorithm widely used for bulk data encryption in applications like chat messages. Due to its popularity and significant application in many industries, we believe that the impact of our results will also be proportionally as meaningful. We decided to test 3 different key sizes (AES-128, AES-192 and AES-256). If you wonder what the key sizes are, just imagine it’s like the actual physical lock, the bigger the number, the bigger the lock. Larger keys are harder to break, but they take more time and energy to use.

For the data analysis, we used linear regression to help us validate the hypotheses. Linear regression is straightforward, computationally efficient, and ideal for initial hypothesis testing with clean datasets.

From there, we plan to build an automated prediction system using decision tree (especially random forest), to identify the most energy-efficient encryption configurations. This approach will systematically evaluate multiple factors to recommend optimal setups.

For example, if a user needs to “encrypt a 100MB file,” the system might recommend “AES-256 on EC2 t2.micro” as the optimal setup.

Our primary goal is first to lower carbon impact — more encrypted data means higher energy consumption. Secondly, we also want to emphasize the trade-off between security, cost, and sustainability. Developers often default to maximum-strength encryption regardless of need, which can be wasteful. However, this is not always true and sometimes wasteful. Not all data requires the same level of protection; the security approach should match the value and sensitivity of what’s being protected.

Sources:

https://www.mordorintelligence.com/industry-reports/encryption-software-market

Published by

Leave a comment