Douglas Stebila
Code from research projects
Software for prototyping quantum-resistant cryptography. Includes C library of key exchange algorithms and integration into OpenSSL.
Scripts for generating and testing hybrid certificates for post-quantum PKI.
C code implementing various double-authentication-preventing signature schemes.
C code implementing key exchange protocol based on the learning with errors problem.
C code implementing the ring learning with errors primitive as well as a ring-LWE-based key exchange protocol and integration into OpenSSL.
Prototype extension for Mozilla Firefox that performs password-authenticated key exchange with channel bindings.
Miscellaneous software
An Automator action for Mac OS X that allows files to be uploaded and downloaded with scp (the secure copy protocol, part of SSH).
Various snippets of code, including a Solarized colour scheme for tcsh and shell scripts for binary/hex conversion.
Contributions to open source projects
Mozilla
I worked on code for the Mozilla project, or more specifically the Netscape Security Services (NSS) library, which is part of Mozilla. In collaboration with researchers at Sun Microsystems Laboratories, I developed an implementation of elliptic-curve cryptography for the NSS toolkit.
OpenSSL
OpenSSL is an open-source cryptography library. While working as an intern at Sun Micrososytems Laboratories, I contributed code for elliptic-curve cryptography (ECC) to OpenSSL. Specifically, our contribution included a library for arithmetic over a characteristic two field, key agreement and signature algorithms, and SSL handshake modifications for ECC.
Unmaintained miscellaneous software
Warning! The following software has not been updated or tested in many years and may no longer function correctly, but is still available here in case it is useful to someone.
iCalCopy copies events and to do items from one iCal calendar to another.
Scripts that allow you to insert BibDesk citations into TeXShop and integrate BibDesk and TeXShop with CVS.
Patches to TLS that allow an application to get additional application-specific keying material derived from the TLS master secret.