A block cipher is a type of encryption algorithm that takes fixed-length blocks of plaintext and transforms them into fixed-length blocks of ciphertext using a secret key. The block size is typically 64 or 128 bits, but can be larger or smaller depending on the specific cipher. Block ciphers can be used for both confidentiality and integrity of data, as they can both encrypt and decrypt data as well as detect any changes to the data.