learning about crypto algorithms