Solutions to Matasano crypto challenges