Modos de operação das cifras de bloco Histórico • Em 1918 o inventor alemão Arthur Scherbius (Engenheiro Elétrico) e seu amigo Richard Ritter fundaram a empresa Scherbius & Ritter. – Engenharia inovadora. – Desenvolveram de turbinas a travesseiros aquecidos. – Um de seus projetos era desenvolver uma máquina que substituísse o lápis e o papel por uma forma de cifragem mecanizada. • Foi o mais terrível sistema de cifragem da história. A máquina Enigma Três elementos conectados por fios: • Um teclado com as 26 letras do alfabeto para a entrada do texto claro. • Uma unidade misturadora que cifra cada letra do texto original digitado. • Um mostrador com várias lâmpadas indicando a letra cifrada correspondente. Operação O operador pressiona a tecla que envia um impulso elétrico para a unidade misturadora central e de lá para o outro lado onde ilumina a letra correspondente ao texto cifrado no painel luminoso. O misturador é um espesso disco de borracha cheio de fios sendo a parte mais importante da máquina. Os fios entram no misturador em 26 posições diferentes, uma para cada letra Onde fazem uma série de torções antes de emergirem no lado oposto. O misturador Executa 1/26 avos de uma rotação completa. Rotores • 26 x 26 = 676 • 26 x 26 x 26 = 17576 Modos de operação de cifra de bloco • Apesar da complexidade das cifras de bloco como o DES ou o AES, ambas são, basicamente, cifras de substituição monoalfabéticas. • Se um determinado texto claro for codificado inúmeras vezes, em todas elas, será gerada a mesma saída criptografada. – O que pode ajudar aos intrusos a subverter a cifra. Modos de operação • O NIST definiu alguns modos de operação. Entre eles temos: – Electronic Code Book (ECB). – Cipher Block Chaining (CBC). – Cipher Feedback (CFB). Electronic Code Book (ECB) • O DES codifica um longo texto claro após dividi-lo em blocos de 64 bits, cifrando cada um deles independentemente, com uma mesma chave. • O último bloco de texto claro, se necessário, é acrescido de zeros para completar os 64 bits. • Esta técnica (modo de cifragem) é conhecida como Electronic Code Book – ECB. Codificação em blocos • Se a mensagem for estruturada, um criptoanalista pode explorar essa regularidade. • Pode-se substituir ou reorganizar blocos. Cipher Block Chaining (CBC) • Para contornar as deficiências de segurança do ECB, precisaríamos de uma técnica em que o mesmo bloco de texto claro, se repetido, produzisse diferentes blocos de texto cifrado. • Isto pode ser realizado utilizando-se o Encadeamento de blocos de cifras (Cipher Block Chaining - CBC). Cipher Block Chaining (CBC) • Cada bloco de texto claro é submetido a uma operação XOR com o bloco de texto cifrado anterior, antes de ser codificado. • Como consequência, o mesmo bloco de texto claro não é mais mapeado para o mesmo bloco de texto cifrado. • O primeiro bloco é submetido a uma operação XOR com um vetor de Inicialização (IV) escolhido ao acaso, que é transmitido, em texto claro. juntamente com o texto cifrado. Cipher Block Chaining (CBC) Cipher Block Chaining (CBC) • Codificação. – C0 = E (P0 XOR IV) – C1 = E (P1 XOR C0) • Decodificação. – P0 = IV XOR D(C0) Cipher Feedback (CFB) • O algoritmo DES é basicamente uma cifra de bloco, porém é possível converte-lo em uma cifra de fluxo, usando o modo CFB. • Uma cifra de fluxo elimina a necessidade de preencher um bloco com zeros antes de encriptá-lo. • Além disso, uma cifra de fluxo consegue operar em tempo real. Cipher Feedback (CFB) • Codificação byte a byte (valor de s=8). • Usa-se um Registrador de Deslocamento. – DES: 64 bits. – AES: 128 bits. • Os bits são criptografados e enviados à linha de transmissão. • Uma cópia do byte é inserida mais a direita no registrador de deslocamento. • O próximo byte de texto claro a ser cifrado é submetido a uma operação XOR com o byte mais à esquerda do registrador. • Também utiliza um vetor de referência para iniciar o processo. Cipher Feedback (CFB) • Vantagens: – Um padrão que se repetir várias vezes no texto claro, será codificado de diferentes maneiras no texto cifrado. • Desvantagens: – Se um bit do texto cifrado for alterado acidentalmente durante a transmissão, os 8 bytes decodificados enquanto o byte defeituoso estiver no registrador serão danificados. Cipher Feedback (CFB) Algoritmos criptográficos Criptoanálise Diferencial • Murphy 1990 e Biham e Shamir, 1997. – Foi o primeiro ataque capaz de quebrar o DES em menos de 255 criptografias. – Exige 247 textos claros escolhidos. • A criptoanálise diferencial observa o comportamento de pares de blocos de texto evoluindo a cada rodada ao invés de observar um único bloco de texto. • Alguns padrões de bits são mais comuns que outros o que pode levar a um ataque probabilístico. Criptoanálise Linear • Matsui, 1994. • Pode quebrar o DES com apenas 243 textos simples conhecidos. • Funciona efetuando-se o XOR de certos bits no texto simples e no texto cifrado e observando os resultados. • Metade dos bits deve ter valor zero e a outra metade valor 1. Porém, com frequência ocorre uma inclinação para um lado ou para o outro o que pode ser utilizado para reduzir o “fator trabalho”. Análise do consumo de energia elétrica • Usado para encontrar chaves secretas. • Em geral os computadores usam 3 volts para representar o bit um e zero volts para representar o bit zero. • Procura monitorar a energia consumida em cada instrução de máquina.