Member-only story
MiMC-Feistel (two-branch Feistel network) over F_p
AES is wonderful, but there is another way of performing symmetric key encryption: with the Feistel network. With this, we have a great deal less complexity and perform our operations over a finite field that is defined by a prime number. This feature allows us to create much simpler circuits for things like Zero Knowledge Proofs. So let’s look at a MiMC-Feistel implementation [1].
Feistel network
Some may think that the roots of Cybersecurity go back to the discovery of the first computer worm in the 1980s, or into the late 1970s with the discovery of public-key encryption and the Diffie-Hellman method. But, we can trace it back into the early 1970s, and with the work of Horst Feistel. The roots of his work at IBM can be traced back to the creation of the Feistel cipher and which implements a symmetric key method.
In the 1960s, most of the cryptography research was conducted by governments, but IBM spotted a commercial opportunity and set up a cryptography research group in their Yorktown Heights, NY laboratory (and named after IBM’s founder — Thomas J. Watson Sr.). The lab went on to produce amazing advancements such as DRAM, the relational database and the FORTRAN programming language:
