What is the main difference between CFB and CFB8 modes in 3DES? Is it only a change in block size from standard 8 byte to 1 byte when doing 3des and XOR? I cant find any pseudocode for this CFB8 mode? any pointers?
-
1$\begingroup$ see security.stackexchange.com/questions/85727/… $\endgroup$ – Richie Frame Jun 22 '18 at 3:09
-
$\begingroup$ @RichieFrame perfect! Just what I needed to know on the shift register implementation. $\endgroup$ – Igor Zelaya Jun 23 '18 at 0:54
The main difference between CFB-1(CFB) and CFB-8 is the size of shifting.
To understand this -
$C_i = top_x(res_{i-1})\oplus P_i$
$res_0 = Enc_k(IV)$
$res_{i} = Enc_k(shift_x(res_{i-1}\oplus P_{i-1}))$
$P_i = top_x(res_{i-1})\oplus C_i$
Note that in order to decrypt $C_i$, you will need $P_{i-1}$ which can only be found by decrypting $C_{i-1}$. Hence, this cannot be parallelized.
Here $x$ is the shift size which is 1 in CFB-1 and 8 in CFB-8.