# Can we build authenticated encryption using Feistel Networks?

Most of the encryption modes of Feistel Networks especially the ones used to build fixed length block ciphers just provide confidentiality .

Can we build authenticated encryption using Feistel Networks ?

-
One useful rule of thumb in cryptography is that even the meanest primitive can be used to build virtually everything. For example, you can take a PRG and build a PRF and PRP from that, and so on: pretty much, once you have a one-way function of some kind, you can build almost everything in symmetric cryptography. This is a pretty neat result, actually, since it boils down the whole of secure symmetric cryptography to the existence of one-way functions. –  Reid Nov 18 '13 at 17:30

## 2 Answers

The simple way to build authenticated encryption using a Feistel Network is to build a Feistel based block cipher, then use one of the many modes of operation that turn a block cipher into an authenticated encryption scheme (eg CCM,OCB,GCM).

For a good survey on the subject of modes-of-operation I would recommend this paper by Rogaway. It does not cover the very most recent designs (such as those discussed at DIAC'13) but covers the more accepted methods in a reasonable amount of detail.

-
@pg1989 - Thanks for the edit, didn't realise I'd put the wrong link up. –  figlesquidge Nov 18 '13 at 17:18

Yes, you certainly can. If you want a variable-length authenticated encryption mode, then simply take any Feistel cipher in the OCB mode. If fixed-length is fine, then the following idea should work. Build a wide Feistel-based permutation (fixed-key blockcipher) $G$ and encrypt $$C = G(P||N||K)\oplus K,$$ where $N$ is nonce, $P$ is plaintext, $C$ is ciphertext, $K$ is key.

-