Abstrakt. En allmän teknik för att skydda en kryptografisk algoritm mot sidokanalsattacker består i att maskera alla mellanvariabler med ett slumpmässigt värde. För kryptografiska algoritmer som kombinerar booleska operationer med aritmetiska operationer måste man sedan utföra omvandlingar mellan boolesk maskering och aritmetisk maskering. På CHES 2001 beskrev Goubin en mycket elegant algoritm för konvertering från Boolesk maskering till aritmetisk maskering, med bara ett konstant antal operationer. Goubin beskrev också en algoritm för konvertering från aritmetisk till Boolesk maskering, men med O(k) operationer där k är addition bitstorlek. I den här artikeln beskriver vi en förbättrad algoritm med tids komplexitet endast O(log k). Vår nya algoritm är baserad på Kokge-Stone carry look-ahead adder, som beräknar bärsignalen i O(log k) istället för O(k) för den klassiska rippel bär adder. Vi beskriver också en algoritm för att utföra aritmetisk addition Modulo 2 k direkt på Booleska aktier, med samma komplexitet O(log k) istället för O(k). Vi bevisar säkerheten för vår nya algoritm mot första ordningens attacker. Vår algoritm presterar bra i praktiken, som för k = 64 får vi en 23% förbättring jämfört med Goubins algoritm.
Till exempel Coron et al. har föreslagit en algoritm för byte från aritmetisk till booleansk maskering som teoretiskt bevisats säker REF.
Conversion from Arithmetic to Boolean Masking with Logarithmic Complexity
{'venue': 'FSE', 'journal': None, 'mag_field_of_study': ['Mathematics', 'Computer Science']}