summaryrefslogtreecommitdiff
path: root/Changes
blob: f5c1a98a5a31f5cd59fadb95a79d2903ca46943c (plain)
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
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