FACE: Fast AES CTR mode Encryption Techniques based on the Reuse of Repetitive Data
The Advanced Encryption Standard (AES) algorithm and Counter (CTR) mode are used for numerous services as an encryption technique that provides confidentiality. Even though the AES with counter (AES CTR) mode has an advantage in that it can process multiple data blocks in parallel, its implementati...
Main Authors: | , |
---|---|
Format: | Article |
Language: | English |
Published: |
Ruhr-Universität Bochum
2018-08-01
|
Series: | Transactions on Cryptographic Hardware and Embedded Systems |
Subjects: | |
Online Access: | https://tches.iacr.org/index.php/TCHES/article/view/7283 |
id |
doaj-4b8651ff855c4878bf8cabb7a729583b |
---|---|
record_format |
Article |
spelling |
doaj-4b8651ff855c4878bf8cabb7a729583b2020-11-25T02:58:43ZengRuhr-Universität BochumTransactions on Cryptographic Hardware and Embedded Systems2569-29252018-08-012018310.13154/tches.v2018.i3.469-499FACE: Fast AES CTR mode Encryption Techniques based on the Reuse of Repetitive DataJin Hyung Park0Dong Hoon Lee1Center for Information Security Technologies, Korea University, SeoulCenter for Information Security Technologies, Korea University, Seoul The Advanced Encryption Standard (AES) algorithm and Counter (CTR) mode are used for numerous services as an encryption technique that provides confidentiality. Even though the AES with counter (AES CTR) mode has an advantage in that it can process multiple data blocks in parallel, its implementation should also be observed to reduce the computational burden of current services. In this paper, we propose an implementation method called FACE that can improve the performance of the AES CTR mode. The proposed method is based on five caches of frequently occurring intermediate values, so that it reduces the number of unnecessary computations. Our method can be employed in any AES CTR implementation, regardless of the platform, environment, or implementation method. There are two known AES implementation techniques, namely, counter-mode caching and bitslicing. FACE extends counter-mode caching in order to optimize the previous result and to maximize the scope of caching. We show that FACE can be applied efficiently to various implementations (table-based, bitsliced, and AES-NI-based). In particular, this is the first attempt to combine our extended counter-mode caching with bitsliced implementations of AES, and is also the first to apply counter-mode caching up to the round transformations of AES-NI implementation. To prove the efficiency of our proposed method, we conduct a performance evaluation in various environments, which we then compare with the previous fastest results. Our bitsliced FACE needs 6.41 cycles/byte on an Intel Core 2, and AES-NI-based FACE records 0.44 cycles/byte on an Intel Core i7. https://tches.iacr.org/index.php/TCHES/article/view/7283AEScounter modeefficient software implementationAES bitslicingAES-NI |
collection |
DOAJ |
language |
English |
format |
Article |
sources |
DOAJ |
author |
Jin Hyung Park Dong Hoon Lee |
spellingShingle |
Jin Hyung Park Dong Hoon Lee FACE: Fast AES CTR mode Encryption Techniques based on the Reuse of Repetitive Data Transactions on Cryptographic Hardware and Embedded Systems AES counter mode efficient software implementation AES bitslicing AES-NI |
author_facet |
Jin Hyung Park Dong Hoon Lee |
author_sort |
Jin Hyung Park |
title |
FACE: Fast AES CTR mode Encryption Techniques based on the Reuse of Repetitive Data |
title_short |
FACE: Fast AES CTR mode Encryption Techniques based on the Reuse of Repetitive Data |
title_full |
FACE: Fast AES CTR mode Encryption Techniques based on the Reuse of Repetitive Data |
title_fullStr |
FACE: Fast AES CTR mode Encryption Techniques based on the Reuse of Repetitive Data |
title_full_unstemmed |
FACE: Fast AES CTR mode Encryption Techniques based on the Reuse of Repetitive Data |
title_sort |
face: fast aes ctr mode encryption techniques based on the reuse of repetitive data |
publisher |
Ruhr-Universität Bochum |
series |
Transactions on Cryptographic Hardware and Embedded Systems |
issn |
2569-2925 |
publishDate |
2018-08-01 |
description |
The Advanced Encryption Standard (AES) algorithm and Counter (CTR) mode are used for numerous services as an encryption technique that provides confidentiality. Even though the AES with counter (AES CTR) mode has an advantage in that it can process multiple data blocks in parallel, its implementation should also be observed to reduce the computational burden of current services.
In this paper, we propose an implementation method called FACE that can improve the performance of the AES CTR mode. The proposed method is based on five caches of frequently occurring intermediate values, so that it reduces the number of unnecessary computations. Our method can be employed in any AES CTR implementation, regardless of the platform, environment, or implementation method. There are two known AES implementation techniques, namely, counter-mode caching and bitslicing. FACE extends counter-mode caching in order to optimize the previous result and to maximize the scope of caching. We show that FACE can be applied efficiently to various implementations (table-based, bitsliced, and AES-NI-based). In particular, this is the first attempt to combine our extended counter-mode caching with bitsliced implementations of AES, and is also the first to apply counter-mode caching up to the round transformations of AES-NI implementation. To prove the efficiency of our proposed method, we conduct a performance evaluation in various environments, which we then compare with the previous fastest results. Our bitsliced FACE needs 6.41 cycles/byte on an Intel Core 2, and AES-NI-based FACE records 0.44 cycles/byte on an Intel Core i7.
|
topic |
AES counter mode efficient software implementation AES bitslicing AES-NI |
url |
https://tches.iacr.org/index.php/TCHES/article/view/7283 |
work_keys_str_mv |
AT jinhyungpark facefastaesctrmodeencryptiontechniquesbasedonthereuseofrepetitivedata AT donghoonlee facefastaesctrmodeencryptiontechniquesbasedonthereuseofrepetitivedata |
_version_ |
1724705419695226880 |