Problem Statement
Which encryption algorithm AES256(ECB mode), ChaCha 256 (20 rounds), Speck 256 (ECB mode) and Speck small 256 (ECB mode) would produce the best performance results (encryption/decryption time, memory power, power usage)?
Expected Contribution
Performance comparison of four encryption algorithms AES256(ECB mode), ChaCha 256 (20 rounds), Speck 256 (ECB mode) and Speck small 256 (ECB mode) implemented on an electronics platform (Arduino Mega).
Methodology
To measure the performance of algorithm we need to measure encryption/decryption time, memory, power usage.
Encryption/decryption time can be measured by using function micros (), which is included in Arduino Language.
The Arduino IDE shows both the amount of Flash memory and SRAM memory that a sketch will use after compiling (see Figure 3.13). The amount of sram memory used does not include local variables, however, the compiler message shows the amount of sram left for local variables.
To measure power consumption, we obtained the values for voltage and current from the METRAHit 16S – analog-digital multimeters [30]. Power consumption P was estimated using the following equation:
P = V * I,
where V and I refer to voltage and current respectively.
For implementation of four algorithms AES256(ECB mode), ChaCha 256 (20 rounds), Speck 256 (ECB mode) and Speck small 256 (ECB mode) we used available libraries:
https://rweather.github.io/arduinolibs/crypto.html
As a hardware platform for implementation, an open-source electronics platform Arduino Mega was chosen. Collected data stored in the file system for producing graphs and analysis the observation.
Results of measuring the performance of algorithms are used for generating plots such as an example below: (Ini contoh result dari encryption/decryption time, memory power, power usage) yang diletakkan dalam graph.
Then result boleh display in table juga. Macam contoh table di bawah:
Delivery term: Not specified