About Me

My name is Joshua Davies and I am currently a software architect at NantHealth. Before that, I was the principal security architect at Travelocity for 10 years, and have been consulting or developing for the past 20. I've been programming all my professional life, and as a result, I've never had to hold a real job. I started programming in Basic when my father brought home the family's first computer, a TI-99/4A, in 1982. I later graduated to a Commodore 64 and outgrew Basic. I did a bit of research and at the time, the only other option for programming on a Commodore 64 was assembler. As a result, I went straight from the warm, friendly, hospitable environment of C64 Basic to cold, hard, unforgiving 6510 assembler. Still, I persevered and managed to put together some fairly sophisticated applications - I'm glad for the experience, because early on, I developed a very intuitive notion of how computers actually work. When I started college, computer science seemed like a natural choice as a major - I have an undergraduate degree in computer science from Valdosta State University and a masters degree in computer science from the University of Texas at Arlington.

These days, I mostly program in Java, although I make excuses to code in C whenever I can get away with it. One such excuse is my new book, Implementing SSL/TLS Using Cryptography and PKI, which includes fully worked-out reference implementations of SSLv2, TSL1.0 and TLS 1.2, along with details of all of the common cryptographic protocols employed by SSL/TLS. If you have any interest in SSL/TLS - especially if you plan to do any programming that involves using or implementing the protocol(s) - you should definitely check it out.

I'm married to my beautiful wife Lupita, and have two wonderful children: Dylan is 11, and Isabelle is 9.

My Book

I'm the author of the book "Implementing SSL/TLS Using Cryptography and PKI". Like the title says, this is a from-the-ground-up examination of the SSL protocol that provides security, integrity and privacy to most application-level internet protocols, most notably HTTP. I include the source code to a complete working SSL implementation, including the most popular cryptographic algorithms (DES, 3DES, RC4, AES, RSA, DSA, Diffie-Hellman, HMAC, MD5, SHA-1, SHA-256, and ECC), and show how they all fit together to provide transport-layer security.

My Picture

Joshua Davies

Past Posts