Block ciphers are the meat of modern encryption technologies, providing an efficient way to encrypt blocks of data (bits) so that they may be transferred through communication mediums, such as Internet, and the data remains confidential. According to WolfSSL Inc., "[a] block cipher is an encryption method that applies a deterministic algorithm along with a symmetric key to encrypt a block of text, rather than encrypting one bit at a time as in stream ciphers. For example, a common block cipher, AES, encrypts 128 bit blocks with a key of predetermined length: 128, 192, or 256 bits. Block ciphers are pseudorandom permutation (PRP) families that operate on the fixed size block of bits (Lynn, n.d.). PRPs are functions that cannot be differentiated from completely random permutations and thus, are considered reliable, until proven unreliable." (WolfSSL Inc., 2014). This concept of being "considered reliable, until proven unreliable" is a critically important one in the field of cryptography because over time most cryptographic systems are found to have vulnerabilities or fall victim to being cracked by more powerful computing resources.
The most common algorithm for block ciphers in use today is the Advanced Encryption Standard (AES) which was created by Vincent Rijmen and Joan Daemen and submitted to the National Institute of Standards and Technology as a replacement for the Data Encryption Standard (DES) (Daemen and Rijmen, 1999). AES encrypts blocks of 128 bits of data with a key (secret) length of 128, 192, or 256 bits in length. The length of the key provides the strength of the encryption algorithm. A higher length, assures a longer amount of time required to guess (crack) the key to read the information. However, in order to ensure that strings of text being encrypted repeatedly in computer programs are not identical block ciphers rely on an algorithm called a Block Cipher Mode. For example, Cipher Block Chaining, or CBC, uses unique values for each iteration of the encryption and incorporates previous blocks to encrypt and randomize the message each subsequent block.
Encryption is only as reliable as the algorithm, or series of steps, which it uses to hide the true meaning of the data. For this reason, it's NEVER a good idea for application designers or engineers to try and create their own block cipher algorithms. When entrepreneurs seek to create their own, without the advantage of having the experts of the world to review their work they invite disaster. Existing encryption systems and algorithms in use today have been subjected to review by hundreds, possibly thousands, of cryptographers, mathematicians, and top minds in mathematics and computer science to ensure they are reliable. Block Cipher algorithms such as Advanced Encryption Standard (AES), and its predecessor Data Encryption Standard (DES), have to be reliable to ensure that actions such as bank transfers, exchanging government secrets, and protecting corporate secrets can be reasonably confirmed to be confidential from outside parties.
Block ciphers provide an efficient way of encrypting and decrypting data providing confidentiality of the data being protected. However, there also must be mechanisms to ensure that data cannot be changed by an attacker, or that it's integrity (what the message says) does not change accidentally during encryption, transmission and decryption. Integrity is especially important when considering data sent through a network like the Internet. This task is a accomplished by a separate mechanism, message integrity mechanisms, often called integrity checks, and/or hash functions.
References
The most common algorithm for block ciphers in use today is the Advanced Encryption Standard (AES) which was created by Vincent Rijmen and Joan Daemen and submitted to the National Institute of Standards and Technology as a replacement for the Data Encryption Standard (DES) (Daemen and Rijmen, 1999). AES encrypts blocks of 128 bits of data with a key (secret) length of 128, 192, or 256 bits in length. The length of the key provides the strength of the encryption algorithm. A higher length, assures a longer amount of time required to guess (crack) the key to read the information. However, in order to ensure that strings of text being encrypted repeatedly in computer programs are not identical block ciphers rely on an algorithm called a Block Cipher Mode. For example, Cipher Block Chaining, or CBC, uses unique values for each iteration of the encryption and incorporates previous blocks to encrypt and randomize the message each subsequent block.
Encryption is only as reliable as the algorithm, or series of steps, which it uses to hide the true meaning of the data. For this reason, it's NEVER a good idea for application designers or engineers to try and create their own block cipher algorithms. When entrepreneurs seek to create their own, without the advantage of having the experts of the world to review their work they invite disaster. Existing encryption systems and algorithms in use today have been subjected to review by hundreds, possibly thousands, of cryptographers, mathematicians, and top minds in mathematics and computer science to ensure they are reliable. Block Cipher algorithms such as Advanced Encryption Standard (AES), and its predecessor Data Encryption Standard (DES), have to be reliable to ensure that actions such as bank transfers, exchanging government secrets, and protecting corporate secrets can be reasonably confirmed to be confidential from outside parties.
Block ciphers provide an efficient way of encrypting and decrypting data providing confidentiality of the data being protected. However, there also must be mechanisms to ensure that data cannot be changed by an attacker, or that it's integrity (what the message says) does not change accidentally during encryption, transmission and decryption. Integrity is especially important when considering data sent through a network like the Internet. This task is a accomplished by a separate mechanism, message integrity mechanisms, often called integrity checks, and/or hash functions.
References
- Joan Daemen and Vincent Rijmen. (1999, September 3). "AES Proposal: Rijndael" (PDF). Retrieved August 14, 2019 from https://web.archive.org/web/20070203204845/https://csrc.nist.gov/CryptoToolkit/aes/rijndael/Rijndael.pdf as archived from the http://csrc.nist.gov/CryptoToolkit/aes/rijndael/Rijndael.pdf (PDF).
- Lynn, Ben. Cryptography - Pseudo-Random Permutations. Retrieved June 30, 2019, from https://crypto.stanford.edu/pbc/notes/crypto/prp.html.
- WolfSSL Inc. (2014, December 19). What is a Block Cipher? Retrieved June 30, 2019, from https://www.wolfssl.com/what-is-a-block-cipher/