- [#190]
- Fix performance regression with generating ed25519 keypairs introduced in 0.14.0.
- [#184]
- Switch from
ed25519-dalek-fiat
toed25519-dalek
. - Remove
u64_backend
andu32_backend
features.
- Switch from
- [#184]
- Change MSRV to Rust 1.70.0
- [#177]
- Change MSRV to Rust 1.60.0
- [#175]
- Change MSRV to Rust 1.57.0
None
[#163] Fix compilation error for certain combinations of transitive dependencies related to ed25519-dalek-fiat
- [#158] Change MSRV to Rust 1.56.0
- [#152] Remove dependency on
arrayvec
- [#157] Depend on
ed25519-dalek-fiat
instead ofed25519-dalek
- [#157] Upgrade to
rand
0.8 - [#157] Upgrade to
rand_chacha
0.3 - [#157] Upgrade to
gridiron
0.9 - [#158] Remove dependency on
arrayref
- [#159] Relax dependency version requirements
- [#127] Change MSRV to Rust 1.41.1
- [#128] Upgrade to
getrandom
0.2.0 - [#129] Upgrade to
quick-error
2.0 - [#133] Upgrade to
ed25519-dalek
1.0.1 - [#134] Upgrade to
arrayvec
0.5 - [#135] Upgrade to
hex
0.4 - [#136] Upgrade to
derivative
2.1.1 - [#137] Upgrade to
gridiron
0.8.0 - [#138] Upgrade to
sha2
0.9 - [#140] Upgrade to
cfg-if
1.0.0
- [#115]
- Add explicit 32-bit and 64-bit backends as features:
u64_backend
,u32_backend
- Add explicit 32-bit and 64-bit backends as features:
- [#108]
- Add memory protections for secret values (disable with
disable_memlock
)
- Add memory protections for secret values (disable with
- [#105]
- Upgrade dependencies (
rand
,rand_chacha
,ed25519-dalek
,gridiron
)
- Upgrade dependencies (
-
[#104]
- Eliminate the
Revealed
struct. - Add
Hash
for all public types exceptRecrypt
. - Add
Eq
for all types which hadPartialEq
.
- Eliminate the
-
[#101]
- Eliminate the
Revealed
wrappers forPrivateKey
,Plaintext
, andDerivedSymmetricKey
. - Implement
PartialEq
forPrivateKey
,Plaintext
, andDerivedSymmetricKey
.
- Eliminate the
-
[#101]
- Eliminate the
Revealed
wrapper forSigningKeypair
. - Implement
PartialEq
forSigningKeypair
.
- Eliminate the
-
[#104]
- Move to use constant time eq for all properties that have
bytes()
. - Use derivative to derive
PartialEq
andHash
instead of hand crafted implementations.
- Move to use constant time eq for all properties that have
- [#99] Implement
Clone
forPlaintext
.
- [#98] Fix the dependency pinning for
ed25519-dalek
to be exact.
- [#95]
- Remove
Add
andSub
fromPrivateKey
. - Add
augment
andaugment_minus
toPrivateKey
, which correctly support private key rotation.
- Remove
- Fix a regression introduced in 0.8.0 where the randomness for some operations was reduced.
Affected 256-bit operations in 0.8.0 through 0.8.3 were:
CryptoOps::gen_plaintext
CryptoOps::transform
KeyGenOps::generate_transform_key
480-bit operations were not affected.
- [#90] Update lazy_static to 1.4.
- [#87] Implement
Add
andSub
forPrivateKey
to support private key augmentation.
- [#85] Update lazy_static to 1.3.
- [#82]
- Remove mutable references from public API. This makes sharing a single
Recrypt
among threads possible. - Change default RNG from
ThreadRng
toReseedingRng<rand_chacha::ChaChaCore, EntropyRng>
. - Add
DefaultRng
type alias to public API.
- Remove mutable references from public API. This makes sharing a single
- [#81] Add a default set of features to enable
ed2559-dalek
's 64-bit backend and awasm
feature that will instead use a 32-bit backend.
- [#57]
- Rename
api::Api
toapi::Recrypt
. - Rename
api_480::Api480
toapi_480::Recrypt480
. - Rename
ApiErr
toRecryptErr
and publicly exportRecryptErr
. - Make
PrivateKey::ENCODED_SIZE_BYTES
public.
- Rename
- [#63]
- Add a prelude for easier importing of common types and traits.
use recrypt::prelude::*
- Add a prelude for easier importing of common types and traits.
- [#70]
- Implement
DerivedSymmetricKey.to_private_key
. - Change
PublicKey
APIs to take all arguments as borrows.
- Implement
- [#71]
- Implement
From<SigningKeyPair>
instance for[u8; 64]
. - Implement
Clone
forPrivateKey
. - Allow many wrapped byte types to be consumed to get the underlying bytes without copying.
- Implement
- [#72] Change
PublicSigningKey.bytes
method to return a reference instead of copying.
- [#54] Consume gridiron 0.6.0, fixing some performance issues.
- [#55] Optimize Xi inverse, multiplication, etc.
- [#47] Document behavior of
normalize
forHomogeneousPoint
andTwistedHPoint
and remove panic from pairing. - [#50] Update to use Monty representation for all 256-bit operations.
- [#52] Update to use Monty representation for all 480-bit operations.
- [#35] Implement 480-bit public API. See api_480.rs.
- [#27] Use Rust 2018 edition.
- Progress toward Constant Time algorithms
- [#42] Document Fp
is_one
andis_zero
to not be constant time. - [#40] Use
u32
for FpMul
andAdd
and document to not be constant time. - [#39] Implement point negation in constant time.
- [#37] Document Fp12 and Fp6
to_fp2
constant time behavior. - [#26] Implement point double and add functions in constant time.
- [#42] Document Fp
- [#24] Add better errors for
Ed25519
andNonEmptyVec
.
- [#21]
- Consume gridiron 0.4.0 (primatives are now constant time).
- Rename
NonAdjacentForm
toBitRepr
.