Keys

I've created a self-signed certificate for signing PDF files; you can download the public key DER format if you'd like to verify a document.

Primary PGP Key

My primary PGP key is rsa3072/320D2D11B24BCA67, created 2022-10-30. It expires 2029-01-01, and can be found on MIT's keyserver. If you see a key other than this one from "me," it might be worth double-checking.

The ASCII-armoured contents are below:

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

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
uV4ap/zNNTV7R/T42siQzaVFKpo+Zd9fhg18xNM=
=wP/1
-----END PGP PUBLIC KEY BLOCK-----

Lab Key

I have a secondary key, rsa4096/9EB0246C, for commits authored from the Computer Science Teaching Labs at the University. It will only be used in repositories directly related to my classes, and you shouldn't see it outside of that.

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

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
=Svfr
-----END PGP PUBLIC KEY BLOCK-----

Expired Keys

I am also the owner of:

  • nistp521/D23AA9B2E562C722 nistp521 expired 2023-01-01
  • nistp521/C7875577A697810C nistp521 expired 2020-01-02

and possibly some older ones. I won't be using any of these for new commits.