1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428
|
Changes for CryptX
0.087 2025-06-11
- bundled libtomcrypt update branch:develop (commit: d448df1 2025-05-06)
- bundled libtommath update branch:develop (commit: 839ae9e 2025-06-11)
- fix #120 Create SECURITY.md
- fix #121 Failures on ARM after upgrading libtommath
- security fix CVE-2025-40914 https://github.com/DCIT/perl-CryptX/security/advisories/GHSA-6fh3-7qjq-8v22
0.086 2025-05-02
- fixe #118 Syncing with recent Math-BigInt
- bundled libtomcrypt update branch:develop (commit:3905c289 2025-04-23)
0.085 2025-02-08
- fix #114 #113 #112 (improved detection of Apple+x86_64 / AESNI)
- fix #115 Crypt::PRNG - fix typo and specify ChaCha20 is the default
0.084 2024-10-16
- libtommath: fix cpantesters crash on freebsd/i386
- updated ppport.h
0.083 2024-10-15
- fix #110 regression: 0.081 fails to parse PEMs that 0.080 parsed fine
- bundled libtomcrypt update branch:develop (commit:cbb01b37 2024-10-14)
0.082 2024-10-07
- fix #111 libcryptx-perl: t/sshkey.t fails on some architectures
- CHANGE: Crypt::Cipher::Blowfish max key size increased to 72 bytes
- bundled libtomcrypt update branch:develop (commit:29af8922 2024-10-07)
0.081 2024-09-08
- fix #107 Drop -msse4.1 -maes for libtomcrypt
- fix #105 Several functions in CryptX::AuthEnc deal weirdly with non-simple-string plaintext
- fix #104 Add ethereum format signature
- fix #103 Use standard __asm__ blocks instead of asm
- fix #99 ltc: fix aesni flag handling
- fix #87 Add possibility to use different hash algorithms in RSAES-OAEP
- BIG CHANGE switch to PEM/SSH key loading via libtomcrypt
- bundled libtomcrypt update branch:develop (commit:ce904c86 2024-09-02)
0.080 2023-10-04
- fix #95 AES-NI troubles on MS Windows (gcc compiler)
- fix #96 Tests failure with Math::BigInt >= 1.999840
- Enabled AES-NI for platforms with gcc/clang/llvm
0.079 2023-10-01
- fix #92 update libtomcrypt
- bundled libtomcrypt update branch:develop (commit:1e629e6f 2023-06-22)
0.078 2023-04-28
- fix #89 Crypt::Mac::HMAC b64mac and b64umac object methods do not work
0.077 2022-08-21
- fix #82 + #84 new t/mbi_ltm_big*.t failures
- fix #85 wrong linker options for aix
0.076 2022-01-07
- fix #80 github actions (mac, windows, cygwin)
- fix #79 isolate ltc functions (via -Wl,--exclude-libs,ALL)
- fix #68 Segmentation fault on Apache due to symbol clash with libasn1
0.075 2021-12-25
- fix #78 bundled libtomcrypt update branch:develop (commit:673f5ce2 2021-06-04)
0.074 2021-11-06
- fix #75 Missing methods _sadd + _ssub in Math::BigInt::LTM
- fix #76 Tests failing for numbers with multiple underscore characters (Math::BigInt::LTM)
0.073 2021-07-18
- fix #73 CPAN testers failure with Math::BigInt 1.99982
- fix #70 remove lto related hacks from Makefile.PL
- fix #72 drop optional prereqs JSON::XS + Cpanel::JSON::XS, use optionally only JSON
0.072 2021-04-29
- fix #69 Identifier Octet's Leniency in RSA PKCS#1 Signature Verification
- bundled libtomcrypt update branch:develop (commit:165c795b 2021-04-14)
0.071 2021-03-30
- fix #67 (better handling of PEM decoding failures)
0.070 2021-02-12
- fix #66 remove -flto=auto (Makefile.PL)
- fix #65 typo in docs (lib/Crypt/Cipher.pm)
- bundled libtomcrypt update branch:develop (commit:910d6252 2021-01-19)
0.069 2020-08-25
- fix #64 ECC: segfault on invalid input
- fix #63 ltc Licensing could be clearer (added src/{ltc,ltm}/LICENSE)
- fix #62 documentation only (Crypt::CBC related)
- bundled libtomcrypt update branch:develop (commit:d8d7a83b 2020-07-14)
0.068 2020-03-10
- fix #60 Test failues on macOS Catalina
0.067 2020-02-01
- new: Crypt::PK::Ed25519
- new: Crypt::PK::X25519
- bundled libtomcrypt update branch:develop (commit:1937f412 2019-11-22)
0.066 2019-10-20
- fix #57 Build fails on i686
- bundled libtomcrypt update branch:develop (commit:354c9051 2019-10-20)
- no perl module code change
0.065 2019-10-19
- fix #56 Math::BigInt 1.999817 breaks the tests of CryptX
- bundled libtomcrypt update branch:develop (commit:25410c75 2019-10-17)
- no perl module code change, just tests
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
|