To be honest, I think all of them do NOT make much difference, since Caesar Cipher is a weak cipher. You can see [Breaking the cipher on Wikipedia][1]. It uses a method called [frequency analysis][2], which ignores key strength. Also, the three methods you mentioned all have their weaknesses. You should use a [secure random generator][3]. [1]: https://en.wikipedia.org/wiki/Caesar_cipher#Breaking_the_cipher [2]: https://en.wikipedia.org/wiki/Frequency_analysis [3]: http://stackoverflow.com/questions/1668353/how-can-i-generate-a-cryptographically-secure-pseudorandom-number-in-c