#### # ## #### # # ##### ##### # #### # # # # # # # # # # # #### ### # # # # # # ### # # # # # # # # # # # # # #### #### # ##### ##### #### Shell utilities for public key cryptography. pkcutils contains 5 portable shell scripts (keygen.sh, sign.sh, verify.sh, encrypt.sh and decrypt.sh) that covers most of the use cases of public key cryptography using openssl(1) installed on the system. You can start off by running keygen.sh: $ keygen.sh After running it, it will ask for a password to symmetrically encrypt your private key. When done, the directory ".keys" will be created in your home directory, alongside the key pair inside it. Now, we can sign a file named "letter_to_loved_one.txt": $ sign.sh letter_to_loved_one.txt This will create a file called "letter_to_loved_one.txt.sig" in the same directory as the file we just signed. When you receive a file that is supposedly signed by Alice, you can verify that that is actually the case using: $ verify.sh alice-s_message.txt alice_pub.pem alice_pub.pem is Alice's public key. Also, the file alice-s_message.txt.sig should be in the same directory as alice-s_message.txt. To encrypt a file for only Alice to see, we may use: $ encrypt.sh secret_message.txt alice_pub.pem This will create the file secret_message.txt_enc.tar. After you (hopefully) receive an encrypted file back from Alice, whom used your public key to encrypt it, you can decrypt it via: $ decrypt.sh alice-s_secret_message.txt_enc.tar Lastly, you can use multiple key pairs if you'd like. For this reason, sign.sh and decrypt.sh take optional arguments to specify private keys to use. See the manual page pkcutils(1) for details. You can fetch pkcutils through the releases page , or the git repository . Disclaimer: My name is legally written with capital "c with cedilla" instead of capital 'c', "dotless i" instead of 'i', and "g with breve" instead of 'g'. It is ASCII-ified for purposes of rendering simplicity. pkcutils is written by Kaan Cirag .