111 Banning Rd
Ottawa, Ontario
K2L 1C3
Canada

Tom St Denis
e-mail: tomstdenis at gmail dot com
web: http://libtom.org

Home: (613)836-3160
Cell: (613)286-4262

 

Objectives


Live happy.  I have my ideal job now. Thanks for looking at my C.V. though.

Experience


May 2000 - Present

Consulting, Development Contracts and Professional Work


LibTomCrypt Developer Manual, Ottawa, December 2006

  • Preparing the LibTomCrypt manual for printing
  • Fundraiser for the LibTom projects (http://libtom.org/pages/ltcbook.html)
  • Commissioned cover art for a professional look and feel
  • Money raised goes towards future outgoing donations and stipends


One Laptop Per Child, Ottawa, (November 2006)

  • Wrote the bios-crypt project for the OLPC project (http://dev.laptop.org/git.do?p=bios-crypto;a=summary)
  • Provides command line and embeddable BIOS tools for verifying BIOS images prior to flashing
  • Helps to prevent viruses from "bricking" the OLPC laptop


ToorCon'8, San Diego, (September 2006)

  • Gave a survey talk on ECC, "M xor HASH(kaG) || kG" is the new "me mod n".  Represent!
  • Available here (http://libtom.org/pages/toorcon8_ecc_tstdenis.pdf)


Syngress Publishing, Cryptography for Developers, (September 2006)


  • Worked with Syngress to publish a text presenting cryptography to software developers
  • Goal of the text is to “problem orient” cryptography to make solving security problems more manageable.
  • Ten chapters (400 pages) covering problems from privacy, integrity, authentication and non-repudiation
  • Includes example C code for various algorithms as well as references to fielded libraries.
  • ISBN: 1597491047

Syngress Publishing, BigNum Math text (June 2006)


  • Worked with Syngress to publish the LibTomMath textbook
  • 300 page text that documents the construction of a large integer multiple precision math library. 
  • Includes pseudo code and real fielded C source code for each algorithm
  • Based on the LibTomMath math library
  • ISBN: 1597491128

 

Advanced Micro Devices, (January 2006 - October 2006)

  • Senior Software Engineer
  • Work on site with IBM to help profile and engineer IBM products on AMD Opteron Systems
  • Work with DB2 Viper at pre-launch doing TPC-C benchmarking and debugging
  • Representative of AMD for IBM in Canada
  • Co-ordinate events such as training, product roll out and scheduled upgrades
  • Responsible to be knowledgeable about current products and future road maps. To help diagnose faults and interpret benchmark results.

ToorCon'7, San Diego, (Sept 2005)

  • Was invited to give a talk on "plugable" libtomcrypt
  • Goal of talk was to encourage third party development with the library
  • Gave this talk (http://libtom.org/pages/toorcon05.pdf)


LibreSoftwareMeeting, Dijon, France, (July 2005)

  • Was invited to give a talk on the LibTom set of projects
  • Gave this talk (http://libtom.org/pages/talk_lsm.pdf)


Elliptic Semiconductor, Ottawa, (March 2005 - October 2005)

  • Work full-time as a software developer and cryptographer.
  • Responsible for providing answers to cryptography related questions.
  • Responsible for implementing regression testing and emulation software to use against existing hardware.
  • Have traveled (Vancouver and Washington state)

Secure Science, Vannes, France (January 2005 - February 2005)

  • Spent a month in France fine tuning and integrating the cryptographic software into Time Navigator with the Atempo software team.
  • French language skills were essential.

Secure Science, Ottawa, (December 2004 - February 2005)

  • Implemented the cryptographic layer for Atempos network backup "Time Navigator" suite
  • Worked as the lead software developer in a group of seven.
  • Project was accepted as of April 2005

Secure Science, Les Boréales, France  (November 2004)

  • Spent a week gathering user requirements (cryptographic project)
  • Formed a design document for a cryptographic layer for network backup software

Blunk Microsystems - LibTom Consultant (October 2004)

  • Consulted to enhance the build configurations of LibTomMath and LibTomCrypt
  • Built a flexible dependency tree generator and analyzer for LibTomMath
  • Reduced the size of a "RSA" build of LibTomMath by half
  • Updated the documentation for both projects to better support the new functionality
  • Produced LTC v0.99 and LTM v0.32 [with the patchsets] as a final product
  • Worked in the limited time frame of five business days

San Diego chapter of the ACM, ToorCon'6 (September 2004)

  • Lectured at the ACM
  • Presented a seminar at ToorCon
  • Title of talk "Cryptanalysis in Society" (http://libtom.org/pages/talk.sxi)
  • Talk length, 60 minutes

Gracenote, California - LibTomCrypt Consultant (June 2004)

  • Consulted to port Diffie-Hellman 768-bit support from LibTomCrypt to a smaller form factor
  • Required to perform custom changes to code to fit their development platforms
  • Required to reduce code size significantly (4x smaller)
  • Produced this finished product (freely available for all purposes in the public domain) (http://libtom.org/pages/gracenote.zip)
  • Worked in limited time frame of five business days
  • Provided additional support for an additional week to ensure acceptance

Secure Science Corporation - Software Developer (March 2004 - Present)

  • Consults on various cryptographic protocols and designs
  • Develops in-house prototype software
  • Network with other firms to secure consulting agreements
  • Perform theoretical research in the field of symmetric cipher and hash design.

NTI Inc. -- Cryptography Consultant (March 2003 - March 2004)

  • Required to write several cryptographic tools
  • Required to provide feedback about the security of various decisions
  • Completed two separate projects.


Cloakware -- Intern Cryptographer (May 2000 - April 2001)

  • Responsible for analysis and design of several cryptographic primitives
  • Support libraries and classes written in Java 2
  • Provided regular 15 to 20 min presentations.

 

December 2001 - Present

Public Domain Open Source Projects

LibTomCrypt

  • A portable ISO C cryptographic toolkit.
  • Implements 16 symmetric ciphers, 12 one-way hashes, 5 PRNGs and 4 public-key cryptosystems.
  • Responsible for development, bug fixing and maintaining documentation.
  • Provided as a kit for students organized as coding examples to teach with.
  • Designed to be modular and field upgradeable through the use of plugins
  • Has competitively fast implementations of RSA and ECC
  • List of users
    • SCEA (Sony)
    • BitMover (keepers of the Linux Kernel Tree)
    • PeerSec (MatrixSSL)
    • QUALCOMM
    • Organic Network
    • IBM
    • Intel, Motorola, AMD, Freescale
    • Gracenote
    • Open Torque Network Library (Garage Games)
    • Mythic Entertainment
    • DoxPara Research
    • ShareWidth
    • demonWare
    • UbiSoft Montreal
    • Cryptography Research Inc.
    • Many open source developers

LibTomMath

  • A portable ISO C multiple-precision integer library.
  • The de facto standard bignum math library for the Tcl scripting language
  • Designed to replace the MPI library by Michael Fromberger (e.g. drop-in)
  • Designed to be very fast and easily configurable (as well easy to build)
  • Responsible for development, bug fixing and maintaining documentation.
  • Provided free of charge for all purposes.

TomsFastMath -- Fast Math Library

  • Very fast math library for cryptographic purposes.
  • Portable code with assembler inlines for
    • x86-32
    • x86-64
    • x86-32 with SSE2
    • ARMv4 (using the M extensions)
    • PPC32
    • AVR32
  • Has been clocked faster than OpenSSL on an Athlon64, Intel P4 and Smithfield as well an IBM PPC 405.
  • Public Domain

LibTomFloat -- Multiple Precision Floating Point Library

  • A library which provides multiple precision floating point math routines
  • Uses LibTomMath for the mantissa operations
  • Written entirely in portable ISO C
  • Public Domain
  • Another natural extension of the LibTomMath package written to educate others.

LibTomPoly -- Polynomial Basis Math Library

  • A library which provides polynomial basis arithmetic
  • Uses the LibTomMath library for coefficient arithmetic
  • Written entirely in portable ISO C
  • Public Domain
  • A natural extension of the LibTomMath library provided as a resource primarily for students.

LibTomNet -- TCP/IP Authenticated and Encrypted Channels

  • Library provides TCP/IP authentication and privacy
  • Uses LibTomCrypt as a crypto provider
  • Written in portable ISO C using BSD sockets
  • Public Domain
  • Practical demonstration of the LibTomCrypt library

LibTomMath -- Book Project

  • A full length text book on the implementation issues regarding multiple-precision integer arithmetic.
  • Includes pseudo-code, function C source code and essential background theory.

IAHU

  • A portable posix compatible TCP/IP server system
  • Includes a functional implementation of HTTP 1.1
  • Provides detailing logging and a modular design for future expansion

Education


Feb 2004

Algonquin College, The A.C.T. Test

  • Obtained a score of 24 out of 36
  • Obtained 27/36 in Mathematics and 25/36 in Science


May 2001 - Dec 2004


Algonquin College, Computer Technology -- Computer Science

  • Graduated in December 2004 with a three year diploma in Computer Science
  • Obtained a B- (72%) overall average.

Skill Set


Operating Systems

Languages

Other

Social Activities