Hermes: A reversible language for lightweight encryption
Research output: Contribution to journal › Journal article › Research › peer-review
Standard
Hermes : A reversible language for lightweight encryption. / Mogensen, Torben Ægidius.
In: Science of Computer Programming, Vol. 215, 102746, 2022.Research output: Contribution to journal › Journal article › Research › peer-review
Harvard
APA
Vancouver
Author
Bibtex
}
RIS
TY - JOUR
T1 - Hermes
T2 - A reversible language for lightweight encryption
AU - Mogensen, Torben Ægidius
N1 - Publisher Copyright: © 2021 Elsevier B.V.
PY - 2022
Y1 - 2022
N2 - Hermes is a domain-specific language for writing lightweight encryption algorithms: It is reversible, so it is not necessary to write separate encryption and decryption procedures. Hermes uses a type system that avoids several types of side-channel attacks, by ensuring no secret values are left in memory and that operations on secret data spend time independent of the value of this data, thus preventing timing-based attacks. We show a complete formal specification of Hermes, argue absence of timing-based attacks (under reasonable assumptions), and compare implementations of well-known lightweight encryption algorithms in Hermes and C.
AB - Hermes is a domain-specific language for writing lightweight encryption algorithms: It is reversible, so it is not necessary to write separate encryption and decryption procedures. Hermes uses a type system that avoids several types of side-channel attacks, by ensuring no secret values are left in memory and that operations on secret data spend time independent of the value of this data, thus preventing timing-based attacks. We show a complete formal specification of Hermes, argue absence of timing-based attacks (under reasonable assumptions), and compare implementations of well-known lightweight encryption algorithms in Hermes and C.
KW - Domain-specific languages
KW - Lightweight encryption
KW - Reversible programming languages
KW - Side-channel attacks
U2 - 10.1016/j.scico.2021.102746
DO - 10.1016/j.scico.2021.102746
M3 - Journal article
AN - SCOPUS:85120939183
VL - 215
JO - Science of Computer Programming
JF - Science of Computer Programming
SN - 0167-6423
M1 - 102746
ER -
ID: 307004207