A person who is an expert on creating codes and cyphers. Someone who studies cryptology.
A guide that explains a topic.