cryptexample.pl a better example to understand