Em criptografia, uma cifra de bloco é um algoritmo determinístico que opera sobre agrupamentos de bits de tamanho fixo, chamados de blocos, com uma transformação invariável que é especificada por uma chave simétrica. Cifras de bloco são componentes elementares importantes na concepção de muitos protocolos de criptografia, e são amplamente utilizados para implementar a encriptação de dados em massa.
O projeto moderno de cifras de bloco baseia-se no conceito de uma cifra de produto iterada. Cifras de produto foram sugeridas e analisadas por Claude Shannon em sua publicação seminal de 1949 "Teoria da Comunicação de Sistemas Secretos" (Communication Theory of Secrecy Systems em inglês) como um meio para efetivamente melhorar a segurança através da combinação de operações simples, tais como substituições e permutações[1]. Cifras de produto iteradas realizam encriptação em várias rodadas, cada uma das quais utiliza uma subchave diferente derivada da chave original. Uma aplicação bem difundida de tais cifras é chamada de Rede de Feistel, em homenagem a Horst Feistel, e notavelmente implementada na cifra DES.[2] Muitas outras realizações de cifras de bloco, como a AES, são classificadas como redes de substituição-permutação.
A publicação da cifra DES pelo Escritório de Padrões Nacional dos EUA (agora Instituto Nacional de Padrões e Tecnologia, NIST) em 1977 foi fundamental para a compreensão do público sobre a concepção moderna de cifra de bloco. Da mesma forma, influenciou o desenvolvimento acadêmico dos ataques de criptoanálise. Ambas criptoanálise diferencial e linear surgiram a partir de estudos sobre a concepção DES. Hoje, há uma miríade de técnicas de ataque contra os quais uma cifra de bloco deve ser segura, além de ser robusta contra ataques de força bruta.
Até mesmo uma cifra de bloco segura é adequada apenas para a encriptação de um único bloco sob uma chave fixa. Uma multitude de modos de operação foram projetados para permitir a sua utilização repetida de forma segura, comumente para alcançar as metas de segurança de confidencialidade e autenticidade. No entanto, as cifras de bloco também podem ser usadas como blocos de construção em outros protocolos criptográficos, como funções de dispersão universais e geradores de números pseudoaleatórios.