Hermes: A reversible language for lightweight encryption

Publikation: Bidrag til tidsskriftTidsskriftartikelForskningfagfællebedømt

Dokumenter

  • Fulltext

    Accepteret manuskript, 392 KB, PDF-dokument

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.

OriginalsprogEngelsk
Artikelnummer102746
TidsskriftScience of Computer Programming
Vol/bind215
Antal sider26
ISSN0167-6423
DOI
StatusUdgivet - 2022

Bibliografisk note

Funding Information:
We thank our colleagues Ken Friis Larsen and Michael Kirkedal for co-supervising some student projects about Hermes and for fruitful discussions, and we thank the students who worked on these projects. Thanks in particular to students Jonas Gr?nborg and Christian Marslev, who ported the current compiler to ARM.

Publisher Copyright:
© 2021 Elsevier B.V.

ID: 307004207