This is a homepage for me, Joshua Hill. This is a site that I use to accumulate links to items that I wrote or find interesting.

You can find out about me by reading my résumé or if you're all social media-y, you can view my or my google profile.

- A paper analyzing the security of the RADIUS authentication protocol. As an aside, this paper was
~~stolen~~generously submitted for publication (after accidentally removing my name) by Peng Zhao, Xuewu Cao, and Ping Luo and published at the 2003 International Conference on Communication Technology. - A short biography of Paul Erdős
- A defense of pure mathematics, a short biography of Georg Cantor, an introduction to his work with cardinality, and beyond.
- A Recurrence Relation for Pi
- An analysis of the "Guess 2/3 of the Average" game
- A Description of the Number Field Sieve
- Calculations involving the minimum of independent of normal distributions
- The 7-11 Problem and its Solutions
- My advancement paper Weil Image Sums (and related problems).
- Counting Value Sets: Algorithm and Complexity (with Qi Cheng and Daqing Wan)
- My dissertation and defense slides On Calculating the Cardinality of the Value Set of a Polynomial (and some related problems).

I've translated (with help from Google Translate) Saburô Uchiyama's Sur le Nombre des Valeurs Distinctes d'un Polynôme à Coefficients dans un Corps Fini. My translation is The Number of Distinct Values of a Polynomial with Coefficients in a Finite Field

I've developed a few write ups for various classes that I've taught / TAed:

- Finite extensions of finite fields
- A quick outline of the Axiom of Choice.
- An outline of Euler's surprising series
- A proof of the divergence of the harmonic series
- Solving Cauchy-Euler equations by Substitution
- A Quick Note on Testing for Irreducibility over the Rational Numbers
- Every Element in a Finite Field is a Sum of Squares
- A Specification of the Pollard p-1 Algorithm
- The Time Complexity of the Effective Chinese Remainder Theorem

I have a few papers in (sometimes perpetual) draft:

- A paper on how the constants e and i are defined, along with some applications. e, i, e, i, oh!
- ApEn Test Parameter Selection

- A presentation that I gave in 1999 titled The Zen of Information Security.
- A presentation that I gave in 2000, titled Securing a Linux Box: It's mine, and You Can't Use It., which was in turn based on another presentation that I gave in 1998. As such, a fair bit of this is somewhat dated.
- A presentation I gave in 2002, titled Network Security: A Quick Overview.
- A presentation I gave in 2008, titled Cryptographic Foibles and Missteps.
- A presentation I gave in 2010 on Coppersmith's Theorem: Background, Generalizations and Applications.
- My advancement presentation in 2011 on Weil Image Sums.
- My ANTS X 2012 presentation on Counting Value Sets: Algorithm and Complexity
- A presentation that I gave in 2012 on Block Ciphers: Modes of Use, DES and AES
- A presentation that I gave in 2013 on Random Bit Generation: Theory and Practice
- A presentation that I gave in 2013 on The Dual Elliptic Curve Deterministic RBG
- A presentation that I gave in 2013 that includes a summary of various computational approaches to the discrete logarithm problem, including two very recent approaches by Joux. Joux's Recent Index Calculus Results
- A presentation that I gave in 2013 outlining the analysis of substitution ciphers. Substitution Ciphers
- A presentation that I gave in 2014 that includes a summary of various averaging results produced by David Harvey, et al. This includes the best known point counting algorithm on general purpose arithmetic schemes. Harvey's Average Polynomial Time Algorithms
- A presentation that I gave in 2014 on use of LaTeX in mathematics publishing. LaTeX for Mathy Endeavors: (Somewhat) Advanced LaTeX (and Related Matters)

Here are some programs that I find useful or generally neat:

- Solar Designer and the Openwall Project team pulled all his great tools together and made a hardened linux distribution called Owl.
- Fydor wrote a port scanner that you can use to audit your machine. It is called nmap.
- If you need to test the reasonableness of an PRNG, you can do large scale statistical testing on it. NIST has developed a series of tests documented in the excellent NIST SP800-22 (rev. 1a). NIST stopped support for the UNIX version of the test tool, but I've continued to support it here: sts.

I have a few other pieces of software that I've written over the years. Some of them are even still useful.

Mail *josh (dash) web (at) untruth.org* with comments, questions, etc.