Upgrade all crates to the 2024 edition and bump MSRV to 1.85 (#652)

This commit is contained in:
Artyom Pavlov
2025-02-24 14:59:15 +03:00
committed by GitHub
parent ae568d4fb2
commit 479ad0b5b4
136 changed files with 474 additions and 583 deletions

View File

@@ -21,7 +21,7 @@ jobs:
set-msrv:
uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master
with:
msrv: 1.81.0
msrv: 1.85.0
build:
needs: set-msrv

View File

@@ -21,7 +21,7 @@ jobs:
set-msrv:
uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master
with:
msrv: 1.81.0
msrv: 1.85.0
build:
needs: set-msrv

View File

@@ -21,7 +21,7 @@ jobs:
set-msrv:
uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master
with:
msrv: 1.81.0
msrv: 1.85.0
build:
needs: set-msrv

View File

@@ -21,7 +21,7 @@ jobs:
set-msrv:
uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master
with:
msrv: 1.81.0
msrv: 1.85.0
build:
needs: set-msrv

View File

@@ -21,7 +21,7 @@ jobs:
set-msrv:
uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master
with:
msrv: 1.81.0
msrv: 1.85.0
build:
needs: set-msrv

View File

@@ -21,7 +21,7 @@ jobs:
set-msrv:
uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master
with:
msrv: 1.81.0
msrv: 1.85.0
build:
needs: set-msrv

View File

@@ -21,7 +21,7 @@ jobs:
set-msrv:
uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master
with:
msrv: 1.81.0
msrv: 1.85.0
build:
needs: set-msrv

View File

@@ -21,7 +21,7 @@ jobs:
set-msrv:
uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master
with:
msrv: 1.81.0
msrv: 1.85.0
build:
needs: set-msrv

View File

@@ -21,7 +21,7 @@ jobs:
set-msrv:
uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master
with:
msrv: 1.81.0
msrv: 1.85.0
build:
needs: set-msrv

View File

@@ -21,7 +21,7 @@ jobs:
set-msrv:
uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master
with:
msrv: 1.81.0
msrv: 1.85.0
build:
needs: set-msrv

View File

@@ -24,7 +24,7 @@ jobs:
set-msrv:
uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master
with:
msrv: 1.81.0
msrv: 1.85.0
build:
needs: set-msrv

View File

@@ -21,7 +21,7 @@ jobs:
set-msrv:
uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master
with:
msrv: 1.81.0
msrv: 1.85.0
build:
needs: set-msrv

View File

@@ -21,7 +21,7 @@ jobs:
set-msrv:
uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master
with:
msrv: 1.81.0
msrv: 1.85.0
# Builds for no_std platforms
build:
@@ -47,7 +47,6 @@ jobs:
- run: cargo hack build --target ${{ matrix.target }} --each-feature --exclude-features default,std
minimal-versions:
if: false # TODO: temp disabled due to unpublished prerelease dependencies
uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master
with:
working-directory: ${{ github.workflow }}

View File

@@ -21,7 +21,7 @@ jobs:
set-msrv:
uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master
with:
msrv: 1.81.0
msrv: 1.85.0
# Builds for no_std platforms
build:

View File

@@ -21,7 +21,7 @@ jobs:
set-msrv:
uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master
with:
msrv: 1.81.0
msrv: 1.85.0
# Builds for no_std platforms
build:

View File

@@ -21,7 +21,7 @@ jobs:
set-msrv:
uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master
with:
msrv: 1.81.0
msrv: 1.85.0
build:
needs: set-msrv

View File

@@ -21,7 +21,7 @@ jobs:
set-msrv:
uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master
with:
msrv: 1.81.0
msrv: 1.85.0
build:
needs: set-msrv

View File

@@ -21,7 +21,7 @@ jobs:
set-msrv:
uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master
with:
msrv: 1.81.0
msrv: 1.85.0
build:
needs: set-msrv

View File

@@ -21,7 +21,7 @@ jobs:
set-msrv:
uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master
with:
msrv: 1.81.0
msrv: 1.85.0
build:
needs: set-msrv

View File

@@ -21,7 +21,7 @@ jobs:
set-msrv:
uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master
with:
msrv: 1.81.0
msrv: 1.85.0
build:
needs: set-msrv

View File

@@ -24,7 +24,7 @@ jobs:
set-msrv:
uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master
with:
msrv: 1.81.0
msrv: 1.85.0
build:
needs: set-msrv

View File

@@ -21,7 +21,7 @@ jobs:
set-msrv:
uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master
with:
msrv: 1.81.0
msrv: 1.85.0
build:
needs: set-msrv

View File

@@ -17,7 +17,7 @@ jobs:
- uses: RustCrypto/actions/cargo-cache@master
- uses: dtolnay/rust-toolchain@master
with:
toolchain: 1.84.0
toolchain: 1.85.0
components: clippy
- run: cargo clippy --all -- -D warnings

80
Cargo.lock generated
View File

@@ -56,15 +56,15 @@ dependencies = [
[[package]]
name = "blobby"
version = "0.3.1"
version = "0.4.0-pre.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "847495c209977a90e8aad588b959d0ca9f5dc228096d29a6bd3defd53f35eaec"
checksum = "4a859067dcb257cb2ae028cb821399b55140b76fb8b2a360e052fe109019db43"
[[package]]
name = "block-buffer"
version = "0.11.0-rc.3"
version = "0.11.0-rc.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3fd016a0ddc7cb13661bf5576073ce07330a693f8608a1320b4e20561cc12cdc"
checksum = "a229bfd78e4827c91b9b95784f69492c1b77c1ab75a45a8a037b139215086f94"
dependencies = [
"hybrid-array",
"zeroize",
@@ -90,29 +90,27 @@ checksum = "68ff6be19477a1bd5441f382916a89bc2a0b2c35db6d41e0f6e8538bf6d6463f"
[[package]]
name = "cpufeatures"
version = "0.2.16"
version = "0.2.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3"
checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280"
dependencies = [
"libc",
]
[[package]]
name = "crypto-common"
version = "0.2.0-rc.1"
version = "0.2.0-rc.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b0b8ce8218c97789f16356e7896b3714f26c2ee1079b79c0b7ae7064bb9089fa"
checksum = "170d71b5b14dec99db7739f6fc7d6ec2db80b78c3acb77db48392ccc3d8a9ea0"
dependencies = [
"getrandom",
"hybrid-array",
"rand_core",
]
[[package]]
name = "digest"
version = "0.11.0-pre.9"
version = "0.11.0-pre.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf2e3d6615d99707295a9673e889bf363a04b2a466bd320c65a72536f7577379"
checksum = "6c478574b20020306f98d61c8ca3322d762e1ff08117422ac6106438605ea516"
dependencies = [
"blobby",
"block-buffer",
@@ -132,17 +130,6 @@ dependencies = [
"whirlpool",
]
[[package]]
name = "getrandom"
version = "0.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
dependencies = [
"cfg-if",
"libc",
"wasi",
]
[[package]]
name = "gost94"
version = "0.11.0-pre"
@@ -169,15 +156,15 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
[[package]]
name = "hex-literal"
version = "0.4.1"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46"
checksum = "bcaaec4551594c969335c98c903c1397853d4198408ea609190f420500f6be71"
[[package]]
name = "hybrid-array"
version = "0.2.1"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "45a9a965bb102c1c891fb017c09a05c965186b1265a207640f323ddd009f9deb"
checksum = "4dab50e193aebe510fe0e40230145820e02f48dae0cf339ea4204e6e708ff7bd"
dependencies = [
"typenum",
]
@@ -212,9 +199,9 @@ dependencies = [
[[package]]
name = "libc"
version = "0.2.164"
version = "0.2.169"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "433bfe06b8c75da9b2e3fbea6e5329ff87748f0b144ef75306e674c3f6f7c13f"
checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a"
[[package]]
name = "md-5"
@@ -255,31 +242,22 @@ dependencies = [
[[package]]
name = "proc-macro2"
version = "1.0.92"
version = "1.0.93"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0"
checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99"
dependencies = [
"unicode-ident",
]
[[package]]
name = "quote"
version = "1.0.37"
version = "1.0.38"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af"
checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc"
dependencies = [
"proc-macro2",
]
[[package]]
name = "rand_core"
version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
dependencies = [
"getrandom",
]
[[package]]
name = "ripemd"
version = "0.2.0-pre.4"
@@ -383,9 +361,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
[[package]]
name = "syn"
version = "2.0.89"
version = "2.0.98"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "44d46482f1c1c87acd84dea20c1bf5ebff4c757009ed6bf19cfd36fb10e92c4e"
checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1"
dependencies = [
"proc-macro2",
"quote",
@@ -412,21 +390,15 @@ dependencies = [
[[package]]
name = "typenum"
version = "1.17.0"
version = "1.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f"
[[package]]
name = "unicode-ident"
version = "1.0.14"
version = "1.0.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83"
[[package]]
name = "wasi"
version = "0.11.0+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
checksum = "00e2473a93778eb0bad35909dff6a10d28e63f792f16ed15e404fca9d5eeedbe"
[[package]]
name = "whirlpool"

View File

@@ -1,5 +1,5 @@
[workspace]
resolver = "2"
resolver = "3"
members = [
"ascon-hash",
"belt-hash",
@@ -27,6 +27,3 @@ members = [
[profile.dev]
opt-level = 2
[patch.crates-io]
sha1 = { path = "./sha1" }

View File

@@ -13,28 +13,28 @@ Additionally all crates do not require the standard library (i.e. `no_std` capab
| Algorithm | Crate | Crates.io | Documentation | MSRV | [Security] |
|-----------|-------|:---------:|:-------------:|:----:|:----------:|
| [Ascon] hash | [`asconhash`] | [![crates.io](https://img.shields.io/crates/v/ascon-hash.svg)](https://crates.io/crates/ascon-hash) | [![Documentation](https://docs.rs/ascon-hash/badge.svg)](https://docs.rs/ascon-hash) | ![MSRV 1.81][msrv-1.81] | :green_heart: |
| [BelT] hash | [`belthash`] | [![crates.io](https://img.shields.io/crates/v/belt-hash.svg)](https://crates.io/crates/belt-hash) | [![Documentation](https://docs.rs/belt-hash/badge.svg)](https://docs.rs/belt-hash) | ![MSRV 1.81][msrv-1.81] | :green_heart: |
| [BLAKE2] | [`blake2`] | [![crates.io](https://img.shields.io/crates/v/blake2.svg)](https://crates.io/crates/blake2) | [![Documentation](https://docs.rs/blake2/badge.svg)](https://docs.rs/blake2) | ![MSRV 1.81][msrv-1.81] | :green_heart: |
| [FSB] | [`fsb`] | [![crates.io](https://img.shields.io/crates/v/fsb.svg)](https://crates.io/crates/fsb) | [![Documentation](https://docs.rs/fsb/badge.svg)](https://docs.rs/fsb) | ![MSRV 1.81][msrv-1.81] | :green_heart: |
| [GOST R 34.11-94][GOST94] | [`gost94`] | [![crates.io](https://img.shields.io/crates/v/gost94.svg)](https://crates.io/crates/gost94) | [![Documentation](https://docs.rs/gost94/badge.svg)](https://docs.rs/gost94) | ![MSRV 1.81][msrv-1.81] | :yellow_heart: |
| [Grøstl] (Groestl) | [`groestl`] | [![crates.io](https://img.shields.io/crates/v/groestl.svg)](https://crates.io/crates/groestl) | [![Documentation](https://docs.rs/groestl/badge.svg)](https://docs.rs/groestl) | ![MSRV 1.81][msrv-1.81] | :green_heart: |
| [JH] | [`jh`] | [![crates.io](https://img.shields.io/crates/v/jh.svg)](https://crates.io/crates/jh) | [![Documentation](https://docs.rs/jh/badge.svg)](https://docs.rs/jh) | ![MSRV 1.81][msrv-1.81] | :green_heart: |
| [KangarooTwelve] | [`k12`] | [![crates.io](https://img.shields.io/crates/v/k12.svg)](https://crates.io/crates/k12) | [![Documentation](https://docs.rs/k12/badge.svg)](https://docs.rs/k12) | ![MSRV 1.81][msrv-1.81] | :green_heart: |
| [MD2] | [`md2`] | [![crates.io](https://img.shields.io/crates/v/md2.svg)](https://crates.io/crates/md2) | [![Documentation](https://docs.rs/md2/badge.svg)](https://docs.rs/md2) | ![MSRV 1.81][msrv-1.81] | :broken_heart: |
| [MD4] | [`md4`] | [![crates.io](https://img.shields.io/crates/v/md4.svg)](https://crates.io/crates/md4) | [![Documentation](https://docs.rs/md4/badge.svg)](https://docs.rs/md4) | ![MSRV 1.81][msrv-1.81] | :broken_heart: |
| [MD5] | [`md5`] [:exclamation:] | [![crates.io](https://img.shields.io/crates/v/md-5.svg)](https://crates.io/crates/md-5) | [![Documentation](https://docs.rs/md-5/badge.svg)](https://docs.rs/md-5) | ![MSRV 1.81][msrv-1.81] | :broken_heart: |
| [RIPEMD] | [`ripemd`] | [![crates.io](https://img.shields.io/crates/v/ripemd.svg)](https://crates.io/crates/ripemd) | [![Documentation](https://docs.rs/ripemd/badge.svg)](https://docs.rs/ripemd) | ![MSRV 1.81][msrv-1.81] | :green_heart: |
| [SHA-1] | [`sha1`] | [![crates.io](https://img.shields.io/crates/v/sha1.svg)](https://crates.io/crates/sha1) | [![Documentation](https://docs.rs/sha1/badge.svg)](https://docs.rs/sha1) | ![MSRV 1.81][msrv-1.81] | :broken_heart: |
| [SHA-1 Checked] | [`sha1-checked`] | [![crates.io](https://img.shields.io/crates/v/sha1-checked.svg)](https://crates.io/crates/sha1-checked) | [![Documentation](https://docs.rs/sha1-checked/badge.svg)](https://docs.rs/sha1-checked) | ![MSRV 1.81][msrv-1.81] | :yellow_heart: |
| [SHA-2] | [`sha2`] | [![crates.io](https://img.shields.io/crates/v/sha2.svg)](https://crates.io/crates/sha2) | [![Documentation](https://docs.rs/sha2/badge.svg)](https://docs.rs/sha2) | ![MSRV 1.81][msrv-1.81] | :green_heart: |
| [SHA-3] (Keccak) | [`sha3`] | [![crates.io](https://img.shields.io/crates/v/sha3.svg)](https://crates.io/crates/sha3) | [![Documentation](https://docs.rs/sha3/badge.svg)](https://docs.rs/sha3) | ![MSRV 1.81][msrv-1.81] | :green_heart: |
| [SHABAL] | [`shabal`] | [![crates.io](https://img.shields.io/crates/v/shabal.svg)](https://crates.io/crates/shabal) | [![Documentation](https://docs.rs/shabal/badge.svg)](https://docs.rs/shabal) | ![MSRV 1.81][msrv-1.81] | :green_heart: |
| [Skein] | [`skein`] | [![crates.io](https://img.shields.io/crates/v/skein.svg)](https://crates.io/crates/skein) | [![Documentation](https://docs.rs/skein/badge.svg)](https://docs.rs/skein) | ![MSRV 1.81][msrv-1.81] | :green_heart: |
| [SM3] (OSCCA GM/T 0004-2012) | [`sm3`] | [![crates.io](https://img.shields.io/crates/v/sm3.svg)](https://crates.io/crates/sm3) | [![Documentation](https://docs.rs/sm3/badge.svg)](https://docs.rs/sm3) | ![MSRV 1.81][msrv-1.81] | :green_heart: |
| [Streebog] (GOST R 34.11-2012) | [`streebog`] | [![crates.io](https://img.shields.io/crates/v/streebog.svg)](https://crates.io/crates/streebog) | [![Documentation](https://docs.rs/streebog/badge.svg)](https://docs.rs/streebog) | ![MSRV 1.81][msrv-1.81] | :yellow_heart: |
| [Tiger] | [`tiger`] | [![crates.io](https://img.shields.io/crates/v/tiger.svg)](https://crates.io/crates/tiger) | [![Documentation](https://docs.rs/tiger/badge.svg)](https://docs.rs/tiger) | ![MSRV 1.81][msrv-1.81] | :green_heart: |
| [Whirlpool] | [`whirlpool`] | [![crates.io](https://img.shields.io/crates/v/whirlpool.svg)](https://crates.io/crates/whirlpool) | [![Documentation](https://docs.rs/whirlpool/badge.svg)](https://docs.rs/whirlpool) | ![MSRV 1.81][msrv-1.81] | :green_heart: |
| [Ascon] hash | [`asconhash`] | [![crates.io](https://img.shields.io/crates/v/ascon-hash.svg)](https://crates.io/crates/ascon-hash) | [![Documentation](https://docs.rs/ascon-hash/badge.svg)](https://docs.rs/ascon-hash) | ![MSRV 1.85][msrv-1.85] | :green_heart: |
| [BelT] hash | [`belthash`] | [![crates.io](https://img.shields.io/crates/v/belt-hash.svg)](https://crates.io/crates/belt-hash) | [![Documentation](https://docs.rs/belt-hash/badge.svg)](https://docs.rs/belt-hash) | ![MSRV 1.85][msrv-1.85] | :green_heart: |
| [BLAKE2] | [`blake2`] | [![crates.io](https://img.shields.io/crates/v/blake2.svg)](https://crates.io/crates/blake2) | [![Documentation](https://docs.rs/blake2/badge.svg)](https://docs.rs/blake2) | ![MSRV 1.85][msrv-1.85] | :green_heart: |
| [FSB] | [`fsb`] | [![crates.io](https://img.shields.io/crates/v/fsb.svg)](https://crates.io/crates/fsb) | [![Documentation](https://docs.rs/fsb/badge.svg)](https://docs.rs/fsb) | ![MSRV 1.85][msrv-1.85] | :green_heart: |
| [GOST R 34.11-94][GOST94] | [`gost94`] | [![crates.io](https://img.shields.io/crates/v/gost94.svg)](https://crates.io/crates/gost94) | [![Documentation](https://docs.rs/gost94/badge.svg)](https://docs.rs/gost94) | ![MSRV 1.85][msrv-1.85] | :yellow_heart: |
| [Grøstl] (Groestl) | [`groestl`] | [![crates.io](https://img.shields.io/crates/v/groestl.svg)](https://crates.io/crates/groestl) | [![Documentation](https://docs.rs/groestl/badge.svg)](https://docs.rs/groestl) | ![MSRV 1.85][msrv-1.85] | :green_heart: |
| [JH] | [`jh`] | [![crates.io](https://img.shields.io/crates/v/jh.svg)](https://crates.io/crates/jh) | [![Documentation](https://docs.rs/jh/badge.svg)](https://docs.rs/jh) | ![MSRV 1.85][msrv-1.85] | :green_heart: |
| [KangarooTwelve] | [`k12`] | [![crates.io](https://img.shields.io/crates/v/k12.svg)](https://crates.io/crates/k12) | [![Documentation](https://docs.rs/k12/badge.svg)](https://docs.rs/k12) | ![MSRV 1.85][msrv-1.85] | :green_heart: |
| [MD2] | [`md2`] | [![crates.io](https://img.shields.io/crates/v/md2.svg)](https://crates.io/crates/md2) | [![Documentation](https://docs.rs/md2/badge.svg)](https://docs.rs/md2) | ![MSRV 1.85][msrv-1.85] | :broken_heart: |
| [MD4] | [`md4`] | [![crates.io](https://img.shields.io/crates/v/md4.svg)](https://crates.io/crates/md4) | [![Documentation](https://docs.rs/md4/badge.svg)](https://docs.rs/md4) | ![MSRV 1.85][msrv-1.85] | :broken_heart: |
| [MD5] | [`md5`] [:exclamation:] | [![crates.io](https://img.shields.io/crates/v/md-5.svg)](https://crates.io/crates/md-5) | [![Documentation](https://docs.rs/md-5/badge.svg)](https://docs.rs/md-5) | ![MSRV 1.85][msrv-1.85] | :broken_heart: |
| [RIPEMD] | [`ripemd`] | [![crates.io](https://img.shields.io/crates/v/ripemd.svg)](https://crates.io/crates/ripemd) | [![Documentation](https://docs.rs/ripemd/badge.svg)](https://docs.rs/ripemd) | ![MSRV 1.85][msrv-1.85] | :green_heart: |
| [SHA-1] | [`sha1`] | [![crates.io](https://img.shields.io/crates/v/sha1.svg)](https://crates.io/crates/sha1) | [![Documentation](https://docs.rs/sha1/badge.svg)](https://docs.rs/sha1) | ![MSRV 1.85][msrv-1.85] | :broken_heart: |
| [SHA-1 Checked] | [`sha1-checked`] | [![crates.io](https://img.shields.io/crates/v/sha1-checked.svg)](https://crates.io/crates/sha1-checked) | [![Documentation](https://docs.rs/sha1-checked/badge.svg)](https://docs.rs/sha1-checked) | ![MSRV 1.85][msrv-1.85] | :yellow_heart: |
| [SHA-2] | [`sha2`] | [![crates.io](https://img.shields.io/crates/v/sha2.svg)](https://crates.io/crates/sha2) | [![Documentation](https://docs.rs/sha2/badge.svg)](https://docs.rs/sha2) | ![MSRV 1.85][msrv-1.85] | :green_heart: |
| [SHA-3] (Keccak) | [`sha3`] | [![crates.io](https://img.shields.io/crates/v/sha3.svg)](https://crates.io/crates/sha3) | [![Documentation](https://docs.rs/sha3/badge.svg)](https://docs.rs/sha3) | ![MSRV 1.85][msrv-1.85] | :green_heart: |
| [SHABAL] | [`shabal`] | [![crates.io](https://img.shields.io/crates/v/shabal.svg)](https://crates.io/crates/shabal) | [![Documentation](https://docs.rs/shabal/badge.svg)](https://docs.rs/shabal) | ![MSRV 1.85][msrv-1.85] | :green_heart: |
| [Skein] | [`skein`] | [![crates.io](https://img.shields.io/crates/v/skein.svg)](https://crates.io/crates/skein) | [![Documentation](https://docs.rs/skein/badge.svg)](https://docs.rs/skein) | ![MSRV 1.85][msrv-1.85] | :green_heart: |
| [SM3] (OSCCA GM/T 0004-2012) | [`sm3`] | [![crates.io](https://img.shields.io/crates/v/sm3.svg)](https://crates.io/crates/sm3) | [![Documentation](https://docs.rs/sm3/badge.svg)](https://docs.rs/sm3) | ![MSRV 1.85][msrv-1.85] | :green_heart: |
| [Streebog] (GOST R 34.11-2012) | [`streebog`] | [![crates.io](https://img.shields.io/crates/v/streebog.svg)](https://crates.io/crates/streebog) | [![Documentation](https://docs.rs/streebog/badge.svg)](https://docs.rs/streebog) | ![MSRV 1.85][msrv-1.85] | :yellow_heart: |
| [Tiger] | [`tiger`] | [![crates.io](https://img.shields.io/crates/v/tiger.svg)](https://crates.io/crates/tiger) | [![Documentation](https://docs.rs/tiger/badge.svg)](https://docs.rs/tiger) | ![MSRV 1.85][msrv-1.85] | :green_heart: |
| [Whirlpool] | [`whirlpool`] | [![crates.io](https://img.shields.io/crates/v/whirlpool.svg)](https://crates.io/crates/whirlpool) | [![Documentation](https://docs.rs/whirlpool/badge.svg)](https://docs.rs/whirlpool) | ![MSRV 1.85][msrv-1.85] | :green_heart: |
NOTE: the [`blake3`] crate implements the `digest` traits used by the rest of the hashes in this repository, but is maintained by the BLAKE3 team.
@@ -64,10 +64,6 @@ Note that the library itself is named as `md5`, i.e. inside `use` statements you
The SHA-1 implementation was previously published as `sha-1`, but migrated to `sha1` since v0.10.0.
`sha-1` will continue to receive v0.10.x patch updates, but will be deprecated after `sha1` v0.11 release.
### Minimum Supported Rust Version (MSRV) Policy
MSRV bumps are considered breaking changes and will be performed only with minor version bump.
## Examples
Let us demonstrate how to use crates in this repository using SHA-2 as an example.
@@ -234,7 +230,7 @@ Unless you explicitly state otherwise, any contribution intentionally submitted
[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg
[deps-image]: https://deps.rs/repo/github/RustCrypto/hashes/status.svg
[deps-link]: https://deps.rs/repo/github/RustCrypto/hashes
[msrv-1.81]: https://img.shields.io/badge/rustc-1.81.0+-blue.svg
[msrv-1.85]: https://img.shields.io/badge/rustc-1.85.0+-blue.svg
[//]: # (crates)

View File

@@ -4,6 +4,14 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## 0.3.0 (UNRELEASED)
### Changed
- Edition changed to 2024 and MSRV bumped to 1.85 ([#652])
- Relax MSRV policy and allow MSRV bumps in patch releases
- Update to `digest` v0.11
[#652]: https://github.com/RustCrypto/hashes/pull/652
## 0.2.0 (2023-03-21)
### Changed
- Drop MSRV back to 1.56 and keep it in sync with `ascon` ([#459])

View File

@@ -8,21 +8,21 @@ authors = [
]
license = "Apache-2.0 OR MIT"
readme = "README.md"
edition = "2021"
edition = "2024"
rust-version = "1.85"
documentation = "https://docs.rs/ascon-hash"
repository = "https://github.com/RustCrypto/hashes"
keywords = ["crypto", "hash", "ascon"]
categories = ["cryptography", "no-std"]
rust-version = "1.81"
[dependencies]
digest = { version = "=0.11.0-pre.9", default-features = false, features = ["core-api"] }
digest = { version = "=0.11.0-pre.10", default-features = false, features = ["core-api"] }
ascon = { version = "0.4", default-features = false }
[dev-dependencies]
spectral = { version = "0.6", default-features = false }
hex = "0.4"
hex-literal = "0.4"
hex-literal = "1"
base16ct = { version = "0.2", features = ["alloc"] }
[features]

View File

@@ -49,13 +49,6 @@ assert_eq!(dst, hex!("c21972fde9"));
Also, see the [examples section] in the RustCrypto/hashes readme.
## Minimum Supported Rust Version
This crate requires **Rust 1.81** at a minimum.
We may change the MSRV in the future, but it will be accompanied by a minor
version bump.
## License
The crate is licensed under either of:
@@ -78,7 +71,7 @@ dual licensed as above, without any additional terms or conditions.
[docs-image]: https://docs.rs/ascon-hash/badge.svg
[docs-link]: https://docs.rs/ascon-hash/
[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg
[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg
[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg
[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg
[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes
[build-image]: https://github.com/RustCrypto/hashes/workflows/ascon-hash/badge.svg?branch=master

View File

@@ -9,17 +9,17 @@
use core::marker::PhantomData;
use ascon::{pad, State};
use ascon::{State, pad};
pub use digest::{self, Digest, ExtendableOutput, Reset, Update, XofReader};
use digest::{
HashMarker, Output, OutputSizeUser,
block_buffer::Eager,
consts::{U32, U8},
consts::{U8, U32},
core_api::{
AlgorithmName, Block, Buffer, BufferKindUser, CoreWrapper, ExtendableOutputCore,
FixedOutputCore, UpdateCore, XofReaderCore, XofReaderCoreWrapper,
},
crypto_common::BlockSizeUser,
HashMarker, Output, OutputSizeUser,
};
/// Parameters for Ascon hash instances.

View File

@@ -4,7 +4,7 @@
use std::collections::HashMap;
use std::include_str;
use spectral::prelude::{asserting, OrderedAssertions};
use spectral::prelude::{OrderedAssertions, asserting};
use ascon_hash::{
AsconAHash, AsconAXof, AsconHash, AsconXof, Digest, ExtendableOutput, Reset, XofReader,

View File

@@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## 0.2.0 (UNRELEASED)
### Changed
- Edition changed to 2024 and MSRV bumped to 1.85 ([#652])
- Relax MSRV policy and allow MSRV bumps in patch releases
- Update to `digest` v0.11
[#652]: https://github.com/RustCrypto/hashes/pull/652
## 0.1.1 (2022-11-22)
### Added
- `belt_compress` function ([#520])

View File

@@ -5,20 +5,20 @@ description = "BelT hash function (STB 34.101.31-2020)"
authors = ["RustCrypto Developers"]
license = "MIT OR Apache-2.0"
readme = "README.md"
edition = "2021"
rust-version = "1.81"
edition = "2024"
rust-version = "1.85"
documentation = "https://docs.rs/belt-hash"
repository = "https://github.com/RustCrypto/hashes"
keywords = ["crypto", "belt", "stb", "hash", "digest"]
categories = ["cryptography", "no-std"]
[dependencies]
digest = "=0.11.0-pre.9"
digest = "=0.11.0-pre.10"
belt-block = { version = "0.1.1", default-features = false }
[dev-dependencies]
digest = { version = "=0.11.0-pre.9", features = ["dev"] }
hex-literal = "0.4"
digest = { version = "=0.11.0-pre.10", features = ["dev"] }
hex-literal = "1"
base16ct = { version = "0.2", features = ["alloc"] }
[features]

View File

@@ -27,18 +27,6 @@ assert_eq!(hex_hash, "afb175816416fbadad4629ecbd78e1887789881f2d2e5b80c22a746b7a
Also, see the [examples section] in the RustCrypto/hashes readme.
## Minimum Supported Rust Version
Rust **1.81** or higher.
Minimum supported Rust version can be changed in the future, but it will be
done with a minor version bump.
## SemVer Policy
- All on-by-default features of this library are covered by SemVer
- MSRV is considered exempt from SemVer as noted above
## License
The crate is licensed under either of:
@@ -61,7 +49,7 @@ dual licensed as above, without any additional terms or conditions.
[docs-image]: https://docs.rs/belt-hash/badge.svg
[docs-link]: https://docs.rs/belt-hash
[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg
[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg
[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg
[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg
[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes
[build-image]: https://github.com/RustCrypto/hashes/workflows/belt-hash/badge.svg?branch=master

View File

@@ -15,13 +15,13 @@ use core::fmt;
#[cfg(feature = "oid")]
use digest::const_oid::{AssociatedOid, ObjectIdentifier};
use digest::{
HashMarker, Output,
block_buffer::Eager,
core_api::{
AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore,
OutputSizeUser, Reset, UpdateCore,
},
typenum::{Unsigned, U32},
HashMarker, Output,
typenum::{U32, Unsigned},
};
#[cfg(feature = "zeroize")]

View File

@@ -4,8 +4,8 @@ version = "0.0.0"
authors = ["RustCrypto Developers"]
license = "Apache-2.0 OR MIT"
description = "Criterion benchmarks of the hash crates"
edition = "2021"
rust-version = "1.71"
edition = "2024"
rust-version = "1.85"
publish = false
[workspace]
@@ -13,7 +13,7 @@ publish = false
[dependencies]
ascon-hash = { path = "../ascon-hash" }
criterion = "0.4"
rand = { version = "0.8", default-features = false, features = [
rand = { version = "0.9", default-features = false, features = [
"std_rng",
"getrandom",
] }

View File

@@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## 0.11.0 (UNRELEASED)
### Changed
- Edition changed to 2024 and MSRV bumped to 1.85 ([#652])
- Relax MSRV policy and allow MSRV bumps in patch releases
- Update to `digest` v0.11
[#652]: https://github.com/RustCrypto/hashes/pull/652
## 0.10.6 (2022-12-16)
### Added
- `size_opt` Cargo feature ([#440])

View File

@@ -5,19 +5,19 @@ description = "BLAKE2 hash functions"
authors = ["RustCrypto Developers"]
license = "MIT OR Apache-2.0"
readme = "README.md"
edition = "2021"
edition = "2024"
rust-version = "1.85"
documentation = "https://docs.rs/blake2"
repository = "https://github.com/RustCrypto/hashes"
keywords = ["crypto", "blake2", "hash", "digest"]
categories = ["cryptography", "no-std"]
rust-version = "1.81"
[dependencies]
digest = { version = "=0.11.0-pre.9", features = ["mac"] }
digest = { version = "=0.11.0-pre.10", features = ["mac"] }
[dev-dependencies]
digest = { version = "=0.11.0-pre.9", features = ["dev"] }
hex-literal = "0.4"
digest = { version = "=0.11.0-pre.10", features = ["dev"] }
hex-literal = "1"
base16ct = { version = "0.2", features = ["alloc"] }
[features]

View File

@@ -73,18 +73,6 @@ let res = hasher.finalize();
assert_eq!(res, hex!("2cc55c84e416924e6400"));
```
## Minimum Supported Rust Version
Rust **1.81** or higher.
Minimum supported Rust version can be changed in the future, but it will be
done with a minor version bump.
## SemVer Policy
- All on-by-default features of this library are covered by SemVer
- MSRV is considered exempt from SemVer as noted above
## License
The crate is licensed under either of:
@@ -109,7 +97,7 @@ dual licensed as above, without any additional terms or conditions.
[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg
[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg
[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes
[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg
[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg
[build-image]: https://github.com/RustCrypto/hashes/workflows/blake2/badge.svg?branch=master
[build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Ablake2

View File

@@ -17,9 +17,10 @@ pub use digest::{self, Digest};
use core::{fmt, marker::PhantomData, ops::Div};
use digest::{
FixedOutput, HashMarker, InvalidOutputSize, MacMarker, Output, Update,
array::{Array, ArraySize},
block_buffer::{Lazy, LazyBuffer},
consts::{U128, U16, U32, U4, U64},
consts::{U4, U16, U32, U64, U128},
core_api::{
AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper,
CtVariableCoreWrapper, OutputSizeUser, RtVariableCoreWrapper, TruncSide, UpdateCore,
@@ -27,7 +28,6 @@ use digest::{
},
crypto_common::{InvalidLength, Key, KeyInit, KeySizeUser},
typenum::{IsLessOrEqual, LeEq, NonZero, Unsigned},
FixedOutput, HashMarker, InvalidOutputSize, MacMarker, Output, Update,
};
#[cfg(feature = "reset")]
use digest::{FixedOutputReset, Reset};
@@ -45,7 +45,7 @@ mod macros;
use as_bytes::AsBytes;
use consts::{BLAKE2B_IV, BLAKE2S_IV};
use simd::{u32x4, u64x4, Vector4};
use simd::{Vector4, u32x4, u64x4};
blake2_impl!(
Blake2bVarCore,

View File

@@ -8,7 +8,7 @@ new_test!(blake2s_mac, "blake2s/mac", blake2::Blake2sMac256);
#[test]
fn blake2b_new_test() {
use blake2::digest::{array::Array, KeyInit, Mac};
use blake2::digest::{KeyInit, Mac, array::Array};
fn run<T: Mac + KeyInit>(key: &[u8]) {
const DATA: &[u8] = &[42; 300];

View File

@@ -1,4 +1,4 @@
use blake2::{digest::FixedOutput, Blake2bMac512, Blake2sMac256};
use blake2::{Blake2bMac512, Blake2sMac256, digest::FixedOutput};
use hex_literal::hex;
#[test]

View File

@@ -1,4 +1,4 @@
use blake2::{digest::FixedOutput, Blake2bMac512, Blake2sMac256};
use blake2::{Blake2bMac512, Blake2sMac256, digest::FixedOutput};
use hex_literal::hex;
#[test]

View File

@@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## 0.2.0 (UNRELEASED)
### Changed
- Edition changed to 2024 and MSRV bumped to 1.85 ([#652])
- Relax MSRV policy and allow MSRV bumps in patch releases
- Update to `digest` v0.11
[#652]: https://github.com/RustCrypto/hashes/pull/652
## 0.1.3 (2022-09-03)
### Fixed
- MSRV issue caused by `resolver = "2"` ([#402])

View File

@@ -5,20 +5,20 @@ description = "FSB hash function"
authors = ["RustCrypto Developers"]
license = "MIT OR Apache-2.0"
readme = "README.md"
edition = "2021"
edition = "2024"
rust-version = "1.85"
documentation = "https://docs.rs/fsb"
repository = "https://github.com/RustCrypto/hashes"
keywords = ["crypto", "fsb", "hash", "digest"]
categories = ["cryptography", "no-std"]
rust-version = "1.81"
[dependencies]
digest = "=0.11.0-pre.9"
digest = "=0.11.0-pre.10"
whirlpool = { version = "=0.11.0-pre.4", path = "../whirlpool", default-features = false }
[dev-dependencies]
digest = { version = "=0.11.0-pre.9", features = ["dev"] }
hex-literal = "0.4"
digest = { version = "=0.11.0-pre.10", features = ["dev"] }
hex-literal = "1"
base16ct = { version = "0.2", features = ["alloc"] }
[features]

View File

@@ -39,18 +39,6 @@ assert_eq!(hex_hash, "0f036dc3761aed2cba9de586a85976eedde6fa8f115c0190763decc02f
Also, see the [examples section] in the RustCrypto/hashes readme.
## Minimum Supported Rust Version
Rust **1.81** or higher.
Minimum supported Rust version can be changed in the future, but it will be
done with a minor version bump.
## SemVer Policy
- All on-by-default features of this library are covered by SemVer
- MSRV is considered exempt from SemVer as noted above
## License
The crate is licensed under either of:
@@ -75,7 +63,7 @@ dual licensed as above, without any additional terms or conditions.
[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg
[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg
[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes
[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg
[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg
[build-image]: https://github.com/RustCrypto/hashes/workflows/fsb/badge.svg?branch=master
[build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Afsb

View File

@@ -19,14 +19,14 @@ pub use digest::{self, Digest};
static PI: &[u8; 272384] = include_bytes!("pi.bin");
use digest::{
HashMarker, Output,
block_buffer::Eager,
core_api::{
AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore,
OutputSizeUser, Reset, UpdateCore,
},
crypto_common::hazmat::{DeserializeStateError, SerializableState, SerializedState},
typenum::{Unsigned, U8},
HashMarker, Output,
typenum::{U8, Unsigned},
};
#[cfg(feature = "zeroize")]

View File

@@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## 0.11.0 (UNRELEASED)
### Changed
- Edition changed to 2024 and MSRV bumped to 1.85 ([#652])
- Relax MSRV policy and allow MSRV bumps in patch releases
- Update to `digest` v0.11
[#652]: https://github.com/RustCrypto/hashes/pull/652
## 0.10.4 (2022-10-05)
### Added
- Feature-gated OID support ([#417])

View File

@@ -5,19 +5,19 @@ description = "GOST R 34.11-94 hash function"
authors = ["RustCrypto Developers"]
license = "MIT OR Apache-2.0"
readme = "README.md"
edition = "2021"
edition = "2024"
rust-version = "1.85"
documentation = "https://docs.rs/gost94"
repository = "https://github.com/RustCrypto/hashes"
keywords = ["crypto", "gost94", "gost", "hash", "digest"]
categories = ["cryptography", "no-std"]
rust-version = "1.81"
[dependencies]
digest = "=0.11.0-pre.9"
digest = "=0.11.0-pre.10"
[dev-dependencies]
digest = { version = "=0.11.0-pre.9", features = ["dev"] }
hex-literal = "0.4"
digest = { version = "=0.11.0-pre.10", features = ["dev"] }
hex-literal = "1"
base16ct = { version = "0.2", features = ["alloc"] }
[features]

View File

@@ -33,18 +33,6 @@ There can be a confusion regarding OIDs associated with declared types.
According to the [RFC 4357], the OIDs 1.2.643.2.2.30.1 and 1.2.643.2.2.30.0 are used to identify the hash function parameter sets (CryptoPro vs Test ones).
According to [RFC 4490] the OID 1.2.643.2.2.9 identifies the GOST 34.311-95 (former GOST R 34.11-94) function, but then it continues that this function MUST be used only with the CryptoPro parameter set.
## Minimum Supported Rust Version
Rust **1.81** or higher.
Minimum supported Rust version can be changed in the future, but it will be
done with a minor version bump.
## SemVer Policy
- All on-by-default features of this library are covered by SemVer
- MSRV is considered exempt from SemVer as noted above
## License
The crate is licensed under either of:
@@ -67,7 +55,7 @@ dual licensed as above, without any additional terms or conditions.
[docs-image]: https://docs.rs/gost94/badge.svg
[docs-link]: https://docs.rs/gost94/
[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg
[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg
[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg
[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg
[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes
[build-image]: https://github.com/RustCrypto/hashes/workflows/gost94/badge.svg?branch=master

View File

@@ -1,6 +1,7 @@
#![allow(clippy::many_single_char_names)]
use core::fmt;
use digest::{
HashMarker, Output,
array::Array,
block_buffer::Eager,
core_api::{
@@ -8,8 +9,7 @@ use digest::{
OutputSizeUser, Reset, UpdateCore,
},
crypto_common::hazmat::{DeserializeStateError, SerializableState, SerializedState},
typenum::{Unsigned, U32, U96},
HashMarker, Output,
typenum::{U32, U96, Unsigned},
};
#[cfg(feature = "zeroize")]

View File

@@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## 0.11.0 (UNRELEASED)
### Changed
- Edition changed to 2024 and MSRV bumped to 1.85 ([#652])
- Relax MSRV policy and allow MSRV bumps in patch releases
- Update to `digest` v0.11
[#652]: https://github.com/RustCrypto/hashes/pull/652
## 0.10.1 (2022-02-17)
### Fixed
- Minimal versions build ([#363])

View File

@@ -5,19 +5,19 @@ description = "Grøstl hash function"
authors = ["RustCrypto Developers"]
license = "MIT OR Apache-2.0"
readme = "README.md"
edition = "2021"
edition = "2024"
rust-version = "1.85"
documentation = "https://docs.rs/groestl"
repository = "https://github.com/RustCrypto/hashes"
keywords = ["crypto", "groestl", "grostl", "hash", "digest"]
categories = ["cryptography", "no-std"]
rust-version = "1.81"
[dependencies]
digest = "=0.11.0-pre.9"
digest = "=0.11.0-pre.10"
[dev-dependencies]
digest = { version = "=0.11.0-pre.9", features = ["dev"] }
hex-literal = "0.4"
digest = { version = "=0.11.0-pre.10", features = ["dev"] }
hex-literal = "1"
base16ct = { version = "0.2", features = ["alloc"] }
[features]

View File

@@ -28,18 +28,6 @@ assert_eq!(hex_hash, "dc0283ca481efa76b7c19dd5a0b763dff0e867451bd9488a9c59f6c8b8
Also, see the [examples section] in the RustCrypto/hashes readme.
## Minimum Supported Rust Version
Rust **1.81** or higher.
Minimum supported Rust version can be changed in the future, but it will be
done with a minor version bump.
## SemVer Policy
- All on-by-default features of this library are covered by SemVer
- MSRV is considered exempt from SemVer as noted above
## License
The crate is licensed under either of:
@@ -62,7 +50,7 @@ dual licensed as above, without any additional terms or conditions.
[docs-image]: https://docs.rs/groestl/badge.svg
[docs-link]: https://docs.rs/groestl/
[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg
[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg
[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg
[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg
[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes
[build-image]: https://github.com/RustCrypto/hashes/workflows/groestl/badge.svg?branch=master

View File

@@ -12,6 +12,7 @@ pub use digest::{self, Digest};
use core::{convert::TryInto, fmt};
use digest::{
HashMarker, InvalidOutputSize, Output,
block_buffer::Eager,
core_api::{
AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper,
@@ -19,8 +20,7 @@ use digest::{
VariableOutputCore,
},
crypto_common::hazmat::{DeserializeStateError, SerializableState, SerializedState},
typenum::{Unsigned, U128, U136, U28, U32, U48, U64, U72},
HashMarker, InvalidOutputSize, Output,
typenum::{U28, U32, U48, U64, U72, U128, U136, Unsigned},
};
#[cfg(feature = "zeroize")]

View File

@@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## 0.2.0 (UNRELEASED)
### Changed
- Edition changed to 2024 and MSRV bumped to 1.85 ([#652])
- Relax MSRV policy and allow MSRV bumps in patch releases
- Update to `digest` v0.11
[#652]: https://github.com/RustCrypto/hashes/pull/652
## 0.1.0 (2023-06-11)
- Initial release ([#484])

View File

@@ -4,21 +4,21 @@ version = "0.2.0-pre"
description = "Pure Rust implementation of the JH cryptographic hash function"
authors = ["RustCrypto Developers"]
license = "MIT OR Apache-2.0"
edition = "2021"
rust-version = "1.81"
readme = "README.md"
edition = "2024"
rust-version = "1.85"
documentation = "https://docs.rs/jh"
repository = "https://github.com/RustCrypto/hashes"
keywords = ["crypto", "jh", "hash", "digest"]
categories = ["cryptography", "no-std"]
[dependencies]
digest = "=0.11.0-pre.9"
hex-literal = "0.4"
digest = "=0.11.0-pre.10"
hex-literal = "1"
simd = { package = "ppv-lite86", version = "0.2.6" }
[dev-dependencies]
digest = { version = "=0.11.0-pre.9", features = ["dev"] }
digest = { version = "=0.11.0-pre.10", features = ["dev"] }
base16ct = { version = "0.2", features = ["alloc"] }
[features]

View File

@@ -35,18 +35,6 @@ assert_eq!(hex_hash, "94fd3f4c564957c6754265676bf8b244c707d3ffb294e18af1f2e4f9b8
Also, see the [examples section] in the RustCrypto/hashes readme.
## Minimum Supported Rust Version
Rust **1.81** or higher.
Minimum supported Rust version can be changed in the future, but it will be
done with a minor version bump.
## SemVer Policy
- All on-by-default features of this library are covered by SemVer
- MSRV is considered exempt from SemVer as noted above
## License
The crate is licensed under either of:
@@ -69,7 +57,7 @@ dual licensed as above, without any additional terms or conditions.
[docs-image]: https://docs.rs/jh/badge.svg
[docs-link]: https://docs.rs/jh/
[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg
[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg
[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg
[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg
[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes
[build-image]: https://github.com/RustCrypto/hashes/workflows/jh/badge.svg?branch=master

View File

@@ -1,7 +1,7 @@
#![feature(test)]
extern crate test;
use simd::{vec128_storage, x86_64, Machine};
use simd::{Machine, vec128_storage, x86_64};
use test::Bencher;
macro_rules! mach_bench {

View File

@@ -1,8 +1,8 @@
#![allow(non_upper_case_globals)]
use core::ptr;
use digest::array::{typenum::U64, Array};
use simd::{dispatch, vec128_storage, AndNot, Machine, Swap64, VZip, Vec2};
use digest::array::{Array, typenum::U64};
use simd::{AndNot, Machine, Swap64, VZip, Vec2, dispatch, vec128_storage};
#[rustfmt::skip]
macro_rules! unroll7 {

View File

@@ -18,14 +18,14 @@ pub use digest::{self, Digest};
use crate::compressor::Compressor;
use core::fmt;
use digest::{
array::typenum::{Unsigned, U28, U32, U48, U64},
HashMarker, InvalidOutputSize, Output,
array::typenum::{U28, U32, U48, U64, Unsigned},
block_buffer::Eager,
core_api::{
AlgorithmName, Block, Buffer, BufferKindUser, CoreWrapper, CtVariableCoreWrapper,
TruncSide, UpdateCore, VariableOutputCore,
},
crypto_common::{BlockSizeUser, OutputSizeUser},
HashMarker, InvalidOutputSize, Output,
};
#[cfg(feature = "zeroize")]

View File

@@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## 0.4.0 (UNRELEASED)
### Changed
- Edition changed to 2024 and MSRV bumped to 1.85 ([#652])
- Relax MSRV policy and allow MSRV bumps in patch releases
- Update to `digest` v0.11
[#652]: https://github.com/RustCrypto/hashes/pull/652
## 0.3.0 (2023-06-10)
### Added
- Support for heapless `no_std` targets ([#353])

View File

@@ -5,20 +5,20 @@ description = "Pure Rust implementation of the KangarooTwelve hash function"
authors = ["RustCrypto Developers", "Diggory Hardy <github1@dhardy.name>"]
license = "Apache-2.0 OR MIT"
readme = "README.md"
edition = "2021"
edition = "2024"
rust-version = "1.85"
documentation = "https://docs.rs/k12"
repository = "https://github.com/RustCrypto/hashes"
keywords = ["crypto", "hash", "digest"]
categories = ["cryptography", "no-std"]
rust-version = "1.81"
[dependencies]
digest = { version = "=0.11.0-pre.9", default-features = false, features = ["core-api"] }
digest = { version = "=0.11.0-pre.10", default-features = false, features = ["core-api"] }
sha3 = { version = "=0.11.0-pre.4", default-features = false, path = "../sha3" }
[dev-dependencies]
digest = { version = "=0.11.0-pre.9", features = ["alloc", "dev"] }
hex-literal = "0.4"
digest = { version = "=0.11.0-pre.10", features = ["alloc", "dev"] }
hex-literal = "1"
[features]
default = ["std"]

View File

@@ -8,18 +8,6 @@
Pure Rust implementation of the [KangarooTwelve] eXtendable-Output Function (XOF).
## Minimum Supported Rust Version
Rust **1.81** or higher.
Minimum supported Rust version can be changed in the future, but it will be
done with a minor version bump.
## SemVer Policy
- All on-by-default features of this library are covered by SemVer
- MSRV is considered exempt from SemVer as noted above
## License
The crate is licensed under either of:
@@ -42,7 +30,7 @@ dual licensed as above, without any additional terms or conditions.
[docs-image]: https://docs.rs/k12/badge.svg
[docs-link]: https://docs.rs/k12/
[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg
[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg
[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg
[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg
[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes
[build-image]: https://github.com/RustCrypto/hashes/workflows/k12/badge.svg?branch=master

View File

@@ -1,8 +1,8 @@
use core::iter;
use hex_literal::hex;
use k12::{
digest::{ExtendableOutput, Update},
KangarooTwelve, KangarooTwelveCore,
digest::{ExtendableOutput, Update},
};
fn digest_and_box(data: &[u8], n: usize) -> Box<[u8]> {

View File

@@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## 0.11.0 (UNRELEASED)
### Changed
- Edition changed to 2024 and MSRV bumped to 1.85 ([#652])
- Relax MSRV policy and allow MSRV bumps in patch releases
- Update to `digest` v0.11
[#652]: https://github.com/RustCrypto/hashes/pull/652
## 0.10.2 (2022-10-05)
### Added
- Feature-gated OID support ([#419])

View File

@@ -5,19 +5,19 @@ license = "MIT OR Apache-2.0"
authors = ["RustCrypto Developers"]
description = "MD2 hash function"
readme = "README.md"
edition = "2021"
edition = "2024"
rust-version = "1.85"
documentation = "https://docs.rs/md2"
repository = "https://github.com/RustCrypto/hashes"
keywords = ["crypto", "md2", "hash", "digest"]
categories = ["cryptography", "no-std"]
rust-version = "1.81"
[dependencies]
digest = "=0.11.0-pre.9"
digest = "=0.11.0-pre.10"
[dev-dependencies]
digest = { version = "=0.11.0-pre.9", features = ["dev"] }
hex-literal = "0.4"
digest = { version = "=0.11.0-pre.10", features = ["dev"] }
hex-literal = "1"
base16ct = { version = "0.2", features = ["alloc"] }
[features]

View File

@@ -28,18 +28,6 @@ assert_eq!(hex_hash, "d9cce882ee690a5c1ce70beff3a78c77");
Also, see the [examples section] in the RustCrypto/hashes readme.
## Minimum Supported Rust Version
Rust **1.81** or higher.
Minimum supported Rust version can be changed in the future, but it will be
done with a minor version bump.
## SemVer Policy
- All on-by-default features of this library are covered by SemVer
- MSRV is considered exempt from SemVer as noted above
## License
The crate is licensed under either of:
@@ -62,7 +50,7 @@ dual licensed as above, without any additional terms or conditions.
[docs-image]: https://docs.rs/md2/badge.svg
[docs-link]: https://docs.rs/md2/
[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg
[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg
[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg
[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg
[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes
[build-image]: https://github.com/RustCrypto/hashes/workflows/md2/badge.svg?branch=master

View File

@@ -12,6 +12,7 @@ pub use digest::{self, Digest};
use core::fmt;
use digest::{
HashMarker, Output,
array::Array,
block_buffer::Eager,
consts::{U16, U48, U64},
@@ -20,7 +21,6 @@ use digest::{
OutputSizeUser, Reset, UpdateCore,
},
crypto_common::hazmat::{DeserializeStateError, SerializableState, SerializedState},
HashMarker, Output,
};
#[cfg(feature = "oid")]

View File

@@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## 0.11.0 (UNRELEASED)
### Changed
- Edition changed to 2024 and MSRV bumped to 1.85 ([#652])
- Relax MSRV policy and allow MSRV bumps in patch releases
- Update to `digest` v0.11
[#652]: https://github.com/RustCrypto/hashes/pull/652
## 0.10.2 (2022-10-05)
### Added
- Feature-gated OID support ([#418])

View File

@@ -5,19 +5,19 @@ description = "MD4 hash function"
authors = ["RustCrypto Developers"]
license = "MIT OR Apache-2.0"
readme = "README.md"
edition = "2021"
edition = "2024"
rust-version = "1.85"
documentation = "https://docs.rs/md4"
repository = "https://github.com/RustCrypto/hashes"
keywords = ["crypto", "md4", "hash", "digest"]
categories = ["cryptography", "no-std"]
rust-version = "1.81"
[dependencies]
digest = "=0.11.0-pre.9"
digest = "=0.11.0-pre.10"
[dev-dependencies]
digest = { version = "=0.11.0-pre.9", features = ["dev"] }
hex-literal = "0.4"
digest = { version = "=0.11.0-pre.10", features = ["dev"] }
hex-literal = "1"
base16ct = { version = "0.2", features = ["alloc"] }
[features]

View File

@@ -33,18 +33,6 @@ assert_eq!(hex_hash, "aa010fbc1d14c795d86ef98c95479d17");
Also, see the [examples section] in the RustCrypto/hashes readme.
## Minimum Supported Rust Version
Rust **1.81** or higher.
Minimum supported Rust version can be changed in the future, but it will be
done with a minor version bump.
## SemVer Policy
- All on-by-default features of this library are covered by SemVer
- MSRV is considered exempt from SemVer as noted above
## License
The crate is licensed under either of:
@@ -67,7 +55,7 @@ dual licensed as above, without any additional terms or conditions.
[docs-image]: https://docs.rs/md4/badge.svg
[docs-link]: https://docs.rs/md4/
[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg
[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg
[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg
[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg
[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes
[build-image]: https://github.com/RustCrypto/hashes/workflows/md4/badge.svg?branch=master

View File

@@ -12,14 +12,14 @@ pub use digest::{self, Digest};
use core::{fmt, num::Wrapping as W};
use digest::{
HashMarker, Output,
block_buffer::Eager,
core_api::{
AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore,
OutputSizeUser, Reset, UpdateCore,
},
crypto_common::hazmat::{DeserializeStateError, SerializableState, SerializedState},
typenum::{Unsigned, U16, U24, U64},
HashMarker, Output,
typenum::{U16, U24, U64, Unsigned},
};
#[cfg(feature = "oid")]

View File

@@ -5,11 +5,17 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## UNRELEASED
## 0.11.0 (UNRELEASED)
### Changed
- Edition changed to 2024 and MSRV bumped to 1.85 ([#652])
- Relax MSRV policy and allow MSRV bumps in patch releases
- Update to `digest` v0.11
### Removed
- `asm` and `loongarch64_asm` crate features [#542]
[#542]: https://github.com/RustCrypto/hashes/pull/542
[#652]: https://github.com/RustCrypto/hashes/pull/652
## 0.10.6 (2023-09-22)
### Added

View File

@@ -5,23 +5,23 @@ description = "MD5 hash function"
authors = ["RustCrypto Developers"]
license = "MIT OR Apache-2.0"
readme = "README.md"
edition = "2021"
edition = "2024"
rust-version = "1.85"
documentation = "https://docs.rs/md-5"
repository = "https://github.com/RustCrypto/hashes"
keywords = ["crypto", "md5", "hash", "digest"]
categories = ["cryptography", "no-std"]
rust-version = "1.81"
[lib]
name = "md5"
[dependencies]
digest = "=0.11.0-pre.9"
digest = "=0.11.0-pre.10"
cfg-if = "1"
[dev-dependencies]
digest = { version = "=0.11.0-pre.9", features = ["dev"] }
hex-literal = "0.4"
digest = { version = "=0.11.0-pre.10", features = ["dev"] }
hex-literal = "1"
base16ct = { version = "0.2", features = ["alloc"] }
[features]

View File

@@ -41,18 +41,6 @@ assert_eq!(hex_hash, "5eb63bbbe01eeed093cb22bb8f5acdc3");
Also, see the [examples section] in the RustCrypto/hashes readme.
## Minimum Supported Rust Version
Rust **1.81** or higher.
Minimum supported Rust version can be changed in the future, but it will be
done with a minor version bump.
## SemVer Policy
- All on-by-default features of this library are covered by SemVer
- MSRV is considered exempt from SemVer as noted above
## License
The crate is licensed under either of:
@@ -75,7 +63,7 @@ dual licensed as above, without any additional terms or conditions.
[docs-image]: https://docs.rs/md-5/badge.svg
[docs-link]: https://docs.rs/md-5/
[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg
[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg
[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg
[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg
[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes
[build-image]: https://github.com/RustCrypto/hashes/workflows/md5/badge.svg?branch=master

View File

@@ -14,6 +14,7 @@ pub(crate) mod consts;
use core::{convert::TryInto, fmt, slice::from_ref};
use digest::{
HashMarker, Output,
array::Array,
block_buffer::Eager,
core_api::{
@@ -21,8 +22,7 @@ use digest::{
OutputSizeUser, Reset, UpdateCore,
},
crypto_common::hazmat::{DeserializeStateError, SerializableState, SerializedState},
typenum::{Unsigned, U16, U24, U64},
HashMarker, Output,
typenum::{U16, U24, U64, Unsigned},
};
#[cfg(feature = "oid")]

View File

@@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## 0.2.0 (UNRELEASED)
### Changed
- Edition changed to 2024 and MSRV bumped to 1.85 ([#652])
- Relax MSRV policy and allow MSRV bumps in patch releases
- Update to `digest` v0.11
[#652]: https://github.com/RustCrypto/hashes/pull/652
## 0.1.3 (2022-09-23)
### Added
- Feature-gated OID support ([#415])

View File

@@ -5,19 +5,19 @@ description = "Pure Rust implementation of the RIPEMD hash functions"
authors = ["RustCrypto Developers"]
license = "MIT OR Apache-2.0"
readme = "README.md"
edition = "2021"
edition = "2024"
rust-version = "1.85"
documentation = "https://docs.rs/ripemd"
repository = "https://github.com/RustCrypto/hashes"
keywords = ["crypto", "ripemd", "hash", "digest"]
categories = ["cryptography", "no-std"]
rust-version = "1.81"
[dependencies]
digest = "=0.11.0-pre.9"
digest = "=0.11.0-pre.10"
[dev-dependencies]
digest = { version = "=0.11.0-pre.9", features = ["dev"] }
hex-literal = "0.4"
digest = { version = "=0.11.0-pre.10", features = ["dev"] }
hex-literal = "1"
base16ct = { version = "0.2", features = ["alloc"] }
[features]

View File

@@ -44,18 +44,6 @@ assert_eq!(hash320, hex!(
Also, see the [examples section] in the RustCrypto/hashes readme.
## Minimum Supported Rust Version
Rust **1.81** or higher.
Minimum supported Rust version can be changed in the future, but it will be
done with a minor version bump.
## SemVer Policy
- All on-by-default features of this library are covered by SemVer
- MSRV is considered exempt from SemVer as noted above
## License
The crate is licensed under either of:
@@ -78,7 +66,7 @@ dual licensed as above, without any additional terms or conditions.
[docs-image]: https://docs.rs/ripemd/badge.svg
[docs-link]: https://docs.rs/ripemd/
[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg
[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg
[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg
[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg
[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes
[build-image]: https://github.com/RustCrypto/hashes/workflows/ripemd/badge.svg?branch=master

View File

@@ -12,14 +12,14 @@ pub use digest::{self, Digest};
use core::{convert::TryInto, fmt};
use digest::{
HashMarker, Output,
block_buffer::Eager,
core_api::{
AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore,
OutputSizeUser, Reset, UpdateCore,
},
crypto_common::hazmat::{DeserializeStateError, SerializableState, SerializedState},
typenum::{Sum, Unsigned, U16, U20, U32, U40, U64, U8},
HashMarker, Output,
typenum::{Sum, U8, U16, U20, U32, U40, U64, Unsigned},
};
#[cfg(feature = "oid")]

View File

@@ -5,4 +5,13 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## UNRELEASED
## 0.11.0 (UNRELEASED)
### Changed
- Edition changed to 2024 and MSRV bumped to 1.85 ([#652])
- Relax MSRV policy and allow MSRV bumps in patch releases
- Update to `digest` v0.11
[#652]: https://github.com/RustCrypto/hashes/pull/652
## 0.10.0 (2024-03-27)
- Initial release

View File

@@ -5,12 +5,12 @@ description = "SHA-1 hash function with collision detection"
authors = ["RustCrypto Developers"]
license = "MIT OR Apache-2.0"
readme = "README.md"
edition = "2021"
edition = "2024"
rust-version = "1.85"
documentation = "https://docs.rs/sha1-checked"
repository = "https://github.com/RustCrypto/hashes"
keywords = ["crypto", "sha1", "hash", "digest"]
categories = ["cryptography", "no-std"]
rust-version = "1.81"
exclude = [
"sha1-checked/tests/data/shattered-1.pdf",
@@ -18,13 +18,13 @@ exclude = [
]
[dependencies]
digest = "=0.11.0-pre.9"
sha1 = { version = "=0.11.0-pre.4", default-features = false }
digest = "=0.11.0-pre.10"
sha1 = { version = "=0.11.0-pre.4", path = "../sha1", default-features = false }
zeroize = { version = "1.8", default-features = false, optional = true }
[dev-dependencies]
digest = { version = "=0.11.0-pre.9", features = ["dev"] }
hex-literal = "0.4"
digest = { version = "=0.11.0-pre.10", features = ["dev"] }
hex-literal = "1"
base16ct = { version = "0.2", features = ["alloc"] }
[features]

View File

@@ -54,18 +54,6 @@ assert!(!result.has_collision());
Also, see the [examples section] in the RustCrypto/hashes readme.
## Minimum Supported Rust Version
Rust **1.81** or higher.
Minimum supported Rust version can be changed in the future, but it will be
done with a minor version bump.
## SemVer Policy
- All on-by-default features of this library are covered by SemVer
- MSRV is considered exempt from SemVer as noted above
## License
The crate is licensed under either of:
@@ -88,7 +76,7 @@ dual licensed as above, without any additional terms or conditions.
[docs-image]: https://docs.rs/sha1-checked/badge.svg
[docs-link]: https://docs.rs/sha1-checked/
[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg
[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg
[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg
[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg
[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes
[build-image]: https://github.com/RustCrypto/hashes/workflows/sha1-checked/badge.svg?branch=master

View File

@@ -7,7 +7,7 @@
use crate::{
BLOCK_SIZE,
{ubc_check::Testt, DetectionState},
{DetectionState, ubc_check::Testt},
};
const K: [u32; 4] = [0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xCA62C1D6];
@@ -466,7 +466,7 @@ fn add_assign(left: &mut [u32; 5], right: [u32; 5]) {
}
fn compression_w(ihv: &mut [u32; 5], w: &[u32; 80]) {
let [mut a, mut b, mut c, mut d, mut e] = ihv;
let &mut [mut a, mut b, mut c, mut d, mut e] = ihv;
round1_step4(&mut a, &mut b, &mut c, &mut d, &mut e, w, 0);
round1_step4(&mut b, &mut c, &mut d, &mut e, &mut a, w, 4);
@@ -502,7 +502,7 @@ fn compression_states(
state_58: &mut [u32; 5],
state_65: &mut [u32; 5],
) {
let [mut a, mut b, mut c, mut d, mut e] = ihv;
let &mut [mut a, mut b, mut c, mut d, mut e] = ihv;
full_round1_step_load4(&mut a, &mut b, &mut c, &mut d, &mut e, m, w, 0);
full_round1_step_load4(&mut b, &mut c, &mut d, &mut e, &mut a, m, w, 4);
@@ -554,7 +554,7 @@ fn recompress_fast_58(
me2: &[u32; 80],
state: &[u32; 5],
) {
let [mut a, mut b, mut c, mut d, mut e] = state;
let &[mut a, mut b, mut c, mut d, mut e] = state;
round3_step_bw(d, &mut e, a, b, &mut c, me2[57]);
round3_step_bw(e, &mut a, b, c, &mut d, me2[56]);
@@ -601,7 +601,7 @@ fn recompress_fast_65(
me2: &[u32; 80],
state: &[u32; 5],
) {
let [mut a, mut b, mut c, mut d, mut e] = state;
let &[mut a, mut b, mut c, mut d, mut e] = state;
round4_step_bw(b, &mut c, d, e, &mut a, me2[64]);
round4_step_bw4(&mut c, &mut d, &mut e, &mut a, &mut b, me2, 63);

View File

@@ -27,11 +27,11 @@ use core::slice::from_ref;
extern crate std;
use digest::{
FixedOutput, FixedOutputReset, HashMarker, Output, OutputSizeUser, Reset, Update,
array::Array,
block_buffer::{BlockBuffer, Eager},
core_api::BlockSizeUser,
typenum::{Unsigned, U20, U64},
FixedOutput, FixedOutputReset, HashMarker, Output, OutputSizeUser, Reset, Update,
typenum::{U20, U64, Unsigned},
};
#[cfg(feature = "zeroize")]
use zeroize::{Zeroize, ZeroizeOnDrop};
@@ -139,9 +139,9 @@ impl CollisionResult {
/// Returns the output hash.
pub fn hash(&self) -> &Output<Sha1> {
match self {
CollisionResult::Ok(ref s) => s,
CollisionResult::Mitigated(ref s) => s,
CollisionResult::Collision(ref s) => s,
CollisionResult::Ok(s) => s,
CollisionResult::Mitigated(s) => s,
CollisionResult::Collision(s) => s,
}
}
@@ -181,7 +181,7 @@ impl Update for Sha1 {
} = self;
buffer.digest_blocks(input, |blocks| {
self.block_len += blocks.len() as u64;
if let Some(ref mut ctx) = detection {
if let Some(ctx) = detection {
// SAFETY: GenericArray<u8, U64> and [u8; 64] have
// exactly the same memory layout
let blocks: &[[u8; BLOCK_SIZE]] =

View File

@@ -5,11 +5,17 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## UNRELEASED
## 0.11.0 (UNRELEASED)
### Changed
- Edition changed to 2024 and MSRV bumped to 1.85 ([#652])
- Relax MSRV policy and allow MSRV bumps in patch releases
- Update to `digest` v0.11
### Removed
- `asm`, `loongarch64_asm`, and `compress` crate features [#542]
[#542]: https://github.com/RustCrypto/hashes/pull/542
[#652]: https://github.com/RustCrypto/hashes/pull/652
## 0.10.6 (2023-09-21)
### Added

View File

@@ -5,23 +5,23 @@ description = "SHA-1 hash function"
authors = ["RustCrypto Developers"]
license = "MIT OR Apache-2.0"
readme = "README.md"
edition = "2021"
edition = "2024"
rust-version = "1.85"
documentation = "https://docs.rs/sha1"
repository = "https://github.com/RustCrypto/hashes"
keywords = ["crypto", "sha1", "hash", "digest"]
categories = ["cryptography", "no-std"]
rust-version = "1.81"
[dependencies]
digest = "=0.11.0-pre.9"
digest = "=0.11.0-pre.10"
cfg-if = "1.0"
[target.'cfg(any(target_arch = "aarch64", target_arch = "x86", target_arch = "x86_64"))'.dependencies]
cpufeatures = "0.2"
[dev-dependencies]
digest = { version = "=0.11.0-pre.9", features = ["dev"] }
hex-literal = "0.4"
digest = { version = "=0.11.0-pre.10", features = ["dev"] }
hex-literal = "1"
base16ct = { version = "0.2", features = ["alloc"] }
[features]

View File

@@ -51,18 +51,6 @@ assert_eq!(hex_hash, "2aae6c35c94fcfb415dbe95f408b9ce91ee846ed");
Also, see the [examples section] in the RustCrypto/hashes readme.
## Minimum Supported Rust Version
Rust **1.81** or higher.
Minimum supported Rust version can be changed in the future, but it will be
done with a minor version bump.
## SemVer Policy
- All on-by-default features of this library are covered by SemVer
- MSRV is considered exempt from SemVer as noted above
## License
The crate is licensed under either of:
@@ -85,7 +73,7 @@ dual licensed as above, without any additional terms or conditions.
[docs-image]: https://docs.rs/sha1/badge.svg
[docs-link]: https://docs.rs/sha1/
[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg
[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg
[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg
[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg
[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes
[build-image]: https://github.com/RustCrypto/hashes/workflows/sha1/badge.svg?branch=master

View File

@@ -11,6 +11,7 @@ cpufeatures::new!(sha1_hwcap, "sha2");
// note that `sha2` implicitly enables `neon`
#[target_feature(enable = "sha2")]
#[allow(unsafe_op_in_unsafe_fn)]
unsafe fn compress_sha1_neon(state: &mut [u32; 5], blocks: &[[u8; 64]]) {
use core::arch::aarch64::*;

View File

@@ -31,6 +31,7 @@ macro_rules! schedule_rounds4 {
}
#[target_feature(enable = "sha,sse2,ssse3,sse4.1")]
#[allow(unsafe_op_in_unsafe_fn)]
unsafe fn digest_blocks(state: &mut [u32; 5], blocks: &[[u8; 64]]) {
#[allow(non_snake_case)]
let MASK: __m128i = _mm_set_epi64x(0x0001_0203_0405_0607, 0x0809_0A0B_0C0D_0E0F);

View File

@@ -11,6 +11,7 @@ pub use digest::{self, Digest};
use core::{convert::TryInto, fmt, slice::from_ref};
use digest::{
HashMarker, Output,
array::Array,
block_buffer::Eager,
core_api::{
@@ -18,8 +19,7 @@ use digest::{
OutputSizeUser, Reset, UpdateCore,
},
crypto_common::hazmat::{DeserializeStateError, SerializableState, SerializedState},
typenum::{Unsigned, U20, U28, U64},
HashMarker, Output,
typenum::{U20, U28, U64, Unsigned},
};
#[cfg(feature = "oid")]

View File

@@ -5,18 +5,24 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## UNRELEASED
## 0.11.0 (UNRELEASED)
### Changed
- Edition changed to 2024 and MSRV bumped to 1.85 ([#652])
- Relax MSRV policy and allow MSRV bumps in patch releases
- Update to `digest` v0.11
### Added
- RISC-V scalar crypto extension support gated behind `sha2_backend = "riscv-zknh"` or
`sha2_backend = "riscv-zknh-compact"` configuration flags [#614]
`sha2_backend = "riscv-zknh-compact"` configuration flags ([#614])
### Removed
- `asm`, `asm-aarch64`, `loongarch64_asm`, and `compress` crate features [#542]
- `soft` crate feature. Replaced with `sha2_backend = "soft"` configuration flag [#615]
- `asm`, `asm-aarch64`, `loongarch64_asm`, and `compress` crate features ([#542])
- `soft` crate feature. Replaced with `sha2_backend = "soft"` configuration flag ([#615])
[#542]: https://github.com/RustCrypto/hashes/pull/542
[#614]: https://github.com/RustCrypto/hashes/pull/614
[#615]: https://github.com/RustCrypto/hashes/pull/615
[#652]: https://github.com/RustCrypto/hashes/pull/652
## 0.10.8 (2023-09-26)
### Added

View File

@@ -8,23 +8,23 @@ including SHA-224, SHA-256, SHA-384, and SHA-512.
authors = ["RustCrypto Developers"]
license = "MIT OR Apache-2.0"
readme = "README.md"
edition = "2021"
edition = "2024"
rust-version = "1.85"
documentation = "https://docs.rs/sha2"
repository = "https://github.com/RustCrypto/hashes"
keywords = ["crypto", "sha2", "hash", "digest"]
categories = ["cryptography", "no-std"]
rust-version = "1.81"
[dependencies]
digest = "=0.11.0-pre.9"
digest = "=0.11.0-pre.10"
cfg-if = "1"
[target.'cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))'.dependencies]
cpufeatures = "0.2"
[dev-dependencies]
digest = { version = "=0.11.0-pre.9", features = ["dev"] }
hex-literal = "0.4"
digest = { version = "=0.11.0-pre.10", features = ["dev"] }
hex-literal = "1"
base16ct = { version = "0.2", features = ["alloc"] }
[features]

View File

@@ -59,18 +59,6 @@ assert_eq!(hash512, hex!(
Also, see the [examples section] in the RustCrypto/hashes readme.
## Minimum Supported Rust Version
Rust **1.81** or higher.
Minimum supported Rust version can be changed in the future, but it will be
done with a minor version bump.
## SemVer Policy
- All on-by-default features of this library are covered by SemVer
- MSRV is considered exempt from SemVer as noted above
## License
The crate is licensed under either of:
@@ -93,7 +81,7 @@ dual licensed as above, without any additional terms or conditions.
[docs-image]: https://docs.rs/sha2/badge.svg
[docs-link]: https://docs.rs/sha2/
[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg
[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg
[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg
[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg
[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes
[build-image]: https://github.com/RustCrypto/hashes/workflows/sha2/badge.svg?branch=master

View File

@@ -1,6 +1,7 @@
use crate::{consts, sha256::compress256, sha512::compress512};
use core::{convert::TryInto, fmt, slice::from_ref};
use digest::{
HashMarker, InvalidOutputSize, Output,
array::Array,
block_buffer::Eager,
core_api::{
@@ -8,8 +9,7 @@ use digest::{
UpdateCore, VariableOutputCore,
},
crypto_common::hazmat::{DeserializeStateError, SerializableState, SerializedState},
typenum::{Unsigned, U128, U32, U40, U64, U80},
HashMarker, InvalidOutputSize, Output,
typenum::{U32, U40, U64, U80, U128, Unsigned},
};
#[cfg(feature = "zeroize")]

View File

@@ -1,4 +1,5 @@
//! SHA-256 `aarch64` backend.
#![allow(unsafe_op_in_unsafe_fn)]
// Implementation adapted from mbedtls.

View File

@@ -1,4 +1,4 @@
#![allow(clippy::many_single_char_names)]
#![allow(clippy::many_single_char_names, unsafe_op_in_unsafe_fn)]
use core::arch::wasm32::*;
use core::mem::size_of;

View File

@@ -1,6 +1,6 @@
//! SHA-256 `x86`/`x86_64` backend
#![allow(clippy::many_single_char_names)]
#![allow(clippy::many_single_char_names, unsafe_op_in_unsafe_fn)]
#[cfg(target_arch = "x86")]
use core::arch::x86::*;

View File

@@ -1,4 +1,5 @@
// Implementation adapted from mbedtls.
#![allow(unsafe_op_in_unsafe_fn)]
use core::arch::aarch64::*;

Some files were not shown because too many files have changed in this diff Show More