An optimized Bitsliced Masked Adder for ARM Thumb-2 Controllers

Autor: Pozzobon, Enrico, Renner, Sebastian, Mottok, Jürgen, Matoušek, Václav
Přispěvatelé: Pinker, Jiří
Jazyk: angličtina
Rok vydání: 2022
Předmět:
Popis: Modulární sčítání se používá jako nelineární operace v ARX kódování, neboť splňuje požadavek zavedení nelinearity v kryptografickém primitivu a většina moderních počítačových architektur potřebuje pro jeho vyčíslení pouze jeden hodinový cyklus. Díky tomu jsou kódy ARX obzvláště rychlé v softwarových implementacích, ovšem za cenu snížení ochrany proti ztrátám informací z postranních kanálů pomocí booleovského maskování: nejznámější maskovaná sčítačka pro mikrokontroléry ARM Thumb vyžaduje 83 instrukcí pro přidání dvou 32bitových čísel. Náš přístup pak spočívá v použití režimu bitových řezů umožňujících 32 paralelních sčítání na 32bitovém mikrokontroléru. Ukazujeme, že i když vezmeme v úvahu náklady na vytvoření bitových řezů před a po kódování, je možné dosáhnout vyšší propustnosti na testovaných kódech (CRAX a ChaCha20) při provozu v režimu bitových řezů. Dále ukazujeme, že nedochází k žádnému úniku informací ani v simulovaných trasách napájení, ani v trasách napájení získaných ze skutečného hardwaru poté, co byla zavedena dostatečná opatření k ochraně proti únikům (ztrátám) dat z datových vedení. The modular addition is used as a non-linear operation in ARX ciphers because it achieves the requirement of introducing non-linearity in a cryptographic primitive while only taking one clock cycle to execute on most modern architectures. This makes ARX ciphers especially fast in software implementations, but comes at the cost of making it harder to protect against side-channel information leakages using Boolean masking: the best known 2-shares masked adder for ARM Thumb micro-controllers takes 83 instructions to add two 32-bit numbers together. Our approach is to operate in bitsliced mode, performing 32 additions in parallel on a 32-bit microcontroller. We show that, even after taking into account the cost of bitslicing before and after the encryption, it is possible to achieve a higher throughput on the tested ciphers (CRAX and ChaCha20) when operating in bitsliced mode. Furthermore, we prove that no first-order information leakage is happening in either simulated power traces and power traces acquired from real hardware, after sufficient countermeasures are put into place to guard against pipeline leakages.
Databáze: OpenAIRE