Cryptographic algorithm was designed by Bruce Schneier, solution to problem 1 on ruby quiz done in java.