used to manage the keys and encrypt/decrypt/sign/check files. Submitted by: Clive Lin <clive@CirX.ORG>