Bitslicing
Técnica de implementação que trata uma palavra da CPU como dezenas de processadores de um bit trabalhando em paralelo e reescreve S-boxes como pura lógica booleana.
Eli Biham a introduziu em 1997 para o DES. Em vez de cifrar um bloco por vez, você coloca o bit i de 64 blocos diferentes no mesmo registrador de 64 bits, de modo que cada AND, XOR ou OR processa todos de uma vez. As S-boxes viram redes de portas lógicas em vez de tabelas de consulta, e as permutações de bits — caras em software comum — saem de graça, já que basta escolher qual registrador ler.
O ganho maior acabou sendo de segurança, não de velocidade. Sem consultas a tabelas, não há acesso à memória dependente do cache e, portanto, não há ataque de temporização de cache. Em 2009, Emilia Käsper e Peter Schwabe publicaram um AES com bitslicing usando instruções SIMD, rápido e sem vazamentos. O porém é que é preciso ter muitos blocos em andamento ao mesmo tempo, o que combina muito mais com CTR do que com CBC.