Jason Worth Martin
Assistant Professor of Mathematics

Department of Mathematics and Statistics
113 Roop Hall
MSC 1911
James Madison University
Harrisonburg, Virginia 22807

Voice: (540) 568-5101
Fax: (540) 568-6857
Email: jason.worth.martin@gmail.com

If you need to send me an encrypted message, please use my GPG public key. The key's fingerprint is:

37EE A97A 15E7 5ACB 4B1E A47E CF8C 1250 0561 FA7A

Of course, anyone who could hack this web server could replace both the key and finger print, so if you're really paranoid you can call me to confirm the key finger print.


Teaching (Spring 2009)

Course Add/Drop/Override/etc.

I have no power to do anything related to course registration. If you cannot accomplish what you need via e-campus, then you should see Brenda Wilkinson in person in her office in Roop 308. Due to the large number of students that Ms. Wilkinson needs to assist, and in order to be fair to all of them, Ms. Wilkinson can only assist students in person. Please do not call or email her about course registration issues (that's like trying to sneak to the front of the line).

My Spring Course

Math 245: Discrete Math

Office Hours

Day of Week Time
Mon. 8:00am-9:00am
Wed. 10:00am-11:00am
Fri. 10:00am-11:00am

Other times by appointment.

Research

Cryptographic Hashing

A cryptographic hashing algorithm is a method for reducing digital data down to a small string of bits which we call the "hash" of the data. A hash is often referred to as a "message digest" or a "digital fingerprint" because the chance of two different messages (even if they only differ by a tiny bit) producing the same hash should be so small as to be inconsequential. Since the early 1990s, the U.S. Federal standard for cryptographic hashing has been a collection of algorithms referred to as SHA. However, in 2005 Chinese cryptographers Xiaoyun Wang, Yiqun Lisa Yin, and Hongbo Yu demonstrated a serious weakness in SHA-1. This led the National Institute of Standards and Technology to hold a competition to determine a new Federal standard.

My submission to the NIST competition is called ESSENCE. Here is the full NIST Submission for ESSENCE. A description of the submission contents is available in this README file.

  • ESSENCE is a hybrid design using both the traditional Merkle-Damgard construction and Merkle hashing trees. The tree structure allows ESSENCE to use parallel computations to take advantage of multiple cores available on modern processors. Here is the technical specification for ESSENCE, which describes everything except the compression functions.

  • The ESSENCE compression functions use a Davies-Meyer construction based on a large block size internal block cipher. They have been designed to have high instruction-level parallelism which allows them to take advantage of the large SIMD registers in modern processors. Here is the technical specification for the ESSENCE compression functions.

  • The ESSENCE compression functions' internal block ciphers are constructed from non-linear feedback shift registers run in parallel with linear combining. The entire construction uses only the bitwise operations AND, XOR, NOT, and SHIFT.

  • The compression function does not require lookup tables, but the linear portion can be accelerated by using pre-computed tables. Using lookup tables can make an implementation vulnerable to cache-timing attacks, but in many situations timing attacks are not relevant and the lookup tables provide a 300% speedup.

  • On an eight core Intel Xeon based server, using OpenMP parallel C, ESSENCE can hash at better than 5 cpu cycles per byte including all the overhead required by the operating system for thread creation and management.

  • Here is the ESSENCE code with F function minimized using the Boyar-Peralta methods. Here is the ESSENCE submission to eBASH

    Number Theory

    I received my PhD in August, 2006 under the direction of Ravi Ramakrishna. For my dissertation, I found new upper bounds on Martinet Constants which describe how we expect discriminants to grow in number fields. For a PDF-slide show that describes the results, click here.

    Papers

    Improved Bounds for Discriminants of Number Fields (Submitted)


    GMP 4.2.x for Intel Core 2 (Intel64)

    If you were looking for the Core 2 patches for GMP 4.2.x, you can download them here. However, GMP 4.3 has Core 2 support included, so these patches are no longer being maintained.

    If you are still using GMP 4.2.x because your project is incompatible with the LGPL v3 license used by GMP 4.3, then you should look at MPIR which is an LGPL v2+ fork of GMP 4.2.1 which has been significantly patched (and supports Windows).