Also known as: block cipher
A block cipher encrypts data in fixed-size blocks — for example 128 bits in AES or 64 bits in DES — transforming each block under a key with a keyed, invertible permutation.1 A mode of operation then chains the blocks so the cipher can handle messages of any length.
How it works
The core block cipher is a single keyed permutation: for a fixed key it maps every possible input block to a distinct output block, and the mapping is invertible so the holder of the key can reverse it. Internally this permutation is built from many simple rounds, most often as a Feistel network (DES) or a substitution-permutation network (AES), each combining confusion and diffusion so the output depends intricately on every input and key bit.
Because real messages are longer than one block, a mode of operation specifies how successive blocks combine:
- ECB encrypts each block independently — simple but leaks patterns, since identical plaintext blocks yield identical ciphertext.
- CBC XORs each plaintext block with the previous ciphertext block before encrypting.
- OFB / CTR turn the block cipher into a keystream generator, making it behave like a stream cipher.
Relevance to SDR
Block ciphers underpin the strong encryption on the digital systems GopherTrunk monitors. P25 voice may use DES or AES-256, and DMR encryption options likewise build on AES — but these protocols run the block cipher in a feedback mode (OFB/CTR), so on air the protected voice is delivered as a stream cipher. The practical upshot is the same: GopherTrunk can recognize and follow an encrypted call but cannot recover audio without the key, since the underlying permutation is infeasible to invert by brute force.
Sources
-
Block cipher — Wikipedia, for fixed-size block encryption and modes of operation. ↩