d8fb4ed
(#225) Bump dependencies to fix vulnerability fromcargo audit
(curve25519-dalek
: 3.2 -> 4.1.3,x25519-dalek
: 1.1 -> 2.0.1,age
: 0.9 -> 0.10).
e8db042
(#217) BIP44 improvements: made coin_type a mandatory constructor parameter, removed Default impl.
51c0823
(#211) Support BIP44 chains for SLIP10.aa08ccb
(#210) Added Keccak-256 hash function.aa08ccb
(#210) Use Keccak-256 hash function with Secp256k1 ECDSA.
0c33ca5
(#204) BIP39 reference types and other minor improvements.0843e7b
(#205) ImplementEq
,Ord
andHash
traits for public key and signature types.2926f7c
(#207) SLIP10 minor improvements.
8bc7a70
(#200) Use safety wrappers for BIP39 mnemonic and passphrase types for encapsulating normalization (UTF-8 NFKD) checks and avoid potential secret leaks. More secrecy awareness in BIP39 implementation.baf4b83
(#201) More static type safety for SLIP10 implementation to avoid runtime checks.
57a3251
(#197) Use word separator provided inWordList
when decoding. Disallow toleration for multiple whitespace when single whitespace is defined as a word separator.
ad2b035
(#187) AddSecp256k1
ECDSA signature.ad2b035
(#187) Deprecated ed25519 constants (eg.ed25519::SECRET_KEY_LENGTH
), use associated constants instead (eg.ed25519::SecretKey::LENGTH
).ad2b035
(#187) SLIP-10 supportSecp256k1
curve and non-hardened key derivation.
- More informative errors in age module.
- Age errors split into different types. PBKDF2 prototype simplified.
- Change
Error::Pbkdf2
intoError::InvalidLength
.
- Bumped crypto dependencies to new recent versions. Rewritten/simplified AES-CBC with HMAC via SimpleHmac. API change: encrypt and try_encrypt of Aead trait now return size of ciphertext.
- Added support for age-encryption.org/v1 encrypted file format with password-based scrypt recipient stanza
- Make use of
dep:*
inCargo.toml
to avoid having to rename the dependencies to*-crate
or*_
.
- Bump
blake2
to get rid of yanked version.
- Downgrade
x25519-dalek
from 1.2 to 1.1 to allow usingzeroize
> 1.3.
- Fix ternary encoding b1t6 on
no_std
compilations.
- Move
bee-ternary
tocrypto.rs
asternary
encoding module.
- Bump
bee-ternary
dependency to1.0.0
.
- Forces the use of
[email protected]
since all previous0.2
versions have been yanked.
- Add aead_encrypt and aead_decrypt convenience functions
- Bump
bee-ternary
to1.0.0-alpha.1
- Impl missing
FixedOutputReset
forBlake2b256
andBlake2b160
.
-
Derive more traits for
Curve
,Key
,Segment
andChain
. -
Update to digest-0.10
-
digest: 0.9 -> 0.10
-
blake2: 0.9 -> 0.10
-
hmac: 0.11 -> 0.12
-
pbkdf2: 0.8 -> 0.11
-
sha2: 0.9 -> 0.10
-
sha3: 0.9 -> 0.10
-
1e419b2 Upgrade digest to 0.10 and dependent packages (#142) on 2022-06-01
- Add AES-CBC algorithms (
Aes128CbcHmac256
,Aes192CbcHmac384
,Aes256CbcHmac512
).
- Bump version minor to fix iotaledger/bee#1360
- Replace Curl implementation with an unrolled version for better performance. Add a batched version of Curl.
-
Support for the Blake2b hashing function to 160 bits
-
Wrapper around VarBlake2b for 160 bits hash
-
New tests for 160 bits copied from blake2b-256
-
Generate new test vector created with b2sum using the inputs of blake2b-256 test vector
-
Update list of supported algorithms
-
Update bee-ternary requirement from 0.4.2-alpha to 0.5.0
-
- Enabled to access the
Segment
vector inChain
.
- Enabled to access the
- Added consistent line breaks between methods.
- 50c0f53 Add .change file for Chain access on 2021-07-02
-
- Unified naming convention in ed25519 and x25519 modules.
- Added useful methods and standard traits implementations.
- Added conversion of ed25519 keys to x25519 keys.
- b52caec added changes on 2021-07-28
-
Added js feature to getrandom for wasm compatibility.
- 0a85dfd add change file on 2021-07-01
-
Added
-
Segment
field access;- Enable
hardened
field read access; - Enable
bs
field read access;
- Enable
-
bip39.rs
clippy error fix; -
41e776e Add .changes file for Segment field access on 2021-07-01
- This release updates a number of interlocking dependencies, but does not change the external interface.
- a644f8d add .changefile on 2021-05-04
-
Added
-
Sponge
trait; -
Kerl
sponge implementation; -
f96b845 Add .change on 2021-04-16
-
12df494 Update .changes/kerl.md on 2021-04-16
-
Added
-
WOTS
implementation;keys
module;signatures
module;
-
eec08c3 Add wots .changes on 2021-04-18
- Automated publishing
- 30342ce .changes on 2021-03-18
- Patch to fix publish workflow.
- f161741 fix(covector) on 2021-03-18
- Add a
Aead
trait and expose a common API through theAes256Gcm
andXChaCha20Poly1305
types.
To migrate from the previous AES-GCM/ChaCha
implementations:
AES_256_GCM::encrypt(&key, &iv, &associated_data, &plaintext, &mut ciphertext, &mut tag)?;
// |
// v
Aes256Gcm::encrypt(&key, &iv, &associated_data, &plaintext, &mut ciphertext, &mut tag)?;
AES_256_GCM::decrypt(&key, &iv, &associated_data, &tag, &ciphertext, &mut plaintext)?;
// |
// v
Aes256Gcm::decrypt(&key, &nonce, &associated_data, &tag, &ciphertext, &mut plaintext)?;
xchacha20poly1305::encrypt(&mut ciphertext, &tag, &plaintext, &key, &nonce, &associated_data)?;
// |
// v
XChaCha20Poly1305::encrypt(&key, &nonce, &associated_data, &plaintext, &mut ciphertext, &mut tag)?;
xchacha20poly1305::decrypt(&mut plaintext, &ciphertext, &key, &tag, &nonce, &associated_data)?;
// |
// v
XChaCha20Poly1305::decrypt(&key, &nonce, &associated_data, &tag, &ciphertext, &mut plaintext)?;
- [104171d](https://www.github.com/iotaledger/crypto.rs/commit/104171d80555e3e62805ec59dd9e6290bcf71334) Add changelog message on 2021-03-04
- [9690eae](https://www.github.com/iotaledger/crypto.rs/commit/9690eaedbb716649879a7f31dd60cc792ef5e2eb) Add migration note on 2021-03-04
-
Add AES Key Wrap algorithm.
- 523544f Add changelog on 2021-01-09
-
Add ed25519 PublicKey Eq, Ord and AsRef traits.
-
Add ed25519 test suite.
- 56f1c11 Added .changes file on 2021-02-18
-
Add HMAC-SHA384 message authentication algorithm.
- a1d3926 Add changelog message on 2020-12-18
-
Add PBKDF2-HMAC-SHA256/PBKDF2-HMAC-SHA384 key derivation.
- 8d6903b Add changelog message on 2021-01-11
-
Add SHA384 hash function.
- aa1734e Add changelog message on 2020-12-18
-
Add explicit Slip10 support for Ed25519 curve.
-
Add Slip10/Bip32 key derivation.
- ef04de1 add .changes. on 2021-02-19
-
Add a
std
feature to implementstd::Error::Error
forcrypto::Error
.- 370f07e Add changelog message on 2021-03-09
-
Revision of verify scope to be
ed25519::PublicKey::verify
- f8c95fe chore(changefile) on 2021-03-03
-
Cleanup repo and revise layout of features into individual folders.
- 03acaa5 chore(changes): add changefile on 2021-03-03
-
Normalization of the parameters for the encryption and decryption functions.
-
Parameter lists are as follows:
encrypt(
key,
nonce,
associated_data,
plaintext,
ciphertext,
tag
);
decrypt(
key,
nonce,
associated_data,
plaintext,
ciphertext,
tag
);
try_encrypt(
key,
nonce,
associated_data,
plaintext,
ciphertext,
tag
);
try_decrypt(
key,
nonce,
associated_data,
plaintext,
ciphertext,
tag
);
Changed the BufferSize error to include a name in the error message.
/// Produces an error message containing the following:
/// $name buffer needs $needs bytes, but it only has $has
Error::BufferSize(
name,
needs,
has
);
- [ef8e5b9](https://www.github.com/iotaledger/crypto.rs/commit/ef8e5b9ad65f315cea3473979b80590bb439aaea) add .changes md. on 2021-03-13
- [bca7a4d](https://www.github.com/iotaledger/crypto.rs/commit/bca7a4da2ffbf7e9422b74285fb605b748f06274) update .changes. on 2021-03-15
- Add the
Digest
trait andOutput
type to support streaming messages. Replaceblake2b::hash
withhashes::blake2b::Blake2b256
(256-bit fixed-output). - Add X25519 Diffie-Hellman key exchange and public key derivation using the Curve25519 curve.
- Add BIP39 wordlist codec.
- ca2a5a5 add changlog on 2020-12-21
- Introduce release manager for rust crates and npm packages including tangle registry.
- Add HMAC-SHA256 and HMAC-SHA512 message authentication algorithms.
- c6d8976 Add changelog message on 2020-11-30
- Add SHA256 and SHA512 hash functions.
- 5292638 Add changelog message on 2020-11-30