asymmetric encryption with gpg: essential techniques for developers | pilput