iElectric/coursea-crypto — pull request #1 by offlinehacker (2012-09-23 16:11:35+00:00)
Title: Just to give you idea how this can be implemented totally differently

I liked the way you solved the assignment1. Well funny fact was I didn't understood their hint(so I had to look into your code what they really ment), but I knew that that there's more general solution for solving otp.

What many time pad actually gives to attacker is redundancy. With enough cypertexts you are able to decrypt any kind of plaintexts, not just asci ones as in this exercise. If you intersect possible bytes that produce one byte of m1^m2 you can quickly determine which bytes are relevant, because some are more biased than another. My implementation exposes just that. It works slightly better as yours, but i'm still not able to produce totally clear plaintext. I think if there would be more ciphertexts that would be clearly possible.

And don't merge this, your solution is more elegant I think.