Public key cryptography

GPG ed25519

# Note: These options are now defaults
gpg --expert --full-gen-key
# press 9 (ECC and ECC)
# press 1 (Cureve 25519)
# press 0 (not expire)

# export
gpg --list-public-keys
gpg --export --armour <key_id> > pubkey.pem

# import
gpg --import pubkey.pem
gpg --edit-key <key_id>
trust

# encrypt
gpg -e -r <key_id> --armour

# decrypt
gpg --decrypt <file>

# sign
echo "message" | gpg --armor --default-key <key_id> --detach-sig

GPG Keys

hxd@hexadust.net

-----BEGIN PGP PUBLIC KEY BLOCK-----

mDMEaHqdSBYJKwYBBAHaRw8BAQdA75kN9QJdezzcDurY6V+pvGavhDov1/vt6CJ8
/mi6H5O0HEhleGEgRHVzdCA8aHhkQGhleGFkdXN0Lm5ldD6IkwQTFgoAOxYhBP8W
5f2kKHpLAY6y39QdL23Ly3Q8BQJoep1IAhsDBQsJCAcCAiICBhUKCQgLAgQWAgMB
Ah4HAheAAAoJENQdL23Ly3Q8nzUA/03X+ZM8gahZNzP/JnFNOjUpgSJw3UTGQclt
VpzxIaKJAQCp5mU8b7coD4loFcFSI/nM01PMCLt+vKhkE5Pyy13qALg4BGh6nUgS
CisGAQQBl1UBBQEBB0Aqae5jfaPBmTDykaNNt9F7nraxKYKN4tzgV6ub2LcpQwMB
CAeIeAQYFgoAIBYhBP8W5f2kKHpLAY6y39QdL23Ly3Q8BQJoep1IAhsMAAoJENQd
L23Ly3Q8UFQBAKkBfeLkxn3ZgoIVY/KMellAtJIqw3Z1cAeLC2o3+Lm5AQDGUotq
uO351jOgdJz07jNrN6IvE6VQrEueuEPOEcxjAA==
=xdPY
-----END PGP PUBLIC KEY BLOCK-----