@inproceedings{8936e4cbc4c7449fb2a8496e45769a6b,
title = "Hermes: A Reversible Language for Writing Encryption Algorithms (Work in Progress)",
abstract = "We describe the programming language Hermes, which is designed for writing private-key encryption algorithms. Specifically, every program written in Hermes is reversible: It can run equally well forwards and backwards. This means that you only write the encryption algorithm and get the decryption algorithm for free. Hermes also ensures that all variables are cleared after use, so the memory will not contain data that can be used for side-channel attacks. Additionally, to prevent side-channel attacks that extract information from running times, control structures that may give data-dependent execution times are avoided.",
author = "Mogensen, {Torben {\AE}gidius}",
year = "2019",
month = jan,
doi = "10.1007/978-3-030-37487-7_21",
language = "English",
isbn = "9783030374860",
series = "Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)",
publisher = "Springer VS",
pages = "243--251",
editor = "Nikolaj Bj{\o}rner and Irina Virbitskaite and Andrei Voronkov",
booktitle = "Perspectives of System Informatics",
note = "12th International Andrei P. Ershov Informatics Conference, PSI 2019 ; Conference date: 02-07-2019 Through 05-07-2019",
}