A block cipher is a mathematical function, typically implemented in modern times by a computer program function, that takes two inputs and produces two outputs. The two inputs are called the "plaintext block" and the "key". The output is called the "ciphertext block". Typically each input and output consists of a certain number of [[bit]s, with the plaintext block and ciphertext block the same size, and the key perhaps of the same size, or perhaps different. There are certain requirements on the function. These are probably the most important:
The notions of "easy" and "difficult" are not precise, well defined concepts in this context. Rather, they are currently pragmatic notions based on real-world practicalities.
The first well known and widely used block cipher was DES, which began to be used circa 1976. From then until the end of the twentieth century, it became customary for block ciphers to have a block size of 64 bits, and a key size of at least 56 bits, with 64 or 128 bits perhaps being most common except for DES. In the USSR, a cipher called [GOST block cipher]? was probably quite widely used, though it is little known in the West. It had a block size of 64 bits and a key of 256 bits.