All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
0.21.0 (2024-10-10)
- use constant-time equality checking for DHKE (#232) (2a1715a)
- upgrade dependencies tari utilities to 0.8 and borsh to 1.5
0.20.3 (2024-07-02)
- Include Add CAPK and Schnorr signatures together
0.20.2 (2024-06-28)
- Adds public constructor for DHKE
0.20.1 (2024-05-09)
- add constant-time trait bounds (#219) (a6cef07), closes /github.com/dalek-cryptography/curve25519-dalek/blob/ba737a379071191158bacfa6d138f6249b12fc09/curve25519-dalek/src/scalar.rs#L296-L300 /github.com/dalek-cryptography/curve25519-dalek/blob/ba737a379071191158bacfa6d138f6249b12fc09/curve25519-dalek/src/ristretto.rs#L822-L826 #139
- Upgrade dalek dependency
0.20.0 (2023-12-06)
- Upgrade borsh to 1.2 official
- Add std feature flag to add std support.
0.19.0 (2023-11-02)
- Changes the commitment and secret key APIs.
- This changes the way that scalars are produced from
byte arrays, modifies the
SecretKey
trait and correspondingRistrettoSecretKey
implementation, and updates the Schnorr signature API.
- differentiate scalar parsing from byte arrays (#194) (f9b6cb8), closes /github.com/tari-project/tari-crypto/blob/053119f2110aaf3089c7b9df96f50b8cc8d3217a/src/ristretto/ristretto_keys.rs#L90-L100 #189
- simplify zeroizing and add test to DHKE (#197) (1e6f603), closes #196
0.18.0 (2023-08-10)
- enable no_std support for tari_crypto (#191)
- move the WASM and FFI builds to seperate Repos (#193)
- enable no_std support for tari_crypto (#191) (a0e9765)
- fix new_generator (#192) (0d463b0)
- move the WASM and FFI builds to seperate Repos (#193) (053119f)
- remove unused dalek rangeproof (#184) (d21cd37)
- update dependancies (#185) (4c2424f)
- zeroize temporary scalar byte array (#188) (2147522)
0.17.0 (2023-06-13)
- expose secret key length as a constant (#181)
0.16.12 (2023-04-13)
0.16.9 (2023-04-03)
0.16.8 (2023-03-09)
0.16.7 (2023-03-08)
- add missing methods to Commitment signature (#167) (e43fb45)
- qual of life improvements for pubkey display (#164) (1a71aff), closes #68
0.16.6 (2023-01-04)
- deterministic pseudorandom operations (#140) (306cf1b)
- use pre-computation tables for extended commitment factory with extension degree = 1 (#158) (0d816e4)
0.16.5 (2022-11-24)
0.16.4 (2022-11-24)
0.16.3 (2022-11-23)
0.16.2 (2022-11-21)
0.16.1 (2022-11-17)
0.16.0 (2022-11-14)
- improve signature api (#145)
0.15.7 (2022-10-27)
- add
Zeroize
support to key types, and create new shared secret type (#137) (532ccc0) - add deepsource config (c658619)
- add new commitment signature to use complete representation proof (#131) (e02fa0f)
- use precomputation for default commitments (#136) (acdcee6), closes #135
0.15.6 (2022-10-04)
0.15.5 (2022-08-29)
0.15.4 (2022-08-03)
- Removed trailing dot in domain tag if an empty label is provided to
DomainSeparatedHasher::new_with_label
0.15.3 (2022-07-28)
0.15.0 (2022-07-04)
BREAKING CHANGE: Blake256
no longer re-exposed under the common
mod and must be imported as hash::blake2::Blake256
BREAKING CHANGE: avx2
and simd
features have been removed. Use simd_backend
instead
BREAKING CHANGE: macros
mod is now private
BREAKING CHANGE: Various constants have been made private
BREAKING CHANGE: DalekRangeProofService
moved from ristretto::dalek_range_proof
to ristretto
BREAKING CHANGE: ristretto_com_sig
and ristretto_sig
mods have been made private. The structs and methods inside were already re-exposed under ristretto
0.14.0 (2022-06-24)
-
- any project based on a specific commitment in
tari_crypto
needs to be updated, as a commitment for the same value and blinding factor will now yield a different commitment. This was a necessary change as as described below.
- any project based on a specific commitment in
0.13.3 (2022-06-23)
- add bulletproof_plus to wasm (#107) (62cb98d)
- add simple bulletproofs plus interface(#105) (4f9500c)
0.13.2 (2022-06-15)
0.13.1 (2022-06-13)
0.13.0 (2022-04-29)
- changes method signature of RistrettoComSig::sign to pass in references (#91)
0.12.2 (2022-03-25)
- lock bulletproof repo to correct version (4650715)
0.12.1 (2022-03-14)
- ci: fix invalid env syntax (#79) (053e64e)
- code coverage only works on nightly (#78) (a3ceaa9)
- ensure ExecutionStack cannot exceed MAX_STACK_SIZE (#65) (1b74d94)
0.11.0 (2021-09-06)
- All dependencies to use the digest 0.9 traits and APIs.
Clients of this generally only need to update the result
method to
finalize
; and obviously make use of the v0.9 digest::Digest
trait
where necessary.
As a result, the deprecated k12, sha3 and Blake3 objects have been removed.
Methods and functins that need a hasher are all generic over Digest
.
We retain the convenience wrapper over VarBlake2B
to produce 256 bit
hashes and implement the necessary sub-traits to support digest::Digest
.
0.10.0 (2021-07-05)
- Support stable rust
Updated dependencies such that Rust stable 1.53 is now supported. The optimised avx_2 option will NOT rust on stable because there's still an unstable feature on subtle-ng. BUT this feature is actually for doc generation and has been removed from Rust. As soon as subtle-ng merges dalek-cryptography/subtle#85, avx2 will probably be supported on stable as well.
0.2.0 (2020-02-07)
- WASM and crate version now match. Eliminate that confusion.
- Breaking change:
KeyRing.sign
doesn't take a nonce any more. It's not needed, and why risk someone re-using it? - New method:
key_utils.sign
to sign keys not in the key ring - New module: Commitments