libtomcrypt 1.18.0

Hi Folks,

finally we’ve mangaged to finish version 1.18.0 of libtomcrypt.

There were some minor changes since the RC5, namely:

  • A fix regarding ltc_mp_digit when compiling for win64.
  • Fixing the build when building on a machine without git installed.

The tarballs of the release can be downloaded here:

[crypt-1.18.0.tar.xz] [tar.xz.asc]

[crypt-1.18.0.zip] [zip.asc]

After nearly 1400 commits over the last 10 years there were some changes accumulated… :) Therefore we’re splitting this summary here up in bugfixes, cryptographic fixes, major additions and major improvements. A detailed list of all changes is included in the changes file.

Bugfixes

Cryptographic fixes

Major additions

  • Blake2b & Blake2s (hash & mac)
  • ChaCha (stream cipher), Poly1305 (mac), ChaCha20Poly1305 (encauth)
  • Diffie-Hellman (has been revived from an earlier version and re-worked)
  • SHA3 (incl. SHAKE3)
  • OCBv3 (encauth)
  • Camellia (block cipher)
  • New stream cipher API (ChaCha, RC4, Sober128)
  • ChaCha20-based PRNG
  • RSA - loading keys PKCS#8 (private) and X.509 (public)

Major improvements

  • Re-worked all makefiles.
  • Fixed a bunch of build issues on a lot of platforms.
  • ECC, DSA and RSA hardened in multiple ways.

Thanks go out to all contributors and bug reporters. I wanted to thank especially Karel, who’s using the library in his PERL bindings perl-CryptX, and Larry Bugbee, who both contributed loads of improvements and invaluable feedback (before and behind the scenes). Thanks go also out to @rolf0r, François Perrad, all the OS package maintainers who reported feedback and organisations like Linaro who are using the library in their OP-TEE environment and upstreamed some nice patches.

Let’s see how this goes on and hopefully evolves into a 2.0 version of the library :)

Cheers,

Karel & Steffen

P.S.: If you experience any issues, feel free to drop us a mail on the [ML] or open a PR on [GitHub].