Skip to content

Latest commit

 

History

History
420 lines (283 loc) · 22.8 KB

CHANGELOG.md

File metadata and controls

420 lines (283 loc) · 22.8 KB

Changelog

[0.23.2]

  • d8fb4ed (#225) Bump dependencies to fix vulnerability from cargo audit (curve25519-dalek: 3.2 -> 4.1.3, x25519-dalek: 1.1 -> 2.0.1, age: 0.9 -> 0.10).

[0.23.1]

  • 65c49a4(#221) Added ed25519 PublicKeyBytes wrapper that does not require validation to use.

[0.23.0]

  • e8db042(#217) BIP44 improvements: made coin_type a mandatory constructor parameter, removed Default impl.

[0.22.2]

  • 3e52160(#215) BIP44 improvements: derive_from_seed and IntoIterator instance.

[0.22.1]

  • 51491f0(#213) Fixed "rand"/"random" feature inconsistencies.

[0.22.0]

[0.21.2]

  • aeead20(#208) Minor BIP39 API change: return seed by value.

[0.21.1]

  • 0c33ca5(#204) BIP39 reference types and other minor improvements.
  • 0843e7b(#205) Implement Eq, Ord and Hash traits for public key and signature types.
  • 2926f7c(#207) SLIP10 minor improvements.

[0.21.0]

  • 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.

[0.20.1]

  • 57a3251(#197) Use word separator provided in WordList when decoding. Disallow toleration for multiple whitespace when single whitespace is defined as a word separator.

[0.20.0]

[0.19.0]

  • ad2b035(#187) Add Secp256k1 ECDSA signature.
  • ad2b035(#187) Deprecated ed25519 constants (eg. ed25519::SECRET_KEY_LENGTH), use associated constants instead (eg. ed25519::SecretKey::LENGTH).
  • ad2b035(#187) SLIP-10 support Secp256k1 curve and non-hardened key derivation.

[0.18.0]

  • Make serde dependency no_std compatible.

[0.17.1]

  • Zeroize on drop secret keys.

[0.17.0]

  • More informative errors in age module.
  • Age errors split into different types. PBKDF2 prototype simplified.
    • 16b7b1e Crypto better errors in age and pbkdf2 (#184) on 2023-03-13

[0.16.1]

  • Change Error::Pbkdf2 into Error::InvalidLength.
    • 7c53d2e Put Error::Pbkdf2 under the correct features (#180) on 2023-03-07

[0.16.0]

  • 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
    • c74bac4 Add support for age -- password-based encrypted file format (#173) on 2023-03-06
  • Make use of dep:* in Cargo.toml to avoid having to rename the dependencies to *-crate or *_.

[0.15.3]

  • Bump blake2 to get rid of yanked version.
    • a9f48de Bump blake2 to get rid of yanked version (#171) on 2022-11-15

[0.15.2]

  • Downgrade x25519-dalek from 1.2 to 1.1 to allow using zeroize > 1.3.
    • ebec323 Downgrade x25519-dalek from 1.2 to 1.1 to allow using zeroize > 1.3 (#169) on 2022-10-19

[0.15.1]

  • Fix ternary encoding b1t6 on no_std compilations.
    • 467ce65 Fix ternary encoding b1t6 on no_std compilations (#167) on 2022-10-17

[0.15.0]

  • Move bee-ternary to crypto.rs as ternary encoding module.

[0.14.3]

  • Bump bee-ternary dependency to 1.0.0.
    • bbb25e4 Add change file (#131) on 2022-04-25
    • 864f3a0 apply version updates (#132) on 2022-04-25
    • 85361aa Update format and bump bee-ternary (#150) on 2022-07-15
    • 94158f1 apply version updates (#151) on 2022-07-15
    • 6f969df Bump bee-ternary dependency on 2022-09-26

[0.14.2]

  • Remove cpufeatures dependency from wasm builds.

[0.14.1]

  • Forces the use of [email protected] since all previous 0.2 versions have been yanked.
    • 54ddf21 Address cpufeatures being yanked (#158) on 2022-09-05

[0.14.0]

  • Add aead_encrypt and aead_decrypt convenience functions
    • 1910a54 Add aead_encrypt and aead_decrypt convenience functions (#155) on 2022-08-19

[0.13.0]

  • Bump bee-ternary to 1.0.0-alpha.1

[0.12.1]

  • Impl missing FixedOutputReset for Blake2b256 and Blake2b160.
    • 6560139 Impl missing FixedOutputReset for Blake2b256 and Blake2b160 (#148) on 2022-06-14

[0.12.0]

  • Derive more traits for Curve, Key, Segment and Chain.

    • c61d292 Derive traits for Curve, Key, Segment and Chain (#139) on 2022-05-23
  • 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

[0.11.0]

  • Add AES-CBC algorithms (Aes128CbcHmac256, Aes192CbcHmac384, Aes256CbcHmac512).

[0.10.0]

[0.9.2]

  • Bump version of bee-ternary to v0.6.0

[0.9.1]

  • Make iota-crypto no_std.
    • 6b7b524 Make curl_p module no_std (#118) on 2021-11-19

[0.9.0]

  • Replace Curl implementation with an unrolled version for better performance. Add a batched version of Curl.
    • 18ab209 Add unrolled curl and batched curl (#116) on 2021-11-19

[0.8.0]

  • 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

  • dd055a4 Add Blake2b-160 (#111) on 2021-10-27

  • Update bee-ternary requirement from 0.4.2-alpha to 0.5.0

    • 5f3c9d2 Add .changes file for bee-ternary bump (#115) on 2021-11-11

[0.7.0]

    • Enabled to access the Segment vector in Chain.
  • 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

[0.6.0]

  • 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;
  • bip39.rs clippy error fix;

  • 41e776e Add .changes file for Segment field access on 2021-07-01

[0.5.1]

  • This release updates a number of interlocking dependencies, but does not change the external interface.
    • a644f8d add .changefile on 2021-05-04

[0.5.0]

  • 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

[0.4.2]

  • Automated publishing

[0.4.1]

  • Patch to fix publish workflow.
    • f161741 fix(covector) on 2021-03-18

[0.4.0]

  • Add a Aead trait and expose a common API through the Aes256Gcm and XChaCha20Poly1305 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.

    • 4af8cab Implemented Eq, Ord and AsRef traits for ed25519 PublicKey on 2021-03-02
    • eec3caf Format and .changes typo fix. on 2021-03-02
  • 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.

    • ac79610 Added slip10 supported curves on 2021-02-25
    • 7f9544d Update .changes/add-slip10-curves.md on 2021-02-26
  • Add Slip10/Bip32 key derivation.

    • ef04de1 add .changes. on 2021-02-19
  • Add a std feature to implement std::Error::Error for crypto::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 and Output type to support streaming messages. Replace blake2b::hash with hashes::blake2b::Blake2b256 (256-bit fixed-output).
    • b1ca2d8 Add changelog message on 2021-02-17
    • f19de8d chore(cleanup) on 2021-03-03
  • Add X25519 Diffie-Hellman key exchange and public key derivation using the Curve25519 curve.
    • a72b647 Add changelog message and document the Option<_> usage in the X25519 function on 2021-01-12
    • 7c7d47e Update .changes/x25519.md on 2021-02-05

[0.2.0]

  • 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