This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
en:racfor_wiki:block_cipher_modes [2021/01/15 18:30] jli [Abstract] |
en:racfor_wiki:block_cipher_modes [2024/12/05 12:24] (current) |
||
---|---|---|---|
Line 9: | Line 9: | ||
===== Introduction ===== | ===== Introduction ===== | ||
- | Block cipher is one of the most widely-used | + | Block cipher is one of the most widely-used |
The five modes—the Electronic Codebook (ECB), Cipher Block Chaining (CBC), Cipher Feedback (CFB), Output Feedback (OFB), and Counter (CTR) modes can provide data confidentiality. | The five modes—the Electronic Codebook (ECB), Cipher Block Chaining (CBC), Cipher Feedback (CFB), Output Feedback (OFB), and Counter (CTR) modes can provide data confidentiality. | ||
Line 15: | Line 15: | ||
===== Electronic Codebook (ECB) ===== | ===== Electronic Codebook (ECB) ===== | ||
- | The electronic codebook (ECB) is the simplest encryption mode, which is named after conventional physical codebooks. For the given key, ECB features the same assignment of a fixed ciphertext block to each plaintext. Each block is been manipulated separately. | + | The electronic codebook (ECB) is the simplest encryption mode, which is named after conventional physical codebooks. For the given key, ECB features the same assignment of a fixed ciphertext block to each plaintext. Each block is manipulated separately. |
{{ : | {{ : | ||
Line 21: | Line 21: | ||
In ECB encryption and ECB decryption, multiple forward cipher functions and inverse cipher functions can be computed in parallel under a given key. | In ECB encryption and ECB decryption, multiple forward cipher functions and inverse cipher functions can be computed in parallel under a given key. | ||
- | The ECB mode has an disadvantages—a lack of diffusion, under a given key, any given plaintext block always gets encrypted to the same cyphertext | + | The ECB mode has an disadvantage—a lack of diffusion, under a given key, any given plaintext block always gets encrypted to the same ciphertext |
===== Cipher Block Chaining (CBC) ===== | ===== Cipher Block Chaining (CBC) ===== | ||
- | The cipher block chaining (CBC) mode of operation | + | The cipher block chaining (CBC) mode of operation |
{{ : | {{ : | ||
- | The main drawback of the CBC mode is sequential. In CBC encryption, the input block to each forward cipher operation (except the first) depends on the result of the previous forward cipher operation, so process cannot be parallelized. And only a one-bit change in a plaintext or initialization vector affects all following ciphertext blocks. | + | The main drawback of the CBC mode is sequential. In CBC encryption, the input block to each forward cipher operation (except the first) depends on the result of the previous forward cipher operation, so the process cannot be parallelized. And only a one-bit change in a plaintext or initialization vector affects all following ciphertext blocks. |
===== Cipher Feedback (CFB) ===== | ===== Cipher Feedback (CFB) ===== | ||
Line 52: | Line 52: | ||
In CTR operation, the forward cipher functions can be performed in parallel. CTR mode is well suited to operate on a multi-processor machine where blocks can be encrypted in parallel. | In CTR operation, the forward cipher functions can be performed in parallel. CTR mode is well suited to operate on a multi-processor machine where blocks can be encrypted in parallel. | ||
- | ===== Abstract | + | ===== Conclusion |
+ | |||
+ | Most symmetric-key algorithms used today are block ciphers which means that they encrypt one block at a time. The size of each block is fixed and determined by the algorithm: for example AES uses 16-byte blocks. Block ciphers are always used with a mode what specifies how to securely encrypt messages that are longer than the block size. For example, AES is a cipher, while ECB, CBC and CTR are all modes. Using an inappropriate mode, or a wrong mode can completely compromise the security provided by the basic password. | ||
+ | |||
+ | ===== Source ===== | ||
+ | |||
+ | [1] https:// | ||
+ | |||
+ | [2] https:// | ||
+ | |||
+ | [3] https:// |