Changes for CryptX 0.064 2019-06-14 - fix #50 libtommath patch - building on HP-UX 11.11 / PA-RISC - necessary XS adaptation to the latest libtommath - bundled libtomcrypt update branch:develop (commit:c600d81e 2019-06-09) 0.063 2018-11-28 - proper patch for #46 (related to Math::BigInt::LTM) 0.062 2018-10-30 - bundled libtommath update branch:develop (commit:8b9f98ba 2018-09-23) + stdint.h workaround - bundled libtomcrypt update branch:develop (commit:f413335b 2018-10-29) - fix #45 doc only - sign_message_rfc7518 / sign_message_rfc7518 - fix #46 tests only - t/mbi_ltm_bigintpm.t etc. started to fail with latest Math::BigInt - fix #47 gcm_decrypt_verify + chacha20poly1305_decrypt_verify don't verify the tag - SERIOUS SECURITY BUG! - improved CBC/ECB padding (using libtomcrypt's functions: padding_depad + padding_pad) - enable pkcs#8 encrypted RSA keys (supported by the latest libtomcrypt) - exclude wycheproof tests (too big) from dist tarball (via MANIFEST.SKIP) 0.061 2018-06-07 - bundled libtommath update (+stdint.h workaround) - bundled libtomcrypt update (+necessary adaptation) - fix #43 HP-UX 11.11 C-ANSI-C has no stdint.h - fix #44 Anonymous unions are GNU and C11 (troubles with HP C/aC++, HP-UX 11.31/IA64) 0.060 2018-05-01 - bundled libtomcrypt update - Math::BigInt::LTM - remove buggy tests failing with the latest Math::BigInt - basically no changes to the perl modules 0.059 2018-03-25 - new Crypt::Digest::Keccak(224|256|384|512) - new methods sign_hash_rfc7518 + verify_hash_rfc7518 (Crypt::PK::ECC) - improved import of pkcs#8 private keys (Crypt::PK::ECC) - improved export allowing "compressed" variants (Crypt::PK::ECC) - fix #28 Apple's APNS pkcs8 auth key import fails (Crypt::PK::ECC) - fix cpantesters failure (5.8.1 related) 0.058 2018-02-27 - fix: decode_b58b + invalid input 0.057 2018-01-31 - significant speed-up (more stuff handled on XS level) - Crypt::Checksum is deprecated in favour of Crypt::Checksum::Adler32|CRC32 0.056 2017-12-22 - new Crypt::Stream::Rabbit 0.055 2017-11-28 - new Crypt::Cipher::IDEA - new Crypt::Cipher::Serpent - new Crypt::Stream::Salsa20 - new Crypt::Stream::Sosemanuk - added CCM object oriented interface: new-add-add-done - fix #39 accept CFLAGS and CPPFLAGS from the environment - fix #40 typos in POD - fix HMAC+SHA3 (now compliant with NIST test vectors) 0.054 2017-10-12 - fix Crypt::PK::DSA verify - libtomcrypt updated to 1.18 (+ some extra patches) - documentation fixes 0.053 2017-09-15 - fix Crypt::PK::DSA generate_key 0.051 2017-08-08 - INCOMPATIBLE CHANGE: Crypt::AuthEnc::OCB is now compliant with RFC 7253 0.050 2017-07-18 - fix cpantesters failures/warnings 0.049 2017-07-18 - libtomcrypt updated to 1.18-rc2 (+ some extra patches) - REMOVED: Crypt::PK::DH encrypt decrypt sign_message verify_message sign_hash verify_hash - NEW: Crypt::Misc - encode_b32*, decode_b32*, encode_b58*, decode_b58* - Crypt::PK::RSA: import public key from X509 certificate - Crypt::PK::DSA: improved generate_key() - Crypt::PK::DH: improved generate_key() - fix #36 aad_add is obsolete for all EncAuth algs (correct is adata_add) - fix #37 GCM - Encryption of the empty string 0.048 2017-05-31 - NEW: Crypt::Digest::SHA3_224 - NEW: Crypt::Digest::SHA3_256 - NEW: Crypt::Digest::SHA3_384 - NEW: Crypt::Digest::SHA3_512 - NEW: Crypt::Digest::SHAKE - NEW: Crypt::Digest::BLAKE2b_160 - NEW: Crypt::Digest::BLAKE2b_256 - NEW: Crypt::Digest::BLAKE2b_384 - NEW: Crypt::Digest::BLAKE2b_512 - NEW: Crypt::Digest::BLAKE2s_128 - NEW: Crypt::Digest::BLAKE2s_160 - NEW: Crypt::Digest::BLAKE2s_224 - NEW: Crypt::Digest::BLAKE2s_256 - NEW: Crypt::AuthEnc::ChaCha20Poly1305 - NEW: Crypt::Mac::Poly1305 - NEW: Crypt::Mac::BLAKE2s - NEW: Crypt::Mac::BLAKE2b - NEW: Crypt::PRNG::ChaCha20 - NEW: Crypt::Stream::ChaCha - NEW: Crypt::Stream::RC4 - NEW: Crypt::Stream::Sober128 - NEW: functions in Crypt::Misc - increment_octets_be, increment_octets_le - Crypt::PRNG now uses chacha20 prng by default 0.047 2017-04-05 - fix #32 Compile "ar" step fails when Perl built with -flto (better version) - fix #33 build fails on freebsd 9.2 and 10.0 (ar: fatal: Numeric group ID too large) 0.046 2017-04-04 - fix #32 Compile "ar" step fails when Perl built with -flto 0.045 2017-03-31 - sync with libtomcrypt/develop - fix #30 fix on SPARC+SolarisStudio - fix #31 Fails tests without '.' in @INC - polish compiler warnings 0.044 2016-11-28 - fix #27 Math::BigInt::LTM compatibility with older Math::BigInt 0.043 2016-11-27 - fix #26 Math::BigInt::LTM compatibility with Math::BigInt 1.999801+ 0.042 2016-11-12 - RSA: sign/verify functions now support 'none' padding (INSECURE!) - RC2: min keylen 40bit, used to be 64bit (INSECURE!) 0.041 2016-10-12 - ECC: ltc_ecc_is_point memory leak - DSA: properly handle FIPS 186-4 (4.6 + 4.7) - GCM: counter incrementation isn't stopped at 2^32 blocks, which breaks GCM - fix issue #24 Crypt::PK::ECC needs $VERSION (all *.pm have $VERSION) 0.040 2016-09-12 - fix file permissions - fix compiler warnings 0.039 2016-08-02 - fix build troubles for MacOS / PPC 0.038 2016-07-06 - fix issue #20 DSA/RSA/ECC/DH key2hash - hexadecimal numbers are missing leading zero - Math::BigInt::LTM fixed mp_invmod(a,b,c) for b == 1 - Math::BigInt::LTM fixed _log_int() - Math::BigInt::LTM fixed _alen() - fix 'Please specify prototyping behavior for CryptX.xs' - libtomcrypt (renaming *tab.c > *tab.c.inc not needed anymore) 0.037 2016-06-16 - fix issue #18 Minor issue with comment syntax - fix issue #19 t/checksum.t fails on AIX-5.3 0.036 2016-06-07 - fix issue #17 ability to export ecc keys in short/oid form 0.035 2016-06-03 - fix issue #14 Ensure Crypt::PK::ECC->key2hash()->{curve_name} is lowercase - fix issue #15 OpenSSL interoperability broken 0.034 2016-05-11 - Prevent RSA import_key() from altering a JWK hash reference 0.033 2016-05-09 - MSVC6 related fixes (needed for older ActivePerl@MSWin32) 0.032 2016-05-04 - Crypt::PK::DH - accept base/prime values - new: DH methods export_key_raw, import_key_raw, params2hash - enhanced: DH method generate_key - new: Crypt::Checksum, Crypt::Checksum::CRC32, Crypt::Checksum::Adler32 0.031 2016-05-01 - new: RSA+ECC method export_key_jwk_thumbprint() - new: Crypt::Misc functions random_v4uuid + is_v4uuid - fix: RSA+ECC export_key_jwk produces canonical JSON - fix: RSA+DSA public key export now produces PEM/DER compatible with openssl public keys exported be previous version can still be imported - fix: ECC import_key now accepts non-standard JWK curve names e.g. "secp112r1", "secp521r1" 0.030 2016-04-13 - fix: 0.029 + 0.028 by mistake installed *.inc files to perl/(lib|site|vendor) 0.029 2016-04-13 - NEW module: Math::BigInt::LTM - NEW module: Crypt::Misc 0.028 2016-03-23 - IMPORTANT: switch from Module::Build to ExtUtils::MakeMaker - fix for broken DSA key (ssh format) loading 0.027 2016-01-25 - sync with https://github.com/libtom/libtomcrypt (branch develop) - sync with https://github.com/libtom/libtommath (branch develop) - HP-UX related fixes - JSON dependency is now optional (we check JSON::PP, JSON::XS, Cpanel::JSON::XS) - skip jwk.t if no JSON::* module available - does not require MIME::Base64 (we use base64 routines from libtomcrypt) 0.026 2015-11-28 - switch to JSON::MaybeXS - Crypt::PRNG - rand/irand related cosmetics - consistently using UNIX newlines 0.025 2015-07-07 - Crypt::PK::ECC+RSA export_key_jwk() allows to export a perl HASH with JWK structure 0.024 2015-06-29 - new Crypt::PK::ECC methods verify_message_rfc7518() sign_message_rfc7518() curve2hash() - fix for Crypt::PK::RSA - bug in loading private key in JWK format 0.023 2015-06-10 - support for older compilers (gcc3, vc6) - typo in documentation (by tomhukins) 0.022 2015-05-22 - new: Crypt::PK::ECC+RSA export_key_jwk() - exporting JWK format - new: Crypt::Digest::SHA512_224 - new: Crypt::Digest::SHA512_256 - Crypt::PK::ECC+RSA import_key() - support for: * public/private keys in JWK format * private keys in PKCS8 PEM/DER format (unencrypted only) - Crypt::PK::ECC+RSA+DSA import_key() - support for: * public keys in SSH format * public/private keys as a hashref exported via key2hash - libtomcrypt updated to the latest develop branch, commit aeaa6d4a51 Apr 17 08:59:35 2015 +0200 - libtommath updated to the latest develop branch, commit 0fd5e6c17f Dec 11 14:59:35 2014 +0100 - documentation fixes 0.021 2014-01-23 - fixed asm(...) related compiler failures - dsa_encrypt_key small correction - optimized ecc_encrypt_key 0.020 2014-01-18 - INCOMPATIBLE CHANGE: huge redesign of Crypt::PK::ECC - ECC now supports curves y^2 = x^3 + a*x + b - ECC you can use custom curves - ECC import/export of keys in DER/PEM format now compatible with openssl - enabling compile options ASM + ECC_TIMING_RESISTANT - added many test vectors (RSA, DSA, EC) for interoperability with openssl 0.019 2013-10-20 - fixed broken CAMELLIA implementation 0.018 2013-10-18 - DSA: make_key + sign_hash fixes 0.017 2013-09-24 - lowering MIME::Base64 version requirement - support for import/export of password protected RSA/DSA keys - RSA: added - export_key_pem('public_x509') - better handling of dh_free/rsa_free/dsa_free/ecc_free - added openssl test vectors - fixed compiler warnings (RSA/DSA/ECC/DH) 0.016 2013-09-15 - added missing test for key2hash, sign_hash, verify_hash - fixed build failures on VC6 0.015 2013-09-12 - only documentation fixes 0.014 2013-09-11 - Crypt::Digest::NNN + Crypt::Mac::NNN - can produce Base64-URL-Safe encoded digest/mac - Crypt::PRNG + Crypt::PRNG::NNN - Base64-URL-Safe encoded random bytes (random_bytes_b64u/bytes_b64u) - Crypt::PK::RSA/DSA/DH/ECC - sign/verify replaced by sign_message/verify_message + sign_hash/verify_hash - Crypt::PK::RSA/DSA/DH/ECC - new method key2hash - documentation fixes 0.013 2013-08-28 - DSA/RSA/ECC/DH - importing keys from string changed - now: $pk->import_key(\$buffer_with_key) - DSA/RSA/ECC/DH - size() and is_private() now return undef if no key loaded - improved RSA doc 0.012 2013-06-17 - README, LICENSE etc. to improve CPANTS score - somehow works with perl 5.6.2 0.011 2013-06-15 - fixing various compiler warnings 0.009 2013-05-19 - doc fixes - requires perl 5.8.8 or higher - INCOMPATIBILITY: all digest related 'xxx_base64' functions renamed to 'xxx_b64' 0.008 2013-05-02 - fixed prng test failures - Crypt::Digest::* croaks with the "real caller" (not a nice solution) 0.007 2013-04-23 - Crypt::PRNG supports add_entropy() - without params - Crypt::PRNG fork-safe & thread-safe - random_string has default $len = 20 - doc fixes - cpan tester failure fix for pk_dsa.t 0.006 2013-04-19 - added Crypt::KeyDerivation - Win64 compatibility 0.005 2013-04-18 - added Crypt::PRNG::Fortuna|RC4|Sober128|Yarrow - added Crypt::PK::RSA|DSA|ECC|DH 0.004 2013-04-16 - removing illegal Crypt::Random 0.003 2013-04-16 - added Crypt::Mode::CBC|CFB|CTR|ECB|OFB - added Crypt::AuthEnc::CCM|EAX|GCM|OCB 0.002 2013-04-11 - first release on CPAN