Implementação em Software da Cifra LowMC - Cabral, Roberto; López, Julio (Anais do Simpósio Brasileiro de Cibersegurança (SBSeg); 2022: Anais do XXII Simpósio Brasileiro de Segurança da Informação e de Sistemas ComputacionaisDO - 10.5753/sbseg.2022.224092, 2022)
Nos últimos anos surgiram várias propostas de primitivas simétricas construídas visando a minimização das operações não lineares, dentre elas, a família de cifras de bloco LowMC. Embora o LowMC seja uma primitiva muito atraente para aplicações que se beneficiam da sua baixa complexidade multiplicativa, o fato dele operar diretamente sobre bits torna-o muito custoso em software. Visto que algumas aplicações executam múltiplas mensagens por vez; tirando proveito do conjuntos de instruções vetoriais AVX, adaptou-se o algoritmo de modo a processar múltiplas mensagens por vez, facilitando sua implementação em software e melhorando o desempenho por encriptação. Conseguindo uma aceleração de 2,3x quando encriptadas oito mensagens por vez e de 3,3x quando encriptadas 16 mensagens para a instância do LowMC que processa todos os bits do estado por caixas de substituição e segurança de 129 bits. Adicionalmente, pensando em arquiteturas convencionais que não possuem instruções vetoriais, foi desenvolvida uma implementação nativa do LowMC cerca de 25% mais eficiente que o estado da arte.