
Logo Created by the Dynamic-Duo at RoboDesign
[ LibTomCrypt ] [ LibTomMath ]
[ LibTomPoly ] [ LibTomNet ]
[ LibTomFloat ] [ TomsFastMath ]
[ LTC Book ]
[ News ] [ Features ] [ Changes ] [ Download ]
[ Mirror1 ] [ Mirror2 ]
Welcome
Welcome to the LibTomMath website. On this side of libtomcrypt.com I will be hosting the
number theoretic multiple-precision integer library LibTomMath.
LibTomMath provides highly optimized and portable routines for a vast majority of integer based
number theoretic applications (including public key cryptography). LibTomMath is not a cryptographic
toolkit itself but it can be used to write one [Used in LibTomCrypt for RSA, DH and ECC public key routines].

Cover of the LTM book. Will be available in June/July of 2006.
- August 4th, 2006. Updated the C++ wrapper, now 100% better. Basically more overloaded operators to make it a bit more efficient to work with. dig it.
- August 3rd, 2006. Hell froze over. Out of complete boredom I wrote a C++ wrapper for LTM. Check it out here.
- April 13th, 2006. 0.39 broke the book because the booker.pl script was looking for libtomcrypt.org in the source. I've uploaded (zipped copy) a newer PDF for those who want a read.
- April 4th, 2006. Released LTM 0.39. Sorry.
- January 27th, 2006. WARNING the library you are looking at here has been written by a "kid" without a degree ;-). Calculate at your own risk. And yes, I hate RSA.
- January 26th, 2006. Release of LTM 0.38. Fixes a non-fatal off by one in the multipliers. Recommended you upgrade.
- November 18th, 2005. Release of LTM 0.37.
- Sept 6th, 2005. If you have had trouble downloading LibTomMath that is because the paths were relative and you were going to "www.libtomcrypt.com/math/download.html" which won't work. I've fixed the page to use absolute paths now. You can go to here to fetch it.
- August 1st, 2005. Release of LTM 0.36
- March 20th, 2005. LibTom projects are now stored in a local CVS (at iahu.ca). If you'd like to get developer access please
email me a request.
- March 12th, 2005. Release of LTM 0.35. Fixed number overflow/underruns, invmod bug and a couple minor things. Get it, eh.
- February 14th, 2005. Posted a second (recommended) patchset for LTM. Recommened. Happy valentines day! <3 or something
- February 13th, 2005. Posted a set of patches for v0.34 that clear up some issues with invmod and exteuclid. Head to the download page to get the patchset.
- February 12th, 2005. Release of v0.34. Mostly incremental release. Fixed a few bugs and added new functionality. Recommended.
- December 23rd, 2004. Release of v0.33. Fixed a series of small bugs. Highly recommended. Plus it's a good source of vitamin-B!
- December 14th, 2004. Volkan Ceylan ported ALL of LibTomMath to the Pascal programming language. Check it out here. That's hella cool.
- October 31st, 2004. Released patchset 001 which fixes a bug in the "small" variant of mp_div() and adds the missing headers to the makefiles. Grab a copy from the download page.
- October 29th, 2004. Release of LTM 0.32. New build options, code updates and new framework for manipulating the build efficiently.
- August 13th, 2004. PLEASE read the following text if you're a LTC or LTM user.
- Aug 9th, 2004. Release of LTM 0.31, oh and SSE2/x86-64 [combined] patches are coming soon ;-)
- June 29th, 2004. Updated SSE2 patches (again, rev3) includes pre-gen'd mpi.c for LTC.
- June 28th, 2004. Updated SSE2 patches (much faster) and added pre-gen'd mpi.c for LTC.
- June 27th, 2004. Added SSE2 patches to download page. You can apply them against 0.30 (and then define LTMSSE) to get SSE2 optimized multipliers.
- Apr 23rd, 2004. Released a set of makefile patches for LTM 0.30 (for BCC/MSVC/cygwin_dll). No critical fixes.
- Apr 11th, 2004. Release of LTM 0.30, fixed bugs, added several new functions.
- Feb 21st, 2004. Posted a series of patches that bring v0.29 upto my current code base. No critical fixes.
- Jan 25th, 2004. Bug fixes, added EEA. Release of v0.29
- Jan 11th, 2004. I forgot to announce LibTomPoly when I released it. LTP is a polynomial basis library using LTM.
- Dec 24th, 2003. Release of LTM 0.28. Fixed bugs, added new manual and added textbook [under public domain].
- Sept 19th, 2003. Release of LTM 0.27. Fixed a buffer-overflow and updated various other functions. Also Dan "Effugas" Kaminsky donated $200 USD to the Tom St Denis "cause". Let's all spend a second to thank Dan for being a huge supporter of the LibTom projects.
- August 29th, 2003. Release of LTM 0.26. Fixed numerous bugs and optimized a function.
- August 25th, 2003. Started a new mailing list (again)
- August 4th, 2003. Release of LTM 0.25. Small bug fixes, LibTomMath now released under Public Domain license.
- July 16th, 2003. Release of LTM 0.24. Fixes bug in mp_gcd and optimizes single digit add/sub.
- July 12th, 2003. Release of LTM 0.23. Fixes primality code, mp_div_d(), etc.
- July 4th, 2003. Release of a new project LibTomNet.
- July 2nd, 2003. Release of LTM 0.22. Fixes to mp_invmod(), optimizations to mp_gcd(), etc.
- June 25th, 2003. LibTomMath Book has been released [draft edition]. Check it out.
- June 19th, 2003. It's 5am, do you know where your latest LTM lib is at? Right here. LTM 0.21 out. Fixed a minor bug.
- June 8th, 2003. Release of the TDCAL license [see libtomcrypt.com side] and LTM 0.20 [fully TDCAL now].
- June 6th, 2003. Release of LTM 0.19 [and loving it...]
- May 29th, 2003. Release of LTM 0.18. Tons of new features such as Toom multiplication and faster DR reduction.
- May 17th, 2003. Release of LTM 0.17. Tons of bug fixes and the first half of the LTM book drafted.
- April 6th, 2003. Started the new LibTomMath manual. It will be in book format with tons of goodies. :-)
- March 29th, 2003. Release of LibTomMath v0.16. Fixes a few bugs, new comments, release coincides with new release of LibTomCrypt.
- March 22nd, 2003. Release of LibTomMath v0.15. Sports primality testing routines and fast DR reductions.
- March 18th, 2003. Starting to use Bit Keeper for code management. Though I'm the only developer Bit Keeper will let people see how the code evolves over time. Wayne Scott has spent considerably time getting previous releases setup in the repository for free. Check out the repository at bkbits.net.
- March 15th, 2003
- Initial re-opening with v0.14 of LibTomMath
- The etc/tune.c program is inproperly setup. The constant 128 should be 144 (~4096-bits) and
the constant 192 in main() should be 144 too. The current test will still give you an idea of
what constants to use but the fix will be more accurate. v0.15 will feature this change.
- Another bug found is the demos/test.c program has a lingering goto [to expttime]. It should have
been removed prior to release. Will be fixed in the next release [v0.15]