v0.1 2012/02/18 Initial implementation based on Ron Rivest's implementation