Hermes: A reversible language for lightweight encryption
Research output: Contribution to journal › Journal article › Research › peer-review
Documents
- Fulltext
Accepted author manuscript, 392 KB, PDF document
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.
Original language | English |
---|---|
Article number | 102746 |
Journal | Science of Computer Programming |
Volume | 215 |
Number of pages | 26 |
ISSN | 0167-6423 |
DOIs | |
Publication status | Published - 2022 |
Bibliographical note
Publisher Copyright:
© 2021 Elsevier B.V.
- Domain-specific languages, Lightweight encryption, Reversible programming languages, Side-channel attacks
Research areas
ID: 307004207