# Block Ciphers The main concept here is twofold : * we take _blocks_ of data and cipher the _blocks_ * A given key is actually used to generate recursive keys to be further used on the data itself _bs example ahead_ Say we have a key 7 and some data 123456. We take the whole data set and chunk it into blocks(for example): 12 34 56. Let's say our function here is to just add 7 to each block so we do the first step: ``` 12 + 7 = 19 Unlike other ciphers we don't reuse 7; instead we use the new thing as both the new key and part of our cipher text 19 + 34 = 53 Cipher: 1953.. 53 + 56 = 109 <= let's pretend that this rolls over 99 and back to 00 09 <= like this Final cipher: 195309 ``` _It should be noted that in practice these functions usually take in huge keys and blocks_. # Feistal Cipher Two main components: 1. each _thing_ in the data to cipher is replaced by a _ciphered thing_ 2. nothing is added or deleted or replaced in sequence, instead the order of _things_ is changed. Basically imagine that every _type of thing_ in our data maps to some other _type of thing/thing_ in the data and thus become swapped/reordered. # DES - Data Encryption Standard Widely used until about 2001 when AES surpassed it as the newer(ish(kinda)) standard. DEA was the actual algorithm tho: * 64 bit blocks * 56 bit keys * turns a 64-bit input into a 64-bit output (wew) * Steps in reverse also reverse the encryption itself