I started writing code on a second-hand ZX Spectrum before I was 10, then moved to Visual Basic on Windows. At college I learned Turbo Pascal and Delphi. At university I worked with Ada and Java. Along the way, I have also used C, PHP, SQL, HTML, CSS, and a few other technologies.
I enjoy working where development, security, and operations meet. I care about using open source software to build a safer future, where commerce and collaboration can grow. I also enjoy keeping up with cryptography. I am exploring post-quantum cryptography and how it will affect modern IT systems.
Please encrypt sensitive files before sending them to me. I publish a GPG public key and an age-compatible SSH public key:
Important
Before you use a public key, check it through a separate trusted method. The GPG key fingerprint is 0DD8 5D5A ECA7 F3C9 3832 0A35 6167 02CC B034 D739.
| Tool | Windows | macOS | Linux |
|---|---|---|---|
| GPG | Gpg4win | GnuPG installation options | GnuPG installation options |
| age | winget install FiloSottile.age |
brew install age |
age installation instructions |
-
Download the public key. Use the command for your shell:
# curl curl -fsSLo richards-ensono.gpg https://github.com/richards-ensono.gpg # wget wget -qO richards-ensono.gpg https://github.com/richards-ensono.gpg
# PowerShell Invoke-WebRequest -Uri https://github.com/richards-ensono.gpg -OutFile richards-ensono.gpg
-
Check that the fingerprint shown matches the one above, then import the key:
gpg --show-keys --fingerprint richards-ensono.gpg gpg --import richards-ensono.gpg
-
Encrypt the file. This creates a text file that you can attach:
gpg --armor --output message.txt.asc --encrypt \ --recipient 0DD85D5AECA7F3C938320A35616702CCB034D739 \ message.txt
-
Send
message.txt.asc, not the originalmessage.txt.
-
Download the age public key:
# curl curl -fsSLo richards-ensono.keys https://github.com/richards-ensono.keys # wget wget -qO richards-ensono.keys https://github.com/richards-ensono.keys
# PowerShell Invoke-WebRequest -Uri https://github.com/richards-ensono.keys -OutFile richards-ensono.keys
-
Encrypt the file with the public key:
age --recipients-file richards-ensono.keys --output message.txt.age message.txt
-
Send
message.txt.age, not the originalmessage.txt.
Important
Never send private keys or sensitive content without encrypting it first.


