How does one vet a cipher?

  • #1
I've developed a block cipher based on a Feistel network that is, round for round, smaller (4 steps) and faster (by 15 to 40 percent) than AES (aka Rijndael), and way simpler. I'd like to say stronger, too, but cannot support this assertion myself. Proprietary configurations are easy to create. Because it's a Feistel network (vs. a Substitution Permutation Network like AES), the s-box (an expansion p-box actually) , which is a table of 256 (or 1024 or 2048 in some flavors) 32-bit values, can be populated with virtually any normal random sequence, or even scheduled as part of the key. As with AES, it exhibits BIC and SAC compliance in two rounds.

My question is, is there any way of having it examined, if only cursorily, by someone better educated and experienced?

Answers and Replies

  • #2
Science Advisor
Post the source code on a website, social network, or programming site and a challenge of decrypting a message that you supply (maybe a random paragraph from your favorite novel). 'Reward' can be anything from a 'Thank You', to acknowledgement in the distribution version, a custom T-shirt, or perhaps $50 to the first correct decode.

  • #3
Thanks Tom, but I am 100 percent sure no one is going to decrypt the cipertext of even a mediocre 128-bit multi-round Feistel cipher without at least the ability to mount a chosen plaintext or chosen ciphertext attack (i.e., oracle access). For me to invite someone to try strikes me as a little naive. Like just providing 1 block (16 bytes) of ciphertext, a simple XOR of the plaintext message with the key (i.e., a one-time pad) would be enough to prevent decryption.