Date: 2024-07-19
- Update dependencies
- Add blake3 has functions helpers
Date: 2023-06-28
- Update dependencies
- Add some improvements to codecs ns
Date: 2023-05-20
- Update dependencies
- Update documentation.
Date: 2021-01-13
- Dependencies update.
- Convert to deps+tools.build
Date: 2021-05-02
- Change the jvm build target to 1.8
Date: 2021-05-01
- Update BC to 1.68
- Update other dependencies.
Date: 2020-12-03
- Update dsa code (now used bouncy castle native function instead of third party dep).
- Reflection fixes.
- Update BC to 1.67
Date: 2020-09-15
- Add
bytes->b64function tobuddy.core.codecs. - Add
bytes->b64ufunction tobuddy.core.codecs. - Add
b64->bytesfunction tobuddy.core.codecs. - Add
b64u->bytesfunction tobuddy.core.codecs. - Deprecate
buddy.core.codecs.base64.
Date: 2020-09-14
- Minor documentation changes.
Date: 2020-09-14
- Update BC to 1.66
- Update commons-codec to 1.15
- Update cheshire to 5.10.0
- Minor improvement on curve detecton on jwk (thanks to Denis Shilov).
Date: 2019-06-28
- Update bouncy castle to 1.62
Date: 2018-06-02
- Update bouncy castle to 1.59
- Add JWK reading and conversion to JCA (thanks to Denis Shilov).
- Add JWK loading and exporting support (thanks to Denis Shilov).
Date: 2017-08-29
- Update bouncy castle to 1.58
Date: 2017-08-08
- Update bouncy castle to 1.57
- Autoclose files after digest.
Date: 2017-01-24
- Update bouncy castle to 1.56
- Add certificates handling (thanks @ryfow).
Date: 2016-10-24
- Fix regression introduced in previous version.
Date: 2016-10-23
- Add support for zlib bytes of stream to deflate ns.
- Add support for specify the buffer size for
uncompressfunction.
Date: 2016-08-28
- Fix wrong parameters names on
buddy.core.bytes/fill!function (that can lead to unnecesary confusions). Backward compatibility is preserved. - Fix warnings with clojure 1.9.x.
- Update bouncycastle to 1.55.
- Add support to read public keys from X509Certificate (thanks @tmcf).
Date: 2016-06-09
- Fix unexpected exception on
buddy.core.bytes/equals?predicate when two zero-length arrays are compared. - Reimplement deflate helpers under
buddy.util.deflatenamespace in order to fix unexpected exception whenuncompressfunction is used with any input and start use safer idioms for treat internal streams. - Add ripemd-128, ripemd-160, ripemd-256 and ripemd-320 hash functions.
- Add whirlpool hash function.
Date: 2016-04-08
- Unmark deprecation metadata for
sha1andmd5hashes (thanks @dottedmag).
Date: 2016-04-08
- Overhaul codecs api (breaking changes).
- Overhaul crypto api (breaking changes).
- Add specific base64 namespace for better and more idiomatic api.
Notes about breaking changes on crypto ns:
process-bytes!is no longer alias toprocess-block!and it only works with aead or stream ciphers.calculate-authtag!is removed andend!is added in its place.- In highlevel crypto api
:algorithmoption becomes:algfor consistency with the rest of the library.
Date: 2016-03-27
- Add pbkdf2 kdf (thanks to @dottedmag).
Date: 2016-03-26
- Add support for pkcs8 keys (thanks to @dottedmag).
- Minor fixes on codecs ns.
Date: 2016-01-06
- Make encrypt-cbc, decrypt-cbc, encrypt-gcm and decrypt-gcm public.
- Improve perfmance of
encrypt-*andsplit-by-blocksizefunctions. - Make available blake2b-128 and blake2b-256.
- Make some private api of mac ns as public.
- Update bouncycastle to 1.54.
Date: 2015-12-17
- Add the ability to build provate key from string (thanks to @dannc).
Date: 2015-11-15
- Add more clear exception when no passwor is provided for encrypted private key.
Date: 2015-11-08
- Fix unexpected exception on sha3-384 hasher.
- Add blake2b hash engine.
- Add skein hash engine.
- BREAKING CHANGE: the hash api has ben notably changed for improve consistency and usability.
- BREAKING CHANGE: unify MAC impl under one unique namespace and make the api more flexible.
- BREAKING CHANGE: the digital signatures algorithm api has been
rewritten and unified under
buddy.core.dsans. - BREAKING CHANGE: the kdf api has been rewritten for to be more accurate and more human friendly.
- The crypto internal api is changed for consistency with mac, hash and dsa changes.
Date: 2015-09-19
- Set default clojure version to 1.7.0
- Remove slinghsot dependency. buddy.core.crypto ns now raises plain instances of clojure.lang.ExceptionInfo.
Date: 2015-06-28
- Replace
unpad!function withunpadon padding namespace. The removed function had wrong name and wrong implementation (instead of removing padding, as it name was indicating, it replaces the previous padding with zeropading). - Add
padfunction to paddings namespace. This is a side effect free version of thepad!. - Add high level interface for encrypt arbitrary length data using an
encryption scheme. A initial supported encryption schemes are:
:aes128-cbc-hmac-sha256:aes192-cbc-hmac-sha384:aes256-cbc-hmac-sha512:aes128-gcm:aes192-gcm:aes256-gcm
Date: 2015-04-02
- General code refactoring on crypto ns.
- Add support for AEAD block cipher modes.
- Add helper for split data by block size.
- Add support for deflate compression algorithm.
- Add support for AES Key Wrap algorithm.
- Add several fixes on asymetric key reading functions.
- Fix wrong behavior of bytes? predicate.
- Fix unexpected behavior of
countfunction of padding algorithms.
Date: 2015-03-14
- Update bouncycastle version from 1.51 to 1.52
Date: 2015-02-26
- Remove override warnings on hash and mac related ns (thanks @geraldodev for report it)
Date: 2015-02-15
New features:
- Add buddy.core.nonce namespace with functions for generate secure random ivs and secure nonces.
- Add buddy.core.padding namespace with interface to common padding algorithms.
Changes with backward compatibility:
- Replace record usage in kdf ns with reify.
- Rename kdf protocol method names to more consistent ones.
- Add partial support for nio ByteBuffer for kdf.
- Add common protocol for mac "engine" (this allows low level clojure friendly access to the mac algoritm engine) and add implementations of that for hmac and poly1305.
- Add common protocol for hash "engine" (this like mac, allows low level clojure friendly access to hash algorithm engines).
- Improve naming on hmac, shmac and poly1305 namespaces using
hashfunction instead of algorithm name for mac calculation function. - Unify digital signature function names to:
signandverify.
Backward incompatible changes:
- Rename kdf protocol from KDFType to IKDF.
- Remove make-random-bytes function from buddy.core.keys ns.
- Improve consistency naming on hash related protocol and its method.
- Remove iv parameter on poly1305 high level abstraction (still available on "engine" constructor).
Date: 2015-01-18
- First version splitted from monolitic buddy package.