0
$\begingroup$

I have a science fair project coming along, and I'd like to focus on a basic cipher (something simple, like a substitution cipher) and how I could make a similar system that would be about equally secure but would be faster to decode. Is there anywhere I could find information beforehand on deciphering speeds or would I have to try get my own results?

$\endgroup$
1
  • 3
    $\begingroup$ The fastest to decode would be Caesar's cipher. I'd guess (no reference) 5 to 200 seconds to understand it (with explanation and the key), then 0.2 to 4 characters per second for decryption depending on audience (sizably more for reliable encryption). But it's insecure, to the point that not having the key would not add much to the decryption time. Monoalphabetic substitution is easy and fast too, but almost as insecure. Dual-letter substitution cipher (with a 26x26 random table) would be comparably fast, simple, but less insecure. $\endgroup$
    – fgrieu
    Nov 6 '20 at 13:54
3
$\begingroup$

You’ll likely have to do your own analysis.

First of all, most of existing literature focuses either on asymptotic speed or specific implementations (such as in the case of hardware based encryption). Neither of which will be very useful to your pen-and-paper scenario.

Second of all, coming up with your own “similar system” implies it is a “new” system and no existing analysis would’ve been done on it.

I recommend that you create a set of “basic operations”, such as lookups in a table, arithmetic operations, copying intermediate result to another piece of paper, etc. This way you can estimate the number of operations the original decipher takes and compare it with that of your new algorithm.

(As this is for a science fair project, I'm leaving out any considerations for the actual security implications.)

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.