Non-Triangular Self-Synchronizing Stream Ciphers

In this article, we propose an instantiation, called <inline-formula><tex-math notation="LaTeX">${\sf Stanislas}$</tex-math><alternatives><mml:math><mml:mi mathvariant="sans-serif">Stanislas</mml:mi></mml:math><inline-graphic xlink:href="minier-ieq1-3043714.gif"/></alternatives></inline-formula>, of a dedicated Self-Synchronizing Stream Cipher (SSSC) involving an automaton with finite input memory using non-triangular state transition functions. Previous existing SSSC are based on automata with shifts or triangular functions (<inline-formula><tex-math notation="LaTeX">$T$</tex-math><alternatives><mml:math><mml:mi>T</mml:mi></mml:math><inline-graphic xlink:href="minier-ieq2-3043714.gif"/></alternatives></inline-formula>–functions) as state transition functions. Our algorithm <inline-formula><tex-math notation="LaTeX">${\sf Stanislas}$</tex-math><alternatives><mml:math><mml:mi mathvariant="sans-serif">Stanislas</mml:mi></mml:math><inline-graphic xlink:href="minier-ieq3-3043714.gif"/></alternatives></inline-formula> admits a matrix representation deduced from a general and systematic methodology called Linear Parameter Varying (LPV). This particular representation comes from the automatic theory and from a special property of dynamical systems called flatness. Hardware implementations and comparisons with some state-of-the-art stream ciphers on Xilinx FPGAs are presented. It turns out that <inline-formula><tex-math notation="LaTeX">${\sf Stanislas}$</tex-math><alternatives><mml:math><mml:mi mathvariant="sans-serif">Stanislas</mml:mi></mml:math><inline-graphic xlink:href="minier-ieq4-3043714.gif"/></alternatives></inline-formula> provides bigger throughput than the considered stream ciphers (synchronous and self-synchronizing) when straightforward implementations are considered. Moreover, its synchronization delay is much smaller than the SSSC Moustique (40 clock cycles instead of 105) and the standard approach CFB1-AES128 (40 clock cycles instead of 128).